summaryrefslogtreecommitdiffstats
path: root/clang
Commit message (Collapse)AuthorAgeFilesLines
* Implement basic _Complex integer constant folding.Daniel Dunbar2009-01-283-34/+81
| | | | | | | - Merged into single ComplexEvaluator, these share too much logic to be worth splitting for float/int (IMHO). Will split on request. llvm-svn: 63248
* property metadata for objc2's nonfragile abiFariborz Jahanian2009-01-281-15/+30
| | | | llvm-svn: 63246
* Add some comments to GRStateManager. No functionality change.Ted Kremenek2009-01-281-0/+52
| | | | llvm-svn: 63243
* Code generation support for C99 designated initializers.Douglas Gregor2009-01-2817-179/+620
| | | | | | | | | | | | | | | | | | | | The approach I've taken in this patch is relatively straightforward, although the code itself is non-trivial. Essentially, as we process an initializer list we build up a fully-explicit representation of the initializer list, where each of the subobject initializations occurs in order. Designators serve to "fill in" subobject initializations in a non-linear way. The fully-explicit representation makes initializer lists (both with and without designators) easy to grok for codegen and later semantic analyses. We keep the syntactic form of the initializer list linked into the AST for those clients interested in exactly what the user wrote. Known limitations: - Designating a member of a union that isn't the first member may result in bogus initialization (we warn about this) - GNU array-range designators are not supported (we warn about this) llvm-svn: 63242
* retain/release checker: Always generate an "autorelease" summary for an ↵Ted Kremenek2009-01-282-9/+90
| | | | | | "autorelease" message, and have the summary processing logic treat it as a no-op in GC mode. This change is motivated to encode more of the semantics in the summaries themselves for eventual better diagnostics. llvm-svn: 63241
* Handle complex types in ASTContext::mergeTypesDaniel Dunbar2009-01-282-0/+12
| | | | llvm-svn: 63238
* Add autorelease test case.Ted Kremenek2009-01-281-0/+7
| | | | llvm-svn: 63237
* Add more PTH diagnostics for invalid PTH files, etc.Ted Kremenek2009-01-281-11/+29
| | | | llvm-svn: 63232
* Enhance PTHManager::Create() to take an optional Diagnostic* argument that ↵Ted Kremenek2009-01-283-4/+12
| | | | | | can be used to report issues such as a missing PTH file. llvm-svn: 63231
* Fix TextDiagnosticPrinter::HandleDiagnostic to handle invalid FullSourceLocs ↵Ted Kremenek2009-01-281-15/+7
| | | | | | that do not have a SourceManager. llvm-svn: 63230
* Add method FullSourceLoc::getBufferData().Ted Kremenek2009-01-282-1/+12
| | | | llvm-svn: 63229
* Tweak doxygen comment. No functionality change.Ted Kremenek2009-01-281-3/+5
| | | | llvm-svn: 63228
* Name change (isTypeName->getTypeName).Steve Naroff2009-01-2810-26/+26
| | | | | | Since it doesn't return a bool, is shouldn't be prefixed with 'is'. llvm-svn: 63226
* Fix test case (for -### printing version)Daniel Dunbar2009-01-281-3/+3
| | | | llvm-svn: 63223
* ccc: Support -v; invent a version number for ccc for now, will beDaniel Dunbar2009-01-283-10/+23
| | | | | | shared with clang eventually. llvm-svn: 63220
* Change Parser::ParseFunctionDeclarator() to annotate typename tokens.Steve Naroff2009-01-281-9/+21
| | | | | | This removes ~10% of the calls to Sema::isTypeName(), which amount to a little less than a 1% reduction in usertime (for Cocoa.h). llvm-svn: 63219
* Some refactoring of common code. No change in functionality.Fariborz Jahanian2009-01-281-34/+47
| | | | llvm-svn: 63218
* Implement pointer to member handling in static_cast.Sebastian Redl2009-01-288-57/+133
| | | | | | | Fix a stupid mistake in UnwrapSimilarPointers that made any two member pointers compatible as long as the pointee was the same. Make a few style corrections as suggested by Chris. llvm-svn: 63215
* Complete semantic checking for typedef redeclarations in C++. TheDouglas Gregor2009-01-285-17/+80
| | | | | | | rules are slightly different than in C, and now we handle both dialects properly. llvm-svn: 63211
* Remove 'NamespaceNameOnly' argument to Sema::LookupDecl(). It is unused.Steve Naroff2009-01-285-17/+11
| | | | | | Even though Sema::LookupDecl() is deprecated, it's still used all over the place. Simplifying the interface will make it easier to understand/optimize/convert. llvm-svn: 63210
* Remove 'enableLazyBuiltinCreation' argument to Sema::LookupDecl(). It is unused.Steve Naroff2009-01-283-9/+5
| | | | | | Even though Sema::LookupDecl() is deprecated, it's still used all over the place. Simplifying the interface will make it easier to understand/optimize/convert. llvm-svn: 63208
* Updated checker build.Ted Kremenek2009-01-281-1/+1
| | | | llvm-svn: 63200
* Update comment.Ted Kremenek2009-01-281-1/+1
| | | | llvm-svn: 63192
* long long and double have 64-bit alignment on x86-64.Chris Lattner2009-01-281-0/+1
| | | | llvm-svn: 63191
* add some basic file headersChris Lattner2009-01-2813-1/+107
| | | | llvm-svn: 63188
* retain/release checker: Improve diagnostics to indicate that CF objects are ↵Ted Kremenek2009-01-282-3/+16
| | | | | | not automatically garbage collected. llvm-svn: 63187
* retain/release checker: Indicate whether a tracked object is a Core ↵Ted Kremenek2009-01-281-1/+7
| | | | | | Foundation or Objective-C object. llvm-svn: 63186
* add diagnostics files to xcode projChris Lattner2009-01-281-0/+24
| | | | llvm-svn: 63185
* retain/release checker: More diagnostic refactoring.Ted Kremenek2009-01-281-6/+4
| | | | llvm-svn: 63184
* retain/release checker: Embed an "object type" into the RetEffect/RetVal ↵Ted Kremenek2009-01-281-42/+53
| | | | | | objects to help distinguish between Objective-C and Core Foundation objects (for better diagnostics). llvm-svn: 63183
* fix a crash I introduced, thanks to Ted for the awesome reducedChris Lattner2009-01-282-2/+10
| | | | | | testcase :) llvm-svn: 63182
* retain/release checker: More cleanups (no real functionality change).Ted Kremenek2009-01-281-15/+10
| | | | llvm-svn: 63181
* Fix diagnostic truncated by my last patch.Ted Kremenek2009-01-281-0/+2
| | | | llvm-svn: 63180
* retain/release checker: More diagnostic refactoring.Ted Kremenek2009-01-281-27/+15
| | | | llvm-svn: 63179
* retain/release checker: Output the name of the function that allocates an ↵Ted Kremenek2009-01-281-14/+15
| | | | | | object. llvm-svn: 63178
* Refactor some diagnostic code to use raw_string_ostream. No functionality ↵Ted Kremenek2009-01-281-20/+17
| | | | | | change. llvm-svn: 63177
* Remove '#if 0' code.Ted Kremenek2009-01-281-5/+0
| | | | llvm-svn: 63176
* Patch by Alexei Svitkine: Refactor Sema::ParseAST API to allow clients to ↵Ted Kremenek2009-01-283-25/+43
| | | | | | pass as an argument a TranslationUnit object whose contents live beyond the call to ParseAST. llvm-svn: 63175
* Add a preliminary version number.Mike Stump2009-01-281-0/+4
| | | | llvm-svn: 63168
* ABITest: Support --test-layout option for generatingDaniel Dunbar2009-01-282-7/+120
| | | | | | | size/alignment/offsetof based tests of types instead of calling convention tests. llvm-svn: 63167
* Set visibility of ivar offset symbols according to Fariborz Jahanian2009-01-281-4/+13
| | | | | | | accessibility of the ivar (related to objc2's non-fragile abi). llvm-svn: 63166
* Generation of ivar-offset symbols in objc2's non-fragile abi.Fariborz Jahanian2009-01-281-13/+59
| | | | | | Changed section names for meta-data (to match current gcc). llvm-svn: 63163
* On Windows use a BumpPtrAllocator for the UniqueFileContainer's StringMap.Ted Kremenek2009-01-281-1/+1
| | | | llvm-svn: 63162
* add test for PR2502, which was already fixed some time agoNuno Lopes2009-01-281-0/+3
| | | | llvm-svn: 63160
* FileManager: Use a BumpPtrAllocator for the StringMaps DirEntries and ↵Ted Kremenek2009-01-282-3/+3
| | | | | | | | | | FileEntries. Performance impact (clang -fsyntax-only INPUTS/Cocoa_h.m): non-PTH: 0.4% improvement PTH: 0.8% improvement llvm-svn: 63159
* fix PR3427: fix debuginfo for incomplete array typesNuno Lopes2009-01-282-3/+12
| | | | llvm-svn: 63158
* Add a some comments to designate Windows-specific/Unix-specific code. No ↵Ted Kremenek2009-01-281-0/+12
| | | | | | functionality change. llvm-svn: 63157
* Finish making AST BumpPtrAllocation runtime configurable (based on ↵Steve Naroff2009-01-277-25/+30
| | | | | | | | | | | -disable-free). snaroff% time ../../Release-Asserts/bin/clang INPUTS/Cocoa_h.m 0.179u 0.051s 0:00.23 95.6% 0+0k 0+0io 0pf+0w snaroff% time ../../Release-Asserts/bin/clang INPUTS/Cocoa_h.m -disable-free 0.169u 0.052s 0:00.22 95.4% 0+0k 0+0io 0pf+0w llvm-svn: 63153
* Add handling of member pointers to reinterpret_cast.Sebastian Redl2009-01-273-18/+61
| | | | llvm-svn: 63150
* After talking to our runtime guru, I added a comment.Fariborz Jahanian2009-01-271-0/+5
| | | | llvm-svn: 63141
OpenPOWER on IntegriCloud