- Jul 15, 2010
-
-
Douglas Gregor authored
definition, we're likely going to end up breaking the invariants of the template system, e.g., that the depths of template parameter lists match up with the nesting template of the template. So, make sure we mark such ill-formed declarations as invalid or don't even build them at all. llvm-svn: 108372
-
- Jul 14, 2010
-
-
Douglas Gregor authored
llvm-svn: 108363
-
Sebastian Redl authored
llvm-svn: 108354
-
Daniel Dunbar authored
looking up Clang in the normal search paths (which may end up finding the wrong clang). llvm-svn: 108346
-
Daniel Dunbar authored
llvm-svn: 108345
-
Fariborz Jahanian authored
and some are already synthesized by user declaration. llvm-svn: 108341
-
Sebastian Redl authored
llvm-svn: 108340
-
Douglas Gregor authored
_Foo) from code-completion results when they come from a system header. llvm-svn: 108338
-
Fariborz Jahanian authored
as well. Fixes radar 7975788. llvm-svn: 108333
-
John McCall authored
follow <name>; instead they follow <type>, which has <name> as a subset. Fixes PR7446. llvm-svn: 108326
-
Chandler Carruth authored
This flag and warning match GCC semantics. Also, move it to -Wextra as this is a largely cosmetic issue and doesn't seem to mask problems. Subsequent fixes to the tests which no longer by default emit the warning. Added explicit test cases for both C and C++ behavior with the warning turned on. llvm-svn: 108325
-
Douglas Gregor authored
Add test case that was causing an infinite loop when reading PCH files. The test works with ToT Clang already llvm-svn: 108318
-
John McCall authored
- TSTs whose template is a template template parameter already work - we don't provide an imaginary type, so we can't mangle one - we don't need a generic FIXME for vendor type qualifiers llvm-svn: 108317
-
John McCall authored
the current proposals from David Vandervoorde for new, delete, throw, typeid, imaginary literals, string literals, and null literals. llvm-svn: 108315
-
Douglas Gregor authored
llvm-svn: 108298
-
Daniel Dunbar authored
are explicitly given. llvm-svn: 108297
-
Douglas Gregor authored
llvm-svn: 108296
-
John McCall authored
harmless way. llvm-svn: 108295
-
Douglas Gregor authored
reinterpret_casts (possibly indirectly via C-style/functional casts) on values, e.g., int i; reinterpret_cast<short&>(i); The IR generated for this is essentially the same as for *reinterpret_cast<short*>(&i). Fixes PR6437, PR7593, and PR7344. llvm-svn: 108294
-
Nick Lewycky authored
llvm-svn: 108290
-
John McCall authored
llvm-svn: 108288
-
John McCall authored
or a catch of a record type by value or reference. Also convert this to a lazy cleanup. llvm-svn: 108287
-
Fariborz Jahanian authored
in class extensions (radar 8171968). llvm-svn: 108283
-
- Jul 13, 2010
-
-
John McCall authored
llvm-svn: 108276
-
Fariborz Jahanian authored
to set that of VarDecl for block variables (they are already set). Per Doug's comment. llvm-svn: 108273
-
John McCall authored
mostly in avoiding unnecessary work at compile time but also in producing more sensible block orderings. Move the destructor cleanups for local variables over to use lazy cleanups. Eventually all cleanups will do this; for now we have some awkward code duplication. Tell IR generation just to never produce landing pads in -fno-exceptions. This is a much more comprehensive solution to a problem which previously was half-solved by checks in most cleanup-generation spots. llvm-svn: 108270
-
Sebastian Redl authored
llvm-svn: 108267
-
Fariborz Jahanian authored
to block context when first instantiating them. llvm-svn: 108266
-
Chris Lattner authored
t2.c:2:12: warning: use of logical && with constant operand; switch to bitwise & or remove constant [-Wlogical-bitwise-confusion] return x && 4; ^ ~ wording improvement suggestions are welcome. llvm-svn: 108260
-
Chris Lattner authored
llvm-svn: 108257
-
Douglas Gregor authored
(e.g., a call, cast, etc.), immediately adjust the expression's type to strip cv-qualifiers off of all non-class types (in C++) or all types (in C). This effectively extends my previous fix for PR7463, which was restricted to calls, to other kinds of expressions within similar characteristics. I've audited every use of getNonReferenceType() in the code base, switching to the newly-renamed getNonLValueExprType() where necessary. Big thanks to Eli for pointing out just how incomplete my original fix for PR7463 actually was. We've been handling cv-qualifiers on rvalues wrong for a very, very long time. Fixes PR7463. llvm-svn: 108253
-
Chandler Carruth authored
llvm-svn: 108247
-
Devang Patel authored
llvm-svn: 108245
-
Douglas Gregor authored
llvm-svn: 108243
-
Douglas Gregor authored
size" error for code like new (int [size]) to a warning, add a Fix-It to remove the parentheses, and make this diagnostic work properly when it occurs in a template instantiation. <rdar://problem/8018245>. llvm-svn: 108242
-
Argyrios Kyrtzidis authored
When loading the PCH, IdentifierInfos that are associated with pragmas cause declarations that use these identifiers to be deserialized (e.g. the "clang" pragma causes the "clang" namespace to be loaded). We can avoid this if we just use StringRefs for the pragmas. As a bonus, since we don't have to create and pass IdentifierInfos, the pragma interfaces get a bit more simplified. llvm-svn: 108237
-
Douglas Gregor authored
effect warning" by printing the qualifiers we saw and correctly pluralizing the message, e.g., test/SemaCXX/conditional-expr.cpp:295:3: warning: 'const volatile' type qualifiers on return type have no effect const volatile Enum g2() { ^~~~~ ~~~~~~~~ llvm-svn: 108236
-
Douglas Gregor authored
don't include the nested-name-specifier or template arguments: they were only relevant when resolving the declaration. Fixes PR7460. llvm-svn: 108235
-
Douglas Gregor authored
strip cv-qualifiers from the expression's type when the language calls for it: in C, that's all the time, while C++ only does it for non-class types. Centralized the computation of the call expression type in QualType::getCallResultType() and some helper functions in other nodes (FunctionDecl, ObjCMethodDecl, FunctionType), and updated all relevant callers of getResultType() to getCallResultType(). Fixes PR7598 and PR7463, along with a bunch of getResultType() call sites that weren't stripping references off the result type (nothing stripped cv-qualifiers properly before this change). llvm-svn: 108234
-
Douglas Gregor authored
llvm-svn: 108233
-