| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
| |
gcc, and the common expectation seems to be that they are unused. If and when
someone cares we can add them back with well documented demantics.
llvm-svn: 99522
|
| |
|
|
| |
llvm-svn: 99516
|
| |
|
|
| |
llvm-svn: 99513
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- When substituting template arguments as part of template argument
deduction, introduce a new local instantiation scope.
- When substituting into a function prototype type, introduce a new
"temporary" local instantiation scope that merges with its outer
scope but also keeps track of any additions it makes, removing
them when we exit that scope.
Fixes PR6700, where we were getting too much mixing of local
instantiation scopes due to template argument deduction that
substituted results into function types.
llvm-svn: 99509
|
| |
|
|
|
|
| |
will be generated using the new vtable layout code. (The code is still not completely in place but this is a huge step forward).
llvm-svn: 99508
|
| |
|
|
|
|
|
| |
the redeclaration chain. Recommitted from r99477 with a fix: we need to
merge in default template arguments from previous declarations.
llvm-svn: 99496
|
| |
|
|
|
|
|
|
|
|
|
| |
buildbot. The tramp3d test fails.
--- Reverse-merging r99477 into '.':
U test/SemaTemplate/friend-template.cpp
U test/CXX/temp/temp.decls/temp.friend/p1.cpp
U lib/Sema/SemaTemplateInstantiateDecl.cpp
U lib/Sema/SemaAccess.cpp
llvm-svn: 99481
|
| |
|
|
|
|
|
|
|
| |
(1) Do not assume the data arguments start after the format string
(2) Do not use the fact that a function is variadic to treat it like a va_list printf function
Fixes PR 6697.
llvm-svn: 99480
|
| |
|
|
| |
llvm-svn: 99479
|
| |
|
|
| |
llvm-svn: 99477
|
| |
|
|
|
|
| |
Instead of setting the ReturnExpr GDM to NULL, remove it.
llvm-svn: 99470
|
| |
|
|
| |
llvm-svn: 99462
|
| |
|
|
|
|
| |
code for address points.
llvm-svn: 99461
|
| |
|
|
|
|
|
|
| |
initialization code. Exposed a bug where we were not marking an
implicit conversion as an lvalue when we were forming a call to a
conversion function whose return type is a reference.
llvm-svn: 99459
|
| |
|
|
|
|
|
|
| |
CheckReferenceInit) over to the new initialization code
(InitializationSequence), which is better-tested and doesn't require
us to compute the entire conversion sequence twice.
llvm-svn: 99452
|
| |
|
|
|
|
|
|
| |
EmitReferenceBindingToExpr() rather than assuming we have an
lvalue. This is just the lowest hanging fruit for PR6024, which still
requires a bit of work.
llvm-svn: 99447
|
| |
|
|
| |
llvm-svn: 99442
|
| |
|
|
| |
llvm-svn: 99441
|
| |
|
|
|
|
|
| |
not pick apart a CXXTemporaryObjectExpr because such an object
construction was explicitly written in the source code. Fixes PR6657.
llvm-svn: 99427
|
| |
|
|
|
|
| |
Class type to match gcc's. Fixes radar 7789113.
llvm-svn: 99425
|
| |
|
|
| |
llvm-svn: 99417
|
| |
|
|
|
|
| |
extension (radar 6812436).
llvm-svn: 99408
|
| |
|
|
|
|
|
|
| |
since we have absolutely no way to match them when they are declared
nor do we have a way to represent these parsed-but-not-checked friend
declarations.
llvm-svn: 99407
|
| |
|
|
|
|
| |
silencing a Clang warning
llvm-svn: 99405
|
| |
|
|
|
|
| |
Fixes PR6641.
llvm-svn: 99404
|
| |
|
|
|
|
| |
related information which avoids computing the same vtable layout over and over.
llvm-svn: 99403
|
| |
|
|
| |
llvm-svn: 99391
|
| |
|
|
|
|
|
|
|
| |
template <> friend void foo(int);
we need to change it to
friend void foo<>(int);
or else the user won't get the template specialization they obviously want.
llvm-svn: 99390
|
| |
|
|
| |
llvm-svn: 99389
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
that was present in a prior declaration, emit a warning rather than a
hard error (which we did before, and still do with mismatched
exception specifications). Moreover, provide a fix-it hint with the
throw() clause that should be added, e.g.,
t.C:10:7: warning: 'operator new' is missing exception specification
'throw(std::bad_alloc)'
void *operator new(unsigned long sz)
^
throw(std::bad_alloc)
As part of this, disable the warning when we're missing an exception
specification on operator new, operator new[], operator delete, or
operator delete[] when exceptions are turned off (-fno-exceptions).
Fixes PR5957.
llvm-svn: 99388
|
| |
|
|
| |
llvm-svn: 99385
|
| |
|
|
| |
llvm-svn: 99384
|
| |
|
|
|
|
|
|
|
| |
templates. So delay access-control diagnostics when (for example) the target
of a friend declaration is a specific specialization of a template.
I was surprised to find that this was required for an access-controlled selfhost.
llvm-svn: 99383
|
| |
|
|
|
|
|
| |
operators, make sure that the implicitly-declared global new and
delete operators are always available. Fixes PR5904.
llvm-svn: 99382
|
| |
|
|
|
|
| |
(finally).
llvm-svn: 99381
|
| |
|
|
|
|
| |
scope. Fixes PR6619.
llvm-svn: 99377
|
| |
|
|
| |
llvm-svn: 99374
|
| |
|
|
|
|
|
|
|
|
| |
each namespace, even when the outer namespace has multiple
definitions. As part of this, collapsed two pointers worth of storage
(original namespace and inner anonymous namespace) into a single
pointer with a distinguishing bit, since the two are mutually
exclusive, saving a pointer per NamespaceDecl. Fixes PR6620.
llvm-svn: 99368
|
| |
|
|
|
|
| |
Add a thunks.cpp test.
llvm-svn: 99367
|
| |
|
|
| |
llvm-svn: 99365
|
| |
|
|
| |
llvm-svn: 99364
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
function within a class hierarchy (C++ [class.virtual]p2).
We use the final-overrider computation to determine when a particular
class is ill-formed because it has multiple final overriders for a
given virtual function (e.g., because two virtual functions override
the same virtual function in the same virtual base class). Fixes
PR5973.
We also use the final-overrider computation to determine which virtual
member functions are pure when determining whether a class is
abstract or diagnosing the improper use of an abstract class. The
prior approach to determining whether there were any pure virtual
functions in a class didn't cope with virtual base class subobjects
properly, and could not easily be fixed to deal with the oddities of
subobject hiding. Fixes PR6631.
llvm-svn: 99351
|
| |
|
|
| |
llvm-svn: 99317
|
| |
|
|
|
|
|
|
| |
of the
ivar and @property respectively.
llvm-svn: 99312
|
| |
|
|
|
|
| |
declaration.
llvm-svn: 99311
|
| |
|
|
|
|
|
| |
types using property syntax to access setter/getters.
(also radar 7351147).
llvm-svn: 99307
|
| |
|
|
|
|
| |
as the thunk already.
llvm-svn: 99303
|
| |
|
|
|
|
| |
properties of complex type. Radar 7351147.
llvm-svn: 99299
|
| |
|
|
| |
llvm-svn: 99294
|
| |
|
|
| |
llvm-svn: 99287
|