| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
| |
llvm-svn: 67406
|
| |
|
|
|
|
|
|
| |
allow non-literal format strings that are variables that (a) permanently bind to
a string constant and (b) whose string constants are resolvable within the same
translation unit.
llvm-svn: 67404
|
| |
|
|
| |
llvm-svn: 67402
|
| |
|
|
| |
llvm-svn: 67397
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add a #include directive around the command line buffer so that
diagnostics generated from -include directives get diagnostics
like:
In file included from <built-in>:98:
In file included from <command line>:3:
./t.h:2:1: warning: type specifier missing, defaults to 'int'
b;
^
llvm-svn: 67396
|
| |
|
|
|
|
|
|
| |
- Conjure symbols at '--' and '++' unary operations
- Add utility method SVal::GetConjuredSymbolVal() and constify some arguments
along the way.
llvm-svn: 67395
|
| |
|
|
| |
llvm-svn: 67394
|
| |
|
|
| |
llvm-svn: 67393
|
| |
|
|
|
|
|
| |
when there is actually a property declaration
used in the dot-syntax.
llvm-svn: 67391
|
| |
|
|
|
|
| |
constants.
llvm-svn: 67390
|
| |
|
|
| |
llvm-svn: 67389
|
| |
|
|
| |
llvm-svn: 67388
|
| |
|
|
|
|
| |
cached tokens. This is for use with -include-pth.
llvm-svn: 67385
|
| |
|
|
|
|
| |
completely there with accurately modeling autorelease pools.
llvm-svn: 67384
|
| |
|
|
|
|
| |
in a property dot-syntax notation.
llvm-svn: 67382
|
| |
|
|
|
|
| |
- Based on patch from Pieter de Bie; thanks!
llvm-svn: 67379
|
| |
|
|
|
|
|
|
| |
where
clang was defining "i386" even when in non-gnu mode.
llvm-svn: 67378
|
| |
|
|
| |
llvm-svn: 67377
|
| |
|
|
| |
llvm-svn: 67376
|
| |
|
|
|
|
| |
can have language-specific defines.
llvm-svn: 67375
|
| |
|
|
|
|
|
|
| |
diagnostics.
- This ensures that the whole argument and values are printed,
instead of just the option name.
llvm-svn: 67366
|
| |
|
|
|
|
| |
times.
llvm-svn: 67365
|
| |
|
|
| |
llvm-svn: 67362
|
| |
|
|
| |
llvm-svn: 67356
|
| |
|
|
| |
llvm-svn: 67355
|
| |
|
|
|
|
|
|
| |
braces. We now build the appropriate fully-structured initializer list
for such things. Per PR3618, verified that we're getting the right
code generation.
llvm-svn: 67353
|
| |
|
|
| |
llvm-svn: 67350
|
| |
|
|
|
|
| |
testing) even with -pipe on.
llvm-svn: 67348
|
| |
|
|
|
|
| |
in the tree for a day or so longer.
llvm-svn: 67346
|
| |
|
|
|
|
| |
original source file (if any) that was used to generate the PTH cache.
llvm-svn: 67343
|
| |
|
|
|
|
| |
there is a previous declaration marked "static". This fixes PR3645.
llvm-svn: 67336
|
| |
|
|
|
|
|
|
|
|
| |
diagnostics following those notes.
Make exceeding the template instantiation depth a fatal error.
Thanks to Daniel for pointing out the problem!
llvm-svn: 67320
|
| |
|
|
| |
llvm-svn: 67316
|
| |
|
|
|
|
|
|
| |
dot-syntax expression after earching the list of protocols
in the qualified-id, must keep searching the protocol list
of each of the protocols in the list.
llvm-svn: 67314
|
| |
|
|
|
|
|
|
|
|
| |
F f;
where F is a typedef of a function type, then the function "f" has a
prototype. This is a slight tweak to Chris's suggested fix in
PR3817. Fixes PR3817 and PR3840.
llvm-svn: 67313
|
| |
|
|
|
|
| |
- Apologies for commits w/o test cases; they are coming.
llvm-svn: 67310
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
dependent qualified-ids such as
Fibonacci<N - 1>::value
where N is a template parameter. These references are "unresolved"
because the name is dependent and, therefore, cannot be resolved to a
declaration node (as we would do for a DeclRefExpr or
QualifiedDeclRefExpr). UnresolvedDeclRefExprs instantiate to
DeclRefExprs, QualifiedDeclRefExprs, etc.
Also, be a bit more careful about keeping only a single set of
specializations for a class template, and instantiating from the
definition of that template rather than a previous declaration. In
general, we need a better solution for this for all TagDecls, because
it's too easy to accidentally look at a declaration that isn't the
definition.
We can now process a simple Fibonacci computation described as a
template metaprogram.
llvm-svn: 67308
|
| |
|
|
|
|
| |
- PR3818.
llvm-svn: 67297
|
| |
|
|
| |
llvm-svn: 67296
|
| |
|
|
| |
llvm-svn: 67295
|
| |
|
|
|
|
| |
diagnostic (to suppress more generic unused warning).
llvm-svn: 67294
|
| |
|
|
|
|
|
|
|
|
|
| |
are forwarded to GCC.
- The later is unfortunate, as it prevents us from generally warning
about anything interesting on platforms that use a generic
toolchain. However, we can't do much better without significantly
complicating things, and generally we should have proper tool chain
definitions.
llvm-svn: 67293
|
| |
|
|
|
|
|
|
|
| |
- Make InputInfo a variant of filename, pipe, input argument,
nothing.
- Leave a FIXME in InputInfo that this should be revisited.
llvm-svn: 67292
|
| |
|
|
|
|
| |
was hoping to clean up in the rewrite, but I don't see it yet.
llvm-svn: 67291
|
| |
|
|
|
|
| |
struct N::M::foo
llvm-svn: 67284
|
| |
|
|
|
|
|
|
| |
QualifiedNameType and QualifiedDeclRefExpr. We now keep track of the
exact nested-name-specifier spelling for a QualifiedDeclRefExpr, and
use that spelling when printing ASTs. This fixes PR3493.
llvm-svn: 67283
|
| |
|
|
|
|
| |
"events".
llvm-svn: 67269
|
| |
|
|
|
|
|
|
|
|
|
| |
specialization names. This way, we keep track of sugared types like
std::vector<Real>
I believe we are now using QualifiedNameTypes everywhere we can. Next
step: QualifiedDeclRefExprs.
llvm-svn: 67268
|
| |
|
|
| |
llvm-svn: 67267
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
qualified name, e.g.,
foo::x
so that we retain the nested-name-specifier as written in the source
code and can reproduce that qualified name when printing the types
back (e.g., in diagnostics). This is PR3493, which won't be complete
until finished the other tasks mentioned near the end of this commit.
The parser's representation of nested-name-specifiers, CXXScopeSpec,
is now a bit fatter, because it needs to contain the scopes that
precede each '::' and keep track of whether the global scoping
operator '::' was at the beginning. For example, we need to keep track
of the leading '::', 'foo', and 'bar' in
::foo::bar::x
The Action's CXXScopeTy * is no longer a DeclContext *. It's now the
opaque version of the new NestedNameSpecifier, which contains a single
component of a nested-name-specifier (either a DeclContext * or a Type
*, bitmangled).
The new sugar type QualifiedNameType composes a sequence of
NestedNameSpecifiers with a representation of the type we're actually
referring to. At present, we only build QualifiedNameType nodes within
Sema::getTypeName. This will be extended to other type-constructing
actions (e.g., ActOnClassTemplateId).
Also on the way: QualifiedDeclRefExprs will also store a sequence of
NestedNameSpecifiers, so that we can print out the property
nested-name-specifier. I expect to also use this for handling
dependent names like Fibonacci<I - 1>::value.
llvm-svn: 67265
|