| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
| |
C++, from Andrea Nall!
llvm-svn: 110439
|
|
|
|
|
|
| |
found within contexts other than the translation unit.
llvm-svn: 110417
|
|
|
|
| |
llvm-svn: 110315
|
|
|
|
|
|
| |
a declaration.
llvm-svn: 110175
|
|
|
|
|
|
| |
initializations now.
llvm-svn: 110063
|
|
|
|
|
|
| |
for them that will deserialize them when needed.
llvm-svn: 110031
|
|
|
|
|
|
| |
Note some obvious false positives in the test case.
llvm-svn: 109986
|
|
|
|
|
|
|
| |
will end up bizarrely mirroring CGExprConstant, but that might be the hazard of
this feature.
llvm-svn: 109984
|
|
|
|
| |
llvm-svn: 109965
|
|
|
|
|
|
| |
those with initializers.
llvm-svn: 109964
|
|
|
|
|
|
|
|
|
|
| |
a switch or goto somewhere in the function. Indirect gotos trigger the
jump-checker regardless, because the conditions there are slightly more
elaborate and it's too marginal a case to be worth optimizing.
Turns off the jump-checker in a lot of cases in C++. rdar://problem/7702918
llvm-svn: 109962
|
|
|
|
| |
llvm-svn: 109865
|
|
|
|
|
|
|
| |
qualifiers) when checking a K&R function definition against a previous
prototype. Fixes <rdar://problem/8193107>.
llvm-svn: 109751
|
|
|
|
|
|
|
| |
for AST nodes that aren't actually out-of-line (i.e., require a
nested-name-specifier). Fixes <rdar://problem/8204126>.
llvm-svn: 109704
|
|
|
|
| |
llvm-svn: 109440
|
|
|
|
|
|
| |
since we aren't going to be calling them ever.
llvm-svn: 109377
|
|
|
|
|
|
|
| |
Sema::ActOnDeclarator doesn't mean that the Decl we ended up creating
has a useful name. <rdar://problem/8229910>
llvm-svn: 109296
|
|
|
|
| |
llvm-svn: 109280
|
|
|
|
| |
llvm-svn: 108807
|
|
|
|
|
|
|
| |
diagnostic. Instead, put it and the "declaration does not declare
anything" warning into -Wmissing-declarations.
llvm-svn: 108527
|
|
|
|
| |
llvm-svn: 108526
|
|
|
|
|
|
|
|
| |
purpose of access control. Fixes PR7644.
I can't actually find anything directly justifying this, but it seems obvious.
llvm-svn: 108521
|
|
|
|
| |
llvm-svn: 108505
|
|
|
|
|
|
|
|
|
|
| |
represent builtins that have the "scanf" attribution (via the format attribute) just
like we do with printf functions. Follow-up work is needed to add similar support
for fscanf et al.
This is to support format-string checking for scanf functions.
llvm-svn: 108499
|
|
|
|
|
|
|
|
|
|
| |
definition, we're likely going to end up breaking the invariants of
the template system, e.g., that the depths of template parameter lists
match up with the nesting template of the template. So, make sure we
mark such ill-formed declarations as invalid or don't even build them
at all.
llvm-svn: 108372
|
|
|
|
| |
llvm-svn: 108233
|
|
|
|
|
|
| |
C++). Fixes PR7466.
llvm-svn: 108231
|
|
|
|
|
|
| |
function type. Fixes PR7470.
llvm-svn: 108209
|
|
|
|
|
|
|
|
| |
of getBody() when we are just checking the existence of a body, to avoid de-serialization of the body from PCH.
Makes de-serialization of the function body even more "lazier".
llvm-svn: 107768
|
|
|
|
| |
llvm-svn: 107510
|
|
|
|
|
|
| |
calls use that routine
llvm-svn: 107444
|
|
|
|
|
|
| |
CXXRecordDecl::getDestructor(); no functionality change.
llvm-svn: 107394
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
aren't dropping all exception specifications on destructors, the
exception specifications on implicitly-declared destructors were
detected as being wrong (which they were).
Introduce logic to provide a proper exception-specification for
implicitly-declared destructors. This also fixes PR6972.
Note that the other implicitly-declared special member functions also
need to get exception-specifications. I'll deal with that in a
subsequent commit.
llvm-svn: 107385
|
|
|
|
| |
llvm-svn: 107378
|
|
|
|
|
|
| |
exception specification. Fixes PR7526.
llvm-svn: 107374
|
|
|
|
| |
llvm-svn: 106813
|
|
|
|
|
|
| |
is an extern local to a function. Radar 8125274.
llvm-svn: 106773
|
|
|
|
|
|
| |
enum as a GNU extension.
llvm-svn: 106540
|
|
|
|
|
|
|
| |
particular sequence causes its definition to not be generated in the object file.
(fixes radar 8071804).
llvm-svn: 106424
|
|
|
|
|
|
| |
function to redeclarations of that function. Fixes PR7025.
llvm-svn: 106317
|
|
|
|
|
|
|
|
|
| |
disambiguation keywords outside of templates in C++98/03. Previously,
the warning would fire when the associated nested-name-specifier was
not dependent, but that was a misreading of the C++98/03 standard:
now, we complain only when we're outside of any template.
llvm-svn: 106161
|
|
|
|
| |
llvm-svn: 106111
|
|
|
|
|
|
| |
for overridden virtual methods.
llvm-svn: 106096
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
introduced by using decls are hidden even if their template parameter lists
or return types differ from the "overriding" declaration.
Propagate using shadow declarations around more effectively when looking up
template-ids. Reperform lookup for template-ids in member expressions so that
access control is properly set up.
Fix some number of latent bugs involving template-ids with totally invalid
base types. You can only actually get these with a scope specifier, since
otherwise the template-id won't parse as a template-id.
Fixes PR7384.
llvm-svn: 106093
|
|
|
|
|
|
|
|
|
|
|
|
| |
provides C "integer type" semantics in C and C++ "integral type"
semantics in C++.
Note that I still need to update isIntegerType (and possibly other
predicates) using the same approach I've taken for
isIntegralType(). The two should have the same meaning, but currently
don't (!).
llvm-svn: 106074
|
|
|
|
|
|
|
|
|
|
| |
in C++ that involve both integral and enumeration types. Convert all
of the callers to Type::isIntegralType() that are meant to work with
both integral and enumeration types over to
Type::isIntegralOrEnumerationType(), to prepare to eliminate
enumeration types as integral types.
llvm-svn: 106071
|
|
|
|
|
|
|
|
| |
objective-c++ class objects which have GC'able objc object
pointers and need to use ObjC's objc_memmove_collectable
API (radar 8070772).
llvm-svn: 106061
|
|
|
|
|
|
| |
ASTContext rather than via the normal heap.
llvm-svn: 106008
|
|
|
|
|
|
| |
methods.
llvm-svn: 105882
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
case of an elaborated-type-specifier like 'typename A<T>::foo', and
DependentTemplateSpecializationType represents the case of an
elaborated-type-specifier like 'typename A<T>::template B<T>'. The TypeLoc
representation of a DependentTST conveniently exactly matches that of an
ElaboratedType wrapping a TST.
Kill off the explicit rebuild methods for RebuildInCurrentInstantiation;
the standard implementations work fine because the nested name specifier
is computable in the newly-entered context.
llvm-svn: 105801
|