- Apr 15, 2017
-
-
Serge Pavlov authored
If expensive checks are enabled, safe mode of libstdc++ is enabled too. In this mode the library uses more complex data that allow additional checks, for instance, a container may keep list of iterators that points to it. If a code crashes it can leave these complex library objects in inconsistent state. It occurs in a few tests that check error recovery if compiler crashes. These test hang in expensive check mode, as the library tries to synchronize access to the iterators pointing to some container, but corresponding mutex remains locked after the crash. This fix marks these tests as unsupported if clang is built with libstdc++ safe mode enabled. Differential Revision: https://reviews.llvm.org/D31126 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@300392 91177308-0d34-0410-b5e6-96231b3b80d8
-
- Apr 11, 2017
-
-
Alex Lorenz authored
rdar://31501863 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@299962 91177308-0d34-0410-b5e6-96231b3b80d8
-
- Mar 23, 2017
-
-
Argyrios Kyrtzidis authored
Even if we exclude plain reference occurrences, we should include relation-based references, like the 'base' one. rdar://31010737 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@298622 91177308-0d34-0410-b5e6-96231b3b80d8
-
- Mar 21, 2017
-
-
Argyrios Kyrtzidis authored
In such a case, as when using the NS_ENUM macro, for indexing purposes treat the typedef as 'transparent', meaning we treat its references as symbols of the underlying tag symbol. Also provide a libclang API to check for such typedefs. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@298392 91177308-0d34-0410-b5e6-96231b3b80d8
-
- Mar 18, 2017
-
-
Argyrios Kyrtzidis authored
[index] For C++ constructors/destructors, add references to the parent type where its name appears in definitions and declarations Patch by Nathan Hawes! https://reviews.llvm.org/D30730 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@298170 91177308-0d34-0410-b5e6-96231b3b80d8
-
- Mar 16, 2017
-
-
Argyrios Kyrtzidis authored
[index/AST] Add references for ObjC getter=/setter= property attributes and related property getter/setter role fixes This enhances the AST to keep track of locations of the names in those ObjC property attributes, and reports them for indexing. Patch by Nathan Hawes! https://reviews.llvm.org/D30907 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@297972 91177308-0d34-0410-b5e6-96231b3b80d8
-
- Mar 13, 2017
-
-
Alex Lorenz authored
setters using the block type information that's obtained from the property rdar://12604235 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@297628 91177308-0d34-0410-b5e6-96231b3b80d8
-
- Mar 10, 2017
-
-
Alex Lorenz authored
Printing typedefs or type aliases using clang_getTypeSpelling() is missing the namespace they are defined in. This is in contrast to other types that always yield the full typename including namespaces. Patch by Michael Reiher! Differential Revision: https://reviews.llvm.org/D29944 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@297465 91177308-0d34-0410-b5e6-96231b3b80d8
-
- Mar 07, 2017
-
-
Argyrios Kyrtzidis authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@297133 91177308-0d34-0410-b5e6-96231b3b80d8
-
Argyrios Kyrtzidis authored
[AST/ObjC] Make ObjCCategoryImplDecl consistent with ObjCCategoryDecl and use the category name as its DeclName This also addresses the badness in ObjCCategoryImplDecl's API, which was hiding NamedDecl's APIs with different meaning. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@297131 91177308-0d34-0410-b5e6-96231b3b80d8
-
- Mar 04, 2017
-
-
Argyrios Kyrtzidis authored
Report the typedef as reference, and desugar it to report the underlying class as an implicit 'base' reference. Reporting the underlying base class for 'base' relations matches the ObjC handling and leads to a simpler model. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@296975 91177308-0d34-0410-b5e6-96231b3b80d8
-
Argyrios Kyrtzidis authored
- Report the typedef reference occurrence - Mark super or protocol references as 'implicit' when they come from a typedef. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@296974 91177308-0d34-0410-b5e6-96231b3b80d8
-
- Feb 27, 2017
-
-
Argyrios Kyrtzidis authored
[GeneratePCHAction] If preprocessor option 'AllowPCHWithCompilerErrors' is enabled, don't delete the produced PCH file if error diagnostics occurred. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@296320 91177308-0d34-0410-b5e6-96231b3b80d8
-
Argyrios Kyrtzidis authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@296306 91177308-0d34-0410-b5e6-96231b3b80d8
-
- Feb 26, 2017
-
-
Argyrios Kyrtzidis authored
[index] Add 'Parameter' symbol kind and 'Local' symbol property to distinguish function-local symbols Parameters have a 'child' relation to their function/method. Also add an option '-include-locals' to 'c-index-test core' to enable indexing of function-local symbols. Original patch from Nathan Hawes with some changes by me. https://reviews.llvm.org/D30304 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@296282 91177308-0d34-0410-b5e6-96231b3b80d8
-
- Feb 25, 2017
-
-
Argyrios Kyrtzidis authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@296267 91177308-0d34-0410-b5e6-96231b3b80d8
-
Argyrios Kyrtzidis authored
Note quite sure why driver -target has no effect. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@296265 91177308-0d34-0410-b5e6-96231b3b80d8
-
Argyrios Kyrtzidis authored
Attempt to fix the failing bots. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@296263 91177308-0d34-0410-b5e6-96231b3b80d8
-
Argyrios Kyrtzidis authored
This get the resource dir string to match with the one from libclang (which is not adding '/../'), and allows clang to accept a modules-enabled PCH that was created by libclang. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@296262 91177308-0d34-0410-b5e6-96231b3b80d8
-
- Feb 17, 2017
-
-
Argyrios Kyrtzidis authored
Related synthesized properties with the ivar they use with the 'accessor' relation, and make sure we mark them 'implicit' when appropriate. Patch by Nathan Hawes! https://reviews.llvm.org/D30012 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@295416 91177308-0d34-0410-b5e6-96231b3b80d8
-
- Feb 15, 2017
-
-
Argyrios Kyrtzidis authored
Otherwise we may end up creating a different USR for the definition of a function, vs its declaration. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@295191 91177308-0d34-0410-b5e6-96231b3b80d8
-
- Feb 13, 2017
-
-
Charles Li authored
C++11 destructors are nothrow by default. Differential Revision: https://reviews.llvm.org/D29859 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@294972 91177308-0d34-0410-b5e6-96231b3b80d8
-
Benjamin Kramer authored
If the preamble had diagnostic state this would leave behind invalid state in the DiagnosticsEngine and crash later. The test case runs into an assertion in DiagnosticsEngine::setSourceManager. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@294963 91177308-0d34-0410-b5e6-96231b3b80d8
-
- Feb 10, 2017
-
-
Joey Gouly authored
Expose the half type (fp16) through libclang and the python bindings. It seems CXType_LastBuiltin was not updated in b2ea6d9a ("Enable support for __float128 in Clang", 2016-04-13), so update it now. Add an Index test for OpenCL types; in the future we will add other OpenCL types such as images to this test. Patch by Sven van Haastregt. Differential Revision: https://reviews.llvm.org/D29718 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@294754 91177308-0d34-0410-b5e6-96231b3b80d8
-
- Feb 01, 2017
-
-
Daniel Jasper authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@293754 91177308-0d34-0410-b5e6-96231b3b80d8
-
- Jan 30, 2017
-
-
Argyrios Kyrtzidis authored
This ensures the capability to index a module file using an existing ASTReader from a compiler instance or ASTUnit. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@293461 91177308-0d34-0410-b5e6-96231b3b80d8
-
- Jan 29, 2017
-
-
Argyrios Kyrtzidis authored
[c-index-test] Provide capability for 'c-index-test core' to dump symbol information from a PCH/module file. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@293416 91177308-0d34-0410-b5e6-96231b3b80d8
-
- Jan 26, 2017
-
-
Argyrios Kyrtzidis authored
Instead of using the location of the beginning '-'/'+'. This is consistent with location used for function decls and ObjC method calls where we use the base name as the location as well. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@293134 91177308-0d34-0410-b5e6-96231b3b80d8
-
- Jan 24, 2017
-
-
Alex Lorenz authored
methods from protocols and categories as well Code completion results for class methods already include instance methods from Objective-C root classes. This commit ensures that the results also include instance methods from protocols that the root class implements and root class categories as well. rdar://28012953 Differential Revision: https://reviews.llvm.org/D27257 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@292932 91177308-0d34-0410-b5e6-96231b3b80d8
-
- Jan 23, 2017
-
-
Alex Lorenz authored
rdar://23454249 Differential Revision: https://reviews.llvm.org/D28514 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@292805 91177308-0d34-0410-b5e6-96231b3b80d8
-
- Jan 19, 2017
-
-
http://wg21.link/cwg1310Richard Smith authored
Under this defect resolution, the injected-class-name of a class or class template cannot be used except in very limited circumstances (when declaring a constructor, in a nested-name-specifier, in a base-specifier, or in an elaborated-type-specifier). This is apparently done to make parsing easier, but it's a pain for us since we don't know whether a template-id using the injected-class-name is valid at the point when we annotate it (we don't yet know whether the template-id will become part of an elaborated-type-specifier). As a tentative resolution to a perceived language defect, mem-initializer-ids are added to the list of exceptions here (they generally follow the same rules as base-specifiers). When the reference to the injected-class-name uses the 'typename' or 'template' keywords, we permit it to be used to name a type or template as an extension; other compilers also accept some cases in this area. There are also a couple of corner cases with dependent template names that we do not yet diagnose, but which will also get this treatment. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@292518 91177308-0d34-0410-b5e6-96231b3b80d8
-
- Jan 16, 2017
-
-
Daniel Jasper authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@292116 91177308-0d34-0410-b5e6-96231b3b80d8
-
- Jan 11, 2017
-
-
Argyrios Kyrtzidis authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@291707 91177308-0d34-0410-b5e6-96231b3b80d8
-
Argyrios Kyrtzidis authored
We currently are unable to get a USR for those and it doesn't seem useful to try to index them. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@291705 91177308-0d34-0410-b5e6-96231b3b80d8
-
Argyrios Kyrtzidis authored
[index] Add 'IBTypeOf' relation for ObjC methods marked with IBAction and properties with IBOutletCollection. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@291703 91177308-0d34-0410-b5e6-96231b3b80d8
-
Argyrios Kyrtzidis authored
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@291700 91177308-0d34-0410-b5e6-96231b3b80d8
-
- Jan 10, 2017
-
-
Richard Smith authored
properly even when a non-type template parameter has a dependent type. Previously, if a non-type template parameter was dependent, but not dependent on an outer level of template parameter, we would not match the type of the parameter. Under [temp.arg.template], we are supposed to check that the types are equivalent, which means checking for syntactic equivalence in the dependent case. This also fixes some accepts-invalids when passing templates with auto-typed non-type template parameters as template template arguments. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@291512 91177308-0d34-0410-b5e6-96231b3b80d8
-
- Jan 09, 2017
-
-
Argyrios Kyrtzidis authored
Initially reports if a constructor symbol is a copy or move constructor. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@291409 91177308-0d34-0410-b5e6-96231b3b80d8
-
- Jan 06, 2017
-
-
Alex Lorenz authored
Now when completing blocks properties that return void the block call completion result shows up before the setter, otherwise the setter completion shows up before the block call completion. We normally want to use the result of the block call, so one typically wouldn't call a block that returns a non-void type in a standalone statement. rdar://28846153 Differential Revision: https://reviews.llvm.org/D26034 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@291232 91177308-0d34-0410-b5e6-96231b3b80d8
-
- Jan 03, 2017
-
-
Alex Lorenz authored
with arguments rdar://21014571 Differential Revision: https://reviews.llvm.org/D27039 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@290879 91177308-0d34-0410-b5e6-96231b3b80d8
-