Eli Friedman
d20adbdce3
Fix a bunch of really nasty bugs in how we compute alignment for reference lvalues. PR11376.
...
llvm-svn: 144745
2011-11-16 00:42:57 +00:00
Douglas Gregor
81ac842151
Switch some more of the modules tests over to "-emit-module-from-map",
...
and remove stray fprintf.
llvm-svn: 144742
2011-11-16 00:21:54 +00:00
Douglas Gregor
2b20cb87f5
Add support for building a module from a module map to the -cc1
...
interface. This is currently limited to modules with umbrella
headers.
llvm-svn: 144736
2011-11-16 00:09:06 +00:00
Francois Pichet
78286b24fd
In Microsoft mode, make "Unqualified lookup into dependent bases of class templates" works inside static functions.
...
llvm-svn: 144729
2011-11-15 23:33:34 +00:00
Douglas Gregor
ac42ec6fc5
Revert r144703. It was a dumb idea anyway; will add the new bits more
...
incrementally with a new frontend action.
llvm-svn: 144723
2011-11-15 22:58:25 +00:00
Eli Friedman
4134073c4b
Compute whether a class is trivial correctly for template classes with an explicitly deleted or defaulted special member. PR11387.
...
llvm-svn: 144715
2011-11-15 22:39:08 +00:00
Douglas Gregor
86b6f74217
Split GenerateModuleAction into its own action, which will start
...
differing from GeneratePCHAction fairly soon.
llvm-svn: 144703
2011-11-15 21:49:36 +00:00
Abramo Bagnara
dc1646dc2b
Fixed plausible overloads location.
...
llvm-svn: 144700
2011-11-15 21:43:28 +00:00
Douglas Gregor
7d106e423e
Add a -cc1-level option -fmodule-name=<name>, which will be used when
...
building modules.
llvm-svn: 144680
2011-11-15 19:35:01 +00:00
Fariborz Jahanian
197a895e75
Remove one group'ed warning.
...
llvm-svn: 144678
2011-11-15 19:25:38 +00:00
Fariborz Jahanian
7359122ba5
Add -Wmismatched-method-attributes flag for when attributes in method definition and
...
their decl. do not match. // rdar://10448471
llvm-svn: 144676
2011-11-15 19:13:36 +00:00
Chad Rosier
1fede19ce9
Typo.
...
llvm-svn: 144672
2011-11-15 19:03:03 +00:00
Chad Rosier
e35f9ddb4c
Fix a regression from 143657. The second pass of the warning options should only be emitting
...
warnings/errors for unknown warning options. getDiagnosticsInGroup returns false if the
diagnostics is found and true otherwise. Thus, if we're reporting and we have a valid
diagnostic, we were actually setting the flag and causing mayhem.
rdar://10444207
llvm-svn: 144670
2011-11-15 18:57:32 +00:00
Douglas Gregor
6c8f07ff46
Teach the CFG builder how to properly destroy temporaries who
...
lifetimes have been extended via reference binding. The type of the
reference and the type of the temporary are not necessarily the same,
which could cause a crash. Fixes <rdar://problem/10398199>.
llvm-svn: 144646
2011-11-15 15:29:30 +00:00
Benjamin Kramer
fee467a0d0
Validate DiagGroup names in TableGen, they're used as command line arguments so we don't want shell meta chars in there.
...
llvm-svn: 144645
2011-11-15 12:54:53 +00:00
Benjamin Kramer
176a5cb38a
Warning option typo correction: When two options have the same edit_distance don't display either.
...
Also add a maximum edit distance threshold, so we don't correct "-Wx" to "-W#pragma-messages".
llvm-svn: 144644
2011-11-15 12:26:39 +00:00
Abramo Bagnara
9847e744e2
Fixed a cut&paste error introduced in r141336.
...
llvm-svn: 144637
2011-11-15 11:25:38 +00:00
Argyrios Kyrtzidis
5938650b13
[PCH] When serializing an PseudoObjectExpr or AtomicExpr, the serialization code must be set
...
otherwise it will crash with asserts on or it will be written as null pointer.
llvm-svn: 144626
2011-11-15 06:20:27 +00:00
Argyrios Kyrtzidis
233f12d9e2
[libclang] Indexing API: Pass an implicit ObjCInterfaceDecl (@implementation without @interface)
...
in a separate indexing callback than its implementation.
llvm-svn: 144625
2011-11-15 06:20:24 +00:00
Argyrios Kyrtzidis
ae8e792fe2
Use Decl's isImplicit field to indicate whether an ObjCInterfaceDecl is 'ImplicitInterfaceDecl',
...
no need to store it in another field.
llvm-svn: 144624
2011-11-15 06:20:21 +00:00
Argyrios Kyrtzidis
d992e14394
[libclang] Introduce a new function to apply the indexing callbacks on an existing
...
CXTranslationUnit, mainly to be used for indexing a PCH.
llvm-svn: 144623
2011-11-15 06:20:16 +00:00
Eli Friedman
95ff70021c
Fix crash in calling convention code expanding an struct with a complex member.
...
llvm-svn: 144612
2011-11-15 02:46:03 +00:00
John McCall
d5c98ae695
Resolve placeholder expressions before trying to deduce
...
'auto'. Introduce a convenience method to make this a bit
easier, and use it elsewhere.
llvm-svn: 144605
2011-11-15 01:35:18 +00:00
Devang Patel
9957e8b789
Remove extra ';'.
...
llvm-svn: 144604
2011-11-15 01:30:40 +00:00
Nick Lewycky
5f2899cbfa
The optimizers figured out how to make this store 6.
...
llvm-svn: 144597
2011-11-15 00:19:16 +00:00
Ted Kremenek
ec9b50d961
Fix potential memory leak for clients of clang_getOverriddenCursors(). If the number of overriden cursors is 0, do not allocate an array of CXCursors. This fixes a memory leak in c-index-test, and clients who use this API in a similar way.
...
llvm-svn: 144595
2011-11-14 23:51:37 +00:00
Benjamin Kramer
02faa35477
A space in a diagnostic group is a bead idea.
...
llvm-svn: 144594
2011-11-14 23:44:04 +00:00
Benjamin Kramer
116d8879e6
Print a typo correction hint for unknown warning flags.
...
$ clang -Wololo t.c
warning: unknown warning option '-Wololo'; did you mean '-Wall'? [-Wunknown-warning-option]
llvm-svn: 144591
2011-11-14 23:30:34 +00:00
Matt Beaumont-Gay
8e9aae5999
Don't track depfiles as result files which need to be cleaned up on failure.
...
This is a partial revert of r143846. While cleaning up after a crash is
probably a good idea, we were also deleting .d files if the compilation failed
due to invalid input, which is not the desired behavior. The test is XFAIL'd
until the cleanup code can be reworked to do the right thing.
llvm-svn: 144590
2011-11-14 23:24:52 +00:00
Douglas Gregor
0201a4c2d3
When we're checking access in a dependent context, don't try to look
...
at the bases of an undefined class. Fixes <rdar://problem/10438657>.
llvm-svn: 144582
2011-11-14 23:00:43 +00:00
Argyrios Kyrtzidis
86acd72bd2
[libclang] Slight changes to the indexing API and bigger internal changes for it.
...
llvm-svn: 144577
2011-11-14 22:39:19 +00:00
Douglas Gregor
4123a86fae
Use Sema::RequireCompleteType to check for the completeness of
...
Objective-C classes. This has two purposes: to consistently provide
"forward declaration here" notes when we hit an incomplete type, and
to give LLDB a chance to complete the type.
RequireCompleteType bits from Sean Callanan!
llvm-svn: 144573
2011-11-14 22:10:01 +00:00
Ted Kremenek
1fcdaa9c05
ARC: make assignment to 'self' within class methods illegal. Fixes <rdar://problem/10416568>.
...
llvm-svn: 144572
2011-11-14 21:59:25 +00:00
Ted Kremenek
8e7fbcc3e4
[static analyzer] Tweak RetainCountChecker's diagnostics to correctly indicate if a message was due to a property access. This can
...
potentially be refactored for other clients, and this is a regression from the refactoring of property acceses.
llvm-svn: 144571
2011-11-14 21:59:21 +00:00
Ted Kremenek
731607fab2
[analyzer;Regionstore] handle loads from StringLiteral elements for StringLiterals representing wide strings. Fixes PR 11294.
...
llvm-svn: 144563
2011-11-14 20:05:54 +00:00
John McCall
16de4d20e0
In ARC, don't reclaim objects of Class type.
...
llvm-svn: 144561
2011-11-14 19:53:16 +00:00
Richard Trieu
5d1aff049e
Change the checks in the type aka printing. A confusing case where the string
...
of the first type is the same as the aka string of the second type, but both
types are different. Update the logic to print an aka for the first type to
show that they are different.
llvm-svn: 144558
2011-11-14 19:39:25 +00:00
Ted Kremenek
b39fcfaa19
[analyzer] teach AnalysisDeclContext::getSelfDecl() about blocks that capture the 'self' variable of the enclosing ObjC method decl. Fixes <rdar://problem/10380300>.
...
llvm-svn: 144556
2011-11-14 19:36:08 +00:00
Eric Christopher
04832b9210
Fixup comment.
...
llvm-svn: 144548
2011-11-14 18:55:02 +00:00
Argyrios Kyrtzidis
7d268c3b8b
[PCH] Load the chained objc categories only after recursive loading is finished
...
otherwise we may crash.
llvm-svn: 144524
2011-11-14 07:07:59 +00:00
Nico Weber
d60b72f696
Fix a regression in wide character codegen. See PR11369.
...
llvm-svn: 144521
2011-11-14 05:17:37 +00:00
Argyrios Kyrtzidis
846e61a363
[PCH] Do not crash if a class extension in a chained PCH introduces/redeclares a property.
...
llvm-svn: 144520
2011-11-14 04:52:29 +00:00
Argyrios Kyrtzidis
09c1b3d858
[PCH] In ASTWriter::WriteChainedObjCCategories use getDeclID since the decls
...
should have been already emitted.
llvm-svn: 144519
2011-11-14 04:52:24 +00:00
Argyrios Kyrtzidis
70480496c8
[libclang] Move the check for errors in c-index-test before the TU gets disposed.
...
llvm-svn: 144514
2011-11-13 23:39:14 +00:00
Argyrios Kyrtzidis
f5ab0345fc
[PCH] When chaining a PCH and serializing HeaderSearch, make sure the HeaderFileInfos
...
from the primary PCH is deserialized, otherwise we lose info that headers were
already #imported/#included.
llvm-svn: 144510
2011-11-13 22:08:39 +00:00
Argyrios Kyrtzidis
e74e8222ee
[libclang] for c-index-test, check for CINDEXTEST_FAILONERROR when doing -test-load-source-reparse
...
llvm-svn: 144509
2011-11-13 22:08:33 +00:00
Argyrios Kyrtzidis
95dfc12cd6
Don't crash when a duplicate interface/protocol is inside an extern "C" context.
...
llvm-svn: 144508
2011-11-13 22:08:30 +00:00
Rafael Espindola
6cfa82bc5f
Fix the signature of the getcontext builtin. Patch by Dimitry Andric.
...
llvm-svn: 144505
2011-11-13 21:51:09 +00:00
Benjamin Kramer
1871ed3d79
Silence unused variable warning.
...
llvm-svn: 144500
2011-11-13 16:52:09 +00:00
Peter Collingbourne
fcc764d140
When reference binding array rvalues, such as those created by compound
...
literals of array type, materialise a temporary.
llvm-svn: 144483
2011-11-13 00:51:30 +00:00