| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
- 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
|
|
|
|
| |
llvm-svn: 71899
|
|
|
|
|
|
|
|
| |
- Skip semantic analysis of the "if" condition if it is type-dependent.
- Added the location of the "else" keyword into IfStmt, so that we can
provide it for type-checking after template instantiation.
llvm-svn: 71875
|
|
|
|
|
|
| |
columns. Fixes <rdar://problem/6892178>
llvm-svn: 71870
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
buffer. This caused exciting nonsense like this:
$ clang t.c -fsyntax-only -UMACRO
In file included from <built-in>:104:
<command line>:1:14: warning: extra tokens at end of #undef directive [-Wextra-tokens]
#undef MACRO 1
^
//
1 diagnostic generated.
rdar://6891800
llvm-svn: 71860
|
|
|
|
| |
llvm-svn: 71802
|
|
|
|
| |
llvm-svn: 71800
|
|
|
|
|
|
|
|
| |
template to the FunctionDecls from which they were instantiated. This
is a necessary first step to support instantiation of the definitions
of such functions, but by itself does essentially nothing.
llvm-svn: 71792
|
|
|
|
|
|
| |
-faccess-control option. When we have better support for it, we can enable it by default again.
llvm-svn: 71706
|
|
|
|
|
|
|
| |
message dispatches (and function calls later). No change in
functionality.
llvm-svn: 71683
|
|
|
|
|
|
|
| |
(with -E), we turn the PCH include into an implicit include of the
file from which the PCH file was generated.
llvm-svn: 71534
|