| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
bindings.
Summary:
I have exposed the following function through libclang and the clang.cindex python bindings:
clang_CXXConstructor_isConvertingConstructor,
clang_CXXConstructor_isCopyConstructor,
clang_CXXConstructor_isDefaultConstructor,
clang_CXXConstructor_isMoveConstructor,
clang_CXXMethod_isDefaulted
I need (some of) these methods for a C++ code model I am building in Python to drive a code generator.
Reviewers: compnerd, skalinichev
Subscribers: cfe-commits
Differential Revision: http://reviews.llvm.org/D15469
llvm-svn: 267706
|
|
|
|
| |
llvm-svn: 267118
|
|
|
|
| |
llvm-svn: 267117
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Removed unwanted --check-prefix=CHECK from the following unit tests:
test/CXX/special/class.copy/implicit-move-def.cpp
test/CodeGen/cleanup-destslot-simple.c
test/CodeGen/inline-asm-immediate-ubsan.c
test/CodeGen/mips-interrupt-attr.c
test/CodeGenCXX/cfi-stats.cpp
test/CodeGenCXX/copy-constructor-elim.cpp
test/CodeGenCXX/microsoft-templ-uuidof.cpp
test/CodeGenCXX/vtable-linkage.cpp
test/CodeGenObjC/messages-2.m
test/Driver/noinline.c
test/Index/remap-load.c
test/Index/retain-comments-from-system-headers.c
test/OpenMP/task_if_codegen.cpp
test/Preprocessor/comment_save_macro.c
Patch by: Mandeep Singh Grang (mgrang)
Reviewers: rafael, ABataev, rengolin
Projects: #clang-c
Differential Revision: http://reviews.llvm.org/D19232
llvm-svn: 266843
|
|
|
|
|
|
|
|
| |
indexed as definition.
rdar://25372906
llvm-svn: 265042
|
|
|
|
|
|
|
|
|
| |
Condense the ObjCKIND and CXXKIND options into just KIND, since the
language was already specified on a per-symbol basis and this
information was redundant. This only changes the internal
representation; naturally the libclang interface remains the same.
llvm-svn: 264423
|
|
|
|
|
|
| |
rdar://25154630
llvm-svn: 263689
|
|
|
|
|
|
|
|
| |
ObjCProtocolRef declarations, and fix related crash.
rdar://25035376
llvm-svn: 262985
|
|
|
|
| |
llvm-svn: 262984
|
|
|
|
|
|
| |
rdar://24609949.
llvm-svn: 262695
|
|
|
|
|
|
| |
'overloadable' attribute.
llvm-svn: 262694
|
|
|
|
| |
llvm-svn: 262693
|
|
|
|
| |
llvm-svn: 262686
|
|
|
|
|
|
| |
protocols.
llvm-svn: 262584
|
|
|
|
| |
llvm-svn: 262583
|
|
|
|
|
|
| |
in the test.
llvm-svn: 262325
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This behavior is enabled when the new CXTranslationUnit_KeepGoing
option is passed to clang_parseTranslationUnit{,2}. It is geared
towards use by IDEs and similar consumers of the clang-c API where
fatal errors may arise when parsing incomplete code mid-edit, or
when include paths are not properly configured yet. In such situations
one still wants to get as much information as possible about a TU.
Previously, the semantic analysis would not instantiate templates
or report additional fatal errors after the first fatal error was
encountered.
Fixes PR24268.
Patch by Milian Wolff.
llvm-svn: 262318
|
|
|
|
|
|
| |
related test.
llvm-svn: 262295
|
|
|
|
| |
llvm-svn: 262208
|
|
|
|
| |
llvm-svn: 262207
|
|
|
|
|
|
|
|
| |
called after the statement has been visited.
Fixes the indexing client of this.
llvm-svn: 262206
|
|
|
|
| |
llvm-svn: 262205
|
|
|
|
|
|
|
|
|
|
| |
printing policy.
Enable it for USRs and names when indexing.
Forward references can have different template argument names; including them
makes USRs and names unstable, since the name depends on whether we saw a forward reference or not.
llvm-svn: 260866
|
|
|
|
| |
llvm-svn: 260861
|
|
|
|
|
|
| |
symbols into the clangIndex library.
llvm-svn: 260858
|
|
|
|
|
|
| |
library directly.
llvm-svn: 260842
|
|
|
|
| |
llvm-svn: 260779
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
preamble
Update the Preprocessor's VisibleModuleSet when typo-correction creates
an implicit module import so that we won't accidentally write an invalid
SourceLocation into the preamble AST. This would later lead to infinite
recursion when loading the preamble AST because we use the value in
ImportLocs to prevent visiting a module twice.
rdar://problem/24440990
llvm-svn: 260543
|
|
|
|
|
|
| |
msvc.
llvm-svn: 260347
|
|
|
|
|
|
| |
I guess it would be working since Rafael's r187619.
llvm-svn: 260344
|
|
|
|
| |
llvm-svn: 260255
|
|
|
|
|
|
|
| |
Add support for exposing the adjustment thunk for virtual methods as
appropriate.
llvm-svn: 260011
|
|
|
|
|
|
|
|
| |
builtin/function.
rdar://24091595
llvm-svn: 257968
|
|
|
|
|
|
| |
Differential Revision: http://reviews.llvm.org/D13001
llvm-svn: 257043
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When reparsing a translation unit with preamble generation turned on,
no includes are found. This is due to the fact that all SLocs from
AST/PCH files are skipped as they are 'loaded', and inclusions from a
preamble are also 'loaded'. So, in case a file has a preamble, it first
needs to process those loaded inclusions, and then check for any local
inclusions. This latter one is for any includes that are not part of the
preamble, like includes half-way through a file.
This fixes PR24748.
Differential Revision: http://reviews.llvm.org/D14329
llvm-svn: 256939
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
The current default is to create the preamble on the first reparse, aka
second parse. This is useful for clients that do not want to block when
opening a file because serializing the preamble takes a bit of time.
However, this makes the reparse much more expensive and that may be on the
critical path as it's the first interaction a user has with the source code.
YouCompleteMe currently optimizes for the first code interaction by parsing
the file twice when loaded. That's just unnecessarily slow and this flag
helps to avoid that.
Reviewers: doug.gregor, klimek
Subscribers: cfe-commits
Differential Revision: http://reviews.llvm.org/D15490
llvm-svn: 255635
|
|
|
|
|
|
| |
initializer list to name a base class. Patch by Shahms King!
llvm-svn: 255420
|
|
|
|
|
|
|
| |
These attributes were previously unexposed. Expose them through the libclang
interfaces. Add tests that cover both the MSVC spelling and the GNU spelling.
llvm-svn: 255273
|
|
|
|
|
|
|
| |
The complete dtor is only emitted when there is a virtual destructor. The test
itself was incorrect, so the issue in the code was not noticed.
llvm-svn: 255225
|
|
|
|
|
|
|
|
|
|
|
|
| |
Right now clang_Cursor_getMangling will attempt to mangle any
declaration, even if the declaration isn't mangled (extern C). This
results in a partially mangled name which isn't useful for much. This
patch makes clang_Cursor_getMangling return an empty string if the
declaration isn't mangled.
Patch by Michael Wu <mwu@mozilla.com>.
llvm-svn: 253909
|
|
|
|
|
|
|
| |
Fixes crash when passing '-gmodules' in the compiler options.
rdar://23588717
llvm-svn: 253645
|
|
|
|
|
|
|
|
| |
This makes TypeAliasTemplateDecl accessible via LibClang and python bindings
Differential Revision: http://reviews.llvm.org/D13844
llvm-svn: 253166
|
|
|
|
|
|
|
|
| |
Expose the AutoType via LibClang and python bindings
Differential Revision: http://reviews.llvm.org/D13000
llvm-svn: 253165
|
|
|
|
|
|
|
|
|
| |
r233345 started being stricter about typedef names for linkage purposes
in non-visible modules, but broke languages without the ODR.
rdar://23527954
llvm-svn: 253123
|
|
|
|
|
|
|
|
|
| |
the linkage of the enumeration. For enumerators of unnamed enumerations, extend
the -Wmodules-ambiguous-internal-linkage extension to allow selecting an
arbitrary enumerator (but only if they all have the same value, otherwise it's
ambiguous).
llvm-svn: 253010
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
declarations in redeclaration lookup. A declaration is now visible to
lookup if:
* It is visible (not in a module, or in an imported module), or
* We're doing redeclaration lookup and it's externally-visible, or
* We're doing typo correction and looking for unimported decls.
We now support multiple modules having different internal-linkage or no-linkage
definitions of the same name for all entities, not just for functions,
variables, and some typedefs. As previously, if multiple such entities are
visible, any attempt to use them will result in an ambiguity error.
This patch fixes the linkage calculation for a number of entities where we
previously didn't need to get it right (using-declarations, namespace aliases,
and so on). It also classifies enumerators as always having no linkage, which
is a slight deviation from the C++ standard's definition, but not an observable
change outside modules (this change is being discussed on the -core reflector
currently).
This also removes the prior special case for tag lookup, which made some cases
of this work, but also led to bizarre, bogus "must use 'struct' to refer to type
'Foo' in this scope" diagnostics in C++.
llvm-svn: 252960
|
|
|
|
|
|
|
|
|
| |
This function permits the mangling of a C++ 'structor. Depending on the ABI and
the declaration, the declaration may contain more than one associated symbol for
a given declaration. This allows the consumer to retrieve all of the associated
symbols for the declaration the cursor points to.
llvm-svn: 252853
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
A 'readonly' Objective-C property declared in the primary class can
effectively be shadowed by a 'readwrite' property declared within an
extension of that class, so long as the types and attributes of the
two property declarations are compatible.
Previously, this functionality was implemented by back-patching the
original 'readonly' property to make it 'readwrite', destroying source
information and causing some hideously redundant, incorrect
code. Simplify the implementation to express how this should actually
be modeled: as a separate property declaration in the extension that
shadows (via the name lookup rules) the declaration in the primary
class. While here, correct some broken Fix-Its, eliminate a pile of
redundant code, clean up the ARC migrator's handling of properties
declared in extensions, and fix debug info's naming of methods that
come from categories.
A wonderous side effect of doing this write is that it eliminates the
"AddedObjCPropertyInClassExtension" method from the AST mutation
listener, which in turn eliminates the last place where we rewrite
entire declarations in a chained PCH file or a module file. This
change (which fixes rdar://problem/18475765) will allow us to
eliminate the rewritten-decls logic from the serialization library,
and fixes a crash (rdar://problem/23247794) illustrated by the
test/PCH/chain-categories.m example.
llvm-svn: 251874
|
|
|
|
|
|
| |
No behavior change, but it makes this test a bit easier to debug when it fails.
llvm-svn: 251650
|
|
|
|
|
|
|
|
| |
Expose isMutable via libClang and python bindings.
Patch by Jonathan B Coe!
llvm-svn: 251410
|