| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
|
|
|
| |
separate function. Aside from making the loops infinitely faster, no
functionality change.
llvm-svn: 107407
|
| |
|
|
|
|
| |
copy-assignment operator.
llvm-svn: 107406
|
| |
|
|
|
|
| |
into a separate routine. No functionality change.
llvm-svn: 107402
|
| |
|
|
| |
llvm-svn: 107398
|
| |
|
|
|
|
| |
CXXRecordDecl::getDestructor(); no functionality change.
llvm-svn: 107394
|
| |
|
|
| |
llvm-svn: 107388
|
| |
|
|
| |
llvm-svn: 107387
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
aren't dropping all exception specifications on destructors, the
exception specifications on implicitly-declared destructors were
detected as being wrong (which they were).
Introduce logic to provide a proper exception-specification for
implicitly-declared destructors. This also fixes PR6972.
Note that the other implicitly-declared special member functions also
need to get exception-specifications. I'll deal with that in a
subsequent commit.
llvm-svn: 107385
|
| |
|
|
|
|
| |
don't allow two user-defined conversions. Fixes PR6595 (again).
llvm-svn: 107379
|
| |
|
|
| |
llvm-svn: 107378
|
| |
|
|
|
|
| |
exception specification. Fixes PR7526.
llvm-svn: 107374
|
| |
|
|
|
|
| |
pointer" diagnostic to handle references, too.
llvm-svn: 107372
|
| |
|
|
| |
llvm-svn: 107367
|
| |
|
|
|
|
| |
rdar://problem/8124080 and PR7118.
llvm-svn: 107358
|
| |
|
|
|
|
|
| |
scope hasn't been set up yet so this isn't valid. It was just a cleanup to the
IR, so I'm going to ignore it for now.
llvm-svn: 107356
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
parameters starts at the end of the template-parameter rather than at
the point where the template parameter name is encounted. For example,
given:
typedef unsigned char T;
template<typename T = T> struct X0 { };
The "T" in the default argument refers to the typedef of "unsigned
char", rather than referring to the newly-introduced template type
parameter 'T'.
Addresses <rdar://problem/8122812>.
llvm-svn: 107354
|
| |
|
|
|
|
|
| |
library directory, as we still rely on a few libraries that are hiding there (in
particular libstdc++.dylib).
llvm-svn: 107353
|
| |
|
|
|
|
| |
require a base-to-derived pointer conversion.
llvm-svn: 107349
|
| |
|
|
| |
llvm-svn: 107347
|
| |
|
|
| |
llvm-svn: 107327
|
| |
|
|
|
|
|
|
|
| |
store make sure to move the debug metadata from the store (which is actual
'return' statement location) to the return instruction (which otherwise would
have the function end location as its debug info).
- Tested by gdb test suite.
llvm-svn: 107322
|
| |
|
|
| |
llvm-svn: 107320
|
| |
|
|
|
|
| |
constructed one -- this is necessary to ensure types get printed correctly.
llvm-svn: 107312
|
| |
|
|
| |
llvm-svn: 107311
|
| |
|
|
|
|
|
|
|
|
| |
r107173, "fix PR7519: after thrashing around and remembering how all this stuff"
r107216, "fix PR7523, which was caused by the ABI code calling ConvertType instead"
This includes a fix to make ConvertTypeForMem handle the "recursive" case, and call
it as such when lowering function types which have an indirect result.
llvm-svn: 107310
|
| |
|
|
|
|
| |
in method/blocks to decide not to mangle them.
llvm-svn: 107309
|
| |
|
|
|
|
|
| |
would work.
Sebastian: figure out which one you want :)
llvm-svn: 107305
|
| |
|
|
|
|
| |
should not be mangled either. Fixes radar 8016412.
llvm-svn: 107303
|
| |
|
|
|
|
| |
classification functions, and updated them for N3092.
llvm-svn: 107301
|
| |
|
|
|
|
|
|
| |
union whose first field has integral vector type. Also, clean up this
diagnostic a bit. Thanks to Eli for spotting this change in semantics
last week.
llvm-svn: 107296
|
| |
|
|
| |
llvm-svn: 107292
|
| |
|
|
| |
llvm-svn: 107290
|
| |
|
|
|
|
|
| |
rewriting a c-style cast expression in statement printer.
Fixes radar 8143056.
llvm-svn: 107289
|
| |
|
|
|
|
|
|
|
|
| |
As a bonus, fix the warning for || and && operators; it was emitted even if one of the operands had side effects, e.g:
x || test_logical_foo1();
emitted a bogus "expression result unused" for 'x'.
llvm-svn: 107274
|
| |
|
|
| |
llvm-svn: 107268
|
| |
|
|
| |
llvm-svn: 107267
|
| |
|
|
| |
llvm-svn: 107266
|
| |
|
|
|
|
|
|
|
| |
doesn't mangle array parameters right), but I think that should be fixed
in Sema (Doug, John, what do you think?).
Also, stub out the remaining mangleType() routines.
llvm-svn: 107264
|
| |
|
|
|
|
| |
this time actually used the cached checker list when calling back to Checker visit methods. This reduces the analysis time for sqlite3.c by 8%.
llvm-svn: 107259
|
| |
|
|
|
|
|
|
| |
'long'. The practical upshot is so that the uint64_t we define in our stdint.h
ends up being compatible with that defined by gcc (at least on Darwin), which
otherwise could lead to type incompatibilities with other system headers.
llvm-svn: 107255
|
| |
|
|
|
|
| |
instead of intN_t.
llvm-svn: 107254
|
| |
|
|
|
|
|
|
|
|
| |
Previously we relied on the presence of a member which needs no initialization
to prevent us from creating an additional initialization of the outer anonymous
union field. We have already correctly marked that field as initialized by the
member of the union (repeatedly due to the original bug this patch fixes) so we
simply need to bail out.
llvm-svn: 107242
|
| |
|
|
|
|
|
| |
else. Get the build bots happy while I debug. Very sorry for the delay fixing
this...
llvm-svn: 107239
|
| |
|
|
|
|
| |
don't crash if we do a funny thing like ((int)ptr)&1. Fixes PR7527.
llvm-svn: 107236
|
| |
|
|
|
|
|
|
|
|
|
| |
anonymous union under the presumption that they didn't do anything. While this
is true, our checks for redundant initialization of an anonymous union still
fire when these overlap with explicit user initialization. A cleaner approach
is to avoid initializing multiple members of a union altogether, but this still
is in a rather fuzzy are especially when C++0x allows non-POD types into
unions.
llvm-svn: 107235
|
| |
|
|
|
|
| |
this stuff", it broke bootstrap.
llvm-svn: 107232
|
| |
|
|
|
|
| |
ConvertType instead", it is part of a boostrap breaking sequence.
llvm-svn: 107231
|
| |
|
|
|
|
|
|
|
|
|
| |
type to an integral or enumeration type in the size of an array new
expression, e.g.,
new int[ConvertibleToInt(10)];
This is a GNU and C++0x extension.
llvm-svn: 107229
|
| |
|
|
|
|
|
|
|
| |
initialization. I tried several ideas but couldn't come up with a test case for
this that didn't rely on a Clang bug to report a diagnostic after template
instantiation of the constructor due to the implicit initializers. Suggestions
welcome. This fixes the source location aspect of PR7402.
llvm-svn: 107226
|
| |
|
|
|
|
|
|
| |
have integral or enumeration type, so that we still check the contents
of the switch body. My previous patch made this worse; now we're back
to where we were previously.
llvm-svn: 107223
|