aboutsummaryrefslogtreecommitdiff
path: root/test
AgeCommit message (Collapse)Author
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
2013-03-30[analyzer] Test addedAnton Yartsev
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178397 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-30[analyzer] Enabled unix.Malloc checker.Anton Yartsev
+ Refactoring. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178388 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-30[analyzer] Tests for intersections with other checkers from ↵Anton Yartsev
MallocChecker.cpp factored out to NewDelete-intersections.mm git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178387 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-29generalize testcaseAdrian Prantl
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178383 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-29[analyzer] Address Jordan’s review of r178309 - do not register an extra ↵Anna Zaks
visitor for nil receiver We can check if the receiver is nil in the node that corresponds to the StmtPoint of the message send. At that point, the receiver is guaranteed to be live. We will find at least one unreclaimed node due to my previous commit (look for StmtPoint instead of PostStmt) and the fact that the nil receiver nodes are tagged. + a couple of extra tests. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178381 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-29[libclang] Add test case for r178374.Argyrios Kyrtzidis
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178378 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-29Sema: Warn on sizeof on binary ops on decayed arrays.Benjamin Kramer
The array will decay into a pointer, creating an unexpected result. sizeof(array + int) is an easy to make typo for sizeof(array) + int. This was motivated by a NetBSD security bug, used sizeof(key - r) instead of sizeof(key) - r, reducing entropy in a random number generator. http://cvsweb.netbsd.org/bsdweb.cgi/src/sys/kern/subr_cprng.c.diff?r1=1.14&r2=1.15&only_with_tag=MAIN&f=h Differential Revision: http://llvm-reviews.chandlerc.com/D571 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178371 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-29Bugfix/Followup for r177086.Adrian Prantl
* Store the .block_descriptor (instead of self) in the alloca so we can guarantee that all captured variables are available at -O0. * Add the missing OpDeref for the alloca. rdar://problem/12767564 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178361 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-29Don't special case one line extern "C" decls.Rafael Espindola
We already avoided warning for extern "C" const char *Version_string = "2.9"; now we also don't produce any warnings for extern "C" { extern const char *Version_string2 = "2.9"; } git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178333 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-29Add RDSEED intrinsic support defined in AVX2 extensionMichael Liao
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178331 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-29Add XTEST intrinsic defined in TSX extensionMichael Liao
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178330 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-29[analyzer] Add static initializer test case (from <rdar://problem/13227740>).Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178321 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-29Revert r178273 as it broke the Linux bootstrap due to false positivesTimur Iskhodzhanov
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178320 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-29Add static analyzer support for conditionally executing static initializers.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178318 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-28Objective-C: Produce precise diagnostic whenFariborz Jahanian
'isa' ivar is accessed provided it is the first ivar. Fixit hint will follow in another patch. This is continuation of // rdar://13503456 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178313 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-28[analyzer] Add support for escape of const pointers and use it to allow ↵Anna Zaks
“newed” pointers to escape Add a new callback that notifies checkers when a const pointer escapes. Currently, this only works for const pointers passed as a top level parameter into a function. We need to differentiate the const pointers escape from regular escape since the content pointed by const pointer will not change; if it’s a file handle, a file cannot be closed; but delete is allowed on const pointers. This should suppress several false positives reported by the NewDelete checker on llvm codebase. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178310 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-28[analyzer] Apply the suppression rules to the nil receiver only if the value ↵Anna Zaks
participates in the computation of the nil we warn about. We should only suppress a bug report if the IDCed or null returned nil value is directly related to the value we are warning about. This was not the case for nil receivers - we would suppress a bug report that had an IDCed nil receiver on the path regardless of how it’s related to the warning. 1) Thread EnableNullFPSuppression parameter through the visitors to differentiate between tracking the value which is directly responsible for the bug and other values that visitors are tracking (ex: general tracking of nil receivers). 2) in trackNullOrUndef specifically address the case when a value of the message send is nil due to the receiver being nil. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178309 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-28[ms-cxxabi] Add more tests for r178297Reid Kleckner
This covers a few cases where the class of a member pointer is not a CXXRecordDecl. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178307 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-28Warn about more than the first unused variable when -Werror is set.Matt Beaumont-Gay
To do this, thread DiagnosticErrorTrap's hasUnrecoverableErrorOccurred through to Scope. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178294 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-28[ms-cxxabi] Correctly compute the size of member pointersReid Kleckner
Summary: This also relaxes the requirement on Windows that the member pointer class type be a complete type (http://llvm.org/PR12070). We still ask for a complete type to instantiate any templates (MSVC does this), but if that fails we continue as normal, relying on any inheritance attributes on the declaration. Reviewers: rjmccall CC: triton, timurrrr, cfe-commits Differential Revision: http://llvm-reviews.chandlerc.com/D568 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178283 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-28Objective-C: Provide fixit suggestions when class objectFariborz Jahanian
is accessed via accessing 'isa' ivar to use object_getClass/object_setClass apis. // rdar://13503456 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178282 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-28Provide a fixit to static_cast for reinterpret_casts within a class hierarchy.Jordan Rose
The suggestion was already in the text of the note; this just adds the actual fixit and the appropriate test cases. Patch by Alexander Zinenko! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178274 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-28Implemented a warning when an input several bitwise operations areSam Panzer
likely be implicitly truncated: * All forms of Bitwise-and, bitwise-or, and integer multiplication. * The assignment form of integer addition, subtraction, and exclusive-or * The RHS of the comma operator * The LHS of left shifts. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178273 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-28[analyzer] These implements unix.MismatchedDeallocatorChecker checker.Anton Yartsev
+ Improved display names for allocators and deallocators The checker checks if a deallocation function matches allocation one. ('free' for 'malloc', 'delete' for 'new' etc.) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178250 91177308-0d34-0410-b5e6-96231b3b80d8
2013-03-28[analyzer] For now assume all standard global 'operator new' functions ↵Anton Yartsev
allocate memory in heap. + Improved test coverage for cplusplus.NewDelete checker. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178244 91177308-0d34-0410-b5e6-96231b3b80d8