summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* Revert 124301.Devang Patel2011-01-261-5/+1
| | | | llvm-svn: 124327
* Update C++0x status web pageDouglas Gregor2011-01-261-9/+9
| | | | llvm-svn: 124326
* make `make` work in examples/PrintFucntionNames on Mac. I checked that it ↵Nico Weber2011-01-262-5/+11
| | | | | | still works on Linux. llvm-svn: 124325
* Fix spelling of CouldMatchAmbiguouslyWith method name.Bob Wilson2011-01-261-4/+4
| | | | llvm-svn: 124324
* Whitespace and 80-column fixes.Bob Wilson2011-01-261-119/+109
| | | | llvm-svn: 124323
* Add __has_feature(cxx_reference_qualified_functions); update tests andDouglas Gregor2011-01-263-3/+18
| | | | | | documentation. llvm-svn: 124322
* Implement the restriction that a function with a ref-qualifier cannotDouglas Gregor2011-01-263-5/+29
| | | | | | | | overload a function without a ref-qualifier (C++0x [over.load]p2). This, apparently, completes the implementation of rvalue references for *this. llvm-svn: 124321
* Revert r124302Devang Patel2011-01-261-3/+0
| | | | llvm-svn: 124320
* Handle C-style casts to rvalue reference types that cast away constness.Douglas Gregor2011-01-262-4/+25
| | | | llvm-svn: 124319
* Add support for printing out floating point values from the ARM assemblyBill Wendling2011-01-261-2/+27
| | | | | | | parser. The parser will always give us a binary representation of the floating point number. llvm-svn: 124318
* Improve the extension warning for the use of ref-qualifiers, toDouglas Gregor2011-01-263-2/+14
| | | | | | | distinguish them from rvalue references. Using the rvalue-references warning was weird when the ref-qualifier was '&'. llvm-svn: 124316
* When mangling a qualified array type, push the qualifiers down to theJohn McCall2011-01-262-11/+37
| | | | | | element type. Fixes rdar://problem/8913416. llvm-svn: 124315
* Improve the AsmMatcher's ability to handle suboperands.Bob Wilson2011-01-263-172/+247
| | | | | | | | | | | | | | | When an operand class is defined with MIOperandInfo set to a list of suboperands, the AsmMatcher has so far required that operand to also define a custom ParserMatchClass, and InstAlias patterns have not been able to set the individual suboperands separately. This patch removes both of those restrictions. If a "compound" operand does not override the default ParserMatchClass, then the AsmMatcher will now parse its suboperands separately. If an InstAlias operand has the same class as the corresponding compound operand, then it will be handled as before; but if that check fails, TableGen will now try to match up a sequence of InstAlias operands with the corresponding suboperands. llvm-svn: 124314
* Rvalue references for *this: explicitly keep track of whether aDouglas Gregor2011-01-263-8/+21
| | | | | | | | | reference binding is for the implicit object parameter of a member function with a ref-qualifier. My previous comment, that we didn't need to track this explicitly, was wrong: we do in fact get rvalue-references-prefer-rvalues overloading with ref-qualifiers. llvm-svn: 124313
* Temporarily revert 124275 to see if it brings the dragonegg buildbot back.Eric Christopher2011-01-262-88/+85
| | | | llvm-svn: 124312
* Rvalue references for *this: implement the implicit conversion rulesDouglas Gregor2011-01-265-46/+183
| | | | | | | for the implicit object argument to a non-static member function with a ref-qualifier (C++0x [over.match.funcs]p4). llvm-svn: 124311
* Un-nest the meat of this function.John McCall2011-01-261-54/+53
| | | | llvm-svn: 124310
* Fix some obvious bugs in the conditional-cleanup code and then make theJohn McCall2011-01-265-61/+18
| | | | | | dtor cleanup use it. llvm-svn: 124309
* - Do not try to print nameless variable's info. Devang Patel2011-01-261-22/+28
| | | | | | - Print a summary of breakpoints in the beginning. llvm-svn: 124308
* [AVX] Add INSERT_SUBVECTOR and support it on x86. This provides aDavid Greene2011-01-266-1/+105
| | | | | | | | default implementation for x86, going through the stack in a similr fashion to how the codegen implements BUILD_VECTOR. Eventually this will get matched to VINSERTF128 if AVX is available. llvm-svn: 124307
* Make sure that if a CallFunction thread plan crashes while running in the ↵Jim Ingham2011-01-261-1/+5
| | | | | | | | "run to address" mode, and it is an auto-discard thread plan, the plan stack unwinds properly. llvm-svn: 124306
* Typo in looking up the stored address breakpoints, could cause us to look ↵Jim Ingham2011-01-261-1/+2
| | | | | | too far for breakpoints. llvm-svn: 124305
* Initialize an uninitialized variable. I don't think this is ever used, but ↵Jim Ingham2011-01-261-0/+1
| | | | | | just to be sure... llvm-svn: 124304
* Add "-A arch_spec" and "-C compiler_spec" options to the test driver. Example:Johnny Chen2011-01-261-0/+16
| | | | | | | $ ./dotest.py -A i386 -C clang -v -w -t -p TestObjCMethods.py $ ./dotest.py -A x86_64 -C gcc -v -w types llvm-svn: 124303
* While legalizing SDValues do not drop SDDbgValues, trasfer them to new legal ↵Devang Patel2011-01-261-0/+3
| | | | | | nodes. llvm-svn: 124302
* Process valid SDDbgValues even if the node does not have any order assigned.Devang Patel2011-01-261-1/+5
| | | | llvm-svn: 124301
* Refactor.Devang Patel2011-01-261-19/+30
| | | | llvm-svn: 124300
* Move InheritableAttr::isInherited to AttrPeter Collingbourne2011-01-261-1/+2
| | | | llvm-svn: 124299
* Remove Attr::isMerged; it is not used any more and redundant withPeter Collingbourne2011-01-261-4/+0
| | | | | | InheritableAttr llvm-svn: 124298
* Rvalue references for *this: allow functions to be overloaded based onDouglas Gregor2011-01-262-2/+24
| | | | | | | | | the presence and form of a ref-qualifier. Note that we do *not* yet implement the restriction in C++0x [over.load]p2 that requires either all non-static functions with a given parameter-type-list to have a ref-qualifier or none of them to have a ref-qualifier. llvm-svn: 124297
* Rvalue references for *this: add name mangling for ref-qualifiers,Douglas Gregor2011-01-263-4/+58
| | | | | | | | using rules that I just made up this morning. This encoding has now been proposed to the Itanium C++ ABI group for inclusion, but of course it's still possible that the mangling will change. llvm-svn: 124296
* Rvalue references for *this: tentative parsing and template argument deduction.Douglas Gregor2011-01-263-5/+56
| | | | llvm-svn: 124295
* Reference qualifiers for *this: implement C++0x [expr.mptr.oper]p6,Douglas Gregor2011-01-263-0/+63
| | | | | | | the restrictions on .* and ->* for ref-qualified pointer-to-member functions. llvm-svn: 124294
* Inline namespaces are always available in Clang. Rely on that withoutDouglas Gregor2011-01-261-10/+3
| | | | | | | | | | testing via __has_feature, since __has_feature for C++0x features no longer evaluates true in C++98/03 mode. Also, eliminate the redundant using directive. Inline namespaces make their members visible in the enclosing namespace automatically. llvm-svn: 124293
* [AVX] Support EXTRACT_SUBVECTOR on x86. This provides a defaultDavid Greene2011-01-265-9/+47
| | | | | | | | implementation of EXTRACT_SUBVECTOR for x86, going through the stack in a similr fashion to how the codegen implements BUILD_VECTOR. Eventually this will get matched to VEXTRACTF128 if AVX is available. llvm-svn: 124292
* Clean up the C++0x __has_feature tests. Specifically:Douglas Gregor2011-01-263-30/+30
| | | | | | | | | | | | | - Don't publicize a C++0x feature through __has_feature if we aren't in C++0x mode (even if the feature is available only with a warning). - "auto" is not implemented well enough for its __has_feature to be turned on. - Fix the test of C++0x __has_feature to actually test what we're trying to test. Searching for the substring "foo" when our options are "foo" and "no_foo" doesn't work :) llvm-svn: 124291
* Reinstate r124236 (tweaking the rvalue-reference overload resolutionDouglas Gregor2011-01-263-29/+70
| | | | | | rules), now that we've actually have a clean build for me to sully. llvm-svn: 124290
* Add encoding testcases for ARM vcvtr variationsBruno Cardoso Lopes2011-01-261-0/+9
| | | | llvm-svn: 124289
* fix the encoding and add testcases for ARM nop, yield, wfe and wfi instructionsBruno Cardoso Lopes2011-01-264-0/+37
| | | | llvm-svn: 124288
* Fix PR9039, a use-after-free in reassociate. The issue was that theDuncan Sands2011-01-262-4/+46
| | | | | | | | operand being factorized (and erased) could occur several times in Ops, resulting in freed memory being used when the next occurrence in Ops was analyzed. llvm-svn: 124287
* AttrListPtr has an overloaded operator== which does this for us, we should useNick Lewycky2011-01-262-12/+7
| | | | | | it. No functionality change! llvm-svn: 124286
* Teach mergefunc that intptr_t is the same width as a pointer. We still can'tNick Lewycky2011-01-261-1/+7
| | | | | | | merge vector<intptr_t>::push_back() and vector<void*>::push_back() because Enumerate() doesn't realize that "i64* null" and "i8** null" are equivalent. llvm-svn: 124285
* There are no vectors of pointer or arrays, so we don't need to check vectorNick Lewycky2011-01-261-7/+1
| | | | | | elements for type equivalence. llvm-svn: 124284
* APInt has a method for determining whether a number is a power of 2Duncan Sands2011-01-261-1/+1
| | | | | | which is more efficient than countPopulation - use it. llvm-svn: 124283
* Fix memory corruption. If one of the SCEV creation functions calls another butNick Lewycky2011-01-261-0/+2
| | | | | | | doesn't return immediately after then the insert position in UniqueSCEVs will be out of date. No test because this is a memory corruption issue. Fixes PR9051! llvm-svn: 124282
* Rvalue references for *this: Douglas Gregor2011-01-2614-21/+177
| | | | | | | | | | | | - Add ref-qualifiers to the type system; they are part of the canonical type. Print & profile ref-qualifiers - Translate the ref-qualifier from the Declarator chunk for functions to the function type. - Diagnose mis-uses of ref-qualifiers w.r.t. static member functions, free functions, constructors, destructors, etc. - Add serialization and deserialization of ref-qualifiers. llvm-svn: 124281
* Teach -Wreturn-type that destructors can appearTed Kremenek2011-01-262-11/+24
| | | | | | | | | after a 'return' in a CFGBlock. This accidentally was working before, but the false assumption that 'return' always appeared at the end of the block was uncovered by a recent change. llvm-svn: 124280
* Merge -Wuninitialized-experimental into -Wuninitialized.Ted Kremenek2011-01-264-5/+5
| | | | llvm-svn: 124279
* Tweak -Wuninitialized-experimental to not emitTed Kremenek2011-01-262-3/+24
| | | | | | | a warning for uses of an uninitialized variable when the use is a void cast, e.g. (void) x. llvm-svn: 124278
* Better framework for conditional cleanups; untested as yet.John McCall2011-01-269-83/+297
| | | | | | | | I'm separately committing this because it incidentally changes some block orderings and minor IR issues, like using a phi instead of an unnecessary alloca. llvm-svn: 124277
OpenPOWER on IntegriCloud