summaryrefslogtreecommitdiffstats
path: root/clang/lib
Commit message (Collapse)AuthorAgeFilesLines
* Add Expr::EvaluateAsLValue which will (believe it or not) try to evaluate an ↵Anders Carlsson2009-04-101-0/+6
| | | | | | Expr as an LValue. llvm-svn: 68763
* Fix thinko noticed by Chris.Anders Carlsson2009-04-101-1/+1
| | | | llvm-svn: 68762
* Use the same alignment for reference declarations as for pointer declarations.Anders Carlsson2009-04-101-2/+5
| | | | llvm-svn: 68761
* PCH serialization/deserialization of the source manager. With thisDouglas Gregor2009-04-103-0/+241
| | | | | | | | | | | | improvement, source locations read from the PCH file will properly resolve to the source files that were used to build the PCH file itself. Once we have the preprocessor state stored in the PCH file, source locations that refer to macro instantiations that occur in the PCH file should have the appropriate instantiation information. llvm-svn: 68758
* Fix: <rdar://problem/6776949> Branch condition evaluates to an uninitialized ↵Ted Kremenek2009-04-101-1/+25
| | | | | | | | value (argc is guaranteed to be >= 1) The analyzer now adds the precondition that the first argument of 'main' is > 0. llvm-svn: 68757
* Make messages consistent.Chris Lattner2009-04-101-1/+1
| | | | llvm-svn: 68756
* reject codegen of __thread variables as unimplemented, rdar://6775265Chris Lattner2009-04-103-4/+11
| | | | llvm-svn: 68755
* Implement attribute "analyzer_noreturn" (<rdar://problem/6777003>). This allowsTed Kremenek2009-04-103-6/+21
| | | | | | | clients of the analyzer to designate custom assertion routines as "noreturn" functions from the analyzer's perspective but not the compiler's. llvm-svn: 68746
* Implementation of pre-compiled headers (PCH) based on lazyDouglas Gregor2009-04-096-1/+1384
| | | | | | | | | | | | | | | | | | | de-serialization of abstract syntax trees. PCH support serializes the contents of the abstract syntax tree (AST) to a bitstream. When the PCH file is read, declarations are serialized as-needed. For example, a declaration of a variable "x" will be deserialized only when its VarDecl can be found by a client, e.g., based on name lookup for "x" or traversing the entire contents of the owner of "x". This commit provides the framework for serialization and (lazy) deserialization, along with support for variable and typedef declarations (along with several kinds of types). More declarations/types, along with important auxiliary structures (source manager, preprocessor, etc.), will follow. llvm-svn: 68732
* - Move ownership of MemRegionManager into ValueManager.Ted Kremenek2009-04-096-48/+31
| | | | | | | - Pull SVal::GetConjuredSymbol() and friends into ValueManager. This greatly simplifies the calling interface to clients. llvm-svn: 68731
* Add @encode support for complex types.Anders Carlsson2009-04-091-2/+5
| | | | llvm-svn: 68729
* Propagate the ASTContext to various AST traversal and lookup functions.Douglas Gregor2009-04-0932-334/+420
| | | | | | No functionality change (really). llvm-svn: 68726
* Add some FIXMEs for missing checks.Eli Friedman2009-04-091-0/+7
| | | | llvm-svn: 68725
* Simple DeclContext's internal representation by always storing aDouglas Gregor2009-04-091-103/+14
| | | | | | | | StoredDeclsMap, instead of using the it's-an-array-or-its-a-map trick. I'll verify that performance isn't impacted later; for now, I need the common representation. llvm-svn: 68715
* Remove SVal::MakeZero and replace it with ValueManager::makeZeroVal.Ted Kremenek2009-04-092-2/+3
| | | | llvm-svn: 68711
* analyzer: Introduce a new class, ValueManager, that serves as an aggregateTed Kremenek2009-04-092-17/+13
| | | | | | | | | | | "manager of symbolic values", wrapping BasicValueFactory, SymbolManager, and MemRegionManager. While these individual managers nicely separate functionality in the analyzer, constructing symbolic values can sometimes be cumbersome because it requires using multiple managers at once. The goal of this class is to create some factory methods to create SVals that require the use of these different managers, thus (hopefully) simplifying the analyzer API for clients. llvm-svn: 68709
* stop using loc::SymbolVal and clean up code with new API.Zhongxing Xu2009-04-092-34/+21
| | | | llvm-svn: 68703
* clean up code with new API.Zhongxing Xu2009-04-091-4/+2
| | | | llvm-svn: 68701
* clean up code with new API.Zhongxing Xu2009-04-091-4/+2
| | | | llvm-svn: 68700
* clean up code with new API.Zhongxing Xu2009-04-091-4/+2
| | | | llvm-svn: 68699
* clean up code with new API.Zhongxing Xu2009-04-091-8/+2
| | | | llvm-svn: 68698
* stop using loc::SymbolVal.Zhongxing Xu2009-04-091-2/+3
| | | | llvm-svn: 68697
* stop using loc::SymbolVal.Zhongxing Xu2009-04-091-1/+3
| | | | llvm-svn: 68696
* stop using loc::SymbolVal.Zhongxing Xu2009-04-091-2/+4
| | | | llvm-svn: 68695
* clean up code with new API.Zhongxing Xu2009-04-091-6/+2
| | | | llvm-svn: 68694
* clean up code with new API.Zhongxing Xu2009-04-091-21/+5
| | | | llvm-svn: 68693
* Add a new method because sometimes the type of the conjured symbol is not theZhongxing Xu2009-04-092-1/+14
| | | | | | type of the expression where we create the symbol. llvm-svn: 68692
* make a conjured symbol as the original code.Zhongxing Xu2009-04-091-2/+2
| | | | llvm-svn: 68691
* clean up code with new API.Zhongxing Xu2009-04-091-8/+4
| | | | llvm-svn: 68687
* Fix a null pointer dereference error due to state caching in a loop involvingTed Kremenek2009-04-091-7/+6
| | | | | | sending a message to a nil receiver. llvm-svn: 68686
* Create a symbolic region instead of a loc::SymbolVal. This is a continued stepZhongxing Xu2009-04-092-14/+12
| | | | | | to eliminate the use of loc::SymbolVal. llvm-svn: 68685
* GRExprEngine: Don't try to reason about the size of 'void' for the return typeTed Kremenek2009-04-091-33/+38
| | | | | | of messages sent to nil. llvm-svn: 68683
* Another ParentMap bug: only the right side of a comma expression is consumed.Ted Kremenek2009-04-091-2/+2
| | | | llvm-svn: 68680
* Fix another regression introduced by changes to the analyzer's reasoning aboutTed Kremenek2009-04-091-11/+12
| | | | | | nil receivers in message expressions. llvm-svn: 68672
* Refactor/cleanup reasoning of nil receivers in message expressions.Ted Kremenek2009-04-091-28/+38
| | | | llvm-svn: 68661
* Driver: Split out CPP specific options for clang so that we don't endDaniel Dunbar2009-04-082-246/+264
| | | | | | | | up adding them twice when running with -no-integrated-cpp or -save-temps. - <rdar://problem/6766636> -save-temps falls over with prefix headers llvm-svn: 68660
* Fix <rdar://problem/6770998> make cast of super illegal (again:-)Steve Naroff2009-04-081-1/+1
| | | | llvm-svn: 68659
* Use the new EmitCallArgs function. No indented functionality change.Anders Carlsson2009-04-084-11/+7
| | | | llvm-svn: 68652
* Added a FIXME.Fariborz Jahanian2009-04-081-0/+2
| | | | llvm-svn: 68646
* finish the implementation of -imacros. The driver still needs to be hooked up.Chris Lattner2009-04-081-4/+10
| | | | llvm-svn: 68640
* Add code for emitting call arguments (not used yet).Anders Carlsson2009-04-082-0/+47
| | | | llvm-svn: 68639
* We weren't generating correct code for calls to variadic member functions.Anders Carlsson2009-04-081-6/+5
| | | | llvm-svn: 68635
* Fix buffer overrun when laying out synthesized ivars.Daniel Dunbar2009-04-081-1/+2
| | | | llvm-svn: 68634
* Fixed a problem using property syntax on a 'super'Fariborz Jahanian2009-04-081-3/+5
| | | | | | used as receiver. llvm-svn: 68631
* Use presumed location to get line number info.Devang Patel2009-04-081-3/+3
| | | | llvm-svn: 68630
* Enhance analyzer reasoning about sending messages to nil. A nil receiver ↵Ted Kremenek2009-04-082-2/+35
| | | | | | returns 0 for scalars of size <= sizeof(void*). llvm-svn: 68629
* Fix bug in ParentMap::isConsumedExpr. A BinaryOperator always "consumes" theTed Kremenek2009-04-081-1/+3
| | | | | | | value of its subexpressions unless it is a comma (in which case it doesn't consume the left subexpression). llvm-svn: 68628
* reject the #__include_macros directive unless it comes from the Chris Lattner2009-04-081-1/+20
| | | | | | predefines buffer. llvm-svn: 68627
* Add initial support for -imacros. Right now it has the same semantics asChris Lattner2009-04-082-2/+6
| | | | | | -include, but that will be fixed soon. llvm-svn: 68625
* More fixes to builtin preprocessor defines.Daniel Dunbar2009-04-082-2/+23
| | | | | | | | | | | | | | | | | | | | | - Add -static-define option driver can use when __STATIC__ should be defined (instead of __DYNAMIC__). - Don't set __OPTIMIZE_SIZE__ on Os, __OPTIMIZE_SIZE__ is tied to Oz. - Set __NO_INLINE__ following GCC 4.2. - Set __GNU_GNU_INLINE__ or __GNU_STDC_INLINE__ following GCC 4.2. - Set __EXCEPTIONS for Objective-C NonFragile ABI. - Set __STRICT_ANSI__ for standard conforming modes. - I added a clang style test case in utils for this, but its not particularly portable and I don't think it belongs in the test suite. llvm-svn: 68621
OpenPOWER on IntegriCloud