aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2009-11-21Add another test case to show the precision of RegionStore overTed Kremenek
BasicStore. In this example, BasicStore would lose information about the pointer in path after '*path++', causing the analyzer to falsely flag a null dereference. This addresses <rdar://problem/7191542>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89533 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-21Implement C++ [temp.param]p2 correctly, looking ahead when we see aDouglas Gregor
"typename" parameter to distinguish between non-type and type template parameters. Fixes the actual bug in PR5559. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89532 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-21Restructure DereferenceChecker slightly to handle caching out when we would ↵Ted Kremenek
report a null dereference more than once. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89526 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-21Pull BadCallChecker int UndefinedArgChecker, and have UndefinedArgChecker ↵Ted Kremenek
also handled undefined receivers in message expressions. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89524 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-21Add SigAtomicType to TargetInfo, Needed for MSP and PIC Targets, Credit to ↵Edward O'Callaghan
Ken Dyck. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89520 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-21More checker refactoring. Passing undefined values in a message expression ↵Ted Kremenek
is now handled by UndefinedArgChecker. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89519 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-21Revised Win32 include path to search highest version in registry, plus ↵John Thompson
platform SDK path git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89517 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-20Convert test to FileCheck.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89514 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-20Checkpoint current work. WIP.Mike Stump
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89513 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-20Cope with extraneous "template" keyword when providing an out-of-lineDouglas Gregor
definition of a member template (or a member thereof). Fixes PR5566. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89512 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-20Driver: Add clang -cc1 dependency output options parsing.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89508 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-20Switch CompilerInvocation::CreateFromArgs to take const char** arguments ↵Daniel Dunbar
until Driver itself switches to StringRef. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89503 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-20Fix refactoro, clang-cc wasn't properly reporting errors when opening an ↵Daniel Dunbar
output file failed. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89502 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-20Driver: Use '-target-abi' 'FOO' instead of '-target-abi=FOO'.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89501 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-20Update for palign intrinsic fix.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89499 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-20Pass '-mcpu' 'FOO' instead of '-mcpu=FOO'.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89498 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-20Standardize Driver translation to call clang-cc using '-foo' form instead of ↵Daniel Dunbar
'--foo'. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89497 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-20A previous commit fixed PR5519; here's the test case.Douglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89494 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-20Implement C++ [basic.lookup.classref]p3, which states how the typeDouglas Gregor
name 'T' is looked up in the expression t.~T() Previously, we weren't looking into the type of "t", and therefore would fail when T actually referred to an injected-class-name. Fixes PR5530. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89493 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-20Update C++ statusDouglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89492 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-20When checking the base object of a member access expression (b.foo,Douglas Gregor
b->foo), don't look through pointers unless we have an -> operator. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89480 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-20Teach FixOverloadedFunctionReference to build new expression ASTs ratherDouglas Gregor
than tweaking existing ASTs, since we were (*gasp*) stomping on ASTs within templates. I'm glad we found this little stick of TNT early... git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89475 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-20Add testcases for recent checkins.Mike Stump
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89469 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-20Fix lifetime of conditional temporaries. Patch by Victor Zverovich!Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89467 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-20Fix some codegen tests to include positive checks.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89465 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-20Add clang -cc1 parsing of CodeGenOptions.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89464 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-20clang-cc: Lift setForcedLangOptions out of options initialization.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89462 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-20Avoid unwanted expansion in macros that paste together INT<n>_C(v) and Ken Dyck
UINT<n>_C(v) macros. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89461 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-20Avoid unwanted expansion in macros that paste together INT<n>_MIN, INT<n>_MAX,Ken Dyck
and UINT<n>_MAX defintions. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89460 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-20Avoid unwanted macro expansion in macros that paste together int<n>_t andKen Dyck
uint<n>_t definitions. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89459 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-20Fixed crash when using undefined protocols (GNU runtime).David Chisnall
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89457 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-20Add a workaround to silence a bogus g++-4.4 -pedantic warning.Benjamin Kramer
driver.cpp:211: warning: ISO C++ forbids zero-size array 'argv' git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89455 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-20Fix typo GCC 4.3 warned about.Benjamin Kramer
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89453 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-20no need to cast.Zhongxing Xu
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89451 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-20Fix a couple minor memory leaks.Eli Friedman
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89450 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-20Add simple static analyzer checker to check for sending 'release', 'retain', ↵Ted Kremenek
etc. directly to a class. Fixes <rdar://problem/7252064>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89449 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-20Unused ivar checker: ivars referenced by lexically nested functions should ↵Ted Kremenek
not be flagged as unused. Fixes <rdar://problem/7254495>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89448 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-20No need to pass the state argument explicitly.Zhongxing Xu
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89447 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-20Revert r89437 and add a comment.Zhongxing Xu
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89446 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-20Implement throw d, where d is a class type that requires copyMike Stump
construction. WIP. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89442 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-20Don't build an explicit conversion to a reference typeDouglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89441 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-20Handle throw d, where d is a class type but only has a trivial copyMike Stump
constructor. WIP. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89438 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-20It's unnecessary to check for unknown at this point.Zhongxing Xu
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89437 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-20Driver: Add parsing for TargetOptions to CompilerInvocation::CreateFromArgs.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89435 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-20Ignore -Wstrict-overflow={3,4,5} for now.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89433 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-20Really fix test case.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89430 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-20Fix test case.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89429 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-20When we have a non-dependent expression such asDouglas Gregor
A::f that occurs within a non-static member function with a type-dependent "this", don't consider this to be a case for introduction of an implicit "(*this)." to refer to a specific member function unless we know (at template definition time) that A is a base class of *this. There is some disagreement here between GCC, EDG, and Clang about the handling of this case. I believe that Clang now has the correct, literal interpretation of the standard, but have asked for clarification (c++std-core-15483). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89425 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-20Add suport for throw;. WIP.Mike Stump
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89424 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-20Fix rtti generation for throws. WIP.Mike Stump
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89420 91177308-0d34-0410-b5e6-96231b3b80d8