- May 14, 2009
-
-
Mike Stump authored
llvm-svn: 71763
-
Daniel Dunbar authored
emit the correct "display name". I suspect we need more work here, see FIXME for example. llvm-svn: 71761
-
Anders Carlsson authored
Add return type checking for overriding virtual functions. We currently don't check covariance but that's next. llvm-svn: 71759
-
Jim Grosbach authored
llvm.eh.sjlj.* for better clarity as to their purpose and scope. Add a description of llvm.eh.sjlj.setjmp to ExceptionHandling.html. (llvm.eh.sjlj.longjmp documentation coming when that implementation is added). llvm-svn: 71758
-
Dan Gohman authored
asm construct into an assertion failure. llvm-svn: 71757
-
Douglas Gregor authored
template<typename T> struct X { struct Inner; }; template struct X<int>::Inner; This change is larger than it looks because it also fixes some a problem with nested-name-specifiers and tags. We weren't requiring the DeclContext associated with the scope specifier of a tag to be complete. Therefore, when looking for something like "struct X<int>::Inner", we weren't instantiating X<int>. This, naturally, uncovered a problem with member pointers, where we were requiring the left-hand side of a member pointer access expression (e.g., x->*) to be a complete type. However, this is wrong: the semantics of this expression does not require a complete type (EDG agrees). Stuart vouched for me. Blame him. llvm-svn: 71756
-
Mike Stump authored
Radar 6867696 llvm-svn: 71750
-
Bill Wendling authored
Basically, there was a situation where it was getting an empty vector and doing a .back() on that. Which isn't cool. llvm-svn: 71746
-
Bob Wilson authored
block with its unique predecessor. Change the code to assert if that is not the case, instead of trying to handle situations where the block has multiple predecessors. llvm-svn: 71744
-
Jim Grosbach authored
of exception handling builtin sjlj targets in functions turns out not to be necessary. Marking the intrinsic implementation in the .td file as defining all registers is sufficient to get the context saved properly by the containing function. llvm-svn: 71743
-
Bob Wilson authored
Dan was trying to catch the case where a basic block ends with a conditional branch to the fall-through block. In this case, all the instructions have been moved out of FromBBI, leaving it empty. It cannot end with a conditional branch. As the existing comment indicates, it will always fall through to the next block. If the block already had the next block (NBB) listed as a successor, the preceding loop has a check for that and does not remove it. Thus, we need to check and add the successor only when it is not already listed. With Dan's change, the empty block often ends up with the fall-through successor listed twice. This exposed the problem in pr4195, where CodePlacementOpt did not handle the same predecessor listed more than once. It is also at least partially responsible for pr4202 and probably a similar issue with Thumb branches being out of range. llvm-svn: 71742
-
Bob Wilson authored
llvm-svn: 71741
-
Bob Wilson authored
llvm-svn: 71740
-
Bob Wilson authored
field name. No functional changes. llvm-svn: 71739
-
Mike Stump authored
llvm-svn: 71738
-
Fariborz Jahanian authored
dispatch arguments which have sentinel attribute. llvm-svn: 71737
-
Daniel Dunbar authored
debug info. llvm-svn: 71736
-
Jim Grosbach authored
llvm-svn: 71735
-
Dan Gohman authored
llvm-svn: 71734
-
- May 13, 2009
-
-
Bill Wendling authored
llvm-svn: 71730
-
Evan Cheng authored
llvm-svn: 71726
-
Daniel Dunbar authored
llvm-svn: 71725
-
Evan Cheng authored
llvm-svn: 71724
-
Daniel Dunbar authored
compared to gcc. This is worrisome, but I believe we are doing the "correct" thing, and if I recall correctly I previously verified this versus MSVC. llvm-svn: 71723
-
Bill Wendling authored
booleans. This gives a better indication of what the "addReg()" is doing. Remembering what all of those booleans mean isn't easy, especially if you aren't spending all of your time in that code. I took Jakob's suggestion and made it illegal to pass in "true" for the flag. This should hopefully prevent any unintended misuse of this (by reverting to the old way of using addReg()). llvm-svn: 71722
-
Anders Carlsson authored
llvm-svn: 71721
-
Anders Carlsson authored
llvm-svn: 71720
-
Ted Kremenek authored
cf_returns_retained. Currently this attribute can now be applied to any Objective-C method or C function that returns a pointer or Objective-C object type. Modify the tablegen definition of diagnostic 'warn_attribute_wrong_decl_type' to expect that the diagnostics infrastructure will add quotes around the attribute name when appropriate. Alonq with this change, I modified the places where this warning is issued to passed the attribute's IdentifierInfo* instead of having a hard-coded C constant string. llvm-svn: 71718
-
Dale Johannesen authored
llvm-svn: 71717
-
Ted Kremenek authored
llvm-svn: 71716
-
Bill Wendling authored
belonged. The variable declaration stuff wasn't happy with it where it was. Sorry that the testcase is so big. Bugpoint wasn't able to reduce it successfully. llvm-svn: 71714
-
Douglas Gregor authored
of class members (recursively). Only member classes are actually instantiated; the instantiation logic for member functions and variables are just stubs. llvm-svn: 71713
-
Anders Carlsson authored
Disable access control by default. It can be enabled with the -faccess-control option. When we have better support for it, we can enable it by default again. llvm-svn: 71706
-
Ted Kremenek authored
llvm-svn: 71701
-
Ted Kremenek authored
llvm-svn: 71700
-
Ted Kremenek authored
llvm-svn: 71699
-
Daniel Dunbar authored
llvm-svn: 71698
-
Daniel Dunbar authored
coercion to be specified which truncates padding bits. It would be nice to still have the assert, but we don't have any API call for the unpadding size of a type yet. llvm-svn: 71695
-
Dale Johannesen authored
llvm-svn: 71691
-
Douglas Gregor authored
templates. In particular: - An explicit instantiation can follow an implicit instantiation (we were improperly diagnosing this as an error, previously). - In C++0x, an explicit instantiation that follows an explicit specialization of the same template specialization is ignored. In C++98, we just emit an extension warning. - In C++0x, an explicit instantiation must be in a namespace enclosing the original template. C++98 has no such requirement. Also, fixed a longstanding FIXME regarding the integral type that is used for the size of a constant array type when it is being instantiated. llvm-svn: 71689
-