| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
| |
llvm-svn: 121759
|
| |
|
|
|
|
|
| |
class to be passed around. The line between argument and return types and
everything else is kindof vague, but I think it's justifiable.
llvm-svn: 121752
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
and TemplateArgument with an operation that determines whether there
are any unexpanded parameter packs within that construct. Use this
information to diagnose the appearance of the names of parameter packs
that have not been expanded (C++ [temp.variadic]p5). Since this
property is checked often (every declaration, ever expression
statement, etc.), we extend Type and Expr with a bit storing the
result of this computation, rather than walking the AST each time to
determine whether any unexpanded parameter packs occur.
This commit is deficient in several ways, which will be remedied with
future commits:
- Expr has a bit to store the presence of an unexpanded parameter
pack, but it is never set.
- The error messages don't point out where the unexpanded parameter
packs were named in the type/expression, but they should.
- We don't check for unexpanded parameter packs in all of the places
where we should.
- Testing is sparse, pending the resolution of the above three
issues.
llvm-svn: 121724
|
| |
|
|
| |
llvm-svn: 121505
|
| |
|
|
| |
llvm-svn: 121490
|
| |
|
|
| |
llvm-svn: 121488
|
| |
|
|
|
|
|
|
|
|
| |
space better. Remove this reference. To make that work, change some APIs
(most importantly, getDesugaredType()) to take an ASTContext& if they
need to return a QualType. Simultaneously, diminish the need to return a
QualType by introducing some useful APIs on SplitQualType, which is
just a std::pair<const Type *, Qualifiers>.
llvm-svn: 121478
|
| |
|
|
|
|
|
| |
and ActOnVariableDeclarator
No functionality change. // rdar://8751949
llvm-svn: 121427
|
| |
|
|
|
|
|
|
| |
zextOrTrunc(), and APSInt methods extend(), extOrTrunc() and new method
trunc(), to be const and to return a new value instead of modifying the
object in place.
llvm-svn: 121121
|
| |
|
|
|
|
| |
NULL/invalid expression
llvm-svn: 121081
|
| |
|
|
|
|
| |
reason this is limited to C++, and it's certainly not limited to temporaries.
llvm-svn: 120996
|
| |
|
|
| |
llvm-svn: 120828
|
| |
|
|
|
|
|
| |
to be used in copy helper synthesis of __block
variables. wip.
llvm-svn: 120617
|
| |
|
|
|
|
|
| |
redeclaration of an enum type differs from that of the original
declaration, from Daniel Wallin
llvm-svn: 120577
|
| |
|
|
|
|
| |
Documentation: http://msdn.microsoft.com/en-us/library/z2cx9y4f.aspx
llvm-svn: 120000
|
| |
|
|
|
|
|
|
|
|
|
| |
A new AST node is introduced:
def IndirectField : DDecl<Value>;
IndirectFields are injected into the anonymous's parent scope and chain back to
the original field. Name lookup for anonymous entities now result in an
IndirectFieldDecl instead of a FieldDecl.
There is no functionality change, the code generated should be the same.
llvm-svn: 119919
|
| |
|
|
|
|
| |
Move ErrorTrap from clang/Sema to clang/Basic as DiagnosticErrorTrap and use it in Scope.
llvm-svn: 119763
|
| |
|
|
| |
llvm-svn: 119719
|
| |
|
|
|
|
|
|
|
| |
-Improve the diagnostic message
-Add some comments
Suggestions by Chris.
llvm-svn: 119594
|
| |
|
|
|
|
|
|
|
|
| |
definitions if they take by-value
or return by-value any POD that is larger than some threshold (default is 64 bytes).
Implements rdar://8548050.
llvm-svn: 119583
|
| |
|
|
| |
llvm-svn: 118381
|
| |
|
|
|
|
|
|
| |
parameter name.
Fixes PR8012.
llvm-svn: 118138
|
| |
|
|
| |
llvm-svn: 117963
|
| |
|
|
| |
llvm-svn: 117942
|
| |
|
|
|
|
| |
deciding whether to queue a decl for unused-declaration warnings.
llvm-svn: 117431
|
| |
|
|
| |
llvm-svn: 117182
|
| |
|
|
|
|
|
|
|
| |
redeclarations of main appropriately rather than allowing it to be
overloaded. Also, disallowing declaring main as a template.
Fixes GCC DejaGNU g++.old-deja/g++.other/main1.C.
llvm-svn: 117029
|
| |
|
|
|
|
|
|
| |
function decls.
Reviewed by rjmccall and nlewycky.
llvm-svn: 116979
|
| |
|
|
|
|
|
| |
construct an unsupported friend when there's a friend with a templated
scope specifier. Fixes a consistency crash, rdar://problem/8540527
llvm-svn: 116786
|
| |
|
|
| |
llvm-svn: 116709
|
| |
|
|
|
|
|
| |
1. enum underlying type is int by default.
2. Error "enumerator value is not representable in the underlying type"is a ExtWarning
llvm-svn: 116704
|
| |
|
|
| |
llvm-svn: 116692
|
| |
|
|
| |
llvm-svn: 116662
|
| |
|
|
|
|
|
|
| |
by marking the decl invalid isn't. Make some steps towards supporting these
and then hastily shut them down at the last second by marking them as
unsupported.
llvm-svn: 116661
|
| |
|
|
|
|
|
|
| |
flexible array member, so long as the flexibility array member is
either not initialized or is initialized with an empty initializer
list. Fixes <rdar://problem/8540437>.
llvm-svn: 116647
|
| |
|
|
|
|
| |
as the class itself. Fixes PR7082.
llvm-svn: 116573
|
| |
|
|
|
|
| |
ambiguous context.
llvm-svn: 116567
|
| |
|
|
|
|
| |
initialized. Fixes PR7076.
llvm-svn: 116553
|
| |
|
|
|
|
|
|
| |
should contain actual redeclarations, not implicits.
As a bonus, now we don't deserialize it unless we need it.
llvm-svn: 116504
|
| |
|
|
|
|
| |
in a base class. Fixes PR8168.
llvm-svn: 116448
|
| |
|
|
|
|
|
|
| |
members. Provide a hard error when the qualification doesn't match the
current class type, or a warning + Fix-it if it does match the current
class type. Fixes PR8159.
llvm-svn: 116445
|
| |
|
|
|
|
|
|
| |
Fixes a crash and diagnoses the error condition of an unqualified
friend which doesn't resolve to something. I'm still not certain how
this is useful.
llvm-svn: 116393
|
| |
|
|
|
|
|
|
| |
of templated-scope friends by marking them invalid and white-listing all
accesses until such time as we implement them. Fixes a crash, this time
without a broken test case.
llvm-svn: 116364
|
| |
|
|
| |
llvm-svn: 116300
|
| |
|
|
| |
llvm-svn: 116166
|
| |
|
|
| |
llvm-svn: 116144
|
| |
|
|
|
|
| |
bit by me).
llvm-svn: 116122
|
| |
|
|
|
|
| |
to white-list conversions required by system headers. rdar://problem/8232669
llvm-svn: 116029
|
| |
|
|
| |
llvm-svn: 116020
|
| |
|
|
|
|
|
|
| |
waiting until we think we need it: we didn't catch all of the places
where we actually needed it, and we probably wouldn't ever. Fixes a
C++ PCH crasher.
llvm-svn: 115621
|