- Jul 06, 2011
-
-
Fariborz Jahanian authored
classes which are incompatible with weak references. // rdar://9693477 llvm-svn: 134522
-
Douglas Gregor authored
declaration with dependent type. Fixes PR10232 / <rdar://problem/9700653>. llvm-svn: 134515
-
Douglas Gregor authored
clang_saveTranslationUnit() to save a PCH file if the only errors it contains are recoverable errors. Fixes <rdar://problem/9727804>. llvm-svn: 134503
-
Douglas Gregor authored
obey the objc_method_family attribute when provided. Fixes <rdar://problem/9726279>. llvm-svn: 134493
-
Rafael Espindola authored
instantiating functions. Fixes PR10272. llvm-svn: 134491
-
John McCall authored
variadic argument pack expansions as having changed, rather than doing it for each changed expansion, which leaves out zero-argument packs with catastrophic consequences. Fixes PR10260. llvm-svn: 134483
-
John McCall authored
as scope specifiers; diagnose the attempt, rather than letting it go to an assert. The rest of PR10264. llvm-svn: 134479
-
John McCall authored
of an enum specifier in dialects which permit fixed underlying types. Fixes the rejects-valid part of PR10264. llvm-svn: 134468
-
John McCall authored
Restore it. llvm-svn: 134459
-
John McCall authored
exception in Objective-C; in Objective-C++ we still use std::terminate(). This is only available in very recent runtimes. llvm-svn: 134456
-
John McCall authored
structure to hold inferred information, then propagate each invididual bit down to -cc1. Separate the bits of "supports weak" and "has a native ARC runtime"; make the latter a CodeGenOption. The tool chain is still driving this decision, because it's the place that has the required deployment target information on Darwin, but at least it's better-factored now. llvm-svn: 134453
-
Fariborz Jahanian authored
passed to it, and unknown selectors causing potential leak. // rdar://9659270 llvm-svn: 134449
-
- Jul 05, 2011
-
-
Devang Patel authored
llvm-svn: 134442
-
Douglas Gregor authored
instantiated function template was written with a prototype or via some kind of typedef. Fixes PR10273 / <rdar://problem/9723679>. llvm-svn: 134426
-
Douglas Gregor authored
ActOnDeclarator can return NULL. Fixes PR10270, from Hans Wennborg! llvm-svn: 134416
-
- 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
-
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
-
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
-
Argyrios Kyrtzidis authored
llvm-svn: 134278
-
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
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
Introduce Declarator::ObjCCatchContext, this will result in correct error for 'auto' in obj-c catch. llvm-svn: 134271
-
- 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
-
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
-
-
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
-
Hans Wennborg authored
This fell out when Chandler landed the patch in r134138. llvm-svn: 134163
-
- Jun 29, 2011
-
-
Douglas Gregor authored
initialized via initializer lists. Fixes <rdar://problem/9694686>. llvm-svn: 134099
-
Douglas Gregor authored
replace the existing declaration appropriately. Patch by Jordy Rose, fixes PR10013 / <rdar://problem/9584157>. llvm-svn: 134097
-