| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
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
|
| |
|
|
|
|
| |
configuration.
llvm-svn: 99641
|
| |
|
|
|
|
| |
Abramo Bagnara!
llvm-svn: 99626
|
| |
|
|
|
|
| |
form a >>=. Patch by Abramo Bagnara, testcase by me.
llvm-svn: 99624
|
| |
|
|
| |
llvm-svn: 99616
|
| |
|
|
| |
llvm-svn: 99615
|
| |
|
|
| |
llvm-svn: 99614
|
| |
|
|
|
|
| |
initialized.
llvm-svn: 99612
|
| |
|
|
|
|
|
|
|
|
| |
parameter, keep the integral value exactly as it was in the source
code rather than trying to convert it to the type of the non-type
template parameter (which may still be dependent!). The value will
then be converted to the appropriate type once we check the resulting
template arguments. Fixes PR6707.
llvm-svn: 99611
|
| |
|
|
|
|
| |
pattern if it has a body.
llvm-svn: 99610
|
| |
|
|
|
|
| |
construction vtables.
llvm-svn: 99609
|
| |
|
|
|
|
| |
yet).
llvm-svn: 99608
|
| |
|
|
| |
llvm-svn: 99606
|
| |
|
|
| |
llvm-svn: 99605
|
| |
|
|
| |
llvm-svn: 99604
|
| |
|
|
| |
llvm-svn: 99601
|
| |
|
|
|
|
|
|
|
| |
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
|
| |
|
|
| |
llvm-svn: 99596
|
| |
|
|
| |
llvm-svn: 99588
|
| |
|
|
| |
llvm-svn: 99587
|
| |
|
|
| |
llvm-svn: 99586
|
| |
|
|
|
|
| |
broken tramp3d-v4.
llvm-svn: 99583
|
| |
|
|
|
|
| |
Fixes PR6706.
llvm-svn: 99582
|
| |
|
|
| |
llvm-svn: 99581
|
| |
|
|
| |
llvm-svn: 99576
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
| |
how to handle a diagnostic during template argument deduction, which
may be "substitution failure", "suppress", or "report". This keeps us
from, e.g., emitting warnings while performing template argument
deduction.
llvm-svn: 99560
|
| |
|
|
|
|
|
| |
doing all the cleanup tasks and checks. This gives us the proper context for
checking access to base and member destructors.
llvm-svn: 99559
|
| |
|
|
|
|
| |
from properties of _Complex type. (radar 7351147).
llvm-svn: 99558
|
| |
|
|
|
|
| |
in the complete class.
llvm-svn: 99555
|
| |
|
|
|
|
|
| |
friendship for a derived class if the base class specifier was non-public,
and thus not considering friendship for non-public members of public bases.
llvm-svn: 99554
|
| |
|
|
|
|
|
| |
we look for shadow friend decls in the appropriate scope before injecting
a new declaration.
llvm-svn: 99552
|
| |
|
|
| |
llvm-svn: 99525
|
| |
|
|
|
|
|
| |
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
|