- Mar 30, 2010
-
-
Anders Carlsson authored
llvm-svn: 99863
-
Anders Carlsson authored
Flip the switch and use the new vtable layout code for everything. I've verified that this passes a self-host but I'll let the bots self host as well before removing the now dead code. llvm-svn: 99861
-
- Mar 29, 2010
-
-
Anders Carlsson authored
When collecting virtual bases it's very important to use the canonical type of the base class. Otherwise, we might add the same virtual base class twice if the virtual base is an instantiated template. Fixes PR6251. llvm-svn: 99829
-
Chris Lattner authored
PR6661, patch by Ori Avtalion! llvm-svn: 99821
-
Anders Carlsson authored
llvm-svn: 99812
-
Douglas Gregor authored
end of a struct/class/union in C++, from Justin Bogner! llvm-svn: 99811
-
Anders Carlsson authored
Fix a nasty bug in the virtual base computation which would lead to us initializing virtual bases in the wrong order. llvm-svn: 99806
-
- Mar 28, 2010
-
-
Douglas Gregor authored
check deduced non-type template arguments and template template arguments against the template parameters for which they were deduced, performing conversions as appropriate so that deduced template arguments get the same treatment as explicitly-specified template arguments. This is the bulk of PR6723. Also keep track of whether deduction of a non-type template argument came from an array bound (vs. anywhere else). With this information, we enforce C++ [temp.deduct.type]p17, which requires exact type matches when deduction deduces a non-type template argument from something that is not an array bound. Finally, when in a SFINAE context, translate the "zero sized arrays are an extension" extension diagnostic into a hard error (for better standard conformance), which was a minor part of PR6723. llvm-svn: 99734
-
- Mar 27, 2010
-
-
Fariborz Jahanian authored
whose protocolls methods needs implementation. llvm-svn: 99730
-
Anders Carlsson authored
llvm-svn: 99729
-
Fariborz Jahanian authored
of objc classes; including which methods need be implemented and where they come from. WIP. llvm-svn: 99724
-
John McCall authored
nested within, and suddenly local classes start working. Wouldn't be necessary if I hadn't used local classes in Clang in the first place. Or, well, wouldn't be necessary yet. :) llvm-svn: 99709
-
John McCall authored
llvm-svn: 99708
-
Rafael Espindola authored
llvm-svn: 99702
-
John McCall authored
instead of the canonical parameter type (which has correctly dropped all such direct qualifiers). Fixes PR6695. llvm-svn: 99688
-
John McCall authored
lexical context. This is required for ADL to work properly; fixes PR6716. llvm-svn: 99665
-
- Mar 26, 2010
-
-
Douglas Gregor authored
namespace aliases. Fixes PR6341. llvm-svn: 99664
-
Ted Kremenek authored
when determining if it returns. Fixes <rdar://problem/7796563>. llvm-svn: 99663
-
Douglas Gregor authored
through the bases and fields of the definition of the class in which the constructor is declared, rather than some other declaration of that class. llvm-svn: 99661
-
John McCall authored
What happens here is that we actually turn the first declaration into a definition, regardless of whether it was actually originally a definition, and furthermore we do this all after we've instantiated all the declarations. This exposes a bug in my DefinitionData patch where it was only setting the DefinitionData for previous declarations, not future declarations. Fortunately, there's an iterator for that. llvm-svn: 99657
-
Douglas Gregor authored
expression can be converted to the type of another, only apply the lvalue-to-rvalue conversion to the type of the expression we're converting, *not* the array-to-pointer or function-to-pointer conversions. Fixes PR6595. llvm-svn: 99652
-
Daniel Dunbar authored
we aren't always able to find on Win32. llvm-svn: 99649
-
Douglas Gregor authored
CheckReferenceInit to using the new initialization sequence code. llvm-svn: 99647
-
Daniel Dunbar authored
llvm-svn: 99634
-
Chris Lattner authored
llvm-svn: 99627
-
Chris Lattner authored
Abramo Bagnara! llvm-svn: 99626
-
Chris Lattner authored
llvm-svn: 99625
-
Chris Lattner authored
form a >>=. Patch by Abramo Bagnara, testcase by me. llvm-svn: 99624
-
Chris Lattner authored
llvm-svn: 99623
-
Gabor Greif authored
argument list seems to be different, but in fact is semantically equivalent; check that we do not error here llvm-svn: 99617
-
Nick Lewycky authored
llvm-svn: 99616
-
Douglas Gregor authored
llvm-svn: 99615
-
Douglas Gregor authored
llvm-svn: 99613
-
John McCall authored
pattern if it has a body. llvm-svn: 99610
-
John McCall authored
llvm-svn: 99601
-
Douglas Gregor authored
that we extend/truncate then correct the sign to convert the non-type template argument to the template parameter's type. Previously, we reported an error when the non-type template argument was out of range; now we just warn. llvm-svn: 99600
-
John McCall authored
llvm-svn: 99596
-
Ted Kremenek authored
llvm-svn: 99595
-
Douglas Gregor authored
llvm-svn: 99583
-
- Mar 25, 2010
-
-
Douglas Gregor authored
the type of its corresponding non-type template parameter changes the value. Previously, we were diagnosing this as an error, which was wrong. We give reasonably nice warnings like: test/SemaTemplate/temp_arg_nontype.cpp:100:10: warning: non-type template argument value '256' truncated to '0' for template parameter of type 'unsigned char' Overflow<256> *overflow3; // expected-warning{{non-type template ... ^~~ test/SemaTemplate/temp_arg_nontype.cpp:96:24: note: template parameter is declared here template<unsigned char C> struct Overflow; ^ llvm-svn: 99561
-