- Apr 10, 2009
-
-
Douglas Gregor authored
de-serialization of abstract syntax trees. PCH support serializes the contents of the abstract syntax tree (AST) to a bitstream. When the PCH file is read, declarations are serialized as-needed. For example, a declaration of a variable "x" will be deserialized only when its VarDecl can be found by a client, e.g., based on name lookup for "x" or traversing the entire contents of the owner of "x". This commit provides the framework for serialization and (lazy) deserialization, along with support for variable and typedef declarations (along with several kinds of types). More declarations/types, along with important auxiliary structures (source manager, preprocessor, etc.), will follow. llvm-svn: 68732
-
- Apr 09, 2009
-
-
Douglas Gregor authored
No functionality change (really). llvm-svn: 68726
-
Eli Friedman authored
llvm-svn: 68725
-
-
- Apr 08, 2009
-
-
Steve Naroff authored
Fixes <rdar://problem/6762239> [sema] gcc incompatibility; error on incompatible operand types in ?:. llvm-svn: 68617
-
Douglas Gregor authored
Fixes <rdar://problem/6759522> llvm-svn: 68611
-
- Apr 07, 2009
-
-
Fariborz Jahanian authored
we must not issue gc-specific errors in non-gc mode. llvm-svn: 68551
-
Eli Friedman authored
functions. Fixes PR3941. llvm-svn: 68541
-
Fariborz Jahanian authored
the base implementations (and not in current implementation). llvm-svn: 68527
-
Steve Naroff authored
Tweak Sema::ActOnInstanceMessage() to look for a class method when dealing with qualified id's. This change is motivated by our desire to not support the "Class<foo>" idiom. Note that the change makes perfect sense (since all ObjC classes are also id/instances). This allow us to document a simple migration path...change "Class <foo>" to "id <foo>". This effects: - <rdar://problem/6761939> TASK: File source change radars for "qualified Class" errors - <rdar://problem/6761864> Protocol qualified Class is unsupported llvm-svn: 68517
-
Steve Naroff authored
This fixes <rdar://problem/6757102> clang type for @"xxx" is "NSConstantString *" (GCC type is "NSString *"). llvm-svn: 68514
-
Fariborz Jahanian authored
Be kind to so many projects which are doing this (and be like gcc). llvm-svn: 68474
-
Steve Naroff authored
This will simplify clang adoption, and is probably better "etiquette" (since gcc has always accepted this idiom without warning). Once we are over the adoption hurdle, we can turn this into an error. llvm-svn: 68468
-
- Apr 06, 2009
-
-
Douglas Gregor authored
llvm-svn: 68454
-
Fariborz Jahanian authored
ivars. llvm-svn: 68453
-
Chris Lattner authored
a really really bad idea. Now that we emit an error about the unpromoted type, users should be able to understand what is going on. llvm-svn: 68447
-
Fariborz Jahanian authored
makes the property writable in the current class. llvm-svn: 68446
-
- Apr 05, 2009
-
-
Chris Lattner authored
diagnostic use the va_list typedef more often, see the difference in the changed testcase. llvm-svn: 68441
-
Chris Lattner authored
llvm-svn: 68435
-
Chris Lattner authored
va_lists for some reason. This fixes rdar://6726818 llvm-svn: 68434
-
- Apr 04, 2009
-
-
Anton Korobeynikov authored
llvm-svn: 68424
-
Anton Korobeynikov authored
llvm-svn: 68414
-
Anton Korobeynikov authored
llvm-svn: 68413
-
- Apr 03, 2009
-
-
Fariborz Jahanian authored
used in a class which declares a property of the same name. This should not result in an unimplemented method warning. llvm-svn: 68409
-
Chris Lattner authored
llvm-svn: 68407
-
- Apr 02, 2009
-
-
Fariborz Jahanian authored
objc's continuation class. llvm-svn: 68339
-
Douglas Gregor authored
definition, warn if there are too many/too few function call arguments. llvm-svn: 68318
-
Douglas Gregor authored
llvm-svn: 68278
-
Douglas Gregor authored
llvm-svn: 68268
-
Douglas Gregor authored
llvm-svn: 68261
-
Fariborz Jahanian authored
class which was exposed by implementation of objc2's nonfragile abi code gen. llvm-svn: 68259
-
- Apr 01, 2009
-
-
Douglas Gregor authored
failures that involve malformed types, e.g., "typename X::foo" where "foo" isn't a type, or "std::vector<void>" that doens't instantiate properly. Similarly, be a bit smarter in our handling of ambiguities that occur in Sema::getTypeName, to eliminate duplicate error messages about ambiguous name lookup. This eliminates two XFAILs in test/SemaCXX, one of which was crying out to us, trying to tell us that we were producing repeated error messages. llvm-svn: 68251
-
Steve Naroff authored
- Finish up support for converting UTF8->UTF16 to support ObjC @"string" constants. Remove warning from CheckObjCString. As the FIXME in the test case indicates, I still have a bug to work out (apparently with \u handling). llvm-svn: 68245
-
Douglas Gregor authored
heuristics to determine when it's useful to desugar a type for display to the user. Introduce two C++-specific heuristics: - For a qualified type (like "foo::bar"), only produce a new desugred type if desugaring the qualified type ("bar", in this case) produces something interesting. For example, if "foo::bar" refers to a class named "bar", don't desugar. However, if "foo::bar" refers to a typedef of something else, desugar to that something else. This gives some useful desugaring such as "foo::bar (aka 'int')". - Don't desugar class template specialization types like "basic_string<char>" down to their underlying "class basic_string<char, char_traits<char>, allocator<char>>, etc."; it's better just to leave such types alone. Update diagnostics.html with some discussion and examples of type preservation in C++, showing qualified names and class template specialization types. llvm-svn: 68207
-
Douglas Gregor authored
specifiers that terminate in a simple-template-id, e.g., typename MetaFun::template apply<T1, T2> Also, implement template instantiation for dependent nested-name-specifiers that involve unresolved identifiers, e.g., typename T::type::type llvm-svn: 68166
-
- Mar 31, 2009
-
-
Douglas Gregor authored
llvm-svn: 68140
-
Douglas Gregor authored
template template parameters and dependent template names. For example, the oft-mentioned typename MetaFun::template apply<T1, T2>::type can now be instantiated, with the appropriate name lookup for "apply". llvm-svn: 68128
-
Douglas Gregor authored
llvm-svn: 68110
-
Chris Lattner authored
llvm-svn: 68091
-
Chris Lattner authored
disable this feature for now, to err on the side of rejecting instead of sometimes crashing. rdar://6326239 llvm-svn: 68088
-