- Mar 22, 2009
-
-
Anders Carlsson authored
Keep track of whether a class is abstract or not. This is currently only used for the __is_abstract type trait. llvm-svn: 67461
-
Chris Lattner authored
llvm-svn: 67455
-
- Mar 21, 2009
-
-
Mike Stump authored
copy_helpers and dispose_helpers as necessary for them. llvm-svn: 67453
-
Fariborz Jahanian authored
category or protocol. llvm-svn: 67450
-
Daniel Dunbar authored
- PR3854. I think it makes more sense to change MemoryBuffer::getSTDIN (return 0 should indicate error, not empty), but it is documented to return 0 for empty inputs, and some other code appears to rely on this. llvm-svn: 67448
-
Chris Lattner authored
function definition. llvm-svn: 67446
-
Chris Lattner authored
code path. llvm-svn: 67445
-
Chris Lattner authored
1. it wasn't applying to definitions, only declarations, e.g. int x __asm("foo") 2. multiple definitions were conflicting, they weren't getting merged. 3. the code was duplicated in several places. llvm-svn: 67442
-
Ted Kremenek authored
are executed. llvm-svn: 67419
-
Daniel Dunbar authored
- <rdar://problem/6669441> ccc doesn't handle assembler-with-cpp semantics correctly (but clang supports it) - This is sad, because it requires a fairly useless target hook. C'est la vie. llvm-svn: 67418
-
- Mar 20, 2009
-
-
Mike Stump authored
llvm-svn: 67406
-
rdar://problem/6704086Ted Kremenek authored
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
-
Fariborz Jahanian authored
llvm-svn: 67402
-
Douglas Gregor authored
llvm-svn: 67397
-
Daniel Dunbar authored
llvm-svn: 67393
-
Daniel Dunbar authored
llvm-svn: 67392
-
Fariborz Jahanian authored
when there is actually a property declaration used in the dot-syntax. llvm-svn: 67391
-
-
Ted Kremenek authored
llvm-svn: 67386
-
Fariborz Jahanian authored
in a property dot-syntax notation. llvm-svn: 67382
-
Chris Lattner authored
llvm-svn: 67381
-
Chris Lattner authored
llvm-svn: 67380
-
Daniel Dunbar authored
- Based on patch from Pieter de Bie; thanks! llvm-svn: 67379
-
Douglas Gregor authored
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
-
- Mar 19, 2009
-
-
Douglas Gregor authored
there is a previous declaration marked "static". This fixes PR3645. llvm-svn: 67336
-
Ted Kremenek authored
llvm-svn: 67327
-
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
-
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
-
Daniel Dunbar authored
- PR3818. llvm-svn: 67297
-
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
-
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
-
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
-
Ted Kremenek authored
llvm-svn: 67260
-
Daniel Dunbar authored
case. llvm-svn: 67257
-
- Mar 18, 2009
-
-
Daniel Dunbar authored
- Hopefully Chris can pardon one executable test. llvm-svn: 67251
-
Fariborz Jahanian authored
whose sema decl is at the translation unit. llvm-svn: 67249
-
rdar://problem/6695527Ted Kremenek authored
SVal::GetRValueSymbolVal do the checking if we can symbolicate a type instead of having BasicStoreManager do it (which wasn't always doing the check consistently). Having this check in SVal::GetRValueSymbolVal keeps the check in one centralized place. llvm-svn: 67245
-
Daniel Dunbar authored
llvm-svn: 67240
-