| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
| |
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
|
| |
|
|
| |
llvm-svn: 72101
|
| |
|
|
|
|
| |
issues.
llvm-svn: 72100
|
| |
|
|
|
|
| |
files to lib/Frontend.
llvm-svn: 72099
|
| |
|
|
|
|
| |
me if there are any issues.
llvm-svn: 72063
|
| |
|
|
|
|
| |
.cpp files to lib/Frontend. (As proposed on cfe-dev.)
llvm-svn: 72060
|
| |
|
|
|
|
| |
SelectInterestingSourceRegion()," from Jay Foad!
llvm-svn: 72049
|
| |
|
|
| |
llvm-svn: 71996
|
| |
|
|
| |
llvm-svn: 71917
|
| |
|
|
| |
llvm-svn: 71916
|
| |
|
|
| |
llvm-svn: 71901
|