| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
template argument (described by an expression, of course). For
example:
template<int...> struct int_tuple { };
template<int ...Values>
struct square {
typedef int_tuple<(Values*Values)...> type;
};
It also lays the foundation for pack expansions in an initializer-list.
llvm-svn: 122751
|
|
|
|
|
|
| |
also adds a method in ASTContext which encodes FunctionDecls using the same encoding format that is used for Objective-C methods.
llvm-svn: 122639
|
|
|
|
|
|
|
| |
16-bits in size. Implement this by splitting WChar into two enums, like we have
for char. This fixes a miscompmilation of XULRunner, PR8856.
llvm-svn: 122558
|
|
|
|
|
|
|
|
|
|
|
|
| |
layout. :)
Rename the 'EntoSA' directories to 'StaticAnalyzer'.
Internally we will still use the 'ento' namespace
for the analyzer engine (unless there are further
sabre rattlings...).
llvm-svn: 122514
|
|
|
|
|
|
| |
update Makefile.
llvm-svn: 122493
|
|
|
|
|
|
| |
library, libclangGRCheckers
llvm-svn: 122422
|
|
|
|
|
|
| |
libclangGRCore
llvm-svn: 122421
|
|
|
|
| |
llvm-svn: 122394
|
|
|
|
|
|
|
|
| |
take into account the region of interest. Otherwise, we may fail to
traverse some important preprocessed entity cursors.
Fixes <rdar://problem/8554072>.
llvm-svn: 122350
|
|
|
|
| |
llvm-svn: 122340
|
|
|
|
|
|
|
|
| |
clang_getCursorLexicalParent() to cope with class and function
templates, along with the parent of the translation unit. Fixes PR8761
and PR8766.
llvm-svn: 122324
|
|
|
|
|
|
|
| |
area of printing template arguments. The functionality changes here
are limited to cases of variadic templates that aren't yet enabled.
llvm-svn: 122250
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
pack expansions, e.g. given
template<typename... Types> struct tuple;
template<typename... Types>
struct tuple_of_refs {
typedef tuple<Types&...> types;
};
the type of the "types" typedef is a PackExpansionType whose pattern
is Types&.
This commit introduces support for creating pack expansions for
template type arguments, as above, but not for any other kind of pack
expansion, nor for any form of instantiation.
llvm-svn: 122223
|
|
|
|
|
|
| |
equivalents.
llvm-svn: 122140
|
|
|
|
| |
llvm-svn: 122117
|
|
|
|
| |
llvm-svn: 121956
|
|
|
|
| |
llvm-svn: 121950
|
|
|
|
| |
llvm-svn: 121795
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
common base for ExtQuals and Type that stores the underlying type
pointer. This results in a 2% performance win for -emit-llvm on a
typical C file, with 1% memory growth in the AST.
Note that there is an API change in this optimization:
QualType::getTypePtr() can no longer be invoked on a NULL
QualType. If the QualType might be NULL, use
QualType::getTypePtrOrNull(). I've audited all uses of getTypePtr() in
the code base and changed the appropriate uses over to
getTypePtrOrNull().
A future optimization opportunity would be to distinguish between
cast/dyn_cast and cast_or_null/dyn_cast_or_null; for the former, we
could use getTypePtr() rather than getTypePtrOrNull(), to take another
branch out of the cast/dyn_cast implementation.
llvm-svn: 121489
|
|
|
|
| |
llvm-svn: 121488
|
|
|
|
| |
llvm-svn: 121472
|
|
|
|
|
|
| |
another preprocessing cursor, since we want the outermost one.
llvm-svn: 121470
|
|
|
|
| |
llvm-svn: 121460
|
|
|
|
|
|
| |
definition we found
llvm-svn: 121451
|
|
|
|
| |
llvm-svn: 121435
|
|
|
|
| |
llvm-svn: 121378
|
|
|
|
| |
llvm-svn: 121341
|
|
|
|
| |
llvm-svn: 121334
|
|
|
|
| |
llvm-svn: 121321
|
|
|
|
|
|
|
| |
DenseMap-backed hashtable for doing client-side
management of CXCursors within a set.
llvm-svn: 121318
|
|
|
|
|
|
| |
BinaryTypeTraitExpr.
llvm-svn: 121298
|
|
|
|
|
|
| |
CIndex's EnqueueVisitor must visit elements backward apparently.
llvm-svn: 121247
|
|
|
|
|
|
| |
New AST node introduced: BinaryTypeTraitExpr; to be reused for more intrinsics.
llvm-svn: 121074
|
|
|
|
| |
llvm-svn: 121073
|
|
|
|
|
|
| |
reason this is limited to C++, and it's certainly not limited to temporaries.
llvm-svn: 120996
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
used in a constructor initializer list:
struct X {
X() : au_i1(123) {}
union {
int au_i1;
float au_f1;
};
};
clang will now deal with au_i1 explicitly as an IndirectFieldDecl.
llvm-svn: 120900
|
|
|
|
|
|
|
|
| |
ObjCPropertyRefExpr
into the latter.
llvm-svn: 120643
|
|
|
|
|
|
|
|
|
|
| |
trap the serialized preprocessing records (macro definitions, macro
instantiations, macro definitions) from the generation of the
precompiled preamble, then replay those when walking the list of
preprocessed entities. This eliminates a bug where clang_getCursor()
wasn't able to find preprocessed-entity cursors in the preamble.
llvm-svn: 120396
|
|
|
|
| |
llvm-svn: 120395
|
|
|
|
|
|
|
|
| |
clang_getCursor() via -cursor-at=??? and CINDEXTEST_EDITING is set in
the environment. This mirrors how we test code completion and
source-loading in the presence of this environment variable.
llvm-svn: 120392
|
|
|
|
| |
llvm-svn: 120297
|
|
|
|
|
|
|
|
|
| |
FileSystemOpts through a ton of apis, simplifying a lot of code.
This also fixes a latent bug in ASTUnit where it would invoke
methods on FileManager without creating one in some code paths
in cindextext.
llvm-svn: 120010
|
|
|
|
|
|
|
| |
to simplify a bunch of code in it. It should ultimately get inlined
into FileManager.
llvm-svn: 120007
|
|
|
|
|
|
| |
- Negative ChainingSize doesn't make sense, make it unsigned.
llvm-svn: 119943
|
|
|
|
| |
llvm-svn: 119935
|
|
|
|
| |
llvm-svn: 119876
|
|
|
|
| |
llvm-svn: 119874
|
|
|
|
|
|
| |
option name, category ID, and category name corresponding to a diagnostic.
llvm-svn: 119802
|
|
|
|
| |
llvm-svn: 119765
|
|
|
|
|
|
| |
clang_parseTranslationUnit_Impl.
llvm-svn: 119745
|