Commit Graph

57 Commits

Author SHA1 Message Date
Douglas Gregor 1e57a3fb46 Add some more implicit conversions for Objective-C++
llvm-svn: 61229
2008-12-18 23:43:31 +00:00
Douglas Gregor 55ad91fecb Ultrasimplistic sketch for the parsing of C++ template-ids. This won't
become useful or correct until we (1) parse template arguments
correctly, (2) have some way to turn template-ids into types,
declarators, etc., and (3) have a real representation of templates.

llvm-svn: 61208
2008-12-18 19:37:40 +00:00
Douglas Gregor a29dc05eaf Add implicit conversions for Objective-C qualified ids, e.g.,
id<P0>

The intended overloading behavior of these entities isn't entirely
clear, and GCC seems to have some strange limitations (e.g., the
inability to overload on id<P0> vs. id<P1>). We'll want to revisit
these semantics and determine just how Objective-C++ overloading
should really work.

llvm-svn: 60142
2008-11-27 01:19:21 +00:00
Douglas Gregor 237f96c40f Implement implicit conversions for Objective-C specific types, e.g.,
converting a pointer to one Objective-C interface into a pointer to another
Objective-C interface, and conversions with 'id'. The semantics seems
to match GCC, although they seem somewhat ad hoc.

Fixed a few cases where we assumed the C++ definition of isObjectType,
but were getting the C definition, causing failures in trouble with
conversions to void pointers.

llvm-svn: 60130
2008-11-26 23:31:11 +00:00
Anders Carlsson a6b508a28c Make it an error if an Objective-C declaration is not in the global scope.
llvm-svn: 58705
2008-11-04 16:57:32 +00:00
Anders Carlsson d059d5bba0 Add carbon.cpp and cocoa.mm tests
llvm-svn: 55262
2008-08-23 22:21:00 +00:00
Anders Carlsson f93f56a28e Reserved C++ words are valid selectors in Objective-C++
llvm-svn: 55253
2008-08-23 21:00:01 +00:00