- May 16, 2010
-
-
Chandler Carruth authored
initializer, don't fold paramters. Their initializers are just default arguments which can be overridden. This fixes some spectacular regressions due to more things making it into the constant folding. llvm-svn: 103904
-
Chris Lattner authored
llvm-svn: 103900
-
rdar://7985267Chris Lattner authored
passed to va_start, it doesn't actually pass it. llvm-svn: 103899
-
John McCall authored
entirely sure what this does, to be honest. llvm-svn: 103895
-
John McCall authored
ObjCObjectTypeLoc. This should clear up some valgrind errors we've been seeing. llvm-svn: 103894
-
John McCall authored
can probably do this for us, but it's actually somewhat nicer to write it out here. llvm-svn: 103893
-
Douglas Gregor authored
__cxa_guard_abort along the exceptional edge into (in effect) a nested "try" that rethrows after aborting. Fixes PR7144 and the remaining Boost.ProgramOptions failures, along with the regressions that r103880 caused. The crucial difference between this and r103880 is that we now follow LLVM's little dance with the llvm.eh.exception and llvm.eh.selector calls, then use _Unwind_Resume_or_Rethrow to rethrow. llvm-svn: 103892
-
Douglas Gregor authored
because it's causing strange linker errors. Unfixes PR7144. llvm-svn: 103890
-
Fariborz Jahanian authored
llvm-svn: 103889
-
Fariborz Jahanian authored
in Objective-c++ mode. Fixes radar 7986354. llvm-svn: 103887
-
- May 15, 2010
-
-
Douglas Gregor authored
__cxa_guard_abort along the exceptional edge into (in effect) a nested "try" that rethrows after aborting. Fixes PR7144 and the remaining Boost.ProgramOptions failures. llvm-svn: 103880
-
Douglas Gregor authored
llvm-svn: 103879
-
John McCall authored
llvm-svn: 103875
-
Chris Lattner authored
llvm-svn: 103874
-
Chris Lattner authored
llvm-svn: 103873
-
Douglas Gregor authored
destroy the variable along the exceptional edge; it's only during normal execution that we avoid destroying this variable. llvm-svn: 103872
-
John McCall authored
ObjCObjectType, which is basically just a pair of one of {primitive-id, primitive-Class, user-defined @class} with a list of protocols. An ObjCObjectPointerType is therefore just a pointer which always points to one of these types (possibly sugared). ObjCInterfaceType is now just a kind of ObjCObjectType which happens to not carry any protocols. Alter a rather large number of use sites to use ObjCObjectType instead of ObjCInterfaceType. Store an ObjCInterfaceType as a pointer on the decl rather than hashing them in a FoldingSet. Remove some number of methods that are no longer used, at least after this patch. By simplifying ObjCObjectPointerType, we are now able to easily remove and apply pointers to Objective-C types, which is crucial for a certain kind of ObjC++ metaprogramming common in WebKit. llvm-svn: 103870
-
Douglas Gregor authored
return statements. We perform NRVO only when all of the return statements in the function return the same variable. Fixes some link failures in Boost.Interprocess (which is relying on NRVO), and probably improves performance for some C++ applications. llvm-svn: 103867
-
Douglas Gregor authored
return value optimization. Sema marks return statements with their NRVO candidates (which may or may not end up using the NRVO), then, at the end of a function body, computes and marks those variables that can be allocated into the return slot. I've checked this locally with some debugging statements (not committed), but there won't be any tests until CodeGen comes along. llvm-svn: 103865
-
Chris Lattner authored
implicit conversions where needed. This fixes an error reported on cfe-dev, not really worth a testcase though. llvm-svn: 103864
-
Douglas Gregor authored
"return" statement and mark the corresponding CXXConstructExpr as elidable. Teach CodeGen that eliding a temporary is different from eliding an object construction. This is just a baby step toward NRVO. llvm-svn: 103849
-
Daniel Dunbar authored
llvm-svn: 103843
-
Daniel Dunbar authored
llvm-svn: 103842
-
-
Daniel Dunbar authored
assembler defaults to on. llvm-svn: 103825
-
- May 14, 2010
-
-
Douglas Gregor authored
llvm-svn: 103819
-
Fariborz Jahanian authored
Radar 7923673. llvm-svn: 103812
-
Douglas Gregor authored
part (or possibly all) of PR7132. llvm-svn: 103810
-
Ted Kremenek authored
Clang's representation of the C type system to clients. It is nowhere near complete, and will be expanded on demand. llvm-svn: 103809
-
Douglas Gregor authored
throw, it should use invoke when needed. The fixes the Boost.Statechrt failures that motivated PR7132, but there are a few side issues to tackle as well. llvm-svn: 103803
-
Anders Carlsson authored
llvm-svn: 103793
-
Anders Carlsson authored
llvm-svn: 103792
-
Fariborz Jahanian authored
user directive is needed to force a property implementation. It is decided based on those propeties which are declared in the class (or in its protocols) but not those which must be default implemented by one of its super classes. Implements radar 7923851. llvm-svn: 103787
-
Ted Kremenek authored
llvm-svn: 103785
-
Chris Lattner authored
declarator is incorrect. Not being a typename causes the parser to dive down into the K&R identifier list handling stuff, which is almost never the right thing to do. Before: r.c:3:17: error: expected ')' void bar(intptr y); ^ r.c:3:9: note: to match this '(' void bar(intptr y); ^ r.c:3:10: error: a parameter list without types is only allowed in a function definition void bar(intptr y); ^ After: r.c:3:10: error: unknown type name 'intptr'; did you mean 'intptr_t'? void bar(intptr y); ^~~~~~ intptr_t r.c:1:13: note: 'intptr_t' declared here typedef int intptr_t; ^ This fixes rdar://7980651 - poor recovery for bad type in the first arg of a C function llvm-svn: 103783
-
Chris Lattner authored
llvm-svn: 103782
-
Chris Lattner authored
identifier in the identifier list consumed before it is called. No functionality change. llvm-svn: 103781
-
Abramo Bagnara authored
llvm-svn: 103780
-
Devang Patel authored
Providing linkage name for function static variable confuses gdb, so don't do that. llvm-svn: 103779
-
Daniel Dunbar authored
types.", it is breaking Clang bootstrap. llvm-svn: 103775
-