| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
| |
checking trivial comparisons. Fixes PR8795.
llvm-svn: 122322
|
|
|
|
|
|
| |
omission
llvm-svn: 122318
|
|
|
|
| |
llvm-svn: 122317
|
|
|
|
| |
llvm-svn: 122315
|
|
|
|
|
|
| |
Fix PR8832.
llvm-svn: 122311
|
|
|
|
| |
llvm-svn: 122309
|
|
|
|
|
|
| |
in an exception specification.
llvm-svn: 122297
|
|
|
|
|
|
|
| |
Apply the noreturn attribute while creating a builtin function's type.
Remove the getNoReturnType() API.
llvm-svn: 122295
|
|
|
|
|
|
|
|
| |
unknown type and there is a possibility that
at runtime method is resolved to a deprecated or
unavailable method. Addreses // rdar://8769853
llvm-svn: 122294
|
|
|
|
|
|
|
| |
specifications. We can't yet instantiate them, however, since I
tripped over PR8835.
llvm-svn: 122292
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
lists, so that all such transformations go through a single,
iterator-based transformation function. This is the only place where
we need to implement the logic for transforming pack expansions whose
pattern is a template argument.
Unfortunately, the new cases this refactoring brings into the fold
can't be meaningfully tested yet. We need template argument deduction
to work well enough for variadic function templates first.
llvm-svn: 122289
|
|
|
|
|
|
|
|
|
|
|
| |
shouldWalkTypesOfTypeLocs() that determines whether it should walk the
Types within TypeLocs. This walk is redundant, but perhaps required
for some clients. Disabling this redundant walk in the unexpanded
parameter pack finder produces better results, because we get
parameter packs with source location info *unless* such source
location information isn't available.
llvm-svn: 122287
|
|
|
|
|
|
|
| |
the first qualifier in scope. We can't adequately test this test,
unfortunately.
llvm-svn: 122283
|
|
|
|
|
|
| |
in a nested-name-specifier
llvm-svn: 122282
|
|
|
|
|
|
|
|
| |
agressive. Now we
don't warn if an argument is not used because it is shadowed by a subsequent argument.
llvm-svn: 122281
|
|
|
|
|
|
| |
getting extra "<>" delimiters around template argument packs.
llvm-svn: 122280
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
whose patterns are template arguments. We can now instantiate, e.g.,
typedef tuple<pair<OuterTypes, InnerTypes>...> type;
where OuterTypes and InnerTypes are template type parameter packs.
There is a horrible inefficiency in
TemplateArgumentLoc::getPackExpansionPattern(), where we need to
create copies of TypeLoc data because our interfaces traffic in
TypeSourceInfo pointers where they should traffic in TypeLocs
instead. I've isolated in efficiency in this one routine; once we
refactor our interfaces to traffic in TypeLocs, we can eliminate it.
llvm-svn: 122278
|
|
|
|
| |
llvm-svn: 122271
|
|
|
|
| |
llvm-svn: 122270
|
|
|
|
| |
llvm-svn: 122257
|
|
|
|
|
|
| |
centralizing the transformation into two routines. No functionality change.
llvm-svn: 122253
|
|
|
|
|
|
| |
the list traversal. Part 1, no functionality change.
llvm-svn: 122252
|
|
|
|
|
|
|
|
|
|
|
|
| |
a parameter pack, check the parameter pack against each of the
template arguments it corresponds to, then pack the converted
arguments into a template argument pack. Allows us to use variadic
class templates so long as instantiation isn't required, e.g.,
template<typename... Types> struct Tuple;
Tuple<int, float> *t2;
llvm-svn: 122251
|
|
|
|
|
|
|
| |
area of printing template arguments. The functionality changes here
are limited to cases of variadic templates that aren't yet enabled.
llvm-svn: 122250
|
|
|
|
|
|
| |
Remove a line: this test is line position sensitive.
llvm-svn: 122231
|
|
|
|
| |
llvm-svn: 122230
|
|
|
|
|
|
| |
XFAIL for now, I'll investigate why later.
llvm-svn: 122229
|
|
|
|
|
|
|
|
| |
test run.
I have no idea how to fix it.
llvm-svn: 122227
|
|
|
|
|
|
| |
GUID.
llvm-svn: 122226
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
pack expansions, e.g. given
template<typename... Types> struct tuple;
template<typename... Types>
struct tuple_of_refs {
typedef tuple<Types&...> types;
};
the type of the "types" typedef is a PackExpansionType whose pattern
is Types&.
This commit introduces support for creating pack expansions for
template type arguments, as above, but not for any other kind of pack
expansion, nor for any form of instantiation.
llvm-svn: 122223
|
|
|
|
| |
llvm-svn: 122220
|
|
|
|
| |
llvm-svn: 122194
|
|
|
|
|
|
| |
2. Add attibutes "interrupt_handler" and "save_volatiles" for the Microblaze target.
llvm-svn: 122184
|
|
|
|
|
|
|
|
| |
example:
struct __declspec(uuid("6d5140c1-7436-11ce-8034-00aa006009fa"))
test { };
llvm-svn: 122173
|
|
|
|
| |
llvm-svn: 122162
|
|
|
|
|
|
| |
create a temporary object for it.
llvm-svn: 122161
|
|
|
|
| |
llvm-svn: 122146
|
|
|
|
|
|
| |
equivalents.
llvm-svn: 122140
|
|
|
|
| |
llvm-svn: 122137
|
|
|
|
|
|
|
| |
don't provide their own explicit visibility attributes should get them
from the template. Fixes rdar://problem/8778497.
llvm-svn: 122136
|
|
|
|
| |
llvm-svn: 122117
|
|
|
|
| |
llvm-svn: 122096
|
|
|
|
|
|
|
| |
implicitly atomic under -Wimplicit-atomic-properties
flag. // rdar://8774580
llvm-svn: 122095
|
|
|
|
| |
llvm-svn: 122088
|
|
|
|
| |
llvm-svn: 122087
|
|
|
|
| |
llvm-svn: 122084
|
|
|
|
| |
llvm-svn: 122083
|
|
|
|
|
|
| |
that match gcc versions. Eew.
llvm-svn: 122080
|
|
|
|
| |
llvm-svn: 122079
|
|
|
|
|
|
| |
the AST, so that we visit them in source order. Fixes <rdar://problem/8779113>.
llvm-svn: 122062
|