Argyrios Kyrtzidis
c504eb3448
[libclang] Make clang_findReferencesInFile use "file-targeted" deserialization and avoid
...
unnecessary deserializations.
llvm-svn: 144791
2011-11-16 08:58:54 +00:00
Evan Cheng
dd286bce2c
Match LLVM API change.
...
llvm-svn: 144789
2011-11-16 08:38:55 +00:00
Richard Smith
cf74da76db
Fix PR11385: A pointer constant expression which has been cast via an integer is
...
not safely derived. Don't allow lvalue-to-rvalue conversions on the result of
dereferencing such a pointer.
llvm-svn: 144783
2011-11-16 07:18:12 +00:00
Douglas Gregor
84febf4a4d
Migrate a few more modules tests over to -emit-module-from-map.
...
llvm-svn: 144779
2011-11-16 05:16:30 +00:00
Ted Kremenek
0e9843b328
Teach ccc-analyzer about -fobjc-arc.
...
llvm-svn: 144778
2011-11-16 05:14:42 +00:00
Argyrios Kyrtzidis
516eec2d8b
[libclang] Fix crash on invalid code. Fixes rdar://10451854
...
llvm-svn: 144766
2011-11-16 02:35:10 +00:00
Argyrios Kyrtzidis
df15c20979
[libclang] Indexing API: fill the objc category info for a category implementation and
...
do not crash if no client container is registered for a declaration context.
llvm-svn: 144765
2011-11-16 02:35:05 +00:00
Argyrios Kyrtzidis
d7b8790003
[libclang] Indexing API: make sure we do not try to index local declarations.
...
llvm-svn: 144764
2011-11-16 02:35:01 +00:00
Argyrios Kyrtzidis
e4acd23f0b
[libclang] Indexing API: if the CXIndexOpt_OneRefPerFile option is set, only report one reference
...
per file.
llvm-svn: 144763
2011-11-16 02:34:59 +00:00
Argyrios Kyrtzidis
f03e734876
[libclang] In lazyCreateDiags, recreate the diagnostic set if the number of diagnostics
...
in the ASTUnit changed.
llvm-svn: 144762
2011-11-16 02:34:55 +00:00
Eli Friedman
aa9512c484
Fix test on Release builds.
...
llvm-svn: 144761
2011-11-16 02:19:03 +00:00
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