summaryrefslogtreecommitdiffstats
path: root/clang/lib
Commit message (Collapse)AuthorAgeFilesLines
...
* Add a fast path to CodeGenModule::getMangledName for almost all C functions,Chris Lattner2009-03-211-2/+8
| | | | | | speeding up the testcase in PR3810 by 60%. llvm-svn: 67431
* partially inline getAttrs() to speed up PR3810 (and lots ofChris Lattner2009-03-211-4/+2
| | | | | | other code presumably) by 4.3% llvm-svn: 67430
* simplify CXXNameMangler::mangle, making it exit earlier for C functions.Chris Lattner2009-03-211-31/+32
| | | | | | This speeds up a testcase in 3810 by ~16%. llvm-svn: 67429
* Driver: Give Compilation::Execute total control over the Driver resultDaniel Dunbar2009-03-211-0/+4
| | | | | | | code; and don't return an error code when -### is present, even if errors occur. llvm-svn: 67425
* Add back warning about a PTH file not containing any identifiers, but don't makeTed Kremenek2009-03-211-0/+6
| | | | | | it a hard error. llvm-svn: 67424
* Allow PTH files with no identifiers.Ted Kremenek2009-03-211-5/+0
| | | | llvm-svn: 67423
* When building the structured initializer list, pre-allocate storage inDouglas Gregor2009-03-202-0/+31
| | | | | | | | | | | its vectors based on the subobject type we're initializing and the (unstructured) initializer list. This eliminates some malloc thrashing when parsing initializers (from 117 vector reallocations down to 0 when parsing Cocoa.h). We can't always pre-allocate the right amount of storage, since designated initializers can cause us to initialize in non-predictable patterns. llvm-svn: 67421
* ccc/Driver: .s defaults to 'assembler-with-cpp' on Darwin.Daniel Dunbar2009-03-202-2/+19
| | | | | | | | | | - <rdar://problem/6669441> ccc doesn't handle assembler-with-cpp semantics correctly (but clang supports it) - This is sad, because it requires a fairly useless target hook. C'est la vie. llvm-svn: 67418
* Destroy expressions properly when resizing an initializer listDouglas Gregor2009-03-201-1/+1
| | | | llvm-svn: 67417
* InitListDesignations hasn't been used (ever). Eliminate it, andDouglas Gregor2009-03-203-62/+32
| | | | | | | simplify the parsing and action interface for designated initializers. llvm-svn: 67415
* Eliminate post-diagnostic hooks. Instead, implement a Sema-specificDouglas Gregor2009-03-204-27/+39
| | | | | | | variant of DiagnosticBuilder that emits the template instantiation backtrace when needed. llvm-svn: 67413
* Fix codegen for support for super inside block literal expressions.Mike Stump2009-03-204-7/+24
| | | | llvm-svn: 67406
* Fix <rdar://problem/6704086> by allowing the format string checking in Sema toTed Kremenek2009-03-203-27/+63
| | | | | | | | allow non-literal format strings that are variables that (a) permanently bind to a string constant and (b) whose string constants are resolvable within the same translation unit. llvm-svn: 67404
* Fix a crash during meta-data generation of objc2's nonfragile abi.Fariborz Jahanian2009-03-201-1/+4
| | | | llvm-svn: 67402
* Some minor tweaks and additional tests for rvalue referencesDouglas Gregor2009-03-201-1/+1
| | | | llvm-svn: 67397
* rename the <predefines> buffer to <built-in> to solve PR3849.Chris Lattner2009-03-201-4/+11
| | | | | | | | | | | | | | Add a #include directive around the command line buffer so that diagnostics generated from -include directives get diagnostics like: In file included from <built-in>:98: In file included from <command line>:3: ./t.h:2:1: warning: type specifier missing, defaults to 'int' b; ^ llvm-svn: 67396
* GRExprEngine:Ted Kremenek2009-03-203-2/+26
| | | | | | | | - Conjure symbols at '--' and '++' unary operations - Add utility method SVal::GetConjuredSymbolVal() and constify some arguments along the way. llvm-svn: 67395
* Remove unneeded radar reference.Ted Kremenek2009-03-201-3/+2
| | | | llvm-svn: 67394
* Driver: Switch to using -include-pth.Daniel Dunbar2009-03-201-35/+23
| | | | llvm-svn: 67393
* More super dot-syntax property implementationFariborz Jahanian2009-03-202-26/+48
| | | | | | | when there is actually a property declaration used in the dot-syntax. llvm-svn: 67391
* Fix <rdar://problem/6703892> by not warning about self-comparisons of enumTed Kremenek2009-03-201-1/+5
| | | | | | constants. llvm-svn: 67390
* Fix ivar's size encoding.Devang Patel2009-03-201-4/+17
| | | | llvm-svn: 67389
* Driver: Parse Darwin version out of target triple.Daniel Dunbar2009-03-201-1/+41
| | | | llvm-svn: 67388
* PTHManager::Create() now creates a PTHManager even if the PTH file contains noTed Kremenek2009-03-201-4/+5
| | | | | | cached tokens. This is for use with -include-pth. llvm-svn: 67385
* retain/release checker: Tracking autorelease counts for objects. We're still notTed Kremenek2009-03-201-7/+48
| | | | | | completely there with accurately modeling autorelease pools. llvm-svn: 67384
* Implement ir gen. for setter/getter applied to 'super' Fariborz Jahanian2009-03-201-1/+30
| | | | | | in a property dot-syntax notation. llvm-svn: 67382
* Driver: Add and use darwin::Assemble tool.Daniel Dunbar2009-03-203-4/+66
| | | | | | - Based on patch from Pieter de Bie; thanks! llvm-svn: 67379
* refactor some code, fixing a problem discovered by the dragonfly bsd people, ↵Chris Lattner2009-03-201-19/+31
| | | | | | | | where clang was defining "i386" even when in non-gnu mode. llvm-svn: 67378
* Driver: Add two option overload for AddAllArgValues.Daniel Dunbar2009-03-201-0/+13
| | | | llvm-svn: 67377
* pass langoptions around.Chris Lattner2009-03-201-9/+10
| | | | llvm-svn: 67376
* pass LangOptions into TargetInfo::getTargetDefines, so that targetsChris Lattner2009-03-202-34/+54
| | | | | | can have language-specific defines. llvm-svn: 67375
* Driver: Add Arg::getAsString and use when dumping arguments toDaniel Dunbar2009-03-202-6/+22
| | | | | | | | diagnostics. - This ensures that the whole argument and values are printed, instead of just the option name. llvm-svn: 67366
* strictly evaluate SVN_REVISION so that svnversion is run once instead of 4 ↵Chris Lattner2009-03-201-3/+5
| | | | | | times. llvm-svn: 67365
* Driver: Implement -print-search-dirs.Daniel Dunbar2009-03-201-0/+19
| | | | llvm-svn: 67362
* Driver: Sketch Darwin tool chains.Daniel Dunbar2009-03-203-11/+111
| | | | llvm-svn: 67356
* Driver: Add darwin::Lipo tool.Daniel Dunbar2009-03-202-1/+42
| | | | llvm-svn: 67355
* Allow flexible array initializers that are not surrounded byDouglas Gregor2009-03-201-6/+19
| | | | | | | | braces. We now build the appropriate fully-structured initializer list for such things. Per PR3618, verified that we're getting the right code generation. llvm-svn: 67353
* Driver: Move tool chain implementations into ToolChains.cpp.Daniel Dunbar2009-03-202-50/+81
| | | | llvm-svn: 67350
* Driver: Temporary hack to allow -ccc-print-bindings to work (forDaniel Dunbar2009-03-201-1/+4
| | | | | | testing) even with -pipe on. llvm-svn: 67348
* Bindir and Win32 builds work, so switch to .inc files. Leave the .def files ↵Sebastian Redl2009-03-191-16/+16
| | | | | | in the tree for a day or so longer. llvm-svn: 67346
* Add PTHManager::getOriginalSourceFile(), a method that returns the name of theTed Kremenek2009-03-191-3/+12
| | | | | | original source file (if any) that was used to generate the PTH cache. llvm-svn: 67343
* Variables marked as "extern" can actually have internal linkage ifDouglas Gregor2009-03-191-3/+14
| | | | | | there is a previous declaration marked "static". This fixes PR3645. llvm-svn: 67336
* Allow notes to be printed following a fatal error, then suppress anyDouglas Gregor2009-03-191-12/+17
| | | | | | | | | | diagnostics following those notes. Make exceeding the template instantiation depth a fatal error. Thanks to Daniel for pointing out the problem! llvm-svn: 67320
* Add a clarifying comment about HasPrototype's computationDouglas Gregor2009-03-191-0/+6
| | | | llvm-svn: 67316
* When looking for property name (or getter method) in aFariborz Jahanian2009-03-191-9/+54
| | | | | | | | dot-syntax expression after earching the list of protocols in the qualified-id, must keep searching the protocol list of each of the protocols in the list. llvm-svn: 67314
* If a function is declared as, e.g.,Douglas Gregor2009-03-191-2/+3
| | | | | | | | | | F f; where F is a typedef of a function type, then the function "f" has a prototype. This is a slight tweak to Chris's suggested fix in PR3817. Fixes PR3817 and PR3840. llvm-svn: 67313
* Driver/clang: -mattr strings were not comma separated.Daniel Dunbar2009-03-191-0/+4
| | | | | | - Apologies for commits w/o test cases; they are coming. llvm-svn: 67310
* Introduce a new expression type, UnresolvedDeclRefExpr, that describesDouglas Gregor2009-03-199-5/+169
| | | | | | | | | | | | | | | | | | | | | | | | dependent qualified-ids such as Fibonacci<N - 1>::value where N is a template parameter. These references are "unresolved" because the name is dependent and, therefore, cannot be resolved to a declaration node (as we would do for a DeclRefExpr or QualifiedDeclRefExpr). UnresolvedDeclRefExprs instantiate to DeclRefExprs, QualifiedDeclRefExprs, etc. Also, be a bit more careful about keeping only a single set of specializations for a class template, and instantiating from the definition of that template rather than a previous declaration. In general, we need a better solution for this for all TagDecls, because it's too easy to accidentally look at a declaration that isn't the definition. We can now process a simple Fibonacci computation described as a template metaprogram. llvm-svn: 67308
* IRgen support for alias of global variable.Daniel Dunbar2009-03-192-12/+10
| | | | | | - PR3818. llvm-svn: 67297
* Driver: Compilation::Execute wasn't returning result code correctly.Daniel Dunbar2009-03-191-1/+1
| | | | llvm-svn: 67296
OpenPOWER on IntegriCloud