| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
| |
CXXRecordDecl::DefinitionData::DeclaredCopyAssignment, for
copy-assignment operators. Another step toward <rdar://problem/8459981>.
llvm-svn: 114899
|
| |
|
|
|
|
|
| |
"shift with non-immediate" intrinsics. It gets here because we they aren't
immediates anymore.
llvm-svn: 114890
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
DeclaredCopyConstructor bits in CXXRecordDecl's DefinitionData
structure. Rather than having Sema call addedConstructor or set the
bits directly at semi-random places, move all of the logic for
managing these bits into CXXRecordDecl itself and tie the
addedConstructor call into DeclContext::addDecl().
This makes it easier for AST-building clients to get the right bits
set in DefinitionData, and is one small part of <rdar://problem/8459981>.
llvm-svn: 114889
|
| |
|
|
|
|
|
|
| |
templates whose explicit instantiation is first declared and then defined.
Fixes http://llvm.org/pr8207
llvm-svn: 114874
|
| |
|
|
|
|
|
|
|
| |
(on functions with no pointer arguments) but only when
the attribute has not been coming from a macro
instantiation in a header file. Fixes first part
of radar 6857843.
llvm-svn: 114860
|
| |
|
|
|
|
|
| |
into a temporary is elidable as well.
(Finishes up radar 8291337).
llvm-svn: 114845
|
| |
|
|
| |
llvm-svn: 114836
|
| |
|
|
| |
llvm-svn: 114820
|
| |
|
|
|
|
| |
That, and keep aKor happy :P.
llvm-svn: 114816
|
| |
|
|
| |
llvm-svn: 114814
|
| |
|
|
|
|
| |
using generic GCC tools.
llvm-svn: 114793
|
| |
|
|
|
|
|
|
|
|
| |
automatic storage added:
- LocalScope class with iterator used to pointing into it,
- fat doxygen comment for LocalScope indended usage,
- BlockScopePosPair class used for storing jump targets/sources (for: goto, break, continue), that replaces raw CFGBlock pointer used earlier for this purpose.
llvm-svn: 114790
|
| |
|
|
|
|
|
| |
for property reference expression (of c++ object type)
in the conditional expression. Fixes // rdar://8291337
llvm-svn: 114783
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
identifier, we may have a Sema object but no translation unit scope
(because parsing is finished). In this case, we still need to update
the IdResolver, which might still be used when writing a PCH
containing another PCH (without chaining). This bug manifested as a
failure with precompiled preambles.
Also, add a little environment-variable-sensitive logging for
libclang.
llvm-svn: 114774
|
| |
|
|
| |
llvm-svn: 114762
|
| |
|
|
|
|
| |
likely to be multithreaded. Also move the printing of timers to somewhere better for multithreaded libclang clients
llvm-svn: 114760
|
| |
|
|
|
|
| |
to prevent users from trying unsupported stuff. Useful for testing.
llvm-svn: 114749
|
| |
|
|
|
|
| |
Fixed //rdar://8472487.
llvm-svn: 114741
|
| |
|
|
|
|
| |
vla. Implements pr7827.
llvm-svn: 114737
|
| |
|
|
|
|
|
|
|
| |
the location of the @implementation
is just confusing for clients that want to use SourceLocations for syntactic references.
Fixes: <rdar://problem/8470540>
llvm-svn: 114714
|
| |
|
|
| |
llvm-svn: 114713
|
| |
|
|
| |
llvm-svn: 114712
|
| |
|
|
| |
llvm-svn: 114711
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
provided when the optimization is disabled. In particular, split
the completion context CCC_Other into two contexts: CCC_Other, which
means that it's an undisclosed context for which any other results are
unwelcome, and CCC_Recovery, which is used in recovery cases.
Since we're now using the completion context within the completion
results builder, make sure that it's always set to something.
Fixes <rdar://problem/8470644>.
llvm-svn: 114704
|
| |
|
|
|
|
|
|
|
| |
warning if the zero value was an
enum or was expanded from a macro.
Fixes: <rdar://problem/8414119>
llvm-svn: 114695
|
| |
|
|
|
|
|
|
|
| |
use the class extension
as the lexical DeclContext for the @property declaration that gets auto-created for the @interface.
Fixes: <rdar://problem/8467189>
llvm-svn: 114693
|
| |
|
|
|
|
|
| |
members with the same name as a decl outside the scope where the members are actually introduced.
Fixes http://llvm.org/PR6741
llvm-svn: 114641
|
| |
|
|
|
|
|
|
|
| |
if the driver is of the opinion that
stderr can't handle them. (see http://llvm.org/PR8150)
Patch by Frits van Bommel!
llvm-svn: 114638
|
| |
|
|
| |
llvm-svn: 114637
|
| |
|
|
|
|
| |
VisitCXXMemberCallExpr(). Ideally we should unify these code paths as much as possible, since they only differ by a few details.
llvm-svn: 114628
|
| |
|
|
| |
llvm-svn: 114619
|
| |
|
|
|
|
|
|
|
|
| |
- Therefore, we can lower out the NEON wrapper structs and pass the vectors
directly. This makes a huge difference in the cleanliness of the IR after
optimization.
- I will trust, but verify, via future ABITest testing (for APCS-GNU, at
least).
llvm-svn: 114618
|
| |
|
|
|
|
| |
AnalyzerStatsChecker.
llvm-svn: 114581
|
| |
|
|
| |
llvm-svn: 114575
|
| |
|
|
|
|
| |
valid result from ActOnIdExpression
llvm-svn: 114548
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
-Wpadded warns when undesired padding is introduced in a struct. (rdar://7469556)
-Wpacked warns if a struct is given the packed attribute, but the packed attribute has no effect
on the layout or the size of the struct. Such structs may be mis-aligned for little benefit.
The warnings are emitted at the point where layout is calculated, that is at RecordLayoutBuilder.
To avoid calculating the layouts of all structs regardless of whether they are needed or not,
I let the layouts be lazily constructed when needed. This has the disadvantage that the above warnings
will be emitted only when they are used for IR gen, and not e.g with -fsyntax-only:
$ cat t.c
struct S {
char c;
int i;
};
void f(struct S* s) {}
$ clang -fsyntax-only -Wpadded t.c
$ clang -c -Wpadded t.c -o t.o
t.c:3:7: warning: padding struct 'struct S' with 3 bytes to align 'i' [-Wpadded]
int i;
^
1 warning generated.
This is a good tradeoff between providing the warnings and not calculating layouts for all
structs in case the user has enabled a couple of rarely used warnings.
llvm-svn: 114544
|
| |
|
|
| |
llvm-svn: 114518
|
| |
|
|
| |
llvm-svn: 114517
|
| |
|
|
|
|
| |
some projects still depend on ___eprintf being available.
llvm-svn: 114509
|
| |
|
|
|
|
| |
atomics
llvm-svn: 114503
|
| |
|
|
| |
llvm-svn: 114502
|
| |
|
|
| |
llvm-svn: 114498
|
| |
|
|
|
|
| |
a vla type (fixes pr7827).
llvm-svn: 114495
|
| |
|
|
| |
llvm-svn: 114490
|
| |
|
|
|
|
|
|
|
|
|
|
| |
methods declared with @property in class extensions.
This matches the behavior for setters.
Also pass the class extension to ProcessPropertyDecl as the lexical DeclContext, even when not redeclaring the @property.
This fixes the remaining issues in <rdar://problem/7410145>.
llvm-svn: 114477
|
| |
|
|
|
|
|
| |
with missing LHS. radar 8453812. Executable test is checked
into llvm test suite.
llvm-svn: 114457
|
| |
|
|
|
|
|
|
|
|
|
| |
lexical DeclContext for newly created
ObjCMethodDecls. Further, use the location of the new property declaration as the location of new ObjCMethodDecls
(if they didn't previously exist).
This fixes more of the issues reported in <rdar://problem/7410145>.
llvm-svn: 114456
|
| |
|
|
|
|
| |
class template) and are in a context where we can have a value.
llvm-svn: 114441
|
| |
|
|
| |
llvm-svn: 114438
|
| |
|
|
|
|
|
|
| |
address-of expression.
Fixes rdar://8331312.
llvm-svn: 114426
|