summaryrefslogtreecommitdiffstats
path: root/clang/lib
Commit message (Collapse)AuthorAgeFilesLines
* 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
* Driver: Executing piped jobs with a single command is easy.Daniel Dunbar2009-03-191-23/+30
| | | | llvm-svn: 67295
* Driver: Claim unused input arguments when emitting "input file unused"Daniel Dunbar2009-03-191-0/+2
| | | | | | diagnostic (to suppress more generic unused warning). llvm-svn: 67294
* Driver: Claim -arch options when pipelining, and claim arguments thatDaniel Dunbar2009-03-192-2/+8
| | | | | | | | | | | are forwarded to GCC. - The later is unfortunate, as it prevents us from generally warning about anything interesting on platforms that use a generic toolchain. However, we can't do much better without significantly complicating things, and generally we should have proper tool chain definitions. llvm-svn: 67293
* Driver: Handle "linker input" arguments.Daniel Dunbar2009-03-193-31/+69
| | | | | | | | | - Make InputInfo a variant of filename, pipe, input argument, nothing. - Leave a FIXME in InputInfo that this should be revisited. llvm-svn: 67292
* Driver: Add Arg::renderAsInput; this is a messy area and something IDaniel Dunbar2009-03-191-0/+10
| | | | | | was hoping to clean up in the rewrite, but I don't see it yet. llvm-svn: 67291
* Print the context of tag types as part of pretty-printing, e.g.,Douglas Gregor2009-03-191-3/+30
| | | | | | struct N::M::foo llvm-svn: 67284
* Generalize printing of nested-name-specifier sequences for use in bothDouglas Gregor2009-03-196-46/+76
| | | | | | | | QualifiedNameType and QualifiedDeclRefExpr. We now keep track of the exact nested-name-specifier spelling for a QualifiedDeclRefExpr, and use that spelling when printing ASTs. This fixes PR3493. llvm-svn: 67283
* Plist diagnostics: distinguish between regular and extended messages for ↵Ted Kremenek2009-03-191-0/+5
| | | | | | "events". llvm-svn: 67269
* Extend the use of QualifiedNameType to the creation of class templateDouglas Gregor2009-03-194-12/+26
| | | | | | | | | | | specialization names. This way, we keep track of sugared types like std::vector<Real> I believe we are now using QualifiedNameTypes everywhere we can. Next step: QualifiedDeclRefExprs. llvm-svn: 67268
* Encode ivar access control info.Devang Patel2009-03-191-2/+10
| | | | llvm-svn: 67267
* Introduce a representation for types that we referred to via aDouglas Gregor2009-03-1919-90/+263
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | qualified name, e.g., foo::x so that we retain the nested-name-specifier as written in the source code and can reproduce that qualified name when printing the types back (e.g., in diagnostics). This is PR3493, which won't be complete until finished the other tasks mentioned near the end of this commit. The parser's representation of nested-name-specifiers, CXXScopeSpec, is now a bit fatter, because it needs to contain the scopes that precede each '::' and keep track of whether the global scoping operator '::' was at the beginning. For example, we need to keep track of the leading '::', 'foo', and 'bar' in ::foo::bar::x The Action's CXXScopeTy * is no longer a DeclContext *. It's now the opaque version of the new NestedNameSpecifier, which contains a single component of a nested-name-specifier (either a DeclContext * or a Type *, bitmangled). The new sugar type QualifiedNameType composes a sequence of NestedNameSpecifiers with a representation of the type we're actually referring to. At present, we only build QualifiedNameType nodes within Sema::getTypeName. This will be extended to other type-constructing actions (e.g., ActOnClassTemplateId). Also on the way: QualifiedDeclRefExprs will also store a sequence of NestedNameSpecifiers, so that we can print out the property nested-name-specifier. I expect to also use this for handling dependent names like Fibonacci<I - 1>::value. llvm-svn: 67265
OpenPOWER on IntegriCloud