| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
| |
storage for that partial diagnostic via the ASTContext's
BumpPtrAllocator rather than using up slots in the ASTContext's
cache. Now that we do this, we don't have to worry about destroying
dependent diagnostics when destroying a DependentStoredDeclsMap.
llvm-svn: 99854
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
cache of PartialDiagnostic::Storage objects into an allocator within
the ASTContext. This eliminates a significant amount of malloc
traffic, for a 10% performance improvement in -fsyntax-only wall-clock
time with 403.gcc's combine.c.
Also, eliminate the RequireNonAbstractType hack I put in earlier,
which was but a symptom of this larger problem.
Fixes <rdar://problem/7806091>.
llvm-svn: 99849
|
| |
|
|
|
|
| |
a 2.47% speedup in 403.gcc.
llvm-svn: 99830
|
| |
|
|
|
|
| |
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
|
| |
|
|
| |
llvm-svn: 99828
|
| |
|
|
|
|
|
|
| |
codegen time
on one .i file from 403.gcc by 0.5%.
llvm-svn: 99823
|
| |
|
|
|
|
| |
PR6661, patch by Ori Avtalion!
llvm-svn: 99821
|
| |
|
|
|
|
| |
Anton Yartsev!
llvm-svn: 99817
|
| |
|
|
| |
llvm-svn: 99812
|
| |
|
|
|
|
| |
end of a struct/class/union in C++, from Justin Bogner!
llvm-svn: 99811
|
| |
|
|
| |
llvm-svn: 99807
|
| |
|
|
|
|
| |
initializing virtual bases in the wrong order.
llvm-svn: 99806
|
| |
|
|
|
|
|
| |
This patch moves some methods from QualType to Type and changes the users to
use -> instead of .
llvm-svn: 99805
|
| |
|
|
|
|
| |
everything by setting a flag inside CGVtable.cpp. My plan is to run some tests and bootstrap and once that's done flip the bit.
llvm-svn: 99804
|
| |
|
|
|
|
| |
was seeing in files generated by the vtable tester utility.
llvm-svn: 99801
|
| |
|
|
|
|
| |
verified that clang bootstraps with this.
llvm-svn: 99800
|
| |
|
|
| |
llvm-svn: 99799
|
| |
|
|
| |
llvm-svn: 99798
|
| |
|
|
| |
llvm-svn: 99793
|
| |
|
|
|
|
| |
now pass the test from http://www.codesourcery.com/public/cxx-abi/abi-examples.html#vtable-ctor successfully.
llvm-svn: 99792
|
| |
|
|
| |
llvm-svn: 99791
|
| |
|
|
|
|
| |
vtable.
llvm-svn: 99790
|
| |
|
|
| |
llvm-svn: 99788
|
| |
|
|
|
|
| |
-fdump-vtable-layouts since it doesn't work 100% yet :)
llvm-svn: 99787
|
| |
|
|
|
|
| |
initializer and we weren't storing the secondary virtual pointer indices.
llvm-svn: 99786
|
| |
|
|
|
|
| |
pointer for all bases, even those without a vtable pointer :)
llvm-svn: 99777
|
| |
|
|
| |
llvm-svn: 99776
|
| |
|
|
|
|
| |
vtable pointer for non-virtual primary bases. We also do a pre-order traversal of the class hierarchy; this is necessary in order to get the right vbase offset offsets in base ctors/dtors.
llvm-svn: 99775
|
| |
|
|
| |
llvm-svn: 99773
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
| |
llvm-svn: 99731
|
| |
|
|
|
|
| |
whose protocolls methods needs implementation.
llvm-svn: 99730
|
| |
|
|
| |
llvm-svn: 99729
|
| |
|
|
|
|
|
|
| |
of objc classes; including which methods
need be implemented and where they come from.
WIP.
llvm-svn: 99724
|
| |
|
|
|
|
|
|
| |
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
|
| |
|
|
| |
llvm-svn: 99708
|
| |
|
|
|
|
|
|
| |
the typeinfo for the fundamental types.
Fixes PR6685.
llvm-svn: 99701
|
| |
|
|
|
|
|
| |
instead of the canonical parameter type (which has correctly dropped all such
direct qualifiers). Fixes PR6695.
llvm-svn: 99688
|
| |
|
|
| |
llvm-svn: 99666
|
| |
|
|
|
|
| |
lexical context. This is required for ADL to work properly; fixes PR6716.
llvm-svn: 99665
|
| |
|
|
|
|
| |
namespace aliases. Fixes PR6341.
llvm-svn: 99664
|
| |
|
|
|
|
| |
when determining if it returns. Fixes <rdar://problem/7796563>.
llvm-svn: 99663
|
| |
|
|
|
|
| |
attribute to a FunctionDecl.
llvm-svn: 99662
|
| |
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
| |
override to enable use of the DarwinClang tool chain on all platforms (not just
ARM).
llvm-svn: 99660
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
templates.
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
|
| |
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
| |
re-route its only caller to the newer
PerformCopyInitialization(). We're down to one remaining caller of
Sema::CheckReferenceInit.
llvm-svn: 99650
|
| |
|
|
| |
llvm-svn: 99648
|
| |
|
|
|
|
| |
CheckReferenceInit to using the new initialization sequence code.
llvm-svn: 99647
|