| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
llvm-svn: 291512
|
|
|
|
|
|
| |
Initially reports if a constructor symbol is a copy or move constructor.
llvm-svn: 291409
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
llvm-svn: 291232
|
|
|
|
|
|
|
|
|
|
| |
with arguments
rdar://21014571
Differential Revision: https://reviews.llvm.org/D27039
llvm-svn: 290879
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Fixes spelling name ranges for user-defined string literal operators.
Example:
constexpr int operator""_toint(unsigned long long val)
{ return int(val); }
Before this patch the spelling name range on consisted of 'operator'.
After this patch: 'operator""_toint'.
Related to http://reviews.llvm.org/D5041, which fixes the function for
other cursor kinds.
Reviewers: akyrtzi, craigt, skalinichev, klimek, milianw, bkramer
Subscribers: cfe-commits
Tags: #clang-c
Differential Revision: https://reviews.llvm.org/D18462
llvm-svn: 290172
|
|
|
|
|
|
|
|
|
| |
clang_Type_getNumTemplateArguments and clang_Type_getTemplateArgumentAsType
Patch by Emilio Cobos Álvarez!
See https://reviews.llvm.org/D26907
llvm-svn: 289995
|
|
|
|
|
|
|
|
| |
keyPathsForValuesAffecting* KVO completion results
rdar://23791701
llvm-svn: 289068
|
|
|
|
|
|
|
|
|
|
|
|
| |
This commit provides class property code completion results. It supports
explicit and implicit class properties, but the special block completion is done
only for explicit properties right now.
rdar://25636195
Differential Revision: https://reviews.llvm.org/D27053
llvm-svn: 289058
|
|
|
|
|
|
|
|
|
| |
CXEvalResult without overflow
Patch by Emilio Cobos Álvarez!
See https://reviews.llvm.org/D26788
llvm-svn: 288438
|
|
|
|
|
|
|
|
|
|
| |
This commit fixes an incorrectly formatted Objective-C block parameter
placeholder in a code completion result. The incorrect parameter had a
redundant leading parenthesis.
rdar://25224416
llvm-svn: 287771
|
|
|
|
|
|
|
|
|
| |
clang_getTemplateArgumentAsType to other kind of specializations.
Patch by Emilio Cobos Álvarez!
https://reviews.llvm.org/D26663
llvm-svn: 287024
|
|
|
|
| |
llvm-svn: 286518
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Output generated by option -ast-print looks like C/C++ code, and it
really is for plain C. For C++ the produced output was not valid C++
code, but the differences were small. With this change the output
is fixed and can be compiled. Tests are changed so that output produced
by -ast-print is compiled again with the same flags and both outputs are
compared.
Option -ast-print is extensively used in clang tests but it itself
was tested poorly, existing tests only checked that compiler did not
crash. There are unit tests in file DeclPrinterTest.cpp, but they test
only terse output mode.
Differential Revision: https://reviews.llvm.org/D26452
llvm-svn: 286439
|
|
|
|
|
|
|
|
| |
CXSourceRange as half-open character range.
Patch provided by Emilio Cobos Álvarez! (https://reviews.llvm.org/D26446)
llvm-svn: 286421
|
|
|
|
|
|
|
|
|
|
|
|
| |
This commit changes the code completion results for block property setters:
The default block property result is now a block invocation rather than a simple
property reference.
rdar://28846196
Differential Revision: https://reviews.llvm.org/D26071
llvm-svn: 286363
|
|
|
|
|
|
|
|
|
|
|
| |
ObjC class when they come from a typedef.
The ObjC class protocol list assumes there is an associated location for each protocol but no location is provided
when the protocol list comes from a typedef, and we end up with a buffer overflow when trying to get locations for the protocol names.
Fixes crash of rdar://28980278.
llvm-svn: 286331
|
|
|
|
|
|
|
|
|
| |
- Infer the right symbol kind.
- Provide a templated USR, similar to how we handle class templates.
rdar://28980398
llvm-svn: 286154
|
|
|
|
| |
llvm-svn: 286153
|
|
|
|
| |
llvm-svn: 285994
|
|
|
|
|
|
| |
Differential Revision: https://reviews.llvm.org/D26285
llvm-svn: 285984
|
|
|
|
|
|
|
|
|
|
|
| |
new' function.
Part of this is to allow creating a USR for the canonical decl of that which is implicit and does
not have a source location.
rdar://28978992
llvm-svn: 285868
|
|
|
|
|
|
|
|
| |
It was visited multiple times unnecessarily.
rdar://28985038
llvm-svn: 285647
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Sema::ActOnTag creates TagDecls for records. However, if those record
declarations are invalid, and the parser is in C++ mode, it would
silently drop the TagDecl (and leave it as "beingDefined"). The problem
is that other code (e.g. the ASTWriter) will serialize all types, and
expects them to be complete. So, leaving them open would result in
failing asserts.
Fixes PR20320
Differential Revision: http://reviews.llvm.org/D21176
llvm-svn: 285275
|
|
|
|
|
|
|
|
|
|
|
| |
getters/setters
- Add entries for protocols on categories
- Add relation between categories and class they extend
- Add relation between getters/setters and their corresponding property
- Use category name location as the location of category decls/defs if it has one
llvm-svn: 285120
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This commit changes code completion results for Objective-C block properties:
clang now suggests an additional completion result that displays the block
property together with '=' and the block literal placeholder for the appropriate
readwrite block properties.
This commit uses a simple heuristic to determine when it's appropriate to
suggest a setter completion for block properties: the additional block setter
completion is provided iff the member access that's being completed is a
standalone statement.
rdar://28481726
Differential Revision: https://reviews.llvm.org/D25520
llvm-svn: 284472
|
|
|
|
|
|
| |
rdar://27452869
llvm-svn: 277570
|
|
|
|
|
|
|
|
| |
Patch by Cristina Cristescu and Axel Naumann!
Agreed on post commit review (D17820).
llvm-svn: 276878
|
|
|
|
|
|
| |
Avoids USR conflicts between class & instance properties of the same name.
llvm-svn: 275630
|
|
|
|
|
|
|
| |
Forgot to add the new cache to the `rm -rf` line. This broke some bots
when trying to load a module built with an older compiler.
llvm-svn: 275496
|
|
|
|
|
|
|
|
|
| |
For some reason it seems the second invocation is getting DMOD_OTHER_H
set to a path with/forward/slashes, but one of the use sites
has\back\slashes. There should be no difference with what was already
there, but for now try to avoid checking those paths.
llvm-svn: 275464
|
|
|
|
|
|
|
|
|
|
|
|
| |
Whether we call an ImportDecl a decl or a reference symbol role is
somewhat academic, but in practice it's more like a declaration because
it is interesting even to consumers who wouldn't care about references.
Most importantly, we want to report the module dependencies of system
modules even when we have declaration-only filtering.
rdar://problem/27134855
llvm-svn: 275454
|
|
|
|
| |
llvm-svn: 275324
|
|
|
|
|
|
|
|
|
|
| |
that we set diagnostic engine state appropriately.
Otherwise there can be a crash with CFG analysis warnings doing work on invalid AST.
Fixes crash of rdar://26224134
llvm-svn: 275313
|
|
|
|
|
|
|
|
| |
how decls in a DeclContext are handled.
rdar://19775013
llvm-svn: 274378
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We continue accepting "macosx" but canonicalize it to "macos", When emitting
diagnostics, we use "macOS" instead of "OS X".
The PlatformName in TargetInfo is changed from "macosx" to "macos" so we can
directly compare the Platform in AvailabilityAttr with the PlatformName
in TargetInfo.
rdar://26795172
rdar://26800775
llvm-svn: 274064
|
|
|
|
|
|
|
|
| |
So we can match sizeof expressions more accurately than with UnexposedExpr
Differential Revision: http://reviews.llvm.org/D18081
llvm-svn: 272274
|
|
|
|
|
|
| |
rdar://25963227
llvm-svn: 271351
|
|
|
|
|
|
|
|
|
| |
This patch adds an API for querying the visibility of the entity
referred to by a cursor.
Patch by Michael Wu <mwu@mozilla.com>.
llvm-svn: 271292
|
|
|
|
| |
llvm-svn: 271291
|
|
|
|
|
|
| |
Differential Revision: http://reviews.llvm.org/D11797
llvm-svn: 268366
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|