- Apr 28, 2010
-
-
Chris Lattner authored
expected-error-re {{someregex}} Patch by mike-m! llvm-svn: 102516
-
David Chisnall authored
Changed signature of GenerateMessageSend() function to pass the ObjCInterfaceDecl for class messages and removed the boolean IsClassMessage argument, which wasn't used anywhere. Emitted some metadata on message sends to allow a later pass to do some speculative inlining of class methods (GNU runtime). Speculative inlining of instance methods requires type feedback to be useful (work in progress), but for class methods it works quite nicely. llvm-svn: 102514
-
Nate Begeman authored
llvm-svn: 102512
-
Daniel Dunbar authored
Revert "Fix for PR6953: per gcc, regparm and noreturn affect the compatibility of", it is breaking the builds of quite a few projects (emacs, dovecot, gnutar, bison). llvm-svn: 102501
-
Fariborz Jahanian authored
ivar of c++ object types. llvm-svn: 102500
-
Benjamin Kramer authored
llvm-svn: 102499
-
Benjamin Kramer authored
llvm-svn: 102498
-
David Chisnall authored
llvm-svn: 102497
-
Abramo Bagnara authored
llvm-svn: 102496
-
Douglas Gregor authored
complete, return an error rather than falling back to building a dependent declaration reference, since we might not be in a dependent context. Fixes a fiendish crash-on-invalid in Boost.FunctionTypes that I wasn't able to reduce to anything useful. llvm-svn: 102491
-
Douglas Gregor authored
T::template apply<U>), handling a few cases where we previously failed and performing substitutions on such dependent names. Fixes a crash in Boost.PropertyTree. llvm-svn: 102490
-
Douglas Gregor authored
template argument deduction, use the lexical declaration context as the owner for friend function templates. Fixes 2 failures in Boost.Graph. llvm-svn: 102489
-
John McCall authored
incomplete type. Fixes PR6911. llvm-svn: 102473
-
- Apr 27, 2010
-
-
Douglas Gregor authored
visible. Fixes the remaining two failures in Boost.ScopeExit. llvm-svn: 102466
-
Abramo Bagnara authored
llvm-svn: 102465
-
Eli Friedman authored
function types. This could potentially have unexpected side-effects, so look here if there are new regressions. llvm-svn: 102464
-
Douglas Gregor authored
keep track of whether we need to zero-initialize storage prior to calling its constructor. Previously, we were only tracking this when implicitly constructing the object (a CXXConstructExpr). Fixes Boost's value-initialization tests, which means that the Boost.Config library now passes all of its tests. llvm-svn: 102461
-
David Chisnall authored
llvm-svn: 102459
-
Douglas Gregor authored
we were relying on checking for abstract class types when an array type was actually used to declare a variable, parameter, etc. However, we need to check when the construct the array for, e.g., SFINAE purposes (see DR337). Fixes problems with Boost's is_abstract type trait. llvm-svn: 102452
-
Douglas Gregor authored
UnresolvedLookupExpr and UnresolvedMemberExpr by substituting the naming class we computed when building the expression in the template... ... which we didn't always do correctly. Teach UnresolvedMemberExpr::getNamingClass() all about the new representation of injected-class-names in templates, so that it can return a naming class that is the current instantiation. Also, when decomposing a template-id into its template name and its arguments, be sure to set the naming class on the LookupResult structure. Fixes PR6947 the right way. llvm-svn: 102448
-
Benjamin Kramer authored
llvm-svn: 102447
-
Fariborz Jahanian authored
from AST, consider ivar array of objects (per Doug's comment). llvm-svn: 102446
-
Benjamin Kramer authored
llvm-svn: 102445
-
Douglas Gregor authored
tag of the same name, compare the lookup contexts rather than the actual contexts. Fixes PR6923. llvm-svn: 102437
-
Douglas Gregor authored
variables. Fixes PR6948. llvm-svn: 102436
-
Douglas Gregor authored
expressions, be sure to set the naming class of the LookupResult structure. Fixes PR6947. llvm-svn: 102434
-
Daniel Dunbar authored
llvm-svn: 102432
-
Daniel Dunbar authored
llvm-svn: 102431
-
David Chisnall authored
This works around stack corruption / crashes resulting from PR6944, and also works around people who expect 'what works on my machine' to work everywhere (GCC crashes in a number of cases on SPARC that should now work correctly with clang). llvm-svn: 102430
-
Daniel Dunbar authored
llvm-svn: 102429
-
Enea Zaffanella authored
llvm-svn: 102420
-
John McCall authored
with a qualifier referencing a different type. llvm-svn: 102409
-
John McCall authored
of a class template or class template partial specialization. That is to say, in template <class T> class A { ... }; or template <class T> class B<const T*> { ... }; make 'A<T>' and 'B<const T*>' sugar for the corresponding InjectedClassNameType when written inside the appropriate context. This allows us to track the current instantiation appropriately even inside AST routines. It also allows us to compute a DeclContext for a type much more efficiently, at some extra cost every time we write a template specialization (which can be optimized, but I've left it simple in this patch). llvm-svn: 102407
-
Fariborz Jahanian authored
constructors or destructors, not used yet. llvm-svn: 102403
-
Devang Patel authored
llvm-svn: 102398
-
Douglas Gregor authored
by using TypeSourceInfo, cleaning up the representation somewhat. Teach getTypeOperand() to strip references and cv-qualifiers, providing the semantic view of the type without requiring any extra storage (the unmodified type remains within the TypeSourceInfo). This fixes a bug found by Boost's call_traits test. Finally, clean up semantic analysis, by splitting the ActOnCXXTypeid routine into ActOnCXXTypeId (the parser action) and two BuildCXXTypeId functions, which perform the semantic analysis for typeid(type) and typeid(expression), respectively. We now perform less work at template instantiation time (we don't look for std::type_info again) and can give better diagnostics. llvm-svn: 102393
-
Chris Lattner authored
.S files. "# 123" is passed through as-is, not treated as a line marker in this mode. No testcase, because it would be nasty and isn't worth it. llvm-svn: 102391
-
Fariborz Jahanian authored
llvm-svn: 102390
-
- Apr 26, 2010
-
-
Douglas Gregor authored
thing. Audit all uses of Type::isStructure(), changing those calls to isStructureOrClassType() as needed (which is alsmost everywhere). Fixes the remaining failure in Boost.Utility/Swap. llvm-svn: 102386
-
Fariborz Jahanian authored
on a method declaration (radar 7822196). llvm-svn: 102383
-