| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
| |
it can only bring pain when dealing with preprocessor abuse (see: boost).
rdar://10898986
llvm-svn: 151427
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
that provides the behavior of the C++11 library trait
std::is_trivially_constructible<T, Args...>, which can't be
implemented purely as a library.
Since __is_trivially_constructible can have zero or more arguments, I
needed to add Yet Another Type Trait Expression Class, this one
handling arbitrary arguments. The next step will be to migrate
UnaryTypeTrait and BinaryTypeTrait over to this new, more general
TypeTrait class.
Fixes the Clang side of <rdar://problem/10895483> / PR12038.
llvm-svn: 151352
|
| |
|
|
| |
llvm-svn: 151179
|
| |
|
|
|
|
| |
rdar://10906206
llvm-svn: 151118
|
| |
|
|
|
|
|
| |
The class name is long enough without the llvm:: added.
Also bring in RefCountedBase and RefCountedBaseVPTR.
llvm-svn: 150958
|
| |
|
|
|
|
|
|
| |
hold the used constructor itself.""
This reintroduces commit r150682 with a fix for the Bullet benchmark crash.
llvm-svn: 150685
|
| |
|
|
|
|
|
|
|
|
| |
used constructor itself."
It leads to a compiler crash in the Bullet benchmark.
This reverts commit r12014.
llvm-svn: 150684
|
| |
|
|
|
|
|
|
|
|
| |
constructor itself.
Holding the constructor directly makes no sense when list-initialized arrays come into play. The constructor is now held in a CXXConstructExpr, if construction is what is done. The new design can also distinguish properly between list-initialization and direct-initialization, as well as implicit default-initialization constructors and explicit value-initialization constructors. Finally, doing it this way removes redundance from the AST because CXXNewExpr doesn't try to handle both the allocation and the initialization responsibilities.
This breaks the static analysis of new expressions. I've filed PR12014 to track this.
llvm-svn: 150682
|
| |
|
|
| |
llvm-svn: 150647
|
| |
|
|
|
|
| |
Reviewed by Ted Kremenek.
llvm-svn: 150616
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
This option was added in r129614 and doesn't have any use case that I'm aware
of. It's possible that external tools are using these names - and if that's
the case we can certainly reassess the functionality, but for now it lets us
shave out a few unneeded bits from clang.
Move the "StaticDiagNameIndex" table into the only remaining consumer, diagtool.
This removes the actual diagnostic name strings from clang entirely.
Reviewed by Chris Lattner & Ted Kremenek.
llvm-svn: 150612
|
| |
|
|
| |
llvm-svn: 150555
|
| |
|
|
|
|
|
| |
well as improving the RecursiveASTVisitor's walk of lambda
expressions.
llvm-svn: 150549
|
| |
|
|
|
|
| |
opt-in indexing option.
llvm-svn: 150517
|
| |
|
|
| |
llvm-svn: 150461
|
| |
|
|
|
|
|
|
|
| |
clang_getDiagnosticSetFromTU() as
child diagnostics of primary diagnostics. By using the DiagnosticRenderer, these Diagnostics now
match with those generated for serialized diagnostics.
llvm-svn: 150456
|
| |
|
|
|
|
| |
More cleanup after r149799.
llvm-svn: 150380
|
| |
|
|
|
|
| |
More cleanup after r149798.
llvm-svn: 150379
|
| |
|
|
|
|
|
| |
a reference for the instantiation decl. Also test that its location is correct
after previous commit.
llvm-svn: 150291
|
| |
|
|
|
|
|
|
|
|
| |
When creating the MCSubtargetInfo, the assembler driver uses the CPU and
feature string to construct a more accurate model of what instructions
are and are not legal.
rdar://10840476
llvm-svn: 150273
|
| |
|
|
| |
llvm-svn: 150268
|
| |
|
|
| |
llvm-svn: 150267
|
| |
|
|
|
|
| |
specialization in its USR string.
llvm-svn: 150264
|
| |
|
|
|
|
|
| |
Hardcoding the location of the build directory seems like it would
break at `make install`/packaging time.
llvm-svn: 150201
|
| |
|
|
|
|
| |
of bases in C++ classes. rdar://10768707
llvm-svn: 150048
|
| |
|
|
|
|
|
|
|
|
| |
DeclRefExpr
that is referencing the member function, so we can index the referenced function.
Fixes rdar://10762375&10324915 & http://llvm.org/PR11192
llvm-svn: 150033
|
| |
|
|
| |
llvm-svn: 150007
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
operator overloads out of line.
This seems to negatively affect compile time onsome ObjC tests
(which use a lot of partial diagnostics I assume). I have to come
up with a way to keep them inline without including Diagnostic.h
everywhere. Now adding a new diagnostic requires a full rebuild
of e.g. the static analyzer which doesn't even use those diagnostics.
This reverts commit 6496bd10dc3a6d5e3266348f08b6e35f8184bc99.
This reverts commit 7af19b817ba964ac560b50c1ed6183235f699789.
This reverts commit fdd15602a42bbe26185978ef1e17019f6d969aa7.
This reverts commit 00bd44d5677783527d7517c1ffe45e4d75a0f56f.
This reverts commit ef9b60ffed980864a8db26ad30344be429e58ff5.
llvm-svn: 150006
|
| |
|
|
| |
llvm-svn: 150000
|
| |
|
|
| |
llvm-svn: 149982
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Capturing variables by-reference and by-copy within a lambda
- The representation of lambda captures
- The creation of the non-static data members in the lambda class
that store the captured variables
- The initialization of the non-static data members from the
captured variables
- Pretty-printing lambda expressions
There are a number of FIXMEs, both explicit and implied, including:
- Creating a field for a capture of 'this'
- Improved diagnostics for initialization failures when capturing
variables by copy
- Dealing with temporaries created during said initialization
- Template instantiation
- AST (de-)serialization
- Binding and returning the lambda expression; turning it into a
proper temporary
- Lots and lots of semantic constraints
- Parameter pack captures
llvm-svn: 149977
|
| |
|
|
|
|
| |
process removed some naming ambiguities.
llvm-svn: 149870
|
| |
|
|
|
|
|
|
|
| |
of Diagnostic.h.
Fix all the files that depended on transitive includes of Diagnostic.h.
With this patch in place changing a diagnostic no longer requires a full rebuild of the StaticAnalyzer.
llvm-svn: 149781
|
| |
|
|
|
|
| |
declaration is a reference. rdar://10749990
llvm-svn: 149733
|
| |
|
|
| |
llvm-svn: 149608
|
| |
|
|
| |
llvm-svn: 149127
|
| |
|
|
| |
llvm-svn: 149094
|
| |
|
|
|
|
|
|
| |
leaves "finalize' behind and in arc mode, does not
include it. This allows the migrated source to be compiled
in both gc and arc mode. // rdar://10532441
llvm-svn: 149079
|
| |
|
|
|
|
| |
fails.
llvm-svn: 148970
|
| |
|
|
|
|
| |
(Uses the functionality which has been in CmpRuns long before.)
llvm-svn: 148868
|
| |
|
|
|
|
|
|
| |
for forward references of classes and protocols, this breaks libclang API usage.
rdar://10747438.
llvm-svn: 148861
|
| |
|
|
|
|
|
|
|
| |
forward reference, do give an interface or protocol cursor back, don't give
an 'UnexposedDecl' one.
rdar://10743193
llvm-svn: 148848
|
| |
|
|
|
|
|
|
|
| |
@implementation I(cat)
suppress subsequent references to 'I'.
rdar://10568103
llvm-svn: 148730
|
| |
|
|
|
|
|
|
|
| |
without C++-specific features.
Use it to set the language to C++ when indexing non-C-like structs.
rdar://10732579
llvm-svn: 148708
|
| |
|
|
| |
llvm-svn: 148707
|
| |
|
|
| |
llvm-svn: 148706
|
| |
|
|
| |
llvm-svn: 148705
|
| |
|
|
| |
llvm-svn: 148582
|
| |
|
|
| |
llvm-svn: 148577
|
| |
|
|
|
|
|
| |
the front end into its own class, FrontendInputFile, to make it easier
to introduce new per-input data. No functionality change.
llvm-svn: 148546
|