- Apr 28, 2010
-
-
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
-
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
-
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
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
-
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
-
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
-
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
-
Douglas Gregor authored
Objective-C++. This is the last bit of (non-blocks-related) template instantiation logic for Objective-C++. Yay! llvm-svn: 102382
-
Douglas Gregor authored
llvm-svn: 102379
-
Chris Lattner authored
mode. llvm-svn: 102377
-
Douglas Gregor authored
references and isa expressions. Also, test template instantiation of unresolved member references to Objective-C ivar references and isa expressions. llvm-svn: 102374
-
Chris Lattner authored
llvm-svn: 102369
-
Fariborz Jahanian authored
llvm-svn: 102357
-
Douglas Gregor authored
statements. This is the last of the Objective-C statements. llvm-svn: 102356
-
Douglas Gregor authored
function-parameter checking and splitting it into the normal ActOn*/Build* pair in Sema. We now use VarDecl to represent the @catch parameter rather than the ill-fitting ParmVarDecl. llvm-svn: 102347
-
Douglas Gregor authored
on that type. Fixes several problems in Boost.Interprocess. llvm-svn: 102339
-
Daniel Dunbar authored
llvm-svn: 102332
-
- Apr 25, 2010
-
-
Douglas Gregor authored
using declaration, look at its underlying declaration to determine the lookup result kind (e.g., overloaded, unresolved). Fixes at least one issue in Boost.Bimap. llvm-svn: 102317
-
Douglas Gregor authored
member expression (p-> or x.), by showing the type we looked into and what we did actually find. llvm-svn: 102315
-
Daniel Dunbar authored
- Fix some places that had the alignment hard coded. - Use ABI type alignment, not preferred type alignment -- neither of this is exactly right, as we really want the C type alignment as required by the runtime, but the ABI alignment is a more correct choice. This should be equivalent for x86_64, but fixes the alignment for ARM. llvm-svn: 102314
-
Daniel Dunbar authored
llvm-svn: 102313
-
Daniel Dunbar authored
IRgen/NeXT: Reuse EmitImageInfo for both fragile and non-fragile ABI. This fixes Clang to correctly emit the "CorrectedSynthesize" bit when using the non-fragile ABI. llvm-svn: 102312
-
Douglas Gregor authored
through using declarations. Fixes ~18 tests in Boost.Fusion. llvm-svn: 102311
-
Anders Carlsson authored
llvm-svn: 102292
-
Douglas Gregor authored
llvm-svn: 102291
-
Douglas Gregor authored
temporary needs to be bound, bind the copy object. Otherwise, we won't end up calling the destructor for the copy. Fixes Boost.Optional. llvm-svn: 102290
-
Anders Carlsson authored
llvm-svn: 102289
-
Douglas Gregor authored
bind, check accessibility of the destructor and mark the declaration as referenced. Fixes a bunch of Boost.Regex failures. llvm-svn: 102287
-
Anders Carlsson authored
DefineImplicitCopyConstructor now uses SetBaseOrMemberInitializers to create implicit base initializers. (Member initializers are still handled by CodeGenFunction::SynthesizeCXXCopyConstructor for now). llvm-svn: 102279
-
- Apr 24, 2010
-
-
Douglas Gregor authored
that the type we're copying is complete. Boost.Regex now builds, although it's failing its regression tests with our favorite "Sema doesn't consider destructor as used." assertion. llvm-svn: 102271
-
Douglas Gregor authored
copy constructor, suppress user-defined conversions on the argument. Otherwise, we can end up in a recursion loop where the bind the argument of the copy constructor to another copy constructor call, whose argument is then a copy constructor call... Found by Boost.Regex which, alas, still isn't building. llvm-svn: 102269
-
Anders Carlsson authored
llvm-svn: 102259
-