aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2012-03-24moderin objc translator: remove 'const' from remainingFariborz Jahanian
fields in _class_ro_t metadata. // rdar://11079898 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@153384 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-24Add back r153360 with a fix for enums that cover all the 32 bit values.Rafael Espindola
Thanks to NAKAMURA Takumi for finding it! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@153383 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-24Revert r153360 (and r153380), "Second part of PR12251. Produce the range ↵NAKAMURA Takumi
metadata in clang for booleans and". For i686 targets (eg. cygwin), I saw "Range must not be empty!" in verifier. It produces (i32)[0x80000000:0x80000000) from (uint64_t)[0xFFFFFFFF80000000ULL:0x0000000080000000ULL), for signed i32 on MDNode::Range. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@153382 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-24Don't cast away constness.Benjamin Kramer
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@153381 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-24On i386 the alignment of i64 is 4, not 8.Benjamin Kramer
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@153380 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-24[analyzer] Tighten up the realloc() failure path note generation...make sure ↵Jordy Rose
we get the right realloc()! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@153370 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-24[analyzer] Restart path diagnostic generation if any of the visitors change ↵Jordy Rose
the report configuration while walking the path. This required adding a change count token to BugReport, but also allowed us to ditch ImmutableList as the BugReporterVisitor data type. Also, remove the hack from MallocChecker, now that visitors appear in the opposite order. This is not exactly a fix, but the common case -- custom diagnostics after generic ones -- is now the default behavior. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@153369 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-24[analyzer] Add a clone() method to BugReporterVisitor, so that we'll be able ↵Jordy Rose
to reset diagnostic generation. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@153368 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-24[parser] If there are unmatched braces in a function definition, try toArgyrios Kyrtzidis
recover by returning the statements that we parsed so far, instead of dropping the whole function body. rdar://10967343 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@153367 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-24Second part of PR12251. Produce the range metadata in clang for booleans andRafael Espindola
c++ enums. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@153360 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-23Teach APValue printer to print boolean 0 and 1 as 'false' and 'true'. Fix upRichard Smith
some calling code to actually pass in a non-null type, to avoid a crash. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@153358 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-23use EP_OptimizerLast instead of EP_ScalarOptimizerLate for ThreadSanitizerKostya Serebryany
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@153356 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-23Make sure we don't accept an @interface inside another objc containerArgyrios Kyrtzidis
just because there was an attribute in front of it. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@153355 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-23[libclang] Make sure we don't crash when trying to index code thatArgyrios Kyrtzidis
managed to insert an @interface as top level decl contained by another @interface. A commit to also not allow this as valid code will be coming. rdar://11105114. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@153354 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-23Revert accidentally-committed www changes (and an unused diagnostic);Richard Smith
forward-declared enums aren't /quite/ done yet. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@153350 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-23When defining a forward-declared enum, don't try to attach the definition toRichard Smith
a previous declaration if the redeclaration is invalid. That way lies madness. Fixes a crash-on-invalid reported by Abramo. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@153349 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-23Add support for MIPS' floating ABIs (hard, soft and single) to clang driver.Akira Hatanaka
Patch by Simon Atanasyan. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@153348 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-23Update checker build.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@153312 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-23Avoid applying retain/release effects twice in RetainCountChecker when a ↵Ted Kremenek
function call was inlined (i.e., we do not need to apply summaries in such cases). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@153309 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-23Remove the vestiges of the C backend.Eric Christopher
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@153308 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-23Support for definitions of member enumerations of class templates outside theRichard Smith
class template's definition, and for explicit specializations of such enum members. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@153304 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-23[libclang] For a ↵Argyrios Kyrtzidis
CXCursor_ObjCInstanceMethodDecl/CXCursor_ObjCClassMethodDecl cursor, return from clang_getCursorLocation the start location of the method name. rdar://11105223 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@153303 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-23corrected check::EndOfTranslationUnit checker name and added 'const' to ↵Anton Yartsev
declaration git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@153302 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-23[CFG] Cache boolean evaluations of expressions to avoid multiple re-evaluationsArgyrios Kyrtzidis
during construction of branches for chained logical operators. This makes -fsyntax-only for test/Sema/many-logical-ops.c about 32x times faster. With measuring SemaExpr.cpp I see differences below the noise level. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@153297 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-23Remove unused bits.Rafael Espindola
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@153295 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-23modern objc translation of block literal expressionsFariborz Jahanian
declared at file scope. // rdar://11006566 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@153293 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-22Small cleanup.Bill Wendling
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@153292 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-22Use correct FileCheck regexp.Bill Wendling
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@153291 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-22When an MMX output variable is tied to the input variable, we have to implicitlyBill Wendling
cast the value to x86_mmx. This gives the ASM string the correct call signature. <rdar://problem/10919182> git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@153290 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-22line endingsMatt Beaumont-Gay
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@153289 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-22Make sure we correctly set the alignment for vector loads and stores ↵Eli Friedman
associated with vector element lvalues. Patch by Kevin Schoedel (with some minor modifications by me). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@153285 91177308-0d34-0410-b5e6-96231b3b80d8
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-22Update front page to indicate that we do, in fact, support some of C++11.Richard Smith
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@153246 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-22Relax the FileCheck assertions in this test a touch. Previously the testChandler Carruth
relied on an artifact of how the inliner and subsequent passes in clang's -O3 mode happen to treat basic blocks and the labels for the basic blocks. In my work on the inliner, and changed this fundamental assumption, and the label that was being checked on the entry basic block will no longer appear in opt builds. There was no reason to expect the label to always be present anyways, much to my regret. I've changed the test to just ensure that we return an immediate constant. If there are intervening instructions, that's bad, but not really that relevant to the test. I'd love it if others have a better way of checking that a function body contains only a 'ret' instruction that isn't dependent on whether or not the entry block receives a label... git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@153243 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