- Jul 19, 2010
-
-
http://llvm.org/PR7660Argyrios Kyrtzidis authored
A ParmVarDecl instantiated from a FunctionProtoType may have Record as DeclContext, in which case isStaticDataMember() will erroneously return true. llvm-svn: 108692
-
- Jul 18, 2010
-
-
Chandler Carruth authored
fixed return types. llvm-svn: 108657
-
Peter Collingbourne authored
The rationale is that we are copying the entire definition including parameter names which may differ between the declaration and the definition. This is particularly important if any parameters are unnamed in the declaration, as a DeclRef to an unnamed ParmVarDecl would cause the pretty printer to produce invalid output. llvm-svn: 108643
-
Chandler Carruth authored
their call expressions synthetically have the "deduced" types based on their first argument. We only insert conversions in the AST for arguments whose values require conversion to match the value type expected. This keeps PR7600 closed by maintaining the return type, but avoids assertions due to unexpected implicit casts making the type unsigned (test case added from Daniel). The magic is moved into the codegen for the atomic builtin which inserts the casts as needed at the IR level to raise the type to an integer suitable for the LLVM intrinsic. This shouldn't cause any real change in functionality, but now we can make the builtin be more truly polymorphic. llvm-svn: 108638
-
Chris Lattner authored
llvm-svn: 108633
-
- Jul 17, 2010
-
-
Eli Friedman authored
incomplete union (PR5692) and incomplete enum, and fixes obscure accepts-invalid on cast to incomplete struct. llvm-svn: 108630
-
Fariborz Jahanian authored
part of the new property synthesis by default. wip. llvm-svn: 108599
-
- Jul 16, 2010
-
-
Anders Carlsson authored
When checking whether to bind an expression to a temporary, don't bind Obj-C message send expressions who call methods that return references. llvm-svn: 108559
-
Ted Kremenek authored
llvm-svn: 108542
-
Douglas Gregor authored
expression such as the "foo" in "this->blah.foo<1, 2>", and we can't look into the type of "this->blah" (e.g., because it is dependent), look into the local scope of a template of the same name. Fixes <rdar://problem/8198511>. llvm-svn: 108531
-
Douglas Gregor authored
diagnostic. Instead, put it and the "declaration does not declare anything" warning into -Wmissing-declarations. llvm-svn: 108527
-
Douglas Gregor authored
llvm-svn: 108526
-
John McCall authored
purpose of access control. Fixes PR7644. I can't actually find anything directly justifying this, but it seems obvious. llvm-svn: 108521
-
Daniel Dunbar authored
is well defined, it resets to the default alignment. llvm-svn: 108508
-
Chandler Carruth authored
llvm-svn: 108505
-
Ted Kremenek authored
handling the parsing of scanf format strings and hooking the checking into Sema. Most of this checking logic piggybacks on what was already there for checking printf format strings, but the checking logic has been refactored to support both. What is left to be done is to support argument type checking in format strings and of course fix the usual tail of bugs that will follow. llvm-svn: 108500
-
Ted Kremenek authored
represent builtins that have the "scanf" attribution (via the format attribute) just like we do with printf functions. Follow-up work is needed to add similar support for fscanf et al. This is to support format-string checking for scanf functions. llvm-svn: 108499
-
- Jul 15, 2010
-
-
Douglas Gregor authored
that we don't warn when there isn't going to be any computation anyway. llvm-svn: 108442
-
Chris Lattner authored
Don't warn about "logically bool" expressions on the RHS, even if they fold to a constant. llvm-svn: 108388
-
Douglas Gregor authored
arguments only resolves to a single specialization, make sure to look through using declarations. Fixes PR7641. llvm-svn: 108376
-
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
-
-
Fariborz Jahanian authored
and some are already synthesized by user declaration. llvm-svn: 108341
-
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
-
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
-
Fariborz Jahanian authored
in class extensions (radar 8171968). llvm-svn: 108283
-
- Jul 13, 2010
-
-
Fariborz Jahanian authored
to set that of VarDecl for block variables (they are already set). Per Doug's comment. llvm-svn: 108273
-
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
-
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
-
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
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
-
Douglas Gregor authored
C++). Fixes PR7466. llvm-svn: 108231
-
Fariborz Jahanian authored
VarDecl. llvm-svn: 108218
-
Douglas Gregor authored
class templates within class scope (which is ill-formed), and recover by dropping the explicit specialization entirely. Fixes the infinite loop in PR7622. llvm-svn: 108217
-
Sebastian Redl authored
llvm-svn: 108209
-
- Jul 12, 2010
-
-
Fariborz Jahanian authored
llvm-svn: 108195
-