| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
| |
llvm-svn: 60989
|
| |
|
|
| |
llvm-svn: 60943
|
| |
|
|
| |
llvm-svn: 60939
|
| |
|
|
|
|
| |
(Saving the stack isn't implemented right now :)
llvm-svn: 60925
|
| |
|
|
| |
llvm-svn: 60924
|
| |
|
|
|
|
| |
output that GCC does. rdar://6440297
llvm-svn: 60922
|
| |
|
|
| |
llvm-svn: 60897
|
| |
|
|
|
|
| |
RecordDecl::field_const_iterator, propagating the constness down to the FieldDecls.
llvm-svn: 60883
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
| |
llvm-svn: 60827
|
| |
|
|
|
|
|
| |
the synthesis is in an implementation of s subclass of
a super class where the property has been declared.
llvm-svn: 60792
|
| |
|
|
| |
llvm-svn: 60778
|
| |
|
|
| |
llvm-svn: 60729
|
| |
|
|
|
|
|
|
|
|
|
|
| |
expressions, and value-dependent expressions. This permits us to parse
some template definitions.
This is not a complete solution; we're missing type- and
value-dependent computations for most of the expression types, and
we're missing checks for dependent types and type-dependent
expressions throughout Sema.
llvm-svn: 60615
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
parameters, with some semantic analysis:
- Template parameters are introduced into template parameter scope
- Complain about template parameter shadowing (except in Microsoft mode)
Note that we leak template parameter declarations like crazy, a
problem we'll remedy once we actually create proper declarations for
templates.
Next up: dependent types and value-dependent/type-dependent
expressions.
llvm-svn: 60597
|
| |
|
|
| |
llvm-svn: 60535
|
| |
|
|
|
|
| |
makes several CodeGenObjC tests pass on 64-bit by fixing assertions. This doesn't mean that the result is actually what the GNU runtime expects, though.
llvm-svn: 60515
|
| |
|
|
|
|
| |
to external.
llvm-svn: 60462
|
| |
|
|
|
|
| |
ScalarExprEmitter::VisitBinLOr.
llvm-svn: 60415
|
| |
|
|
|
|
| |
PR3152.
llvm-svn: 60389
|
| |
|
|
| |
llvm-svn: 60324
|
| |
|
|
| |
llvm-svn: 60323
|
| |
|
|
| |
llvm-svn: 60321
|
| |
|
|
|
|
|
|
| |
initializers. llvm-gcc appears to be more aggressive, but incorrect,
for constructs like "const int a[] = {1,2,3};"; that said, current
optimizers will do the appropriate optimizations when safe.
llvm-svn: 60270
|
| |
|
|
| |
llvm-svn: 60147
|
| |
|
|
| |
llvm-svn: 60122
|
| |
|
|
|
|
| |
PR3134.
llvm-svn: 60109
|
| |
|
|
| |
llvm-svn: 60058
|
| |
|
|
| |
llvm-svn: 60051
|
| |
|
|
| |
llvm-svn: 60032
|
| |
|
|
|
|
|
|
|
|
|
| |
uses of getName() with uses of getDeclName(). This upgrades a bunch of
diags to take DeclNames instead of std::strings.
This also tweaks a couple of diagnostics to be cleaner and changes
CheckInitializerTypes/PerformInitializationByConstructor to pass
around DeclarationNames instead of std::strings.
llvm-svn: 59947
|
| |
|
|
|
|
| |
NamedDecl::getNameAsString() to make it more explicit.
llvm-svn: 59937
|
| |
|
|
|
|
|
|
|
| |
assert if the name is not an identifier. Update callers to do the right
thing and avoid this method in unsafe cases. This also fixes an objc
warning that was missing a space, and migrates a couple more to taking
IdentifierInfo and QualTypes instead of std::strings.
llvm-svn: 59936
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
a new NamedDecl::getAsString() method.
Change uses of Selector::getName() to just pass in a Selector
where possible (e.g. to diagnostics) instead of going through
an std::string.
This also adds new formatters for objcinstance and objcclass
as described in the dox.
llvm-svn: 59933
|
| |
|
|
| |
llvm-svn: 59887
|
| |
|
|
| |
llvm-svn: 59886
|
| |
|
|
| |
llvm-svn: 59881
|
| |
|
|
|
|
|
| |
Issuing diagnostics when assigning to read-only properties.
This is work in progress.
llvm-svn: 59874
|
| |
|
|
| |
llvm-svn: 59857
|
| |
|
|
| |
llvm-svn: 59838
|
| |
|
|
|
|
| |
themselves for gc API generation purposes.
llvm-svn: 59828
|
| |
|
|
|
|
| |
memcpy/memmove etc.
llvm-svn: 59824
|
| |
|
|
| |
llvm-svn: 59821
|
| |
|
|
| |
llvm-svn: 59806
|
| |
|
|
|
|
| |
code gen. method.
llvm-svn: 59767
|
| |
|
|
|
|
| |
write-barriers.
llvm-svn: 59748
|
| |
|
|
| |
llvm-svn: 59740
|
| |
|
|
|
|
| |
to static function. Added comments.
llvm-svn: 59738
|
| |
|
|
|
|
|
| |
from Sebastian to enforce that a literal string is passed in,
and use this to avoid having to call strlen on it.
llvm-svn: 59706
|
| |
|
|
|
|
|
| |
diagnostics on use of __weak attribute on fields,
Early support for read/write barriers for objc fields.
llvm-svn: 59682
|