- Jul 02, 2011
-
-
Eli Friedman authored
The start of some work on getting -mno-mmx working the way we want it to. llvm-svn: 134300
-
Chandler Carruth authored
ArchLinux. =/ Fixes PR10246. llvm-svn: 134299
-
Eli Friedman authored
Make clang behave in a gcc-compatible way in the presence of multiple flags for the same x86 target feature (e.g. -mno-sse -msse). gcc uses a somewhat unintuitive algorithm here in that the enabled SSE instructions is based on the order of the *last* flag for *each* feature-level, so that "-mno-sse -msse2" only enables SSE2, but "-mno-sse -msse2 -msse" enables all SSE levels. Issue reported on cfe-dev. llvm-svn: 134296
-
Eric Christopher authored
Part of rdar://9714064 llvm-svn: 134295
-
Eric Christopher authored
Fixes rdar://9714064 llvm-svn: 134292
-
Chandler Carruth authored
SemaDeclAttr to the first argument. This makes them follow the very consistent policy elsewhere in Sema for helper functions. Original patch by Caitlin Sadowski, with some tweaking by me. llvm-svn: 134290
-
Chandler Carruth authored
recommendations before adding more of them. Patch by Caitlin Sadowski. llvm-svn: 134289
-
Chandler Carruth authored
conventional in the rest of Clang's codebase, and closer to the current style recommendations. It also makes the code more internally consistent as FD, VD, etc are used frequently for particular decl variables. Patch by Caitlin Sadowski. llvm-svn: 134288
-
Argyrios Kyrtzidis authored
-Remove unnecessary 'return'. -Remove unnecessary 'if' check (llvm_unreachable make sure attrStr will be non-null) -Add a test of transferring ownership to a reference cast type. llvm-svn: 134285
-
Douglas Gregor authored
llvm-svn: 134283
-
Argyrios Kyrtzidis authored
llvm-svn: 134278
-
Argyrios Kyrtzidis authored
llvm-svn: 134277
-
Argyrios Kyrtzidis authored
llvm-svn: 134276
-
Argyrios Kyrtzidis authored
cast type has no ownership specified, implicitly "transfer" the ownership of the cast'ed type to the cast type: id x; (NSString**)&x; // Casting as (__strong NSString**). llvm-svn: 134275
-
Argyrios Kyrtzidis authored
newly introduced Sema::BuildVectorLiteral. -Make Sema::ActOnCastExpr handle a vector initializer both when the cast'ed expression is a ParenListExpr and when it is a ParenExpr. -Ultimately make Sema::ActOnParenOrParenListExpr independent of what the cast type was. llvm-svn: 134274
-
Argyrios Kyrtzidis authored
cast type has no ownership specified, implicitly "transfer" the ownership of the cast'ed type to the cast type: id x; static_cast<NSString**>(&x); // Casting as (__strong NSString**). This currently only works for C++ named casts, C casts to follow. llvm-svn: 134273
-
Argyrios Kyrtzidis authored
Break Sema::GetTypeForDeclarator in 2 functions, one for DeclSpec processing and another for the rest. No functionality change. llvm-svn: 134272
-
Argyrios Kyrtzidis authored
Introduce Declarator::ObjCCatchContext, this will result in correct error for 'auto' in obj-c catch. llvm-svn: 134271
-
Douglas Gregor authored
llvm-svn: 134267
-
- Jul 01, 2011
-
-
Douglas Gregor authored
initializer. Previously, we only used guard variables for weak static data members. Fixes <rdar://problem/9692249>. llvm-svn: 134266
-
Douglas Gregor authored
"_Bool" (depending on dialect), but not both, since they have the same edit distance from "Bool". llvm-svn: 134263
-
Douglas Gregor authored
llvm-svn: 134262
-
Douglas Gregor authored
trivial default constructors. This generated-code regression was caused by r131796, which had simplified the handling of default initialization in Sema. Fixes <rdar://problem/9694300>. llvm-svn: 134260
-
Richard Trieu authored
int f(int x) { if (int foo = f(bar)) {} return 0; } Clang produces the following error messages: paren_imbalance.cc:2:19: error: use of undeclared identifier 'bar' if (int foo = f(bar)) {} ^ paren_imbalance.cc:2:26: error: expected ')' if (int foo = f(bar)) {} ^ paren_imbalance.cc:2:6: note: to match this '(' if (int foo = f(bar)) {} ^ The second error is incorrect. This patch will stop Clang from producing an error on parenthesis imbalance during error recovery when there isn't one. llvm-svn: 134258
-
Richard Trieu authored
Fix for PR7410. Allow functions in a derived class that improperly overwrite a virtual function in the base class to be inserted into the derived class function list to prevent extra errors every time the derived class is used. llvm-svn: 134251
-
Richard Smith authored
Fix AST representations of alias-declarations which define tag types. Inside classes, the tag types need to have an associated access specifier, and inside function definitions, they need to be included in the declarations of the DeclStmt. These issues manifested as assertions during template instantiation, and also in a WIP constexpr patch. llvm-svn: 134250
-
Douglas Gregor authored
CompilerInvocation on the stack, because other objects (e.g., the CompilerInstance) maintain an intrusive reference-counted pointer to the CompilerInvocation. This doesn't matter in the normal case, because we take back the CompilerInvocation. However, during crash recovery, this leads to us trying to free an object on the stack, and hilarity ensues. Fixes <rdar://problem/9652540>. llvm-svn: 134245
-
Douglas Gregor authored
llvm-svn: 134238
-
John McCall authored
This is kindof questionable but seems to do more-or-less the right thing. This is not a particularly friendly part of the ABI. llvm-svn: 134227
-
Douglas Gregor authored
type/expression/template argument/etc. is instantiation-dependent if it somehow involves a template parameter, even if it doesn't meet the requirements for the more common kinds of dependence (dependent type, type-dependent expression, value-dependent expression). When we see an instantiation-dependent type, we know we always need to perform substitution into that instantiation-dependent type. This keeps us from short-circuiting evaluation in places where we shouldn't, and lets us properly implement C++0x [temp.type]p2. In theory, this would also allow us to properly mangle instantiation-dependent-but-not-dependent decltype types per the Itanium C++ ABI, but we aren't quite there because we still mangle based on the canonical type in cases like, e.g., template<unsigned> struct A { }; template<typename T> void f(A<sizeof(sizeof(decltype(T() + T())))>) { } template void f<int>(A<sizeof(sizeof(int))>); and therefore get the wrong answer. llvm-svn: 134225
-
John McCall authored
that serve as the base template name of an unresolved-name to be mangled as a substitution. llvm-svn: 134213
-
- Jun 30, 2011
-
-
John McCall authored
llvm-svn: 134195
-
Hans Wennborg authored
This fixes PR10223. llvm-svn: 134183
-
Hans Wennborg authored
llvm-svn: 134171
-
John McCall authored
and the RHS of .*. Noticed by Enea Zaffanella! llvm-svn: 134170
-
Peter Collingbourne authored
(SourceManager::createFileID cannot return an invalid file ID). Also update a comment to reflect this. llvm-svn: 134168
-
Peter Collingbourne authored
llvm-svn: 134167
-
Hans Wennborg authored
This fell out when Chandler landed the patch in r134138. llvm-svn: 134163
-
David Chisnall authored
llvm-svn: 134140
-
Abramo Bagnara authored
llvm-svn: 134139
-