summaryrefslogtreecommitdiffstats
path: root/clang
Commit message (Collapse)AuthorAgeFilesLines
* Use the right linkage for static variables inside C++ inline functions.Anders Carlsson2010-02-073-7/+33
| | | | llvm-svn: 95512
* Improved handling of the visibility attribute. Declarations now inherit ↵Anders Carlsson2010-02-072-0/+70
| | | | | | | | their parent's visibility. (This is kind of a risky change, but I did a self-host build and everything appears to work fine!) llvm-svn: 95511
* Add attributes to namespace decls.Anders Carlsson2010-02-075-6/+12
| | | | llvm-svn: 95510
* Make EmitStartEHSpec and EmitEndEHSpec return early when exceptions are ↵Anders Carlsson2010-02-062-0/+18
| | | | | | disabled. llvm-svn: 95509
* Add support for threadsafe statics, and make them the default (matching gcc).Anders Carlsson2010-02-068-28/+118
| | | | | | Daniel, I'd appreciate a review of the driver/cc1 parts. llvm-svn: 95508
* Call destructors for constructed bases as well.Anders Carlsson2010-02-061-0/+13
| | | | llvm-svn: 95502
* If a constructor throws an exception we need to execute the destructors for ↵Anders Carlsson2010-02-061-0/+19
| | | | | | all fully constructed members. Fixes ctor_dtor_count.cpp in the test suite. llvm-svn: 95501
* Use a substituted type when determining how to substitute in non-type templateJohn McCall2010-02-062-35/+42
| | | | | | | | | | | params. Don't insert addrof operations when matching against a pointer; array/function conversions should take care of this for us, assuming the argument type-checked in the first place. Add a fixme where we seem to be using a less-restrictive reference type than we should. Fixes PR 6249. llvm-svn: 95495
* Silence GCC warning and stay in 80 cols.Benjamin Kramer2010-02-061-4/+5
| | | | llvm-svn: 95494
* Extract a function to instantiate references to value template parameters.John McCall2010-02-061-109/+116
| | | | llvm-svn: 95491
* Update checker build.Ted Kremenek2010-02-061-1/+1
| | | | llvm-svn: 95490
* Don't diagnose missing noreturns for uninstantiated templates. Fixes PR6247.Anders Carlsson2010-02-062-3/+28
| | | | llvm-svn: 95487
* Switch CodeGen's "is this variable declaration a definition?" logicDouglas Gregor2010-02-062-14/+31
| | | | | | | | | over to VarDecl::isThisDeclarationADefinition(), which handles variables declared with linkage specifications better (among other things). CMake 2.9 (from CVS) now builds with clang++ and is somewhat functional. llvm-svn: 95486
* Only append 'L' for internal variable declarations, not all declarations. ↵Anders Carlsson2010-02-062-3/+8
| | | | | | (Found by the mangle checker, yay) llvm-svn: 95485
* Also teach RegionStore::RetrieveVar() to handle 'static' pointers that are ↵Ted Kremenek2010-02-062-1/+10
| | | | | | implicitly initialized to NULL. llvm-svn: 95479
* Fix regression in RegionStore (from BasicStore) where static variables were ↵Ted Kremenek2010-02-062-3/+22
| | | | | | not treated as being implicitly initialized to 0 (and instead were getting symbolicated). llvm-svn: 95478
* Remove unused variable.Ted Kremenek2010-02-061-1/+0
| | | | llvm-svn: 95476
* Use the correct function info for constructors when applying function ↵Anders Carlsson2010-02-066-6/+34
| | | | | | attributes. Fixes PR6245. llvm-svn: 95474
* Implement a warning diagnostic for weak vtables. Fixes PR6116.Anders Carlsson2010-02-063-2/+35
| | | | llvm-svn: 95472
* Teach Sema how to instantiate a local function declaration properly. FixesJohn McCall2010-02-062-3/+16
| | | | | | PR 5517. llvm-svn: 95470
* Assert when we try to mangle a dependent template name, rather thanDouglas Gregor2010-02-061-1/+3
| | | | | | crashing unceremoniously. llvm-svn: 95464
* Per discussion, remove the explicit restriction on static const data members ↵John McCall2010-02-062-10/+19
| | | | | | | | with out-of-line initializers as integer constant expressions. Fixes PR6206. llvm-svn: 95463
* Teach RegionStore::InvalidateRegions() to also invalidate static variables ↵Ted Kremenek2010-02-064-7/+62
| | | | | | referenced by blocks. llvm-svn: 95459
* Rearrange some checks to avoid call to isCopyConstructor() and clarify pathJohn McCall2010-02-061-12/+14
| | | | | | taken for non-trivial constructors. llvm-svn: 95457
* Update Clang C++ status, with a more project-centric focus.Douglas Gregor2010-02-054-16/+87
| | | | llvm-svn: 95455
* Fix a bogus assertion after adjusting the type of a substitutedDouglas Gregor2010-02-052-1/+9
| | | | | | | non-type template argument for a non-type template parameter of pointer type. Fixes PR6244. llvm-svn: 95447
* Cope with finding the "instantiated" declaration when we areDouglas Gregor2010-02-052-21/+61
| | | | | | | | type-checking within a template definition. In this case, the "instantiated" declaration is just the declaration itself, found within the current instantiation. Fixes PR6239. llvm-svn: 95442
* Standardize the parsing of function type attributes in a way thatJohn McCall2010-02-0529-350/+372
| | | | | | | | | | | | follows (as conservatively as possible) gcc's current behavior: attributes written on return types that don't apply there are applied to the function instead, etc. Only parse CC attributes as type attributes, not as decl attributes; don't accepet noreturn as a decl attribute on ValueDecls, either (it still needs to apply to other decls, like blocks). Consistently consume CC/noreturn information throughout codegen; enforce this by removing their default values in CodeGenTypes::getFunctionInfo(). llvm-svn: 95436
* Add guard in RewriteObjC::HandleTopLevelSingleDecl() to not doTed Kremenek2010-02-051-5/+3
| | | | | | | anything when Sema has issued an error. This matches the behavior in RewriteObjC::HandleTranslationUnit(). llvm-svn: 95434
* Revert r95393, which broke Clang's self-host.Douglas Gregor2010-02-053-14/+22
| | | | llvm-svn: 95430
* Oops, thanks ClangDouglas Gregor2010-02-051-1/+1
| | | | llvm-svn: 95429
* Convert this test to FileCheck instead of grepping LLVM IR.Charles Davis2010-02-051-2/+11
| | | | llvm-svn: 95428
* Implement name mangling for template template parametersDouglas Gregor2010-02-052-2/+22
| | | | llvm-svn: 95427
* Fix how scan-build finds c++-analyzer to work with checker builds.Ted Kremenek2010-02-051-7/+7
| | | | llvm-svn: 95425
* IRgen: A few more ConvertType cleanups.Daniel Dunbar2010-02-051-11/+6
| | | | llvm-svn: 95423
* Fix two issues with the substitution of template template parametersDouglas Gregor2010-02-053-9/+21
| | | | | | | | | | | | | | | | when instantiating the declaration of a member template: - Only check if the have a template template argument at a specific position when we already know that we have template arguments at that level; otherwise, we're substituting for a level-reduced template template parameter. - When trying to find an instantiated declaration for a template template parameter, look into the instantiated scope. This was a typo, where we had two checks for TemplateTypeParmDecl, one of which should have been a TemplateTemplateParmDecl. With these changes, tramp3d-v4 passes -fsyntax-only. llvm-svn: 95421
* IRgen: Factor out EmitAggExprToLValue.Daniel Dunbar2010-02-053-14/+20
| | | | llvm-svn: 95416
* Fix a code gen bug accessing 'isa' field via a message callFariborz Jahanian2010-02-052-5/+28
| | | | | | (Fixes radar 7609722). llvm-svn: 95406
* When we're parsing an expression that may have looked like aDouglas Gregor2010-02-053-3/+58
| | | | | | | | | declaration, we can end up with template-id annotation tokens for types that have not been converted into type annotation tokens. When this is the case, translate the template-id into a type and parse as an expression. llvm-svn: 95404
* IRgen: Fix some CreateTempAlloca calls to use ConvertTypeForMem when that isDaniel Dunbar2010-02-054-6/+9
| | | | | | conceptually correct. Review appreciated (Chris, Eli, Anders). llvm-svn: 95401
* Fix the bug that was breaking self-host, and re-land the static ctor fixes.Anders Carlsson2010-02-052-1/+17
| | | | llvm-svn: 95400
* Now that we store calling conventions in the types, use them instead ofCharles Davis2010-02-052-8/+19
| | | | | | | getting the calling convention from the target function, which may or may not exist. Fixes PR5280. llvm-svn: 95399
* Removed non-essential header file from test.Fariborz Jahanian2010-02-051-2/+0
| | | | llvm-svn: 95396
* Initial skeleton of an AST "importer", which will take AST elements fromDouglas Gregor2010-02-053-0/+650
| | | | | | | | one context and import them into another context, merging them according to language-specific rules. This is a skeleton. It doesn't work, it isn't testable, but I want it in version control. llvm-svn: 95395
* Testing, 1, 2, 3...Charles Davis2010-02-051-2/+4
| | | | | | Also make the comments I added in r95291 consistent. llvm-svn: 95394
* IRgen: Use hasAggregateLLVMType instead of isSingleValueType() for cases thatDaniel Dunbar2010-02-053-22/+14
| | | | | | | | need to deal with aggregates specially; this is consistent with the rest of IRgen. Also, simplify EmitParmDecl and don't worry about using Decl::getNameAsString. llvm-svn: 95393
* Fixes a minor rewriter bug messaging inside a function call.Fariborz Jahanian2010-02-052-1/+32
| | | | | | Fixes radar 7617047. llvm-svn: 95392
* Some clean up of replacement text API no longer needed byFariborz Jahanian2010-02-053-6/+5
| | | | | | my recent changes. llvm-svn: 95391
* Revert r95363 and r95375, which broke self-host.Douglas Gregor2010-02-052-16/+1
| | | | llvm-svn: 95389
* A dependent initializer with zero arguments should return a NULLDouglas Gregor2010-02-053-1/+15
| | | | | | | initializer (for no initialization) rather than a ParenListExpr with zero arguments in it. llvm-svn: 95382
OpenPOWER on IntegriCloud