| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
|
|
|
|
| |
the cause of our gcc bootstrap miscompare."
It didn't.
llvm-svn: 123215
|
| |
|
|
|
|
|
| |
complete. However, if it returns a reference type, don't require the
type it refers to to be complete. Fixes <rdar://problem/8807070>.
llvm-svn: 123214
|
| |
|
|
|
|
|
|
|
| |
parameters it expanded to, map exactly the number of function
parameters that were expanded rather than just running to the end of
the instantiated parameter list. This finishes the implementation of
the last sentence of C++0x [temp.deduct.call]p1.
llvm-svn: 123213
|
| |
|
|
|
|
| |
with lowercase letter.
llvm-svn: 123212
|
| |
|
|
|
|
| |
with a lower-case letter. No functionality change.
llvm-svn: 123211
|
| |
|
|
|
|
|
|
|
| |
sentence of [temp.deduct.call]p1, both of which concern the
non-deducibility of parameter packs not at the end of a
parameter-type-list. The latter isn't fully implemented yet; see the
new FIXME.
llvm-svn: 123210
|
| |
|
|
|
|
| |
PathV2::is_directory.
llvm-svn: 123209
|
| |
|
|
| |
llvm-svn: 123208
|
| |
|
|
|
|
| |
gcc bootstrap miscompare.
llvm-svn: 123207
|
| |
|
|
|
|
|
|
| |
point values to their integer representation through the SSE intrinsic
calls. This is the last part of a README.txt entry for which I have real
world examples.
llvm-svn: 123206
|
| |
|
|
|
|
| |
file and make it actually test something...
llvm-svn: 123205
|
| |
|
|
|
|
| |
appropritely when there are no other template arguments.
llvm-svn: 123204
|
| |
|
|
|
|
|
|
| |
determining which bits are demanded by
a comparison against a constant.
llvm-svn: 123203
|
| |
|
|
| |
llvm-svn: 123202
|
| |
|
|
| |
llvm-svn: 123201
|
| |
|
|
| |
llvm-svn: 123200
|
| |
|
|
| |
llvm-svn: 123199
|
| |
|
|
|
|
|
|
| |
expression kinds. This is (indirectly) a test verifying that the
recursive AST visitor is visiting the children of these expression
nodes.
llvm-svn: 123198
|
| |
|
|
| |
llvm-svn: 123197
|
| |
|
|
|
|
|
|
| |
restore the stack pointer from the frame pointer on thumbv6.
Fixes rdar://8819685
llvm-svn: 123196
|
| |
|
|
| |
llvm-svn: 123195
|
| |
|
|
|
|
| |
template arguments.
llvm-svn: 123194
|
| |
|
|
| |
llvm-svn: 123193
|
| |
|
|
|
|
|
|
|
| |
static const char foo[] = "foo";
static const char *bar = "bar";
the global created to hold "bar" will have it, but foo will not.
llvm-svn: 123192
|
| |
|
|
|
|
|
|
|
|
|
| |
There's an inherent tension in DAGCombine between assuming
that things will be put in canonical form, and the Depth
mechanism that disables transformations when recursion gets
too deep. It would not surprise me if there's a lot of little
bugs like this one waiting to be discovered. The mechanism
seems fragile and I'd suggest looking at it from a design viewpoint.
llvm-svn: 123191
|
| |
|
|
|
|
| |
operation in some cases.
llvm-svn: 123190
|
| |
|
|
| |
llvm-svn: 123189
|
| |
|
|
|
|
|
|
|
| |
pack expansions in template argument lists and function parameter
lists. The implementation of this paragraph should be complete
*except* for cases where we're substituting into one of the unexpanded
packs in a pack expansion; that's a general issue I haven't solved yet.
llvm-svn: 123188
|
| |
|
|
| |
llvm-svn: 123187
|
| |
|
|
| |
llvm-svn: 123184
|
| |
|
|
| |
llvm-svn: 123183
|
| |
|
|
|
|
|
| |
argument packs from a set of deduced arguments, then checks that those
argument packs match previously-deduced argument packs.
llvm-svn: 123182
|
| |
|
|
| |
llvm-svn: 123181
|
| |
|
|
|
|
|
| |
template argument packs. This also ensures that explicitly-specified
template arguments get properly represented in those cases.
llvm-svn: 123180
|
| |
|
|
|
|
| |
instructions but are restricted pseudo forms.
llvm-svn: 123177
|
| |
|
|
|
|
| |
instructions but are restricted pseudo forms.
llvm-svn: 123176
|
| |
|
|
| |
llvm-svn: 123175
|
| |
|
|
| |
llvm-svn: 123174
|
| |
|
|
| |
llvm-svn: 123172
|
| |
|
|
| |
llvm-svn: 123171
|
| |
|
|
|
|
| |
and fixes here and there.
llvm-svn: 123170
|
| |
|
|
| |
llvm-svn: 123169
|
| |
|
|
| |
llvm-svn: 123168
|
| |
|
|
| |
llvm-svn: 123167
|
| |
|
|
| |
llvm-svn: 123166
|
| |
|
|
|
|
|
| |
IDs when available rather than using a mixture of IDs and textual name
comparisons.
llvm-svn: 123165
|
| |
|
|
|
|
| |
rolled std::find.
llvm-svn: 123164
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
allows an argument pack determines via explicit specification of
function template arguments to be extended by further, deduced
arguments. For example:
template<class ... Types> void f(Types ... values);
void g() {
f<int*, float*>(0, 0, 0); // Types is deduced to the sequence int*, float*, int
}
There are a number of FIXMEs in here that indicate places where we
need to implement + test retained expansions, plus a number of other
places in deduction where we need to correctly cope with the
explicitly-specified arguments when deducing an argument
pack. Furthermore, it appears that the RecursiveASTVisitor needs to be
auditied; it's missing some traversals (especially w.r.t. template
arguments) that cause it not to find unexpanded parameter packs when
it should.
The good news, however, is that the tr1::tuple implementation now
works fully, and the tr1::bind example (both from N2080) is actually
working now.
llvm-svn: 123163
|
| |
|
|
| |
llvm-svn: 123162
|
| |
|
|
|
|
| |
intrinsics element dependencies. Reviewed by Nick.
llvm-svn: 123161
|