| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
internal-linkage declaration"
See cfe-commits thread for r359814.
llvm-svn: 359858
|
|
|
|
|
|
|
|
| |
GCC warns on these cases, but we currently just silently ignore the attribute.
Differential Revision: https://reviews.llvm.org/D61097
llvm-svn: 359814
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
For example, given:
struct T1 {
struct T2 *p0;
};
-ast-print produced:
struct T1 {
struct T2;
struct T2 *p0;
};
Compiling that produces a warning that the first struct T2 declaration
does not declare anything.
Details:
A tag decl group is one or more decls that share a type specifier that
is a tag decl (that is, a struct/union/class/enum decl). Within
functions, the parser builds such a tag decl group as part of a
DeclStmt. However, in decl contexts, such as file scope or a member
list, the parser does not group together the members of a tag decl
group. Previously, detection of tag decl groups during printing was
implemented but only if the tag decl was unnamed. Otherwise, as in
the above example, the members of the group did not print together and
so sometimes introduced warnings.
This patch extends detection of tag decl groups in decl contexts to
any tag decl that is recorded in the AST as not free-standing.
Reviewed by: rsmith
Differential Revision: https://reviews.llvm.org/D45465
llvm-svn: 332314
|
|
|
|
|
|
| |
Patch reviewed by Richard Smith (D22168).
llvm-svn: 274930
|
|
|
|
|
|
| |
Patch by Axel Naumann!
llvm-svn: 274859
|
|
|
|
|
|
|
| |
Our self hosting buildbots found a few more tests which weren't updated
to reflect that the enum semantics are part of the Microsoft ABI.
llvm-svn: 249670
|
|
|
|
|
|
| |
Fixes PR24872.
llvm-svn: 248376
|
|
|
|
|
|
| |
to match LLVM's preferred style.
llvm-svn: 227545
|
|
|
|
|
|
|
|
|
| |
list-initialization that gets converted to some form other than an
InitListExpr. CXXTemporaryObjectExpr is a special case here, because it
represents a fused CXXFunctionalCastExpr + CXXConstructExpr. That, in
itself, is probably a design error...
llvm-svn: 227377
|
|
|
|
| |
llvm-svn: 217784
|
|
|
|
|
|
| |
duplicate attribute introducers. Eg) [[clang::fallthrough]] instead of [[[[clang::fallthrough]]]]
llvm-svn: 208706
|
|
|
|
|
|
| |
There were many additional tests that had the bad behavior baked in.
llvm-svn: 202174
|
|
|
|
|
|
|
|
| |
This reverts commit r202167.
It broke Analysis/auto-obj-dtors-cfg-output.cpp
llvm-svn: 202173
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Don't emit anything when we encounter a call to a conversion operator.
"bar(a & b)" instead of "bar(a & b.operator int())"
This preserves the semantics and is still idempotent if we print the AST multiple times.
- Properly print declarations of conversion operators.
"explicit operator bool();" instead of "bool operator _Bool();"
PR18776.
llvm-svn: 202167
|
|
|
|
| |
llvm-svn: 195366
|
|
|
|
|
|
|
| |
This is just a couple of minor fixes to account for the existence
of ElaboratedType.
llvm-svn: 188209
|
|
|
|
|
|
| |
Patch by Will Wilson.
llvm-svn: 182651
|
|
|
|
|
|
| |
builtins. Patch by Joe Sprowes!
llvm-svn: 180867
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is an improvement of r173630, that handles the following case:
struct VirualDestrClass
{
VirualDestrClass(int arg);
virtual ~VirualDestrClass();
};
struct ConstrWithCleanupsClass
{
ConstrWithCleanupsClass(const VirualDestrClass& cplx = VirualDestrClass(42));
};
ConstrWithCleanupsClass cwcNoArg;
That was printed as:
ConstrWithCleanupsClass cwcNoArg();
llvm-svn: 174296
|
|
|
|
|
|
| |
Patch by Will Wilson.
llvm-svn: 173630
|
|
|
|
|
|
| |
-ast-print tests
llvm-svn: 173387
|
|
|
|
|
|
| |
function. Patch by Grzegorz Jablonski.
llvm-svn: 166617
|
|
|
|
| |
llvm-svn: 166500
|
|
|
|
|
|
| |
Grzegorz Jablonski.
llvm-svn: 166311
|
|
|
|
|
|
| |
Grzegorz Jablonski.
llvm-svn: 166237
|
|
|
|
|
|
| |
printing. Patch by Benoit Perrot.
llvm-svn: 166227
|
|
|
|
|
|
|
|
| |
with default values.
Based on patch by Grzegorz Jablonski.
llvm-svn: 166226
|
|
llvm-svn: 166078
|