summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Add some random C++ standard tests.Daniel Dunbar2009-06-137-0/+74
| | | | llvm-svn: 73287
* Add the structure for a C++ test suite that mimics the structure of the C++ ↵Douglas Gregor2009-06-132-0/+1981
| | | | | | standard llvm-svn: 73286
* Fix for PR4382: allow instantiating dependent nested name specifiers. Eli Friedman2009-06-133-5/+10
| | | | | | | | I'm not completely sure this is the right way to fix this issue, but it seems reasonable, and it's consistent with the non-template code for this construct. llvm-svn: 73285
* If a CXXRecordDecl is a class template, the 'this' type should be the ↵Anders Carlsson2009-06-132-2/+13
| | | | | | injected class name type. Fixes pr4383. llvm-svn: 73284
* llvm.dbg.region.end() intrinsic is not required to be in _last_ basic block ↵Devang Patel2009-06-132-1/+80
| | | | | | | | in a function. If that happens then any basic block that follows (lexically) the block with regin.end will not have scope info available. LexicalScopeStack relies on processing basic block in CFG order, but this processing order is not guaranteed. Things get complicated when the optimizer gets a chance to optimizer IR with dbg intrinsics. Apply defensive patch to preserve at least one lexical scope till the end of function. llvm-svn: 73282
* More work on type parameter packs.Anders Carlsson2009-06-134-6/+49
| | | | llvm-svn: 73281
* Stop tracking non-compound value for struct. It may be caused by imprecise castZhongxing Xu2009-06-131-2/+4
| | | | | | logic. llvm-svn: 73279
* Remove a bunch of unnecessary template argument deduction code that wasDouglas Gregor2009-06-131-159/+15
| | | | | | obviously written by someone who didn't read C++ [temp.class.spec]. llvm-svn: 73276
* Move template type argument checking out into a separate function. No ↵Anders Carlsson2009-06-132-21/+33
| | | | | | functionality change. llvm-svn: 73275
* When some template parameters of a class template partialDouglas Gregor2009-06-135-3/+221
| | | | | | | specialization cannot be deduced, produce a warning noting that the affected class template partial specialization will never be used. llvm-svn: 73274
* Fix PR4372, another case where non-prototyped functions can prevent Chris Lattner2009-06-133-7/+45
| | | | | | always_inline from working. llvm-svn: 73273
* Improvements to TemplateArgumentListBuilder to make it work better with ↵Anders Carlsson2009-06-134-3/+52
| | | | | | parameter packs. llvm-svn: 73272
* Type change cleanup on JCE and MCE. Patch by Aaron GrayBruno Cardoso Lopes2009-06-122-10/+10
| | | | llvm-svn: 73271
* Adjust this test's regex strings so that they work regardlessDan Gohman2009-06-121-3/+3
| | | | | | | of the target's pointer size. This avoids the need for -m32 on the llvm-gcc command-line, which some targets may not support. llvm-svn: 73270
* A parameter pack must always come last in a class template.Anders Carlsson2009-06-123-2/+22
| | | | llvm-svn: 73269
* No need to mark the parameter as invalid, just ignore the default argument.Anders Carlsson2009-06-121-1/+0
| | | | llvm-svn: 73268
* Address more comments from Doug.Anders Carlsson2009-06-123-6/+17
| | | | llvm-svn: 73267
* add the location of the ')' in a do/while statement to DoStmt.Chris Lattner2009-06-1210-17/+37
| | | | | | This fixes a source range problem reported by Olaf Krzikalla. llvm-svn: 73266
* Add -m32 to llvm-gcc commands, so that this test behaves as expectedDan Gohman2009-06-121-3/+3
| | | | | | on systems which default to a 64-bit target. llvm-svn: 73265
* Address comments from Doug - Add a Sema::SemaRef.BuildBlockPointerType and ↵Anders Carlsson2009-06-124-9/+34
| | | | | | use it. llvm-svn: 73264
* It looks like we've finished off matching of class template partial ↵Douglas Gregor2009-06-123-8/+32
| | | | | | specializations; add comments and update the C++ status page llvm-svn: 73263
* Parameter packs can't have default arguments.Anders Carlsson2009-06-123-0/+16
| | | | llvm-svn: 73262
* Keep track of whether a type parameter is actually a type parameter pack.Anders Carlsson2009-06-124-6/+18
| | | | llvm-svn: 73261
* Finish implementing checking of class template partial specializationsDouglas Gregor2009-06-127-17/+44
| | | | llvm-svn: 73260
* Diagnose C++ [temp.class.spec]p9b3, where a class template partialDouglas Gregor2009-06-125-13/+95
| | | | | | | | | specialization's arguments are identical to the implicit template arguments of the primary template. Typically, this is meant to be a declaration/definition of the primary template, so we give that advice. llvm-svn: 73259
* Improve style.Owen Anderson2009-06-121-16/+16
| | | | llvm-svn: 73258
* This is supposed to be a preorder numbering of the dominator tree, not the CFG.Owen Anderson2009-06-121-4/+5
| | | | llvm-svn: 73257
* Now with less iterator invalidation, and other forms of crashing!Owen Anderson2009-06-121-3/+6
| | | | llvm-svn: 73256
* If killed register is defined by implicit_def, do not clear it since it's ↵Evan Cheng2009-06-122-5/+89
| | | | | | live range may overlap another def of same register. llvm-svn: 73255
* Diagnose the incorrect use of non-type template arguments for classDouglas Gregor2009-06-126-45/+103
| | | | | | template partial specializations. llvm-svn: 73254
* second half of fix for PR4366: don't zap store to null of Chris Lattner2009-06-121-3/+7
| | | | | | non-default addrspaces. llvm-svn: 73253
* Mark some pattern-less instructions as neverHasSideEffects.Evan Cheng2009-06-124-2/+10
| | | | llvm-svn: 73252
* Minor formatting tweak.Eli Friedman2009-06-121-0/+4
| | | | llvm-svn: 73251
* Fix a minor formatting mistake.Eli Friedman2009-06-121-6/+6
| | | | llvm-svn: 73250
* Some updates to the gcc extension sections of the users manual.Eli Friedman2009-06-121-6/+26
| | | | llvm-svn: 73249
* Parse support for C++0x type parameter packs.Anders Carlsson2009-06-125-12/+31
| | | | llvm-svn: 73247
* Document noredzone and noimplicitfloat function attributes.Devang Patel2009-06-121-4/+12
| | | | llvm-svn: 73246
* Verify that the template parameters of a class template partialDouglas Gregor2009-06-123-7/+60
| | | | | | | specialization do not have default arguments (C++ [temp.class.spec]p10). llvm-svn: 73245
* Clear AbstractInstanceRootMap at the end of the function.Devang Patel2009-06-122-0/+95
| | | | llvm-svn: 73244
* Don't do (x - (y - z)) --> (x + (z - y)) on floating-point types, becauseDan Gohman2009-06-122-15/+8
| | | | | | it may round differently. This fixes PR4374. llvm-svn: 73243
* Update the C++ status to reflect improvements in template argument deduction ↵Douglas Gregor2009-06-121-10/+10
| | | | | | and the handling of class template partial specializations llvm-svn: 73242
* Give Instruction::isSameOperationAs a corresponding comment to noteDan Gohman2009-06-122-4/+8
| | | | | | | | | | | the relationship with MergeFunctions.cpp's isEquivalentOperation, and make a trivial code reordering so that the two functions are easier to compare. Fix the name of Instruction::isSameOperationAs in MergeFunction.cpp's isEquivalentOperation's comment, and fix a nearby 80-column violation. llvm-svn: 73241
* Fix PR4365.Anders Carlsson2009-06-122-0/+22
| | | | llvm-svn: 73240
* Testcase for llvm-gcc patch 73238.Dale Johannesen2009-06-121-0/+24
| | | | llvm-svn: 73239
* Improve template argument deduction to keep track of why templateDouglas Gregor2009-06-124-194/+477
| | | | | | | | | | | | | | | | argument deduction failed. For example, given template<typename T> struct is_same<T, T> { ... }; template argument deduction will fail for is_same<int, float>, and now reports enough information Right now, we don't do anything with this extra information, but it can be used for informative diagnostics that say, e.g., "template argument deduction failed because T was deduced to 'int' in one context and 'float' in another". llvm-svn: 73237
* Waste time fixing something that should have been fixed before.Bill Wendling2009-06-121-4/+4
| | | | llvm-svn: 73236
* Keep callers of a weak function calling it, instead of the non-weak equivalent.Nick Lewycky2009-06-121-0/+1
| | | | llvm-svn: 73235
* It's an error to use a function declared in a class definition as a default ↵Anders Carlsson2009-06-128-10/+49
| | | | | | argument before the function has been declared. llvm-svn: 73234
* Fix Bug 4278: X86-64 with -tailcallopt calling conventionArnold Schwaighofer2009-06-125-56/+23
| | | | | | | | | | | | | | | out of sync with regular cc. The only difference between the tail call cc and the normal cc was that one parameter register - R9 - was reserved for calling functions through a function pointer. After time the tail call cc has gotten out of sync with the regular cc. We can use R11 which is also caller saved but not used as parameter register for potential function pointers and remove the special tail call cc on x86-64. llvm-svn: 73233
* Deducation and instantiation of block types.Anders Carlsson2009-06-123-3/+56
| | | | llvm-svn: 73232
OpenPOWER on IntegriCloud