- Mar 19, 2009
-
-
Chris Lattner authored
llvm-svn: 67323
-
Chris Lattner authored
llvm-svn: 67321
-
Douglas Gregor authored
diagnostics following those notes. Make exceeding the template instantiation depth a fatal error. Thanks to Daniel for pointing out the problem! llvm-svn: 67320
-
Dan Gohman authored
llvm-svn: 67319
-
Chris Lattner authored
llvm-svn: 67318
-
Douglas Gregor authored
llvm-svn: 67316
-
Ted Kremenek authored
llvm-svn: 67315
-
Fariborz Jahanian authored
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
-
Douglas Gregor authored
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
-
Dale Johannesen authored
the inliner; prevents nondeterministic behavior when the same address is reallocated. Don't build call graph nodes for debug intrinsic calls; they're useless, and there were typically a lot of them. llvm-svn: 67311
-
Daniel Dunbar authored
- Apologies for commits w/o test cases; they are coming. llvm-svn: 67310
-
Dan Gohman authored
the set of blocks in which values are used, the set in which values are live-through, and the set in which values are killed. For the live-through and killed sets, conservative approximations are used. llvm-svn: 67309
-
Douglas Gregor authored
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
-
Dale Johannesen authored
llvm-svn: 67307
-
Dale Johannesen authored
and was deleting Instructions without clearing the corresponding map entry. This led to nondeterministic behavior if the same address got allocated to another Instruction within a short time. llvm-svn: 67306
-
Ted Kremenek authored
Fix regression in 'tblgen -gen-clang-diags-defs': Emit the diagnostic kind instead of "DIAGNOSTICCONTROLLED". llvm-svn: 67305
-
Chris Lattner authored
is the first in its block. This is PR3842. llvm-svn: 67304
-
Duncan Sands authored
llvm-svn: 67302
-
Daniel Dunbar authored
- PR3818. llvm-svn: 67297
-
Daniel Dunbar authored
llvm-svn: 67296
-
Daniel Dunbar authored
llvm-svn: 67295
-
Daniel Dunbar authored
diagnostic (to suppress more generic unused warning). llvm-svn: 67294
-
Daniel Dunbar authored
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
-
Daniel Dunbar authored
- Make InputInfo a variant of filename, pipe, input argument, nothing. - Leave a FIXME in InputInfo that this should be revisited. llvm-svn: 67292
-
Daniel Dunbar authored
was hoping to clean up in the rewrite, but I don't see it yet. llvm-svn: 67291
-
Chris Lattner authored
llvm-svn: 67290
-
Chris Lattner authored
llvm-svn: 67289
-
Nick Lewycky authored
either. llvm-svn: 67288
-
Nick Lewycky authored
llvm-svn: 67287
-
Nate Begeman authored
in selectiondag patterns. This is required for the upcoming shuffle_vector rewrite, and as it turns out, cleans up a hack in the Alpha instruction info. llvm-svn: 67286
-
Chris Lattner authored
llvm-svn: 67285
-
Douglas Gregor authored
struct N::M::foo llvm-svn: 67284
-
Douglas Gregor authored
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
-
Bruno Cardoso Lopes authored
llvm-svn: 67280
-
Ted Kremenek authored
llvm-svn: 67279
-
Ted Kremenek authored
llvm-svn: 67269
-
Douglas Gregor authored
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
-
Devang Patel authored
llvm-svn: 67267
-
Ted Kremenek authored
llvm-svn: 67266
-
Douglas Gregor authored
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
-