summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Don't write into MemoryBuffers.Benjamin Kramer2010-04-195-20/+15
| | | | llvm-svn: 101783
* Fix -Wcast-qual warnings.Dan Gohman2010-04-191-6/+10
| | | | llvm-svn: 101782
* Revert 91528 and use a std::vector instead, fixing an abuse of std::string.Dan Gohman2010-04-191-10/+16
| | | | llvm-svn: 101781
* Fix -Wcast-qual warnings.Dan Gohman2010-04-193-6/+11
| | | | llvm-svn: 101779
* Add a few more ELF bits.Dan Gohman2010-04-191-0/+11
| | | | llvm-svn: 101778
* Add a const.Dan Gohman2010-04-191-1/+1
| | | | llvm-svn: 101777
* These functions don't need to access this.Dan Gohman2010-04-191-2/+2
| | | | llvm-svn: 101776
* Move all C++ expression evaluation logic into its own file.Zhongxing Xu2010-04-194-234/+247
| | | | llvm-svn: 101772
* Analyzer: add support for CXXNewExpr.Zhongxing Xu2010-04-196-14/+49
| | | | llvm-svn: 101771
* Don't just emit ivar metadata - emit CORRECT ivar metadata. (GNU runtime)David Chisnall2010-04-191-2/+8
| | | | llvm-svn: 101759
* Fix emitting ivar metadata for synthesized ivars and some 64-bit fixes. (GNU ↵David Chisnall2010-04-191-12/+15
| | | | | | runtime) llvm-svn: 101758
* If a method is virtual and the class key function is in another file, emit ↵Rafael Espindola2010-04-193-1/+28
| | | | | | | | the method as available_externally. Fixes PR6747 llvm-svn: 101757
* Local static variables must be available module-wiseFariborz Jahanian2010-04-185-0/+39
| | | | | | | as they are accessible in static methods in a class local to the same function. Fixes PR6769. llvm-svn: 101756
* Add missed part of prev. commitAnton Korobeynikov2010-04-181-1/+2
| | | | llvm-svn: 101755
* Make processor FUs unique for given itinerary. This extends the limit of 32Anton Korobeynikov2010-04-1815-858/+894
| | | | | | | FU per CPU arch to 32 per intinerary allowing precise modelling of quite complex pipelines in the future. llvm-svn: 101754
* recommit r101568 to fix PR6766Nuno Lopes2010-04-183-11/+22
| | | | | | as a side-effect, remove two FIXMEs now fixed llvm-svn: 101726
* Make sure that we don't visit redeclarations of nested classes whileDouglas Gregor2010-04-182-1/+21
| | | | | | | | instantiating class members as part of an explicit instantiation. Addresses a compilation problem in Boost.Serialization. llvm-svn: 101725
* C++ [namespace.memdef]p3 only applies when the friend is not named viaDouglas Gregor2010-04-182-15/+29
| | | | | | | | | a qualified name. We weren't checking for an empty nested-name-specifier when dealing with friend class templates (although we were checking in the other places where we deal with this paragraph). Fixes a Boost.Serialization showstopper. llvm-svn: 101724
* avoid temporary std::string in non posix_spawn path.Chris Lattner2010-04-181-4/+4
| | | | llvm-svn: 101723
* tests: Don't force triple in x86-builtin-palignr test, this test should beDaniel Dunbar2010-04-181-1/+1
| | | | | | portable. llvm-svn: 101719
* Bail out early to avoid comparing the internals of two conversion sequences ofBenjamin Kramer2010-04-181-0/+5
| | | | | | | | | different kinds (aka garbage). This happens if we're comparing a standard conversion sequence to an ambiguous one which have the same KindRank. Found by valgrind. llvm-svn: 101717
* When performing reference initialization for the purposes of overloadDouglas Gregor2010-04-182-10/+29
| | | | | | | | | | | resolution ([over.ics.ref]), we take some shortcuts required by the standard that effectively permit binding of a const volatile reference to an rvalue. We have to treat lightly here to avoid infinite recursion. Fixes PR6177. llvm-svn: 101712
* Eliminate temporary string.Benjamin Kramer2010-04-181-4/+4
| | | | llvm-svn: 101711
* Properly inherit the environment on darwin where environ is not available ↵Benjamin Kramer2010-04-181-1/+6
| | | | | | for shared libraries. llvm-svn: 101710
* Binding a reference to an rvalue is a direct binding in C++0x but notDouglas Gregor2010-04-181-20/+17
| | | | | | in C++03. llvm-svn: 101707
* Fix the access checking of function and function template argument types,Chandler Carruth2010-04-182-2/+33
| | | | | | | return types, and default arguments. This fixes PR6855 along with several similar cases where we rejected valid code. llvm-svn: 101706
* When checking the copy constructor for the optional copy during aDouglas Gregor2010-04-183-8/+33
| | | | | | | | | reference binding to an rvalue of reference-compatible type, check parameters after the first for complete parameter types and build any required default function arguments. We're effectively simulating the type-checking for a call without building the call itself. llvm-svn: 101705
* In C++98/03, when binding a reference to an rvalue ofDouglas Gregor2010-04-185-16/+197
| | | | | | | | | | | | | | | | | reference-compatible type, the implementation is permitted to make a copy of the rvalue (or many such copies, even). However, even though we don't make that copy, we are required to check for the presence of a suitable copy constructor. With this change, we do. Note that in C++0x we are not allowed to make these copies, so we test both dialects separately. Also note the FIXME in one of the C++03 tests, where we are not instantiating default function arguments for the copy constructor we pick (but do not call). The fix is obvious; eliminating the infinite recursion it causes is not. Will address that next. llvm-svn: 101704
* This is horrible. Split the difference, and declare 'environ' on all non-DarwinNick Lewycky2010-04-181-0/+7
| | | | | | | platforms to unbreak the darwin and linux builds. The BSD folks should feel free to change the #if, if this breaks them. llvm-svn: 101703
* Revert r101701, Darwin doesn't have 'environ'. Go figure.Nick Lewycky2010-04-181-3/+0
| | | | llvm-svn: 101702
* Fix linux build. posix_spawn doesn't inherit the environment by default.Nick Lewycky2010-04-181-1/+4
| | | | llvm-svn: 101701
* Add testcase that I forgot for r101667 for gnu-keywords.Chandler Carruth2010-04-181-0/+12
| | | | llvm-svn: 101700
* Allow the 'ibaction' attribute to be attached to method declarations (and ↵Ted Kremenek2010-04-182-2/+27
| | | | | | not issue a warning). llvm-svn: 101699
* make Program::Execute use posix_spawn on systems that support it,Chris Lattner2010-04-181-9/+64
| | | | | | | | | as it is more efficient than fork/exec. Thanks to Eric for adding the autoconf check. It would be nice if a cmake guru could add a cmake check for posix_spawn as well. llvm-svn: 101693
* reduce indentationChris Lattner2010-04-181-21/+21
| | | | llvm-svn: 101692
* unnest from namespace.Chris Lattner2010-04-181-5/+1
| | | | llvm-svn: 101691
* silence some -Wmissing-field-initializers warnings.Chris Lattner2010-04-181-2/+2
| | | | llvm-svn: 101690
* silence some unused-value warnings.Chris Lattner2010-04-181-4/+4
| | | | llvm-svn: 101689
* Do not consider explicit constructors when performing a copy to aDouglas Gregor2010-04-182-6/+10
| | | | | | | | | temporary object. This is blindingly obvious from reading C++ [over.match.ctor]p1, but somehow I'd missed it and it took DR152 to educate me. Adjust one test that was relying on this non-standard behavior. llvm-svn: 101688
* Don't rely upon the MCSymbol "isDefined" method to indicate if a label has beenBill Wendling2010-04-181-2/+2
| | | | | | | emitted or not. The JIT doesn't set that. Look it up in the label location table instead. llvm-svn: 101686
* Formatting changes. No functionality change.Bill Wendling2010-04-181-29/+28
| | | | llvm-svn: 101685
* Add a "PadTo" field to the emitULEB128Bytes method. This will pad out to theBill Wendling2010-04-181-2/+9
| | | | | | indicated number of bytes. llvm-svn: 101684
* Simplify wide bit-field layout in CGRecordLayoutBuilder, and also fix a bug ↵Anders Carlsson2010-04-172-19/+40
| | | | | | where assigning to a bit-field member would overwrite other parts of the struct. llvm-svn: 101681
* Improve our handling of user-defined conversions as part of overloadDouglas Gregor2010-04-1711-94/+211
| | | | | | | | | | | | | | | | | resolution. There are two sources of problems involving user-defined conversions that this change eliminates, along with providing simpler interfaces for checking implicit conversions: - It eliminates a case of infinite recursion found in Boost. - It eliminates the search for the constructor needed to copy a temporary generated by an implicit conversion from overload resolution. Overload resolution assumes that, if it gets a value of the parameter's class type (or a derived class thereof), there is a way to copy if... even if there isn't. We now model this properly. llvm-svn: 101680
* Fix an assert when assigning a boolean value to a bitfield of type _Bool.Anders Carlsson2010-04-172-1/+21
| | | | llvm-svn: 101678
* Fix declarations in a few more tests.Nick Lewycky2010-04-174-5/+5
| | | | llvm-svn: 101676
* Revert "reject forward references to functions whose type don't match", ↵Daniel Dunbar2010-04-172-5/+1
| | | | | | because DJG told me to! llvm-svn: 101675
* Fix intrinsic signature in this test.Nick Lewycky2010-04-171-1/+1
| | | | llvm-svn: 101674
* Unnamed bit-fields in a union should be laid out with a type that doesn't ↵Anders Carlsson2010-04-172-4/+28
| | | | | | affect alignment. llvm-svn: 101673
* Factor union field layout code out into a separate function. No ↵Anders Carlsson2010-04-171-18/+31
| | | | | | functionality change. llvm-svn: 101671
OpenPOWER on IntegriCloud