aboutsummaryrefslogtreecommitdiff
path: root/test
AgeCommit message (Collapse)Author
2013-04-03[analyzer] Rename “Mac OS X API”, “Mac OS API” -> “API Misuse ↵Anna Zaks
(Apple)” As they are relevant on both Mac and iOS. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178687 91177308-0d34-0410-b5e6-96231b3b80d8
2013-04-03[analyzer] Warn when nil receiver results in forming null referenceAnna Zaks
This also allows us to ensure IDC/return null suppression gets triggered in such cases. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178686 91177308-0d34-0410-b5e6-96231b3b80d8
2013-04-03[analyzer] make peelOffOuterExpr in BugReporterVisitors recursively peel off ↵Anna Zaks
select Exprs git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178685 91177308-0d34-0410-b5e6-96231b3b80d8
2013-04-03[analyzer] Properly handle the ternary operator in trackNullOrUndefValueAnna Zaks
1) Look for the node where the condition expression is live when checking if it is constrained to true or false. 2) Fix a bug in ProgramState::isNull, which was masking the problem. When the expression is not a symbol (,which is the case when it is Unknown) return unconstrained value, instead of value constrained to “false”! (Thankfully other callers of isNull have not been effected by the bug.) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178684 91177308-0d34-0410-b5e6-96231b3b80d8
2013-04-03Objective-C modern rewriter. Fixes a bugFariborz Jahanian
rewriting typedef for a qualified object type and also when two declarations happen to be on the same line. // rdar://13562505 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178680 91177308-0d34-0410-b5e6-96231b3b80d8
2013-04-03[preprocessor] Allow comparing two macro definitions syntactically instead ↵Argyrios Kyrtzidis
of only lexically. Syntactically means the function macro parameter names do not need to use the same identifiers in order for the definitions to be considered identical. Syntactic equivalence is a microsoft extension for macro redefinitions and we'll also use this kind of comparison to check for ambiguous macros coming from modules. rdar://13562254 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178671 91177308-0d34-0410-b5e6-96231b3b80d8
2013-04-03Emit a nicer diagnostic for misplaced attributes on ObjC directives.Nico Weber
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178670 91177308-0d34-0410-b5e6-96231b3b80d8
2013-04-03Test Hexagon tool-chain when configured as OSless target.Jyotsna Verma
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178669 91177308-0d34-0410-b5e6-96231b3b80d8
2013-04-03Give the default CorrectionCandidateCallback::ValidateCandidate someKaelyn Uhrain
smarts so that it doesn't approve of keywords and/or type names when it knows (based on its flags) that those kinds of corrections are not wanted. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178668 91177308-0d34-0410-b5e6-96231b3b80d8
2013-04-03Enable use of _Static_assert inside structs and unions in C11 mode (as per ↵Andy Gibbs
C11 6.7.2.1p1). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178632 91177308-0d34-0410-b5e6-96231b3b80d8
2013-04-03[modules] If a submodule has re-definitions of the same macro, only the last ↵Argyrios Kyrtzidis
definition will be used as the "exported" one. Fixes rdar://13562262 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178622 91177308-0d34-0410-b5e6-96231b3b80d8
2013-04-03Do not assume the template argument is an integer only because theRichard Trieu
expressions are integer. It can also be ValueDecl expressions Use the type information from the TemplateParameterList instead Patch by Olivier Goffart! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178611 91177308-0d34-0410-b5e6-96231b3b80d8
2013-04-03Fix a crasher in Template Diffing.Richard Trieu
When support was added for declaration arguments, the case of variadic declaration arguments was not supported. This patch fixes that problem by not crashing when certain ValueDecl's are null. Patch by Olivier Goffart! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178610 91177308-0d34-0410-b5e6-96231b3b80d8
2013-04-03Fix a crasher in Template Diffing.Richard Trieu
Value depenedent expressions for default arguments cannot be evaluated. Instead, use the desugared template type to get an argument expression that can be used. This is needed for both integer and declaration arguements. Also, move this common code into a separate function. Patch by Olivier Goffart! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178609 91177308-0d34-0410-b5e6-96231b3b80d8
2013-04-03Move this file into the correct directory.Eric Christopher
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178607 91177308-0d34-0410-b5e6-96231b3b80d8
2013-04-03From PR9121 gcc defaulted to omitting the frame pointer on linux,Eric Christopher
however, it doesn't do that unless we're optimizing. Change that and haul out to a helper function. Also make this a driver test appropriate rather than an assembly test. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178606 91177308-0d34-0410-b5e6-96231b3b80d8
2013-04-03[analyzer] Better model for copying of array fields in implicit copy ctors.Jordan Rose
- Find the correct region to represent the first array element when constructing a CXXConstructorCall. - If the array is trivial, model the copy with a primitive load/store. - Don't warn about the "uninitialized" subscript in the AST -- we don't use the helper variable that Sema provides. <rdar://problem/13091608> git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178602 91177308-0d34-0410-b5e6-96231b3b80d8
2013-04-03In ObjC++ on legacy runtimes, push an EH cleanup as well asJohn McCall
a normal cleanup when entering a @try or @synchronized to ensure that we clean that up if an exception is triggered. Apparently GCC did this, so it's hard to argue that we shouldn't do at least as much. rdar://12364847 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178599 91177308-0d34-0410-b5e6-96231b3b80d8
2013-04-02Objective-C arc [qui]. Don't issue the bridge castFariborz Jahanian
warning when doing a __bride cast in non-arc mode (which has no retain count effect). // rdar://13514210 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178592 91177308-0d34-0410-b5e6-96231b3b80d8
2013-04-02Revert "Revert r178079, it caused PR15637."Eric Christopher
This reverts commit r178497 since the backend has been fixed. Also add a test to ensure that we're emitting template information for unions. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178587 91177308-0d34-0410-b5e6-96231b3b80d8
2013-04-02[ms-inline asm] Test case for r178566.Chad Rosier
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178568 91177308-0d34-0410-b5e6-96231b3b80d8
2013-04-02If a defaulted special member is implicitly deleted, check whether it'sRichard Smith
overriding a non-deleted virtual function. The existing check for this doesn't catch this case, because it fires before we mark the method as deleted. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178563 91177308-0d34-0410-b5e6-96231b3b80d8
2013-04-02Objective-C: Provide fixit hints when warningFariborz Jahanian
about 'isa' ivar being explicitely accessed when base is a user class object reference. // rdar://13503456 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178562 91177308-0d34-0410-b5e6-96231b3b80d8
2013-04-02Moved fallthrough regression test to switch-implicit-fallthrough.cpp.Alexander Kornienko
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178554 91177308-0d34-0410-b5e6-96231b3b80d8
2013-04-02Fixed "fallthrough annotation does not directly precede switch label" warning inAlexander Kornienko
case when [[clang::fallthrough]]; is used in a method of a local class. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178543 91177308-0d34-0410-b5e6-96231b3b80d8
2013-04-02Escape # and $ in dependency files.Benjamin Kramer
Fixes PR15642. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178540 91177308-0d34-0410-b5e6-96231b3b80d8
2013-04-02Remove target-specific alignment from test.Benjamin Kramer
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178539 91177308-0d34-0410-b5e6-96231b3b80d8
2013-04-02[ASan] Emit lifetime markers for local variables in ↵Alexey Samsonov
-fsanitize=use-after-scope mode git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178538 91177308-0d34-0410-b5e6-96231b3b80d8
2013-04-02[analyzer] Moving cplusplus.NewDelete to alpha.* for now.Anton Yartsev
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178529 91177308-0d34-0410-b5e6-96231b3b80d8
2013-04-02Add -Wstatic-local-in-inline, which warns about using a static localJohn McCall
variable in a C99 inline (but not static-inline or extern-inline) function definition. The standard doesn't actually say that this doesn't apply to "extern inline" definitions, but that seems like a useful extension, and it at least doesn't have the obvious flaw that a static mutable variable in an externally-available definition does. rdar://13535367 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178520 91177308-0d34-0410-b5e6-96231b3b80d8
2013-04-02[analyzer] Teach invalidateRegions that regions within LazyCompoundVal need ↵Anna Zaks
to be invalidated Refactor invalidateRegions to take SVals instead of Regions as input and teach RegionStore about processing LazyCompoundVal as a top-level “escaping” value. This addresses several false positives that get triggered by the NewDelete checker, but the underlying issue is reproducible with other checkers as well (for example, MallocChecker). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178518 91177308-0d34-0410-b5e6-96231b3b80d8
2013-04-02un-break remaining gdb buildbot testcases.Adrian Prantl
Make sure we do not generate line info for debugging-related frame setup. Follow-up to r178361 / rdar://problem/12767564 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178517 91177308-0d34-0410-b5e6-96231b3b80d8
2013-04-02[analyzer] For now, don't inline [cd]tors of C++ containers.Jordan Rose
This is a heuristic to make up for the fact that the analyzer doesn't model C++ containers very well. One example is modeling that 'std::distance(I, E) == 0' implies 'I == E'. In the future, it would be nice to model this explicitly, but for now it just results in a lot of false positives. The actual heuristic checks if the base type has a member named 'begin' or 'iterator'. If so, we treat the constructors and destructors of that type as opaque, rather than inlining them. This is intended to drastically reduce the number of false positives reported with experimental destructor support turned on. We can tweak the heuristic in the future, but we'd rather err on the side of false negatives for now. <rdar://problem/13497258> git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178516 91177308-0d34-0410-b5e6-96231b3b80d8
2013-04-02[analyzer] Allow suppressing diagnostics reported within the 'std' namespaceJordan Rose
This is controlled by the 'suppress-c++-stdlib' analyzer-config flag. It is currently off by default. This is more suppression than we'd like to do, since obviously there can be user-caused issues within 'std', but it gives us the option to wield a large hammer to suppress false positives the user likely can't work around. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178513 91177308-0d34-0410-b5e6-96231b3b80d8
2013-04-01Fix typo in testMatt Beaumont-Gay
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178510 91177308-0d34-0410-b5e6-96231b3b80d8
2013-04-01PR15633: Note that we are EnteringContext when parsing the nested nameRichard Smith
specifier for an enumeration. Also fix a crash-on-invalid if a non-dependent name specifier is used to declare an enum template. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178502 91177308-0d34-0410-b5e6-96231b3b80d8
2013-04-01R600: Handle -mcpu option v3Tom Stellard
v2: - Add a test case v3: - Use the -### clang option in the tests git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178499 91177308-0d34-0410-b5e6-96231b3b80d8
2013-04-01Revert r178079, it caused PR15637.Nico Weber
Also add a test for PR15637. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178497 91177308-0d34-0410-b5e6-96231b3b80d8
2013-04-01Don't eagerly deserialize every templated function (and every static dataRichard Smith
member inside a class template) when loading a PCH file or module. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178496 91177308-0d34-0410-b5e6-96231b3b80d8
2013-04-01* Attempt to un-break gdb buildbot by emitting a lexical block end onlyAdrian Prantl
when we actually end a lexical block. * Added new test for line table / block cleanup. * Follow-up to r177819 / rdar://problem/13115369 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178490 91177308-0d34-0410-b5e6-96231b3b80d8
2013-04-01Only merge down a variable type if the previous declaration wasJohn McCall
visible. There's a lot of potential badness in how we're modelling these things, but getting this much correct is reasonably easy. rdar://13535367 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178488 91177308-0d34-0410-b5e6-96231b3b80d8
2013-04-01Add test for PR12527 (bug has apparently already been fixed).Richard Smith
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178476 91177308-0d34-0410-b5e6-96231b3b80d8
2013-04-01[libclang] Make clang_Cursor_getArgument work with call-exprs.Argyrios Kyrtzidis
Patch by Matthias Kleine! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178475 91177308-0d34-0410-b5e6-96231b3b80d8
2013-04-01Modifed debug-info-byval.cpp test to grep for .string or .asciz.Jyotsna Verma
The assembly output for Hexagon contains ".string missing_arg". git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178471 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-30Remove old NVPTX cpus and add new NVPTX cpusJustin Holewinski
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178419 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-30Use kernel metadata to differentiate between kernel and deviceJustin Holewinski
functions for the NVPTX target. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178418 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-30Add support for gcc-compatible -mfprnd -mno-fprnd PPC optionsHal Finkel
gcc provides -mfprnd and -mno-fprnd for controlling the fprnd target feature; support these options as well. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178414 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-30Sema: Don't crash when trying to emit a precedence warning on postinc/decrement.Benjamin Kramer
Post-Inc can occur as a binary call (the infamous dummy int argument), but it's not really a binary operator. Fixes PR15628. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178412 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-30[analyzer] Handle caching out while evaluating a C++ new expression.Jordan Rose
Evaluating a C++ new expression now includes generating an intermediate ExplodedNode, and this node could very well represent a previously- reachable state in the ExplodedGraph. If so, we can short-circuit the rest of the evaluation. Caught by the assertion a few lines later. <rdar://problem/13510065> git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178401 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-30[analyzer] Garbage removedAnton Yartsev
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178398 91177308-0d34-0410-b5e6-96231b3b80d8