| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
| |
llvm-svn: 95940
|
| |
|
|
|
|
|
| |
pointer. If you don't like the new warning, you can turn it off with
-Wno-force-align-arg-pointer.
llvm-svn: 95939
|
| |
|
|
|
|
|
|
| |
variable type, we can (and should) still check for completeness of the
variable's type. Do so, to work around an assertion that shows up in
Boost's shared_ptr.
llvm-svn: 95934
|
| |
|
|
|
|
| |
using 'new[]' instead of the allocator associated with ASTContext.
llvm-svn: 95933
|
| |
|
|
|
|
| |
associated with ASTContext. This fixes yet another leak (<rdar://problem/7639260>).
llvm-svn: 95930
|
| |
|
|
| |
llvm-svn: 95906
|
| |
|
|
|
|
| |
complete function type of the member functions (using PredefinedExpr::ComputeName.
llvm-svn: 95887
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Enhance the printf format string checking when using the format
specifier flags ' ', '0', '+' with the 'p' or 's' conversions (since
they are nonsensical and undefined). This is similar to GCC's
checking.
Also warning when a precision is used with the 'p' conversin
specifier, since it has no meaning.
llvm-svn: 95869
|
| |
|
|
|
|
|
|
| |
array associated with NonNullAttr. This fixes yet another leak when
ASTContext uses a BumpPtrAllocator.
Fixes: <rdar://problem/7637150>
llvm-svn: 95863
|
| |
|
|
|
|
|
|
|
| |
array allocated using the allocator in ASTContext. This addresses
these strings getting leaked when using a BumpPtrAllocator (in
ASTContext).
Fixes: <rdar://problem/7636765>
llvm-svn: 95853
|
| |
|
|
|
|
|
| |
template explicit specialization. Complete an apparently stalled refactor
towards using CheckSpecializationInstantiationRedecl().
llvm-svn: 95845
|
| |
|
|
| |
llvm-svn: 95843
|
| |
|
|
|
|
| |
Decl subclasses. No functionality change.
llvm-svn: 95841
|
| |
|
|
|
|
| |
using property dot-syntax. Fixes radar 7628953.
llvm-svn: 95838
|
| |
|
|
|
|
|
| |
and CXXRecordDecl::getDefinition(); it's totally unnecessary. No
functionality change.
llvm-svn: 95836
|
| |
|
|
|
|
| |
BumpPtrAllocator. Previously they were not getting freed. Fixes <rdar://problem/7635663>.
llvm-svn: 95834
|
| |
|
|
|
|
| |
Thanks, Anton!
llvm-svn: 95821
|
| |
|
|
|
|
|
|
| |
attribute, so it uses Anton's new target-specific attribute support. It's
supposed to ensure that the stack is 16-byte aligned, but since necessary
support is lacking from LLVM, this is a no-op for now.
llvm-svn: 95820
|
| |
|
|
|
|
|
| |
conversions. Fix an access-control bug where privileges were not considered
at intermediate points along the inheritance path. Prepare for friends.
llvm-svn: 95775
|
| |
|
|
| |
llvm-svn: 95756
|
| |
|
|
|
|
|
| |
it available within the AST library, of which Sema is one client. No
functionality change.
llvm-svn: 95701
|
| |
|
|
|
|
| |
(radar 7381956).
llvm-svn: 95695
|
| |
|
|
|
|
|
|
|
| |
This is a non-fragile-abi feature only. Since it
breaks existing code, it is currently placed under
-fobjc-nonfragile-abi2 option for test purposes only
until further notice. WIP.
llvm-svn: 95685
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Sema::ActOnUninitializedDecl over to InitializationSequence (with
default initialization), eliminating redundancy. More importantly, we
now check that a const definition in C++ has an initilizer, which was
an #if 0'd code for many, many months. A few other tweaks were needed
to get everything working again:
- Fix all of the places in the testsuite where we defined const
objects without initializers (now that we diagnose this issue)
- Teach instantiation of static data members to find the previous
declaration, so that we build proper redeclaration
chains. Previously, we had the redeclaration chain but built it
too late to be useful, because...
- Teach instantiation of static data member definitions not to try
to check an initializer if a previous declaration already had an
initializer. This makes sure that we don't complain about static
const data members with in-class initializers and out-of-line
definitions.
- Move all of the incomplete-type checking logic out of
Sema::FinalizeDeclaratorGroup; it makes more sense in
ActOnUnitializedDecl.
There may still be a few places where we can improve these
diagnostics. I'll address that as a separate commit.
llvm-svn: 95657
|
| |
|
|
|
|
| |
types; we don't want to give an expression reference type. Fixes PR6177.
llvm-svn: 95635
|
| |
|
|
|
|
|
| |
specialization does not use any of its template parameters, then
recover far more gracefully. Fixes PR6181.
llvm-svn: 95629
|
| |
|
|
|
|
|
|
| |
non-type template parameter that has reference type, augment the
qualifiers of the non-type template argument with those of the
referenced type. Fixes PR6250.
llvm-svn: 95607
|
| |
|
|
|
|
|
| |
may be some other places that could take advantage of this new information,
but I haven't really looked yet.
llvm-svn: 95600
|
| |
|
|
|
|
| |
type (-Wswitch), from Michal!
llvm-svn: 95592
|
| |
|
|
|
|
| |
defined by itself, from Enea Zaffanella!
llvm-svn: 95586
|
| |
|
|
| |
llvm-svn: 95554
|
| |
|
|
|
|
| |
glaring logic bug anyways. =D
llvm-svn: 95533
|
| |
|
|
|
|
|
|
|
|
| |
deduction. This requires refactoring the deduction to have access to the Sema
object instead of merely the ASTContext. Still leaves something to be desired
due to poor source location.
Fixes PR6257 and half of PR6259.
llvm-svn: 95528
|
| |
|
|
| |
llvm-svn: 95517
|
| |
|
|
| |
llvm-svn: 95510
|
| |
|
|
|
|
| |
Daniel, I'd appreciate a review of the driver/cc1 parts.
llvm-svn: 95508
|
| |
|
|
|
|
|
|
|
|
|
| |
params. Don't insert addrof operations when matching against a pointer;
array/function conversions should take care of this for us, assuming the
argument type-checked in the first place. Add a fixme where we seem to be
using a less-restrictive reference type than we should.
Fixes PR 6249.
llvm-svn: 95495
|
| |
|
|
| |
llvm-svn: 95494
|
| |
|
|
| |
llvm-svn: 95491
|
| |
|
|
| |
llvm-svn: 95487
|
| |
|
|
| |
llvm-svn: 95472
|
| |
|
|
|
|
| |
PR 5517.
llvm-svn: 95470
|
| |
|
|
|
|
|
| |
non-type template argument for a non-type template parameter of
pointer type. Fixes PR6244.
llvm-svn: 95447
|
| |
|
|
|
|
|
|
| |
type-checking within a template definition. In this case, the
"instantiated" declaration is just the declaration itself, found
within the current instantiation. Fixes PR6239.
llvm-svn: 95442
|
| |
|
|
|
|
|
|
|
|
|
|
| |
follows (as conservatively as possible) gcc's current behavior: attributes
written on return types that don't apply there are applied to the function
instead, etc. Only parse CC attributes as type attributes, not as decl attributes;
don't accepet noreturn as a decl attribute on ValueDecls, either (it still
needs to apply to other decls, like blocks). Consistently consume CC/noreturn
information throughout codegen; enforce this by removing their default values
in CodeGenTypes::getFunctionInfo().
llvm-svn: 95436
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
when instantiating the declaration of a member template:
- Only check if the have a template template argument at a specific position
when we already know that we have template arguments at that level;
otherwise, we're substituting for a level-reduced template template
parameter.
- When trying to find an instantiated declaration for a template
template parameter, look into the instantiated scope. This was a
typo, where we had two checks for TemplateTypeParmDecl, one of
which should have been a TemplateTemplateParmDecl.
With these changes, tramp3d-v4 passes -fsyntax-only.
llvm-svn: 95421
|
| |
|
|
|
|
|
|
|
| |
declaration, we can end up with template-id annotation tokens for
types that have not been converted into type annotation tokens. When
this is the case, translate the template-id into a type and parse as
an expression.
llvm-svn: 95404
|
| |
|
|
|
|
| |
Also make the comments I added in r95291 consistent.
llvm-svn: 95394
|
| |
|
|
|
|
|
| |
initializer (for no initialization) rather than a ParenListExpr with
zero arguments in it.
llvm-svn: 95382
|
| |
|
|
|
|
|
| |
always come from the primary template, so gather the instantiation
template arguments from the primary template.
llvm-svn: 95380
|