| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
|
|
|
|
| |
still aren't instantiating the definitions of class template members,
and core issues 275 and 259 will both affect the checking that we do
for explicit instantiations (but are not yet implemented).
llvm-svn: 71613
|
| |
|
|
|
|
|
|
|
| |
template class X<int>;
This also cleans up the propagation of template information through
declaration parsing, which is used to improve some diagnostics.
llvm-svn: 71608
|
| |
|
|
|
|
|
|
| |
extension.
This implements rdar://6880449 - improve diagnostic for usage of "global register variable" GCC extension
llvm-svn: 71599
|
| |
|
|
|
|
| |
template parameters.
llvm-svn: 71598
|
| |
|
|
|
|
| |
declarations.
llvm-svn: 71597
|
| |
|
|
|
|
|
|
|
|
| |
parse just a single declaration and provide a reasonable diagnostic
when the "only one declarator per template declaration" rule is
violated. This eliminates some ugly, ugly hackery where we used to
require thatn the layout of a DeclGroup of a single element be the
same as the layout of a single declaration.
llvm-svn: 71596
|
| |
|
|
| |
llvm-svn: 71595
|
| |
|
|
|
|
|
|
|
| |
to allow us to support generation of deferred ctors/dtors.
It looks like codegen isn't emitting a call to the dtor in
member-functions.cpp:test2, but when it does, its body should
get emitted.
llvm-svn: 71594
|
| |
|
|
|
|
|
|
|
| |
static
functions and methods declared inline, but not ctors/dtors or methods not declared
inline (apparently my previous patch wasn't good enough).
llvm-svn: 71591
|
| |
|
|
|
|
|
|
|
| |
owned by caller
Now 'init' methods are treated by the retain/release checker as
claiming their receiver and allocating a new object.
llvm-svn: 71579
|
| |
|
|
| |
llvm-svn: 71572
|
| |
|
|
|
|
| |
only and used in class imllementations (objc2 Nonfragile ABI specific).
llvm-svn: 71571
|
| |
|
|
|
|
| |
don't need special treatment for unions.
llvm-svn: 71559
|
| |
|
|
|
|
|
| |
register.
- Merge algorithm was returning MEMORY as it should.
llvm-svn: 71556
|
| |
|
|
|
|
|
|
|
| |
array region, set its default value to conjured symbol. When retrieving its
element, create new region value symbol for the element.
Also fix some 80 columns violations.
llvm-svn: 71548
|
| |
|
|
|
|
|
|
| |
same treatment as CF objects
This was accomplished by having 'isTypeRef' recursively walk the typedef stack.
llvm-svn: 71538
|
| |
|
|
|
|
|
| |
(with -E), we turn the PCH include into an implicit include of the
file from which the PCH file was generated.
llvm-svn: 71534
|
| |
|
|
| |
llvm-svn: 71492
|
| |
|
|
|
|
| |
spotted by Eli!
llvm-svn: 71490
|
| |
|
|
| |
llvm-svn: 71489
|
| |
|
|
| |
llvm-svn: 71484
|
| |
|
|
|
|
| |
existing class decls first.
llvm-svn: 71481
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
specialization" within a C++ template, and permit name lookup into the
current instantiation. For example, given:
template<typename T, typename U>
struct X {
typedef T type;
X* x1; // current instantiation
X<T, U> *x2; // current instantiation
X<U, T> *x3; // not current instantiation
::X<type, U> *x4; // current instantiation
X<typename X<type, U>::type, U>: *x5; // current instantiation
};
llvm-svn: 71471
|
| |
|
|
|
|
|
|
| |
message dispage API for all but a few messages. This is
a runtime performance improvement and there is not meant
to be a functional change.
llvm-svn: 71467
|
| |
|
|
| |
llvm-svn: 71461
|
| |
|
|
|
|
| |
extend the lifetime of an object stored to a container.
llvm-svn: 71452
|
| |
|
|
| |
llvm-svn: 71444
|
| |
|
|
| |
llvm-svn: 71436
|
| |
|
|
|
|
| |
autorelease]' would emit a false 'too many overreleases' error.
llvm-svn: 71432
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
template. The injected-class-name is either a type or a template,
depending on whether a '<' follows it. As a type, the
injected-class-name's template argument list contains its template
parameters in declaration order.
As part of this, add logic for canonicalizing declarations, and be
sure to canonicalize declarations used in template names and template
arguments.
A TagType is dependent if the declaration it references is dependent.
I'm not happy about the rather complicated protocol needed to use
ASTContext::getTemplateSpecializationType.
llvm-svn: 71408
|
| |
|
|
| |
llvm-svn: 71405
|
| |
|
|
|
|
| |
is expected.
llvm-svn: 71397
|
| |
|
|
|
|
|
|
| |
where an owned one is expected. Also add preliminary checking for
returning a positive retain count object in GC mode where an owned GC
object is expected.
llvm-svn: 71388
|
| |
|
|
|
|
|
|
| |
- Improve -autorelease diagnostics.
- Improve VLA diagnostics.
- Use "short description" for bug when outputting to TextDiagnostics
llvm-svn: 71383
|
| |
|
|
| |
llvm-svn: 71361
|
| |
|
|
|
|
|
| |
pointee type is scalar type, create element region regardless with the sizes
of types.
llvm-svn: 71360
|
| |
|
|
| |
llvm-svn: 71356
|
| |
|
|
| |
llvm-svn: 71312
|
| |
|
|
|
|
| |
'autorelease'.
llvm-svn: 71307
|
| |
|
|
|
|
|
| |
and we also want to tell which message is actually
being sent.
llvm-svn: 71296
|
| |
|
|
| |
llvm-svn: 71278
|
| |
|
|
|
|
|
| |
- {return-types,single-args}-{32,64} pass the first 1k ABI tests with
bit-fields enabled.
llvm-svn: 71272
|
| |
|
|
|
|
|
|
|
| |
to use a wide enough type. This might be wider than the "single
element"'s type in the presence of padding bit-fields.
- Darwin x86_32 now passes the first 1k ABI tests with bit-field
generation enabled.
llvm-svn: 71270
|
| |
|
|
| |
llvm-svn: 71267
|
| |
|
|
|
|
| |
element" structures.
llvm-svn: 71266
|
| |
|
|
|
|
|
| |
- This turns out to be a no-op now that most of the handling for
everything else is in place.
llvm-svn: 71261
|
| |
|
|
|
|
|
| |
- This eliminates 5/1000 failures on return-types-32, on the current
ABITest config.
llvm-svn: 71250
|
| |
|
|
|
|
| |
use of dot-syntax expression. This is to match gcc's.
llvm-svn: 71243
|
| |
|
|
|
|
|
|
|
| |
of the underlying _N builtin, not the the type of the pointee of the
actual type. This ensures that atomics involving pointers end up
using the correct integer type when they are resolved, avoiding
aborts in codegen.
llvm-svn: 71218
|
| |
|
|
| |
llvm-svn: 71216
|