- Mar 11, 2012
-
-
Douglas Gregor authored
structural comparison of non-dependent types. Otherwise, we end up rejecting cases where the non-dependent types don't match due to qualifiers in, e.g., a pointee type. Fixes PR12132. llvm-svn: 152529
-
Douglas Gregor authored
access expression is the start of a template-id, ignore function templates found in the context of the entire postfix-expression. Fixes PR11856. llvm-svn: 152520
-
David Blaikie authored
Test case/other help by Richard Smith. Code review by John McCall. llvm-svn: 152519
-
- Mar 10, 2012
-
-
Aaron Ballman authored
llvm-svn: 152516
-
Aaron Ballman authored
No longer defining GNUC mode when compiling for Microsoft compatibility. This allows people's cross-platform compiler-specific macros to work properly. llvm-svn: 152512
-
Richard Smith authored
does not imply that such functions can't be declared at block scope. llvm-svn: 152509
-
Rafael Espindola authored
llvm-svn: 152493
-
Nick Lewycky authored
enum is scoped or not, which is not relevant here. Instead, phrase the loop in the same terms that the standard uses, instead of this awkward set of conditions that is *nearly* equal. llvm-svn: 152489
-
Douglas Gregor authored
doing a copy. Fixes PR12139. llvm-svn: 152485
-
Argyrios Kyrtzidis authored
should not impede creating a proper TypeLoc info for the decl-spec. This improves our semantic error recovery. llvm-svn: 152481
-
Argyrios Kyrtzidis authored
Before r151307 this part worked without compiler errors but now it only verifies that our handling of irregular pragmas is broken compared to gcc, it has no practical usefulness; it creates invalid structs that cannot be used for 'offsetof' testing. If we later decide to handle irregular pragmas without compiler errors we can put back this part. llvm-svn: 152480
-
John McCall authored
we correctly emit loads of BlockDeclRefExprs even when they don't qualify as ODR-uses. I think I'm adequately convinced that BlockDeclRefExpr can die. llvm-svn: 152479
-
NAKAMURA Takumi authored
llvm-svn: 152476
-
Eli Friedman authored
llvm-svn: 152470
-
Ted Kremenek authored
[analyzer] fix regression in analyzer of NOT actually aborting on Stmts it doesn't understand. We registered as aborted, but didn't treat such cases as sinks in the ExplodedGraph. Along the way, add basic support for CXXCatchStmt, expanding the set of code we actually analyze (hopefully correctly). Fixes: <rdar://problem/10892489> llvm-svn: 152468
-
Daniel Dunbar authored
- We do this when it is easy to determine that the backend will pass them on the stack properly by itself. Currently LLVM codegen is really bad in some cases with byval, for example, on the test case here (which is derived from Sema code, which likes to pass SourceLocations around):: struct s47 { unsigned a; }; void f47(int,int,int,int,int,int,struct s47); void test47(int a, struct s47 b) { f47(a, a, a, a, a, a, b); } we used to emit code like this:: ... movl %esi, -8(%rbp) movl -8(%rbp), %ecx movl %ecx, (%rsp) ... to handle moving the struct onto the stack, which is just appalling. Now we generate:: movl %esi, (%rsp) which seems better, no? llvm-svn: 152462
-
Douglas Gregor authored
innermost type. Fixes PR12142. llvm-svn: 152456
-
Fariborz Jahanian authored
ivars in the modern rewriter. llvm-svn: 152451
-
Ted Kremenek authored
Teach RetainCountChecker about mixing method families with explicit annotations. Fixes <rdar://problem/10824732>. llvm-svn: 152448
-
- Mar 09, 2012
-
-
Richard Smith authored
basic source character set in C++98. Add -Wc++98-compat diagnostics for same in literals in C++11. Extend such support to cover string literals as well as character literals, and mark N2170 as done. This seems too minor to warrant a release note to me. Let me know if you disagree. llvm-svn: 152444
-
Argyrios Kyrtzidis authored
invalid ParmVarDecls. Part of rdar://11007039. llvm-svn: 152437
-
Argyrios Kyrtzidis authored
When an error made a record member invalid, the record would stay as "isBeingDefined" and not "completeDefinition". Even easily recoverable errors ended up propagating records in such "beingDefined" state, for example: struct A { ~A() const; // expected-error {{'const' qualifier is not allowed on a destructor}} }; struct B : A {}; // A & B would stay as "not complete definition" and "being defined". This weird state was impending lookups in the records and hitting assertion in the ASTWriter. Part of rdar://11007039 llvm-svn: 152432
-
Fariborz Jahanian authored
to forward class, and assigning to an 'id' type var, message sends default to 'id'. // rdar"//10988847 llvm-svn: 152420
-
Benjamin Kramer authored
llvm-svn: 152404
-
Hans Wennborg authored
This renames the -Wformat-non-standard flag to -Wformat-non-iso, rewords the current warnings a bit (pointing out that a format string is not supported by ISO C rather than being "non standard"), and adds a warning about positional arguments. llvm-svn: 152403
-
Richard Smith authored
llvm-svn: 152401
-
Richard Smith authored
llvm-svn: 152396
-
Richard Smith authored
llvm-svn: 152395
-
Richard Smith authored
llvm-svn: 152394
-
Richard Smith authored
and lots of tidying up. llvm-svn: 152392
-
John McCall authored
type-analysis; otherwise, we just completely do the wrong thing for placeholders. llvm-svn: 152375
-
Eli Friedman authored
Make sure we update the static local decl address map when we are forced to rebuild a global because of the initializer. <rdar://problem/10957867>. llvm-svn: 152372
-
Eli Friedman authored
Make sure constant emission handles initializer lists with strings correctly. Part of <rdar://problem/10957867>. llvm-svn: 152370
-
Ted Kremenek authored
Essentially, a bug centers around a story for various symbols and regions. We should only include the path diagnostic events that relate to those symbols and regions. The pruning is done by associating a set of interesting symbols and regions with a BugReporter, which can be modified at BugReport creation or by BugReporterVisitors. This patch reduces the diagnostics emitted in several of our test cases. I've vetted these as having desired behavior. The only regression is a missing null check diagnostic for the return value of realloc() in test/Analysis/malloc-plist.c. This will require some investigation to fix, and I have added a FIXME to the test case. llvm-svn: 152361
-
Anna Zaks authored
- Remove -analyzer-inline-call. - Add -analyzer-ipa=[none|inlining] - Add -analyzer-inlining-mode to allow experimentation for different performance tuning methods. llvm-svn: 152351
-
Richard Smith authored
llvm-svn: 152349
-
Richard Smith authored
for a few kinds of error. Specifically: Since we're after translation phase 6, the "" token might be formed by multiple source-level string literals. Checking the token width is not a correct way of detecting empty string literals, due to escaped newlines. Diagnose and recover from a missing space between "" and suffix, and from string literals other than "", which are followed by a suffix. llvm-svn: 152348
-
- Mar 08, 2012
-
-
John McCall authored
introduces cleanups anyway. llvm-svn: 152345
-
Richard Smith authored
first codepoint! Also, don't reject empty raw string literals for spurious "encoding" issues. Also, don't rely on undefined behavior in ConvertUTF.c. llvm-svn: 152344
-
Sebastian Redl authored
Turn explicit construction of temporaries using initializer list syntax into CXXTemporaryObjectExprs, not just CXXConstructExprs, which have a worrying tendency to vanish. Fixes PR12167. llvm-svn: 152340
-