aboutsummaryrefslogtreecommitdiff
path: root/lib
AgeCommit message (Collapse)Author
2012-03-22Fix static analyzer crash on code taking the address of a field. Fixes PR ↵Ted Kremenek
11146. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@153283 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-22[analyzer] Add the stat for the number of successfully explored paths.Anna Zaks
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@153281 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-22[analyzer] Add stats useful for coverage investigations.Anna Zaks
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@153280 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-22[analyzer] Add inlining awareness to the block coverage computationAnna Zaks
(Stats Checker). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@153279 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-22modern objc rewriter: until we can translate block literalsFariborz Jahanian
at global scope properly, issue diagnostics. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@153271 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-22Fix a comment: kPropertyType = 'T' not 't'. <rdar://problem/11095729>Bob Wilson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@153264 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-22modern objective-c rewriter: Fix up translation ofFariborz Jahanian
property attributes. // rdar://11095151 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@153261 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-22[PCH] When we are replacing a decl in a chained PCH that is also a DeclContext,Argyrios Kyrtzidis
make sure to fully load its external lexical and visible declarations before re-writing it. rdar://10914192 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@153254 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-22"Teach" RetainCountChecker about dispatch_set_context, which can indirectly ↵Ted Kremenek
free its argument later. Fixes <rdar://problem/11059275>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@153244 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-22Fix broken CFG when an initializer is a statement expression that starts ↵Ted Kremenek
with a while loop (PR 12325). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@153242 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-22During the instantiation of a class template specialization, thatRichard Smith
specialization is known to be incomplete. If we're asked to try to complete it, don't attempt to instantiate it again -- that can lead to stack overflow, and to rejects-valids if the class being incomplete is not an error. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@153236 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-22Simplify DataRecursiveIntBinOpEvaluator::VisitBinOp() a bit and make sure we ↵Argyrios Kyrtzidis
don't evaluate RHS if LHS could not be evaluated and keepEvaluatingAfterFailure() is false. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@153235 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-22[analyzer] Malloc: drop symbols captured by blocks.Anna Zaks
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@153232 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-21modern objective-c translator: Change declaration ofFariborz Jahanian
all objc_msgSend unctions to void parameters and void return. // rdar://11094890 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@153227 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-21Change the binary operator data recursive evaluator to not stop at the firstRichard Trieu
non-constant value encountered. This allows the evaluator to deduce that expressions like (x < 5 || true) is equal to true. Previously, it would visit x and determined that the entire expression is could not evaluated to a constant. This fixes PR12318. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@153226 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-21Remove unused variable, fix indentation.Benjamin Kramer
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@153220 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-21For enums with no tag name, display its location in Fariborz Jahanian
the diagnostic instead of displaying ''. // rdar://11082110 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@153219 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-21fixes the diagnostic issued in // rdar://11069896Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@153217 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-21Report the natural alignment of unsigned long long, not the preferred alignment.Chad Rosier
rdar://11054144 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@153216 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-21[analyzer] Malloc: Utter the name of the leaked variable.Anna Zaks
Specifically, we use the last store of the leaked symbol in the leak diagnostic. (No support for struct fields since the malloc checker doesn't track those yet.) + Infrastructure to track the regions used in store evaluations. This approach is more precise than iterating the store to obtain the region bound to the symbol, which is used in RetainCount checker. The region corresponds to what is uttered in the code in the last store and we do not rely on the store implementation to support this functionality. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@153212 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-21[analyser] Factor out FindUniqueBinding from RetainCount checker.Anna Zaks
So that others could use it as well. No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@153211 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-21Duplicated code is bad. At least make it consistent.Bob Wilson
The getARMTargetCPU and getLLVMArchSuffixForARM functions exist in both Toolchain.cpp and Tools.cpp. This stuff needs a thorough overhaul. In the meantime, this patch at least makes them consistent. One version had been converted to use StringSwitch, and the other version had new Cortex M-series processors added. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@153202 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-21Allow void blocks to return witn a void expression in Fariborz Jahanian
c-mode to match behavior with void functions in c. Issue warning with -pedantic. // rdar://11069896 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@153200 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-21For Darwin, do not let -mcpu override the -arch option. <rdar://11059238>Bob Wilson
On Darwin the architecture and the corresponding Mach-O slice is typically specified with -arch. If not, it defaults to the current host architecture. Do not use -mcpu to override the -arch value. This is only an issue when people need to use specialized code for a non-default CPU (hopefully guarded by run-time checks to detect the current processor). The -mcpu option is still used for the -target-cpu option to clang, but this patch causes it to not be used to set the architecture in the target triple. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@153197 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-21modern objective-c rewriter: remove 'const' fromFariborz Jahanian
pointer field declarations in several meta-data. // rdar://11079898 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@153196 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-21Undo previous patch as I checked more than I intended.Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@153193 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-21modern objective-c rewriter: remove 'const' fromFariborz Jahanian
pointer field declarations in several meta-data. // rdar://11079898 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@153192 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-21For the annals of subtle but terrible bugs: fix a longstanding bugJohn McCall
in vtable layout where virtual methods inherited from virtual bases could be assigned the same vcall adjustment slot if they shared a name and parameter signature but differed in their cv-qualification. The code was already trying to handle this case, but unfortunately used the ordinary type qualifiers (which are always empty here) instead of the method qualifiers. This seems like something that the API should discourage, but I don't know how to carry that principle out in this instance. Eliminate this function's need for an ASTContext while we're at it. This bug affects the ABI, and fixing it brings us into accord with the Itanium ABI (and GCC's implementation of it), but, obviously, technically breaks full compatibility with previous releases of Clang. Just letting you know. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@153168 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-21RewriteModernObjC.cpp: Don't expose temporary std::string with StringRef. ↵NAKAMURA Takumi
(StringRef)getName() can be used here. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@153156 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-21Close the paren.Fariborz Jahanian
// rdar://11076938 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@153151 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-20Update comment.Eric Christopher
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@153149 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-20modern objective-c translator: insert couple of pragmas for optimization.Fariborz Jahanian
// rdar://11079898 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@153145 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-20modern objective-c translator: add static function to initialize Fariborz Jahanian
the class pointer in the category structure. // rdar://11076938 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@153138 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-20More careful consideration of C++11 13.3.3.1p4. Fixes PR12257.Sebastian Redl
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@153130 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-20Fix the other place where C++98 work for initializer lists was necessary.Sebastian Redl
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@153129 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-20more modern objective-c meta-data stuff.Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@153127 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-20Fix a use-after-free in thunk emission. EmitThunk may call RAUW on Init, ↵Benjamin Kramer
invalidating the pointer. Fixes PR12284. The test case only triggered under asan/valgrind, but it's better than nothing. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@153120 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-20modern objective-c translator: provide meta-data initializationFariborz Jahanian
via functions for certain pointer initialization fields. // rdar://11076938 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@153117 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-20Debug info: Tighten up uses of plain MDNode pointers which don't survive ↵Benjamin Kramer
replaceOperandWith. TrackingVH notices when it gets RAUW'd. Fixes PR12305 and PR12315. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@153115 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-20modern objective-c translator: couple of minorFariborz Jahanian
changes to how meta-data is declared. // rdar://11076938 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@153098 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-20objective-c modern translator: Refactor intername ivar names toFariborz Jahanian
one place and use it throughout. Also, change ivar name to avoid name collisions. // rdar://11079366 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@153093 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-20[avx] Define the _mm256_loadu2_xxx and _mm256_storeu2_xxx intrinsics.Chad Rosier
From the Intel Optimization Reference Manual, Section 11.6.2. When data cannot be aligned or alignment is not known, 16-byte memory accesses may provide better performance. rdar://11076953 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@153091 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-20Add missing bitcast that was breaking Objective-C++ exception typeinfo ↵David Chisnall
(GNUstep runtime). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@153090 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-19Fix crash when querying the CFG reported when using the thread safety analysisTed Kremenek
on code using multi-dimensional arrays. Fix by DeLesley Hutchins, and reported in PR 12271. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@153067 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-19removed unused code in the modern objc rewriter file.Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@153052 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-19modern objective-c translator: fix type of objc_exception_throwFariborz Jahanian
declaration and its siblings. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@153043 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-19Fix a regression where ':' in CPLUS_INCLUDE_PATH and friends would no longer ↵Nico Weber
separate paths. This regressed in r152583. Also add a test to make sure it doesn't regress again. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@153034 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-18Add the missing compatibility warning for braced initializers as default ↵Sebastian Redl
arguments. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@153026 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-18[analyzer] Mark a failed-realloc's result as an interesting symbol between ↵Jordy Rose
the realloc call and the null check, so we get nicer path notes. Fixes a regression introduced by the diagnostic pruning added in r152361. This is accomplished by calling markInteresting /during/ path diagnostic generation, and as such relies on deterministic ordering of BugReporterVisitors -- namely, that BugReporterVisitors are run in /reverse/ order from how they are added. (Right now that's a consequence of storing visitors in an ImmutableList, where new items are added to the front.) It's a little hacky, but it works for now. I think this is the best we can do without storing the relation between the old and new symbols, and that would be a hit whether or not there ends up being an error. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@153010 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-18Turns #import in MS Mode into an error.Aaron Ballman
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@153009 91177308-0d34-0410-b5e6-96231b3b80d8