Anna Zaks
207c68012a
[analyzer] Refactor: make PathDiagnosticLocation responsible for validation of SourceLocations (commit 4 of ?):
...
- The closing brace is always a single location, not a range.
- The test case previously had a location key 57:1 followed by a range [57:1 - 57:1].
llvm-svn: 139832
2011-09-15 20:06:34 +00:00
Douglas Gregor
900d4bf80a
Eliminate the list of modules from the preprocessor options. This was
...
used back when we had an -import-module command-line option, but it's
no longer used (or useful).
llvm-svn: 139829
2011-09-15 19:48:59 +00:00
Douglas Gregor
8a880e3ff6
Eliminate the unused -create-module cc1-level option
...
llvm-svn: 139827
2011-09-15 19:45:56 +00:00
Bill Wendling
79a70e42b0
Refactor the load of the exception pointer and the exception selector from their
...
storage slot into helper functions.
llvm-svn: 139826
2011-09-15 18:57:19 +00:00
Anna Zaks
921f04924f
[analyzer] Refactor: make PathDiagnosticLocation responsible for validation of SourceLocations (commit 2 of ?):
...
- Fix a fixme and move the logic of creating a PathDiagnosticLocation corresponding to a ProgramPoint into a PathDiagnosticLocation constructor.
- Rename PathDiagnosticLocation::create to differentiate from the added constructor.
llvm-svn: 139825
2011-09-15 18:56:07 +00:00
Douglas Gregor
6137d32c1b
When we load the first module, make sure that we wire up the ASTConsumer to the newly-created ASTReader. This makes sure that CodeGen sees the declarations it is interested in
...
llvm-svn: 139824
2011-09-15 18:47:32 +00:00
Fariborz Jahanian
b7d278ba77
Objective-c: Conversion from type Class to any root class type is allowed
...
in class methods with no warning. //rdar://10109725
llvm-svn: 139818
2011-09-15 18:30:22 +00:00
Caitlin Sadowski
2d910ba1e5
Thread safety: changing naming in error messages based on reviewer comments
...
llvm-svn: 139814
2011-09-15 18:13:32 +00:00
Caitlin Sadowski
cfef95eec6
Thread safety: test cases originally from gcc annotalysis branch. We are
...
relicensing them under the license for llvm.
llvm-svn: 139812
2011-09-15 18:07:32 +00:00
Argyrios Kyrtzidis
03c40c5182
[PCH] Overhaul how preprocessed entities are [de]serialized.
...
-Use an array of offsets for all preprocessed entities
-Get rid of the separate array of offsets for just macro definitions;
for references to macro definitions use an index inside the preprocessed
entities array.
-Deserialize each preprocessed entity lazily, at first request; not in bulk.
Paves the way for binary searching of preprocessed entities that will offer
efficiency and will simplify things on the libclang side a lot.
llvm-svn: 139809
2011-09-15 18:02:56 +00:00
Caitlin Sadowski
bf06c72aa9
Thread safety: cleaning up FIXME for trylocks
...
llvm-svn: 139805
2011-09-15 17:50:19 +00:00
Caitlin Sadowski
6525fb25cb
Thread safety: completeing the implementation of shared/exclusive locks required attributes
...
llvm-svn: 139804
2011-09-15 17:43:08 +00:00
Caitlin Sadowski
af9b7c5f8b
Thread safety: refactoring various out of scope warnings to use the same inteface. This eliminates a lot of unnecessary duplicated code.
...
llvm-svn: 139801
2011-09-15 17:25:19 +00:00
Douglas Gregor
8455e76fa1
Teach LangOptions::resetNonModularOptions to actually do what it says it does
...
llvm-svn: 139791
2011-09-15 14:56:27 +00:00
Justin Holewinski
aa78b235a5
PTX: Define target options
...
llvm-svn: 139789
2011-09-15 12:13:38 +00:00
John McCall
99210dc9d1
Rewrite this loop to use partial destruction; I'm not sure it's
...
possible for that to matter right now, but eventually I think we'll
need to unify this better, and then it might. Also, use a more
efficient looping structure.
llvm-svn: 139788
2011-09-15 06:49:18 +00:00
John McCall
3b201b7d5f
Sorry, that assertion actually already exists.
...
llvm-svn: 139770
2011-09-15 01:55:23 +00:00
John McCall
8f8f8d67ea
We don't generate null initializer expressions anymore, and
...
we don't need to.
llvm-svn: 139769
2011-09-15 01:54:21 +00:00
Anna Zaks
3a769bd996
[analyzer] Refactor: make PathDiagnosticLocation responsible for validation of SourceLocations (commit 2 of ?):
...
- Modify all PathDiagnosticLocation constructors that take Stmt to also requre LocationContext.
- Add a constructor which should be used in case there is no valid statement/location (it will grab the location of the enclosing function).
llvm-svn: 139763
2011-09-15 01:08:34 +00:00
Devang Patel
ecaf9ac0bb
Emit debug info for c++0x nullptr.
...
llvm-svn: 139752
2011-09-14 23:14:14 +00:00
Douglas Gregor
21931efc4d
Make -E work with module imports
...
llvm-svn: 139750
2011-09-14 23:13:09 +00:00
Douglas Gregor
d7910e95bd
Don't try to write a macro offset for an identifier that names a non-exported macro, for real this time
...
llvm-svn: 139745
2011-09-14 22:14:14 +00:00
Douglas Gregor
4fe9b18182
Revert my exported-macro hackery. Something is amiss
...
llvm-svn: 139734
2011-09-14 20:57:14 +00:00
Caitlin Sadowski
dcd60104c6
Thread safety: small fixes in comments
...
llvm-svn: 139733
2011-09-14 20:54:57 +00:00
Douglas Gregor
d48ed128e0
Make sure that we actually keep the key length and data length in sync when dealing with non-exported macros
...
llvm-svn: 139731
2011-09-14 20:51:12 +00:00
Douglas Gregor
af3ccaf22c
Disable this test on win32. My "sleep 2" trick didn't seem to work
...
llvm-svn: 139729
2011-09-14 20:38:11 +00:00
Douglas Gregor
4184ab0b26
Don't try to write a macro offset for an identifier that names a non-exported macro
...
llvm-svn: 139728
2011-09-14 20:36:30 +00:00
Douglas Gregor
e162dd46f6
Add test for the driver's handling of modules
...
llvm-svn: 139727
2011-09-14 20:29:10 +00:00
Douglas Gregor
f936f782f5
Teach the driver to always pass down a module cache path. If none is
...
supplied, use something derived from the system's temporary
directory. Depends on LLVM r139725.
llvm-svn: 139726
2011-09-14 20:28:46 +00:00
Caitlin Sadowski
e50d8c3415
Thread safety: reverting to use separate warning for requirement to hold any lock
...
llvm-svn: 139723
2011-09-14 20:09:09 +00:00
Caitlin Sadowski
5b34a2fd6e
Thread safety: adding additional documentation to the main thread safety interface, and making the destructor for the thread safety handler pure virtual
...
llvm-svn: 139722
2011-09-14 20:05:09 +00:00
Caitlin Sadowski
787c2a1b09
Thread safety: adding test cases for unparseable lock expressions and expanding the handling of these expressions
...
llvm-svn: 139720
2011-09-14 20:00:24 +00:00
Kaelyn Uhrain
7fbe2f78d7
Plug an abstraction leak and fix a crasher in DiagnoseInvalidRedeclaration
...
llvm-svn: 139718
2011-09-14 19:37:32 +00:00
Eli Friedman
8eac6c2187
PR10864: make sure we correctly delay type-checking for inline asm tied operands with dependent type. Patch by Likai Liu.
...
llvm-svn: 139716
2011-09-14 19:20:00 +00:00
Fariborz Jahanian
fe52617bcd
Use a group for a diagnostics I added late.
...
llvm-svn: 139713
2011-09-14 19:02:25 +00:00
Argyrios Kyrtzidis
41899f3bac
[arcmt] Use __bridge_retained when passing an objc object to a CF parameter
...
annotated with cf_consumed attribute.
llvm-svn: 139709
2011-09-14 18:17:09 +00:00
Fariborz Jahanian
1723e17b78
objc-arc: warn when a 'retain' block property is
...
declared which does not force a 'copy' of the block literal
object. // rdar://9829425
llvm-svn: 139706
2011-09-14 18:03:46 +00:00
Anna Zaks
2ced26ef72
[analyzer] Remove redundant copy constructor.
...
llvm-svn: 139704
2011-09-14 17:53:23 +00:00
Anna Zaks
615e3a69c3
[analyzer] After CFG has been linearized, we can have a situation where an ExpoledNode has an invalid SourceLocation (which has no correspondence in the source code). This commit is the first step to solve this problem.
...
- It adds LocationContext to the PathDiagnosticLocation object and uses it to lookup the enclosing statement with a valid location.
- So far, the LocationContext is only available when the object is constructed from the ExplodedNode.
- Already found some subtle bugs(in plist-output-alternate.m) where the intermediate diagnostic steps were not previously shown.
llvm-svn: 139703
2011-09-14 17:48:01 +00:00
Akira Hatanaka
f0bbc1c8fd
Add comment.
...
llvm-svn: 139700
2011-09-14 17:24:05 +00:00
Douglas Gregor
a739d9a023
Encode the module hash in base-36, to reduce the length of the strings a bit
...
llvm-svn: 139696
2011-09-14 15:55:12 +00:00
Eric Christopher
19329c402f
Formatting.
...
llvm-svn: 139681
2011-09-14 01:10:50 +00:00
Eli Friedman
2dadd3ebee
Fix comment.
...
llvm-svn: 139678
2011-09-14 00:52:45 +00:00
Chad Rosier
8230116066
[driver] Add support for the COMPILER_PATH environment variable, which adds the
...
specified path(s) to the list of prefix directories.
rdar://10097714
llvm-svn: 139677
2011-09-14 00:47:55 +00:00
Anna Zaks
2c65eea947
[analyzer] Refactor: Make PathDiagnosticLocation responsible for creating a valid object given an ExploadedNode (the same logic can be reused by other checkers).
...
llvm-svn: 139672
2011-09-14 00:25:17 +00:00
Eric Christopher
47300ad6e4
Fix typo.
...
llvm-svn: 139668
2011-09-13 23:45:09 +00:00
Douglas Gregor
3728ea75d9
Assert that the module hash produced after stripping away non-modular options is the same as the module hash before stripping those options.
...
llvm-svn: 139663
2011-09-13 23:20:27 +00:00
Douglas Gregor
1735f4e752
For modules, use a hash of the compiler version, language options, and
...
target triple to separate modules built under different
conditions. The hash is used to create a subdirectory in the module
cache path where other invocations of the compiler (with the same
version, language options, etc.) can find the precompiled modules.
llvm-svn: 139662
2011-09-13 23:15:45 +00:00
Argyrios Kyrtzidis
303e513544
[libclang] Remove libclang.darwin.exports, it's not used anymore.
...
llvm-svn: 139661
2011-09-13 23:12:36 +00:00
John McCall
e3ca8eb049
In general, don't look through explicit casts when trying
...
to find the called declaration. Explicit casts can radically
change the semantics of a call, and it's no longer really a
builtin call any more than it would be a builtin call if you stored
the function pointer into a variable and called that.
llvm-svn: 139659
2011-09-13 23:08:34 +00:00