aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2012-08-27Update comment.Chad Rosier
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162682 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-27[analyzer] Inline constructors for any object with a trivial destructor.Jordan Rose
This allows us to better reason about status objects, like Clang's own llvm::Optional (when its contents are trivially destructible), which are often intended to be passed around by value. We still don't inline constructors for temporaries in the general case. <rdar://problem/11986434> git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162681 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-27Support MIPS DSP Rev2 intrinsics.Simon Atanasyan
The patch reviewed by Akira Hatanaka. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162669 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-27Tweak the ARC-requires-10.6 diagnostic according to Jordan's review.John McCall
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162651 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-26Update reference docs to latest changes.Manuel Klimek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162650 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-25Fix a CodeGen bug where we would skip zero-initialization forEli Friedman
array new with a non-trivial constructor. Pointed out in PR13380. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162643 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-25Remove spurious string literal for bool argument.Richard Smith
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162642 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-25_HAS_CHAR16_T_LANGUAGE_SUPPORT is not predefined MSVC macro.Francois Pichet
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162641 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-25Change --with-analyzer to --use-analyzer, per sage feedback from Jordan.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162640 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-25Fix the CC-matching logic for instance methods in the MS ABI.John McCall
Patch by Timur Iskhodzhanov! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162639 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-25Fix the mangling of function pointers in the MS ABI.John McCall
Patch by Timur Iskhodzhanov! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162638 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-25[analyzer] Use the common evalBind infrastructure for initializers.Jordan Rose
This allows checkers (like the MallocChecker) to process the effects of the bind. Previously, using a memory-allocating function (like strdup()) in an initializer would result in a leak warning. This does bend the expectations of checkBind a bit; since there is no assignment expression, the statement being used is the initializer value. In most cases this shouldn't matter because we'll use a PostInitializer program point (rather than PostStmt) for any checker-generated nodes, though we /will/ generate a PostStore node referencing the internal statement. (In theory this could have funny effects if someone actually does an assignment within an initializer; in practice, that seems like it would be very rare.) <rdar://problem/12171711> git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162637 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-25Stub out a release notes section on -fcatch-undefined-behavior.Richard Smith
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162636 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-25Update the user's manual for some of the new -fcatch-undefined-behavior ↵Richard Smith
features. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162635 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-25-fcatch-undefined-behavior: add the -ftrapv checks to the set of things caughtRichard Smith
by this mode, and also check for signed left shift overflow. The rules for the latter are a little subtle: * neither C89 nor C++98 specify the behavior of a signed left shift at all * in C99 and C11, shifting a 1 bit into the sign bit has undefined behavior * in C++11, with core issue 1457, shifting a 1 bit *out* of the sign bit has undefined behavior As of this change, we use the C99 rules for all C language variants, and the C++11 rules for all C++ language variants. Once we have individual -fcatch-undefined-behavior= flags, this should be revisited. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162634 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-25[ms-inline asm] As part of a larger refactoring, rename AsmStmt to GCCAsmStmt.Chad Rosier
No functional change intended. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162632 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-25ASTTests: Suppress TestCXXConstructorDecl11 on msvc for now. It seems ↵NAKAMURA Takumi
incompatible. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162631 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-24Remove RequireCompleteType call which was made redundant by r162586.Richard Smith
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162630 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-24[ms-inline asm] Update the AST Reader/Writer for MS-style inline asms.Chad Rosier
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162629 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-24objective-C: Do not warn if align attribute on methodFariborz Jahanian
declaration is not provided. It is only necessary on the method implementation. // rdar://11593375 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162628 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-24Fix integer unsigned behavior in clang due to signed left shift overflow.Richard Smith
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162626 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-24Fix a few issues related to -with-analyzer reported by Jordan. Let'sTed Kremenek
have the option with two '--' to be consistent with other options. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162625 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-24Rework how scan-build picks the version of clang to use for static analysis.Ted Kremenek
Unless the user specifies, the clang used for static analysis is the one found relative to scan-build. If the user specifies -with-analyzer, they can pick either to use the clang bundled with Xcode (via xcrun) or they can specify a path to clang. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162620 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-24Reformat help text for scan-build, and remove -constraintsTed Kremenek
and -store from help text because they are no longer relevant to users. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162619 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-24When computing the effective context for access control,John McCall
make sure we walk up the DC chain for the current context, rather than allowing ourselves to get switched over to the canonical DC chain. Fixes PR13642. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162616 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-24New matcher for MaterializeTemporaryExprSam Panzer
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162609 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-24[ms-inline asm] Change the -fenable-experimental-ms-inline-asm option from a Chad Rosier
CodeGen option to a LangOpt option. In turn, hoist the guard into the parser so that we avoid the new (and fairly unstable) Sema/AST/CodeGen logic. This should restore the behavior of clang to that prior to r158325. <rdar://problem/12163681> git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162602 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-24[analyzer] Ted fixed the plist-html issue, so the assert can go away.Anna Zaks
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162598 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-24[analyzer] More fixups/rewording based on Jordan's feedback.Anna Zaks
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162597 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-24Remove unnecessary calls to c_str.Benjamin Kramer
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162590 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-24Fix analyzer tests.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162588 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-24Revert "Go ahead and show experimental checkers in the scan-build "-h" output."Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162587 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-24Instantiate class template specializations during ADL.John McCall
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162586 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-24objective-C: When checking for valid overriden propertyFariborz Jahanian
in class extension, assume default is rewdwrite and don't issue any diagnostics, privided other ownership models are ok. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162583 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-24Rename the "experimental" checker package to "alpha". We will then refineTed Kremenek
this group into "alpha" and "beta" to distinguish between checkers in different levels of premature state. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162582 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-24Rework how PathDiagnosticConsumers pass knowledge of what files theyTed Kremenek
generated for a given diagnostic to another. Because PathDiagnostics are specific to a give PathDiagnosticConsumer, store in a FoldingSet a unique hash for a PathDiagnostic (that will be the same for the same bug for different PathDiagnosticConsumers) that stores a list of files generated. This can then be read by the other PathDiagnosticConsumers. This fixes breakage in the PLIST-HTML output. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162580 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-24[analyzer] Address Jordan's review comments.Anna Zaks
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162579 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-24Fix 80-column violation.Chad Rosier
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162575 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-24Comment diagnostics: for unresolved parameters, do not suggest parameter fixitDmitri Gribenko
with parameter that is documented. Fixes PR13670, <rdar://problem/12155840>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162570 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-24[ms-inline asm] Refactor code. No functional change intended.Chad Rosier
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162568 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-24[ms-inline asm] Generate the Input/Output expressions using Chad Rosier
Sema::ActOnIdExpression(). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162564 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-24[analyzer] If we dereference a NULL that came from a function, show the return.Jordan Rose
More generally, any time we try to track where a null value came from, we should show if it came from a function. This usually isn't necessary if the value is symbolic, but if the value is just a constant we previously just ignored its origin entirely. Now, we'll step into the function and recursively add a visitor to the returned expression. <rdar://problem/12114609> git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162563 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-24Fix 80-column violation.Chad Rosier
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162560 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-24Push ArrayRef through the Expr hierarchy.Benjamin Kramer
No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162552 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-24Fix the definition of JSONAnchorSource. MSVC mangles variable symbols, and ↵NAKAMURA Takumi
"volatile" affects. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162550 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-24Teach CFG that 'if (x & 0)' and 'if (x * 0)' is an unfeasible branch.Ted Kremenek
Fixes <rdar://problem/11005770>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162545 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-24Allow RecursiveASTVisitor to visit CXXCtorInitializer objects for whichJames Dennett
isWritten() returns false, if shouldVisitImplicitCode() returns true. Previously those CXXCtorInitializers were always skipped. In order to make this change easier to test, this patch also extends the test class template ExpectedLocationVisitor to support arbitrary numbers of expected matches and disallowed matches. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162544 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-24Go ahead and show experimental checkers in the scan-build "-h" output.Ted Kremenek
They are labeled as not being enabled-by-default, and how else are users going to test them. Fixes <rdar://problem/11654923> git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162543 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-24Use LLVM's plugin registry to enable registering new compilationDaniel Jasper
databases. Move JSONCompilationDatabase.h to its own files and register it as plugin. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162541 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-24Rename the ASTMatchers to better match AST nodes. Now, allDaniel Jasper
ASTMatchers have the same name as the corresponding AST nodes but are lower case. The only exceptions are the "CXX" prefixes which are not copied over to the matcher names as the goal is to actually remove these prefixes from the AST node names. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162536 91177308-0d34-0410-b5e6-96231b3b80d8