| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
| |
llvm-svn: 135294
|
| |
|
|
| |
llvm-svn: 135285
|
| |
|
|
|
|
| |
convertToInt(integerParts*) and make them more reliable.
llvm-svn: 135279
|
| |
|
|
| |
llvm-svn: 135275
|
| |
|
|
|
|
| |
attributes. Fixes <rdar://problem/9561076>.
llvm-svn: 135273
|
| |
|
|
| |
llvm-svn: 135265
|
| |
|
|
|
|
|
|
| |
which is required given the current setup for template
argument deduction substitution validation, and add a test
case to make sure we don't break it in the future.
llvm-svn: 135262
|
| |
|
|
|
|
| |
the exception of its uses of SourceManager and SourceLocation APIs.
llvm-svn: 135260
|
| |
|
|
|
|
|
|
|
|
| |
Also add the missing serialization support for SEHTryStmt,
SEHFinallyStmt, and SEHExceptStmt, and fix and finish the
serialization support for AsTypeExpr. In addition, change
the code so that it will no longer link if a Stmt subclass
is missing serialization support.
llvm-svn: 135258
|
| |
|
|
|
|
|
|
|
|
| |
is right --- shouldn't there be a TypeLoc in here somewhere? ---
but at least it doesn't have a redundant QualType and a broken
children() method.
Noticed this while doing things in serialization.
llvm-svn: 135257
|
| |
|
|
|
|
|
| |
to prevent recursive compilation problems. This fixes a failure of CodeGen/decl.c
on x86-32 targets that don't fill in the coerce-to type.
llvm-svn: 135256
|
| |
|
|
|
|
| |
llvm::OwningPtr<BugType> vars (the new convention). No functionality change.
llvm-svn: 135255
|
| |
|
|
|
|
| |
single llvm::OwningPtr<BugType> (the new convention). No functionality change.
llvm-svn: 135250
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
types. Fore xample, we used to lower:
struct bar { int a; };
struct foo {
void (*FP)(struct bar);
} G;
to:
%struct.foo = type { {}* }
since the function pointer would cause recursive translation of bar and
we didn't know if that would get us into trouble. We are now smart enough
to know that it is fine, so we get this type instead:
%struct.foo = type { void (i32)* }
Codegen still needs to be prepared for uncooperative types at any place,
which is why I let the maximally uncooperative code sit around for awhile to
help shake out the bugs.
llvm-svn: 135244
|
| |
|
|
|
|
|
|
| |
to represent a fully-substituted non-type template parameter.
This should improve source fidelity, as well as being generically
useful for diagnostics and such.
llvm-svn: 135243
|
| |
|
|
| |
llvm-svn: 135226
|
| |
|
|
|
|
| |
'expansion'.
llvm-svn: 135224
|
| |
|
|
|
|
| |
ARCMigrate.
llvm-svn: 135223
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
instantiations. Upon instantiation of template, value-dependent parameters are replaced by equivalent literals, so code like:
template<unsigned int A, unsigned int B> struct S {
int foo() {
int x = A && B;
}
}
will not warn on A && B on every instantiation. This will still warn on other cases inside templates, which will be caught on checking the template definition.
llvm-svn: 135222
|
| |
|
|
|
|
| |
-Wuninitialized to avoid cascading warnings. Patch by Kaelyn Uhrain.
llvm-svn: 135217
|
| |
|
|
|
|
| |
errors. rdar://9402555.
llvm-svn: 135213
|
| |
|
|
|
|
|
|
| |
Revert "For C++11, do more checking of initializer lists up-front, enabling some subset of the final functionality. C just leaves the function early. C++98 runs through the same code path, but has no changed functionality either."
This reverts commit ac420c5053d6aa41d59f782caad9e46e5baaf2c2.
llvm-svn: 135210
|
| |
|
|
|
|
|
|
| |
used.
Keep the error if the result is unused. rdar://9552694.
llvm-svn: 135209
|
| |
|
|
| |
llvm-svn: 135208
|
| |
|
|
|
|
|
|
|
|
|
|
| |
also contain declarators. Previously we would accept code like this:
template<typename T> struct S { } f() { return 0; }
This case now produces a missing ';' diagnostic, since that seems like a much more likely error than an attempt to declare a function or variable in addition to the class template.
Treat this
llvm-svn: 135195
|
| |
|
|
|
|
|
|
|
|
|
| |
An unused autorelease is badness. If we remove it the receiver
will likely die immediately while previously it was kept alive
by the autorelease pool. This is bad practice in general, so leave it
and emit an error to force the user to restructure his code.
rdar://9599884
llvm-svn: 135193
|
| |
|
|
|
|
|
|
|
|
| |
subset of the final functionality. C just leaves the function early. C++98 runs through the same code path, but has no changed functionality either.
This is a first baby step towards supporting generalized initializer lists. This also removes an aggregate
test case that was just plain wrong, assuming that non-aggregates couldn't be initialized with initializer lists
in C++11 mode.
llvm-svn: 135177
|
| |
|
|
|
|
| |
kind.
llvm-svn: 135175
|
| |
|
|
| |
llvm-svn: 135170
|
| |
|
|
| |
llvm-svn: 135166
|
| |
|
|
|
|
| |
function in LLVM does.
llvm-svn: 135155
|
| |
|
|
|
|
| |
thing to do.
llvm-svn: 135152
|
| |
|
|
| |
llvm-svn: 135150
|
| |
|
|
|
|
| |
comparing integers to integers. This happens not to be an issue now, but the extra check helps future proof in case of future refactorings.
llvm-svn: 135147
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is switches all the interfaces points (and most of the commenst
/ local variables I saw on my way through) regarding the
NestedMacroInstantiations bit.
The libclang enums corresponding to this state were renamed, but
a legacy enum was added with the old name, and the same value to keep
existing clients working. I've added a documentation blurb for it, but
let me know if there is a canonical way to document legacy elemenst of
the libclang interface.
No functionality changed here, even in tests.
llvm-svn: 135141
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
variants to 'expand'. This changed a couple of public APIs, including
one public type "MacroInstantiation" which is now "MacroExpansion". The
rest of the codebase was updated to reflect this, especially the
libclang code. Two of the C++ (and thus easily changed) libclang APIs
were updated as well because they pertained directly to the old
MacroInstantiation class.
No functionality changed.
llvm-svn: 135139
|
| |
|
|
|
|
|
|
|
| |
'expand'. Also update the public API it provides to the new term, and
propagate that update to the various clients.
No functionality changed.
llvm-svn: 135138
|
| |
|
|
|
|
|
|
|
| |
to 'expand' for macros. Only comments and uses local to the TokenLexer
are updated.
No functionality changed.
llvm-svn: 135137
|
| |
|
|
|
|
|
|
| |
'[Ee]xpan(sion|ded)' in the TextDiagnosticPrinter.
No functionality changed.
llvm-svn: 135136
|
| |
|
|
|
|
|
|
|
| |
and 'expansions' rather than 'instantiated' and 'contexts'.
This is the first of several patches migrating Clang's terminology
surrounding macros from 'instantiation' to 'expansion'.
llvm-svn: 135135
|
| |
|
|
|
|
| |
cases to be more portable with an explicit target triple.
llvm-svn: 135134
|
| |
|
|
|
|
|
|
| |
on 32-bit, so we shouldn't warn about using"
It fails on freebsd, mingw and msvc10.
llvm-svn: 135129
|
| |
|
|
|
|
|
| |
is still terrible here because typo correction is not behaving well in
the presence of overloaded functions.
llvm-svn: 135128
|
| |
|
|
|
|
| |
command-line flags. rdar://9567824
llvm-svn: 135115
|
| |
|
|
|
|
| |
require A to be a complete type.
llvm-svn: 135101
|
| |
|
|
|
|
| |
failures.
llvm-svn: 135091
|
| |
|
|
|
|
| |
parsing lambda expressions, from John Freeman!
llvm-svn: 135090
|
| |
|
|
|
|
| |
Uhrain! Fixes PR10318.
llvm-svn: 135086
|
| |
|
|
| |
llvm-svn: 135083
|
| |
|
|
|
|
|
|
| |
shouldn't warn about using
an "int" format specifier with a "long" type in 32-bit.
llvm-svn: 135075
|