summaryrefslogtreecommitdiffstats
path: root/clang/lib
Commit message (Collapse)AuthorAgeFilesLines
* Patch to build class meta-data for each implementation Fariborz Jahanian2009-01-241-9/+44
| | | | | | of class in objc2's nonfragile abi. llvm-svn: 62935
* Add support for declaring pointers to members.Sebastian Redl2009-01-246-27/+227
| | | | | | Add serialization support for ReferenceType. llvm-svn: 62934
* remove a bunch of alignment handling code out of CGExprScalar, sinceChris Lattner2009-01-241-20/+18
| | | | | | | alignment must always be a constant. Just let the constant folder do it. llvm-svn: 62933
* Improve handling of alignof. alignof(VLA) now works properly for example.Chris Lattner2009-01-241-13/+50
| | | | llvm-svn: 62932
* remove dead code.Chris Lattner2009-01-241-15/+0
| | | | llvm-svn: 62930
* This patch builds the meta-class object for each Fariborz Jahanian2009-01-241-75/+171
| | | | | | implemented class in objc2's nonfrigile abi. llvm-svn: 62929
* Fix PR3386 by handling GCC's rules for alignof, which are substantiallyChris Lattner2009-01-242-1/+29
| | | | | | different than those for sizeof. Reject alignof(bitfield) like gcc does. llvm-svn: 62928
* fix a fixme, don't leak the expr on error.Chris Lattner2009-01-241-5/+10
| | | | llvm-svn: 62927
* minor formatting changes, no functionality change.Chris Lattner2009-01-241-11/+15
| | | | llvm-svn: 62926
* Fix invalid evaluation of _Complex float (real & imaginary parts hadDaniel Dunbar2009-01-241-2/+8
| | | | | | | mismatched semantics). - Enforce this in APValue. llvm-svn: 62924
* Handle the 'e' constraint. Fixes PR3385Anders Carlsson2009-01-241-2/+4
| | | | llvm-svn: 62923
* Ignore parens when determining if an expr is a string literal. Fixes PR3382.Anders Carlsson2009-01-241-1/+1
| | | | llvm-svn: 62922
* Start filling in x86_64 ABI implementation.Daniel Dunbar2009-01-241-13/+159
| | | | | | | - No functionality change, moved behind -use-x86_64-abi option until it becomes non-experimental. llvm-svn: 62915
* Fix crash ElementRegion::getRValueType() when the RvalueType of the ↵Ted Kremenek2009-01-241-9/+6
| | | | | | ArrayRegion is a typedef and not (directly) a pointer. llvm-svn: 62909
* More hacking on static analyzer diagnostics. When emitting summary ↵Ted Kremenek2009-01-243-147/+110
| | | | | | diagnostics the code paths for diagnostics involving paths or single locations are now unified. This patch also constifies many arguments/methods that are touched by this logic, leading to a nice overall code cleanup. llvm-svn: 62903
* Some very early work for new objc's Fariborz Jahanian2009-01-231-11/+208
| | | | | | meta-data generation. llvm-svn: 62894
* Output summary diagnostic for each bug report.Ted Kremenek2009-01-231-7/+12
| | | | llvm-svn: 62885
* More APSInt appeasementDouglas Gregor2009-01-231-12/+20
| | | | llvm-svn: 62884
* Make sure that all NamedDecls have an identifier namespace.Douglas Gregor2009-01-231-2/+4
| | | | | | Make sure that we know a call is invalid if we dropped arguments. llvm-svn: 62882
* Hopefully the last of the APSInt signedness issues with initializers. Fixes ↵Douglas Gregor2009-01-231-0/+1
| | | | | | PR clang/3378 llvm-svn: 62876
* Added virtual method DiagnosticClient::IncludeInDiagnosticCounts(). This is ↵Ted Kremenek2009-01-232-1/+49
| | | | | | | | used by Diagnostics to determine if a diagnostic sent to a given DiagnosticClient should be included in the count of diagnostics. The default implementation of this method returns 'true'. Implemented DiagCollector::IncludeInDiagnosticCounts() to return 'false' so that the batching of diagnostics for use with BugReporter doesn't mess up the count of real diagnostics. llvm-svn: 62873
* When using -analyzer-output-plist always output a plist file even if it ↵Ted Kremenek2009-01-231-11/+14
| | | | | | contains no error reports. llvm-svn: 62871
* Allow subtraction of function pointer types in C, as a GNU extension. Fixes ↵Douglas Gregor2009-01-231-0/+11
| | | | | | rdar://problem/6520707 llvm-svn: 62859
* Make sure all of the isUnsigned flags line up when comparing initializer ↵Douglas Gregor2009-01-231-3/+7
| | | | | | values, to really really fix PR clang/3377 llvm-svn: 62858
* Handle pointer arithmetic on function pointers.Daniel Dunbar2009-01-231-5/+28
| | | | | | - <rdar://problem/6518844> Clang-generated bitcode crashes LLVM while compiling function pointer addition expression llvm-svn: 62857
* This is a follow-up to r62675:Chris Lattner2009-01-234-7/+18
| | | | | | | | | | Refactor how the preprocessor changes a token from being an tok::identifier to a keyword (e.g. tok::kw_for). Instead of doing this in HandleIdentifier, hoist this common case out into the caller, so that every keyword doesn't have to go through HandleIdentifier. This drops time in HandleIdentifier from 1.25ms to .62ms, and speeds up clang -Eonly with PTH by about 1%. llvm-svn: 62855
* Checked in an oops!Fariborz Jahanian2009-01-231-1/+2
| | | | llvm-svn: 62853
* Another missing LLVM type for objc2's new abi defined.Fariborz Jahanian2009-01-231-3/+12
| | | | llvm-svn: 62852
* Properly manage the bit-widths of APInts/APSInts in array initialization.Douglas Gregor2009-01-231-7/+12
| | | | | | Fixes PR clang/3377 llvm-svn: 62851
* Handle any undeclared parameters in a K&R-style function with aDouglas Gregor2009-01-233-4/+14
| | | | | | | | | special action, inside function prototype scope. This avoids confusion when we try to inject these parameters into the scope of the function body before the function itself has been added to the surrounding scope. Fixes <rdar://problem/6097326>. llvm-svn: 62849
* Implement retrieval of the default value of element and field regions.Zhongxing Xu2009-01-231-0/+9
| | | | llvm-svn: 62847
* Now this comment should be resolved. See the comments for the KillSet.Zhongxing Xu2009-01-231-6/+0
| | | | llvm-svn: 62846
* When getting the element region type, we should get the rvalue type of the superZhongxing Xu2009-01-231-2/+2
| | | | | | region. Otherwise we would get an extra level of pointer type. llvm-svn: 62844
* Define LLVM types for nonfragile abi metadata.Fariborz Jahanian2009-01-231-25/+158
| | | | llvm-svn: 62830
* Support arithmetic on pointer-to-function types as a GNUDouglas Gregor2009-01-231-4/+39
| | | | | | extension. Addresses clang PR/3371. llvm-svn: 62823
* Update comment.Chris Lattner2009-01-231-2/+2
| | | | llvm-svn: 62819
* For now, return UnknownVal() in RegionStore::getElementsSize() for ↵Ted Kremenek2009-01-221-0/+10
| | | | | | AnonTypedRegions. It wasn't really doing the right thing and was crashing on rdar-6442306-1.m. This fix causes all path-sensitive test cases to pass with RegionStore. llvm-svn: 62816
* remove my gross #ifdef's, using portable abstractions now that the 32-bitChris Lattner2009-01-221-11/+8
| | | | | | | | load is always aligned. I verified that the bswap doesn't occur in the assembly code on x86. llvm-svn: 62815
* Add RegionStore support for the implicit object region that 'self' ↵Ted Kremenek2009-01-221-5/+24
| | | | | | references. This causes tests 'ObjCProperties.m' and 'refcnt_naming.m' to now pass with RegionStore. llvm-svn: 62814
* Reimplement the handling of the "current object" in designatorDouglas Gregor2009-01-222-149/+209
| | | | | | | | | | | initializers, so that we are within the appropriate subobject after we've processed a multi-designator designation. We're matching GCC and EDG's behavior on all examples I've found thus far. *Huge* thanks to Eli Friedman for pointing out my fundamental misunderstanding of "current object" in the C99 spec. llvm-svn: 62812
* Use NonFragileABI as name of new Next abi. More comments Fariborz Jahanian2009-01-223-58/+120
| | | | | | for the new meta-data. llvm-svn: 62806
* Fix RegionStore::getLValueElement() to handle the case when the base region ↵Ted Kremenek2009-01-221-37/+50
| | | | | | | | is not an ElementRegion (also do some cleanups of its core logic). This gets array-struct.c to work with RegionStore. llvm-svn: 62781
* remove Read8/Read24, which are dead. Rename Read16/Read32 to be moreChris Lattner2009-01-221-58/+30
| | | | | | descriptive. llvm-svn: 62775
* inline Sema::getLangOptions, rdar://6515190. This speeds upChris Lattner2009-01-222-6/+4
| | | | | | fsyntax-only with PTH by 3%. llvm-svn: 62774
* SymbolReaper::isLive(SymbolRef) now always returns true for ↵Ted Kremenek2009-01-221-1/+6
| | | | | | SymbolRegionRvalues because these represent the symbolic values for parameters/globals upon entry to the function. These values are always ;live' because they represent constraints on the context of how the function was called. This will be useful for both summary generation but is also necessary to get RegionStore's lazy-binding of locations to symbols to work in practice with RemoveDeadBindings. llvm-svn: 62771
* Static analyzer: Remove a bunch of outdated SymbolData objects andTed Kremenek2009-01-225-144/+36
| | | | | | | | | | | | | | | | | | | | their associated APIs. We no longer need separate SymbolData objects for fields, variables, etc. Instead, we now associated symbols with the "rvalue" of a MemRegion (i.e., the value stored at that region). Now we only have two kinds of SymbolData objects: SymbolRegionRValue and SymbolConjured. This cleanup also makes the distinction between a SymbolicRegion and a symbolic value that is a location much clearer. A SymbolicRegion represents a chunk of symbolic memory, while a symbolic location is just a "pointer" with different possible values. Without any specific knowledge, a symbolic location resolves (i.e., via a dereference) to a SymbolicRegion. In the future, when we do better alias reasoning, a symbolic location can become an alias for another location, thus merging the constraints on the referred SymbolicRegion with the other region. llvm-svn: 62769
* Add a switch that allows disabling the smart pointers.Sebastian Redl2009-01-221-0/+14
| | | | | | | | | | Uncomment the define in Ownership.h to disable the smart pointers. Disabled, the smart pointers no longer contain a pointer to the action, and no longer have special destruction or copying semantics. They are, compiler willing, raw pointers or ActionResult equivalents. llvm-svn: 62767
* EXTWARNify the warning about unnamed typedefs of enumsDouglas Gregor2009-01-221-2/+3
| | | | llvm-svn: 62766
* Avoid creating .dir files in the installation area.Mike Stump2009-01-221-1/+4
| | | | llvm-svn: 62744
* Initial implementation of semantic analysis and ASTs for C99Douglas Gregor2009-01-227-52/+511
| | | | | | | | | | | | | | | | | | designated initializers. This implementation should cover all of the constraints in C99 6.7.8, including long, complex designations and computing the size of incomplete array types initialized with a designated initializer. Please see the new test-case and holler if you find cases where this doesn't work. There are still some wrinkles with GNU's anonymous structs and anonymous unions (it isn't clear how these should work; we'll just follow GCC's lead) and with designated initializers for the members of a union. I'll tackle those very soon. CodeGen is still nonexistent, and there's some leftover code in the parser's representation of designators that I'll also need to clean up. llvm-svn: 62737
OpenPOWER on IntegriCloud