| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
|
|
| |
Small cleanup in the handling of user-defined conversions.
Also, implement an optimization when constructing a call. We avoid
recomputing implicit conversion sequences and instead use those
conversion sequences that we computed as part of overload resolution.
llvm-svn: 62231
|
|
|
|
|
|
| |
accesses well. Added a FIXME so we know to revisit this later
llvm-svn: 61951
|
|
|
|
|
|
| |
member references, e.g., for anonymous struct/unions or implicit 'this' in member functions
llvm-svn: 61885
|
|
|
|
| |
llvm-svn: 60897
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
and separates lexical name lookup from qualified name lookup. In
particular:
* Make DeclContext the central data structure for storing and
looking up declarations within existing declarations, e.g., members
of structs/unions/classes, enumerators in C++0x enums, members of
C++ namespaces, and (later) members of Objective-C
interfaces/implementations. DeclContext uses a lazily-constructed
data structure optimized for fast lookup (array for small contexts,
hash table for larger contexts).
* Implement C++ qualified name lookup in terms of lookup into
DeclContext.
* Implement C++ unqualified name lookup in terms of
qualified+unqualified name lookup (since unqualified lookup is not
purely lexical in C++!)
* Limit the use of the chains of declarations stored in
IdentifierInfo to those names declared lexically.
* Eliminate CXXFieldDecl, collapsing its behavior into
FieldDecl. (FieldDecl is now a ScopedDecl).
* Make RecordDecl into a DeclContext and eliminates its
Members/NumMembers fields (since one can just iterate through the
DeclContext to get the fields).
llvm-svn: 60878
|
|
|
|
|
|
|
|
| |
instead of converting them to strings first. This also fixes a
bunch of minor inconsistencies in the diagnostics emitted by clang
and adds a bunch of FIXME's to DiagnosticKinds.def.
llvm-svn: 59948
|
|
|
|
| |
llvm-svn: 59714
|
|
|
|
| |
llvm-svn: 59589
|
|
|
|
| |
llvm-svn: 58218
|
|
|
|
|
|
| |
extension).
llvm-svn: 54946
|
|
|
|
|
|
|
|
|
|
|
| |
- Kill unnecessary #includes in .cpp files. This is an automatic
sweep so some things removed are actually used, but happen to be
included by a previous header. I tried to get rid of the obvious
examples and this was the easiest way to trim the #includes in one
fell swoop.
- We now return to regularly scheduled development.
llvm-svn: 54632
|
|
|
|
|
|
|
| |
- Drop TokenKinds.h from Action.h
- Move DeclSpec.h from Sema.h into individual Sema .cpp files
llvm-svn: 54625
|
|
|
|
|
|
| |
an appropriate diagnostic.
llvm-svn: 54614
|
|
|
|
|
|
|
|
| |
member count. The count returned by numStructUnionElements is the
number of initializers that will be consumed, not the number of members
to iterate through. Fixes PR2534.
llvm-svn: 54601
|
|
|
|
|
|
|
|
|
|
| |
move getAsArrayType into ASTContext instead of being a method on type.
This is required because getAsArrayType(const AT), where AT is a typedef
for "int[10]" needs to return ArrayType(const int, 10).
Fixing this greatly simplifies getArrayDecayedType, which is a good sign.
llvm-svn: 54317
|
|
|
|
|
|
|
|
|
| |
Added TagKind enum.
Added getTagKind() method.
Added convenience methods: isEnum(), isStruct(), isUnion(), isClass().
-RecordDecl/CXXRecordDecl::Create() accept a TagKind enum instead of a DeclKind one.
llvm-svn: 52160
|
|
|
|
|
|
|
|
| |
type; this isn't explicitly stated in the standard, but it doesn't
really make sense for them to have an effect here. Fixes the included
testcase, sent to me by Steve Naroff.
llvm-svn: 52113
|
|
|
|
|
|
| |
with unnamed members.
llvm-svn: 51557
|
|
|
|
|
|
| |
PR2151 (by not creating the empty implicit init list).
llvm-svn: 51556
|
|
|
|
|
|
| |
double-report errors; fixes PR2362.
llvm-svn: 51555
|
|
|
|
| |
llvm-svn: 51301
|
|
|
|
| |
llvm-svn: 51269
|
|
|
|
|
|
| |
and "int a = {};"). I'll adjust the tests in a bit.
llvm-svn: 51265
|
|
|
|
| |
llvm-svn: 51262
|
|
|
|
|
|
| |
caused by enabling SemaInit.
llvm-svn: 51261
|
|
|
|
|
|
| |
tests). Expect to enable it very soon.
llvm-svn: 50688
|
|
(InitListChecker) that synthesizes implicit InitListExpr's when appropriate (see InitListExpr comments in Expr.h for more details). I also moved the code to SemaInit.cpp, to help reduce clutter in SemaDecl.cpp.
NOTE: This work is incomplete and still fails many tests (as a result, it isn't enabled yet). Nevertheless, I wanted to check it in so I can work on it from home.
llvm-svn: 50544
|