| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
| |
llvm-svn: 73637
|
| |
|
|
| |
llvm-svn: 73402
|
| |
|
|
|
|
|
| |
unnecessary, this was causing issues for assembler-with-cpp mode, which
doesn't process the directive.
llvm-svn: 73382
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
ranges more similar to the console output. Consider:
#define FOO(X, Y) X/ Y
void foo(int *P, int *Q) {
FOO(P, Q);
}
Before we emitted:
t.c:4:3:{4:3-4:6}{4:3-4:6}: error: invalid operands to binary expression ('int *' and 'int *')
FOO(P, Q);
^~~~~~~~~
...
Note that while we underline the macro args that the range info just includes FOO
without its macros. This change teaches the printed ranges to include macro args
also so that we get:
t.c:4:3:{4:3-4:12}{4:3-4:12}: error: invalid operands to binary expression ('int *' and 'int *')
FOO(P, Q);
^~~~~~~~~
...
This fixes rdar://6939599
llvm-svn: 73378
|
| |
|
|
|
|
|
|
| |
like:
fatal error: could not find file '1.h' referenced by PCH file
instead of aborting with an assertion failure, PR4219
llvm-svn: 73371
|
| |
|
|
| |
llvm-svn: 73367
|
| |
|
|
|
|
| |
can occur in the middle of comment tokens.
llvm-svn: 73365
|
| |
|
|
|
|
| |
This fixes a source range problem reported by Olaf Krzikalla.
llvm-svn: 73266
|
| |
|
|
|
|
| |
argument before the function has been declared.
llvm-svn: 73234
|
| |
|
|
|
|
| |
the clang inlining threshold consistent with the threshold for llvm-gcc.
llvm-svn: 73204
|
| |
|
|
| |
llvm-svn: 73050
|
| |
|
|
|
|
|
|
|
|
| |
hack which introduces some strange inconsistencies in compatibility
for block pointers.
Note that unlike an earlier revision proposed on cfe-commits, this patch
still allows declaring block pointers without a prototype.
llvm-svn: 73041
|
| |
|
|
|
|
| |
change. More to follow.
llvm-svn: 72951
|
| |
|
|
| |
llvm-svn: 72928
|
| |
|
|
| |
llvm-svn: 72900
|
| |
|
|
|
|
| |
one.
llvm-svn: 72868
|
| |
|
|
| |
llvm-svn: 72855
|
| |
|
|
|
|
|
| |
- One functionality change, the LoopIndexSplit pass is now reenabled (it was
disabled in r60089 but we forgot to reenable it).
llvm-svn: 72787
|
| |
|
|
| |
llvm-svn: 72772
|
| |
|
|
| |
llvm-svn: 72759
|
| |
|
|
|
|
|
| |
- Avoids running any LLVM optimizations, even at -O2, etc., while still keeping
any language changes these optimizations imply.
llvm-svn: 72742
|
| |
|
|
|
|
| |
# line directives.
llvm-svn: 72724
|
| |
|
|
| |
llvm-svn: 72682
|
| |
|
|
| |
llvm-svn: 72681
|
| |
|
|
|
|
|
| |
workaround for machine code emitter changes as was used
in llvm-gcc.
llvm-svn: 72657
|
| |
|
|
| |
llvm-svn: 72641
|
| |
|
|
| |
llvm-svn: 72640
|
| |
|
|
| |
llvm-svn: 72611
|
| |
|
|
|
|
|
|
|
| |
walks through DeclContexts properly, and prints more of the
information available in the AST. The functionality is still available
via -ast-print, -ast-dump, etc., and also via the new member functions
Decl::dump() and Decl::print().
llvm-svn: 72597
|
| |
|
|
|
|
|
|
|
| |
printing logic to help customize the output. For now, we use this
rather than a special flag to suppress the "struct" when printing
"struct X" and to print the Boolean type as "bool" in C++ but "_Bool"
in C.
llvm-svn: 72590
|
| |
|
|
|
|
| |
to the DeclGroup.
llvm-svn: 72559
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
specifier resulted in the creation of a new TagDecl node, which
happens either when the tag specifier was a definition or when the tag
specifier was the first declaration of that tag type. This information
has several uses, the first of which is implemented in this commit:
1) In C++, one is not allowed to define tag types within a type
specifier (e.g., static_cast<struct S { int x; } *>(0) is
ill-formed) or within the result or parameter types of a
function. We now diagnose this.
2) We can extend DeclGroups to contain information about any tags
that are declared/defined within the declaration specifiers of a
variable, e.g.,
struct Point { int x, y, z; } p;
This will help improve AST printing and template instantiation,
among other things.
3) For C99, we can keep track of whether a tag type is defined
within the type of a parameter, to properly cope with cases like,
e.g.,
int bar(struct T2 { int x; } y) {
struct T2 z;
}
We can also do similar things wherever there is a type specifier,
e.g., to keep track of where the definition of S occurs in this
legal C99 code:
(struct S { int x, y; } *)0
llvm-svn: 72555
|
| |
|
|
|
|
| |
keep the spec out of the canonical type this time. Net effect is currently nothing, because the spec isn't checked anywhere.
llvm-svn: 72498
|
| |
|
|
|
|
|
|
| |
within a template now have a link back to the enumeration from which
they were instantiated. This means that we can now find the
instantiation of an anonymous enumeration.
llvm-svn: 72482
|
| |
|
|
|
|
|
|
| |
This allows me to remove some API that I don't want to carry over to ObjCObjectPointerType.
No functionality change.
llvm-svn: 72475
|
| |
|
|
|
|
|
|
| |
an integral constant expression, maintain a cache of the value and the
is-an-ICE flag within the VarDecl itself. This eliminates
exponential-time behavior of the Fibonacci template metaprogram.
llvm-svn: 72428
|
| |
|
|
| |
llvm-svn: 72314
|
| |
|
|
|
|
|
|
| |
PPC double double.
(No testcase because no normal target uses the format at the moment.)
llvm-svn: 72310
|
| |
|
|
|
|
|
| |
llvm::SmallVector, using data() instead of &[0]. The PCH testsuite now
runs cleanly (again).
llvm-svn: 72292
|
| |
|
|
|
|
| |
ProtoRefs.data() instead of &ProtoRefs[0] to access the raw buffer.
llvm-svn: 72291
|
| |
|
|
|
|
|
|
|
|
| |
runtime, when
compiled with -fobjc-sender-dependent-dispatch. This is used in AOP, COP, implementing object
planes, and a few other things.
Patch by David Chisnall.
llvm-svn: 72275
|
| |
|
|
| |
llvm-svn: 72252
|
| |
|
|
| |
llvm-svn: 72228
|
| |
|
|
| |
llvm-svn: 72224
|
| |
|
|
| |
llvm-svn: 72210
|
| |
|
|
|
|
| |
Still more to do.
llvm-svn: 72173
|
| |
|
|
| |
llvm-svn: 72136
|
| |
|
|
|
|
|
| |
include/clang/Frontend, and move AnalysisConsumer.cpp from
tools/clang-cc to lib/Frontend.
llvm-svn: 72135
|
| |
|
|
|
|
| |
when compiling with gcc-4.4.
llvm-svn: 72109
|
| |
|
|
| |
llvm-svn: 72104
|