Richard Smith
f720df0ed6
-Wc++98-compat: warn on nontrivial types used in unions and anonymous structs.
...
llvm-svn: 142541
2011-10-19 20:41:51 +00:00
Matt Beaumont-Gay
4b489fa629
Only warn at self-initialization if some later use is always uninitialized.
...
llvm-svn: 142538
2011-10-19 18:53:03 +00:00
Richard Smith
c620f554b9
-Wc++98-compat: diagnose if a reference is bound to a prvalue which does not
...
have an unambiguous accessible copying constructor; this is ill-formed in C++98.
llvm-svn: 142533
2011-10-19 16:55:56 +00:00
Rafael Espindola
5450f218a6
Fix the signatures of vfork, __sigsetjmp and sigsetjmp.
...
Patch by Dimitry Andric.
llvm-svn: 142531
2011-10-19 14:50:34 +00:00
Hans Wennborg
cc8ce7b1d7
Break out ssize_t test from Sema/format-strings-fixit.c
...
Move to a separate test that sets a specific target triple
so that the type of ssize_t is known.
llvm-svn: 142481
2011-10-19 07:55:50 +00:00
Douglas Gregor
e248eea214
Improve the warning for cv-qualifiers on free functions, from Ahmed Charles!
...
llvm-svn: 142478
2011-10-19 06:04:55 +00:00
Douglas Gregor
5fdc4de718
Add support for constant arrays, from Anders Waldenborg!.
...
llvm-svn: 142477
2011-10-19 05:51:43 +00:00
Douglas Gregor
89861066ed
Add TypeKind.CONSTANTARRAY, from Anders Waldenborg!
...
llvm-svn: 142476
2011-10-19 05:50:34 +00:00
Douglas Gregor
d59d02cc38
Fix error message for unknown type kind, from Anders Waldenborg!
...
llvm-svn: 142475
2011-10-19 05:49:29 +00:00
Douglas Gregor
32df3664be
This new field was introduced in clang-c in r141277
...
Python needs this in its structure definition so it allocates enough
memory. From Anders Waldenborg!
llvm-svn: 142474
2011-10-19 05:47:46 +00:00
David Blaikie
651c73ce78
Fix pr9789, assert-on-invalid while instantiating an (invalid) class template with a non-final parameter pack. Also improve the warning for non-final parameter packs in this scenario so it only fires once, rather than once for every template parameter after the non-final parameter pack.
...
llvm-svn: 142473
2011-10-19 05:19:50 +00:00
Douglas Gregor
dab63c1434
Tweak this test to test more directly what we want, and hopefully work around the brokenness of code completion under -fdelayed-template-parsing
...
llvm-svn: 142472
2011-10-19 04:17:22 +00:00
Argyrios Kyrtzidis
4e8b13613b
Don't forget to complete the objc interface before asking for information,
...
otherwise lldb will suffer.
llvm-svn: 142471
2011-10-19 02:25:16 +00:00
Richard Smith
a066ccfcf1
Add a -Wc++98-compat warning for friend functions of class templates which would
...
be implicitly instantiated (resulting in a redefinition) in C++98.
llvm-svn: 142468
2011-10-19 00:54:10 +00:00
Eric Christopher
7ec8ec8581
Add block information for ObjC @catch blocks.
...
Fixes rdar://10282889
llvm-svn: 142467
2011-10-19 00:44:01 +00:00
Eric Christopher
a9d3497b5e
Add a new subclass of RunCleanupScopes that also handles creating new
...
lexical blocks for debug info.
llvm-svn: 142466
2011-10-19 00:43:52 +00:00
Peter Collingbourne
a48f33f951
Move static array parameter checks to SemaExpr, per Doug's request
...
llvm-svn: 142465
2011-10-19 00:16:45 +00:00
Richard Smith
38c0e0417c
-Wc++98-compat: warn if a SFINAE substitution in C++11 suppresses an access
...
control diagnostic.
llvm-svn: 142463
2011-10-19 00:07:01 +00:00
Fariborz Jahanian
7f73302b4f
objc: allow class name qualified with protocols in
...
iboutletcollection attribute. But ignore protocol
list. // rdar://10296078
llvm-svn: 142459
2011-10-18 23:13:50 +00:00
Anna Zaks
d009bfac0c
[analyzer] Move predecessor into the NodeBuilder context.
...
llvm-svn: 142454
2011-10-18 23:06:48 +00:00
Anna Zaks
a99b41f37f
[analyzer] Make NodeBuilder and Pred node loosely coupled
...
NodeBuilder should not assume it's dealing with a single predecessor. Remove predecessor getters. Modify the BranchNodeBuilder to not be responsible for doing auto-transitions (which depend on a predecessor).
llvm-svn: 142453
2011-10-18 23:06:44 +00:00
Anna Zaks
1dd965eaa5
[analyzer] Remove StmtNodeBuilder from CheckerContext
...
It now only depends on a generic NodeBuilder instead. As part of this change, make the generic node builder results finalized by default.
llvm-svn: 142452
2011-10-18 23:06:38 +00:00
Anna Zaks
88d9462b73
[analyzer] Subclassing StmtBuilder from the NodeBuilder
...
llvm-svn: 142451
2011-10-18 23:06:33 +00:00
Anna Zaks
e83ddcc4ec
[analyzer] Remove dead code.
...
ExprEngineBuilders is not used.
llvm-svn: 142450
2011-10-18 23:06:29 +00:00
Anna Zaks
ea96f5b852
[analyzer] Remove redundant method + whitespace.
...
llvm-svn: 142449
2011-10-18 23:06:25 +00:00
Anna Zaks
6d285c58ec
[analyzer] Modularize builder use in processBranch.
...
Take advantage of the new builders for branch processing. As part of this change pass generic NodeBuilder (instead of BranchNodeBuilder) to the BranchCondition callback and remove the unused methods form BranchBuilder.
llvm-svn: 142448
2011-10-18 23:06:21 +00:00
Anna Zaks
eebbbc7253
[analyzer] Pull Pred out of NodeBuilderContext.
...
Each builder will have a different one, so it doesn't make sense to keep it in the context.
llvm-svn: 142447
2011-10-18 23:06:16 +00:00
Anna Zaks
2e2eb49f7f
[analyzer] Rely only on NodeBuilder inside CheckerContext.
...
llvm-svn: 142446
2011-10-18 23:06:11 +00:00
Anna Zaks
1ee9f11631
[analyzer] Remove redundant assignment operator.
...
llvm-svn: 142445
2011-10-18 23:06:08 +00:00
Anna Zaks
ce5e97efdd
[analyzer] NodeBuilder Refactoring: Subclass BranchNodeBuilder from NodeBuilder.
...
llvm-svn: 142444
2011-10-18 23:06:04 +00:00
Anna Zaks
fc0189aadc
[analyzer] Node Builder refactoring: Introduce a simple Node Builder responsible for generating the node frontier.
...
Currently we have a bunch of different node builders which provide some common
functionality but are difficult to refactor. Each builder generates nodes of
different kinds and calculates the frontier nodes, which should be propagated
to the next step (after the builder dies).
Introduce a new NodeBuilder which provides very basic node generation facilities
but takes care of the second problem. The idea is that all the other builders
will eventually use it. Use this builder in CheckerContext instead of
StmtNodeBuilder (the way the frontier is propagated to the StmtBuilder
is a hack and will be removed later on).
llvm-svn: 142443
2011-10-18 23:05:58 +00:00
John McCall
59207978e6
More metaprogramming with builtin types.
...
llvm-svn: 142433
2011-10-18 22:28:37 +00:00
Argyrios Kyrtzidis
72a3cf0a4a
[libclang] Make sure we do a correct invalid check in clang_getExpansionLocation.
...
llvm-svn: 142430
2011-10-18 21:59:54 +00:00
Douglas Gregor
7c0fc61faa
Minor tweak to test
...
llvm-svn: 142427
2011-10-18 21:43:22 +00:00
Richard Smith
c82397332d
-Wc++98-compat and -Wc++98-compat-pedantic warnings for Sema, part 2.
...
llvm-svn: 142426
2011-10-18 21:39:00 +00:00
Douglas Gregor
c1939d3967
Remove unused data member
...
llvm-svn: 142425
2011-10-18 21:25:15 +00:00
Douglas Gregor
e5c79d5ea8
Provide result types for code completions that describe built-in
...
expressions (this, sizeof, etc.).
llvm-svn: 142424
2011-10-18 21:20:17 +00:00
John McCall
91aee685d8
Add a __has_feature check for arc_cf_code_audited.
...
llvm-svn: 142423
2011-10-18 21:18:53 +00:00
John McCall
e314e27c58
Macro metaprogramming for builtin types.
...
llvm-svn: 142420
2011-10-18 21:02:43 +00:00
Richard Smith
0bf8a492fd
-Wc++98-compat and -Wc++98-compat-pedantic warnings for Sema, part 1.
...
llvm-svn: 142419
2011-10-18 20:49:44 +00:00
Daniel Dunbar
b274318bba
Frontend: Support -iframework.
...
llvm-svn: 142418
2011-10-18 20:40:38 +00:00
Richard Smith
aed32b4d8c
Simplify RecordDeclCXX::setBases slightly. No functional change.
...
Add test that a variadic base list which expands to 0 bases doesn't make the
class a non-aggregate. This test passed before the change, too.
llvm-svn: 142411
2011-10-18 20:08:55 +00:00
Fariborz Jahanian
2f31b33f34
objc: more changes in use of IBOutletCollection attribute.
...
'Class' is disallowed as argument. If the argument is missing,
NSObject is assumed. // rdar://10296078
llvm-svn: 142409
2011-10-18 19:54:31 +00:00
Argyrios Kyrtzidis
05c65fbdb6
[arcmt] Rewrite attributes in extensions as well. rdar://9992142
...
llvm-svn: 142407
2011-10-18 19:49:19 +00:00
Argyrios Kyrtzidis
b51684d7a1
Set the objc "property attributes as written" for extension properties as well.
...
llvm-svn: 142406
2011-10-18 19:49:16 +00:00
Richard Smith
c30493db3c
In C++11, a class's members are allowed to be nominated as friends.
...
llvm-svn: 142393
2011-10-18 18:33:57 +00:00
Argyrios Kyrtzidis
058b451d87
[driver] Make the driver to link the simulator arclite lib when passing -mios-simulator-version-min.
...
rdar://10218700
llvm-svn: 142372
2011-10-18 17:40:15 +00:00
Fariborz Jahanian
6b70865ec0
objc: diagnose invalid argument to an
...
iboutletcollection attribute intead of crashing.
// rdar://10296078
llvm-svn: 142364
2011-10-18 17:11:10 +00:00
Argyrios Kyrtzidis
098c4eabd2
[libclang] Since an objc extension semantically continues the interface of the class
...
don't use unique USRs for them, otherwise we fail to associate @implementation methods
with the methods in extensions.
llvm-svn: 142361
2011-10-18 16:50:06 +00:00
Douglas Gregor
09deffa067
Make it possible to compute the type of 'this' without capturing
...
it. Refactoring to be used in a moment.
llvm-svn: 142360
2011-10-18 16:47:30 +00:00