llvm-project/clang/test/Index
Matheus Izvekov c9e46219f3
[clang] retain type sugar in auto / template argument deduction
This implements the following changes:
* AutoType retains sugared deduced-as-type.
* Template argument deduction machinery analyses the sugared type all the way
down. It would previously lose the sugar on first recursion.
* Undeduced AutoType will be properly canonicalized, including the constraint
template arguments.
* Remove the decltype node created from the decltype(auto) deduction.

As a result, we start seeing sugared types in a lot more test cases,
including some which showed very unfriendly `type-parameter-*-*` types.

Signed-off-by: Matheus Izvekov <mizvekov@gmail.com>

Reviewed By: rsmith, #libc, ldionne

Differential Revision: https://reviews.llvm.org/D110216
2021-11-15 23:07:45 +01:00
..
Core [clang] RecursiveASTVisitor visits ObjCPropertyRefExpr's class receiver 2021-06-01 14:45:25 -04:00
Inputs [ASTReader] Allow controlling separately whether validation should be disabled for a PCH vs a module file 2021-01-21 20:45:54 -08:00
USR
reparse-with-remaps
skip-parsed-bodies [libclang][index][NFC] Fix test for skipping already parsed function bodies 2019-08-23 22:51:23 +00:00
IBOutletCollection.m
KeepGoingWithLotsOfErrors.mm
TestClassDecl.m
TestClassForwardDecl.m
allow-editor-placeholders.cpp
annotate-attribute.cpp
annotate-comments-availability-attrs.cpp Append new attributes to the end of an AttributeList. 2018-08-03 01:21:16 +00:00
annotate-comments-objc.m
annotate-comments-preprocessor.c
annotate-comments-property-accessor.m
annotate-comments-typedef.m [AST] Attach comment in `/** doc */ typedef struct A {} B` to B as well as A. 2019-11-18 11:09:23 +01:00
annotate-comments-unterminated.c
annotate-comments.cpp
annotate-context-sensitive.cpp
annotate-deep-statements.cpp Replace 'REQUIRES: not_?san' with 'UNSUPPORTED: ?san' as that better 2019-05-10 17:57:22 +00:00
annotate-literals.m
annotate-macro-args.h
annotate-macro-args.m
annotate-module.m
annotate-nested-name-specifier.cpp
annotate-operator-call-expr.cpp [libclang] Fix cursors for arguments of Subscript and Call operators 2018-08-23 09:48:11 +00:00
annotate-parameterized-classes.m
annotate-subscripting.m
annotate-tokens-cxx0x.cpp
annotate-tokens-include.c
annotate-tokens-include.h
annotate-tokens-pp.c
annotate-tokens-preamble.c
annotate-tokens-unexposed.cpp
annotate-tokens-with-default-args.cpp
annotate-tokens-with-default-args.h
annotate-tokens.c
annotate-tokens.cpp
annotate-tokens.m
annotate-toplevel-in-objccontainer.m
annotate-toplevel-in-objccontainer.m.h
arc-annotate.m
arc-complete.m
asm-attribute.c
attributes-cuda.cu
attributes.c [libclang] Expose aligned() attribute. 2019-03-13 16:16:54 +00:00
availability.c Support Swift in platform availability attribute 2018-11-12 02:44:33 +00:00
availability.cpp
blocks.c
boxed-exprs.h
boxed-exprs.m
c-index-api-loadTU-test.m
c-index-getCursor-pp.c
c-index-getCursor-test.m
c-index-pch.c
c-index-redecls.c
c-index-unsupported-warning-test.c
cindex-from-source.m
cindex-on-invalid-usrs.m
cindex-on-invalid.m
cindex-test-inclusions.c
code-completion-skip-bodies.cpp
code-completion.cpp
codecompletion-chained.cpp
comment-c-decls.c
comment-cplus-decls.cpp
comment-cplus-template-decls.cpp
comment-cplus11-specific.cpp
comment-custom-block-command.cpp
comment-lots-of-unknown-commands.c Comment parsing: Complete list of Doxygen commands 2021-11-09 18:35:26 +01:00
comment-misc-tags.m
comment-objc-decls.m Clean up ObjCPropertyDecl printing 2019-04-08 19:52:45 +00:00
comment-objc-parameterized-classes.m
comment-redeclarations.cpp [clang] Refactor doc comments to Decls attribution 2019-08-13 18:11:44 +00:00
comment-to-html-xml-conversion-with-original-literals.cpp
comment-to-html-xml-conversion.cpp [Wdocumentation] Implement \anchor 2019-12-21 14:52:21 +01:00
comment-unqualified-objc-pointer.m Clean up ObjCPropertyDecl printing 2019-04-08 19:52:45 +00:00
comment-with-preamble.c
comment-xml-schema.c [Wdocumentation] Implement \anchor 2019-12-21 14:52:21 +01:00
compile_commands.json
complete-access-checks-crash.cpp [CodeComplete] Fix the crash in code completion on access checking 2018-07-30 15:19:05 +00:00
complete-access-checks.cpp [CodeComplete] Fix accessibility of protected members when accessing members implicitly. 2018-10-22 08:47:31 +00:00
complete-and-plugins.c [Frontend] Avoid running plugins during code completion parse 2018-05-17 09:21:07 +00:00
complete-arrow-dot.cpp [libclang] Optionally add code completion results for arrow instead of dot 2018-06-13 12:37:08 +00:00
complete-at-EOF.c
complete-at-directives.m
complete-at-exprstmt.m
complete-available.m
complete-block-properties.m [CodeComplete] Penalize inherited ObjC properties for auto-completion 2018-11-20 22:06:54 +00:00
complete-block-property-assignment.m [CodeComplete] Penalize inherited ObjC properties for auto-completion 2018-11-20 22:06:54 +00:00
complete-blocks.m [CodeComplete] Fix crash when completing ObjC block parameter with a broken type 2019-04-04 11:34:18 +00:00
complete-cached-globals.cpp
complete-call.cpp Fix line endings in recently updated test file 2018-06-21 12:39:24 +00:00
complete-categories.m
complete-constructor-params.cpp
complete-ctor-inits.cpp [clang] Improve ctor initializer completions. 2018-11-01 15:54:18 +00:00
complete-cxx-inline-methods.cpp [clang] Improve ctor initializer completions. 2018-11-01 15:54:18 +00:00
complete-declarators.cpp
complete-declarators.m
complete-designated-initializer.m
complete-documentation-properties.m
complete-documentation-templates.cpp
complete-documentation.cpp
complete-enums.c
complete-enums.cpp
complete-exprs.c This reverts commit 632a36bfcfc8273c1861f04ff6758d863c47c784. 2019-07-13 06:27:35 +00:00
complete-exprs.cpp
complete-exprs.m
complete-functor-call.cpp
complete-hiding.c
complete-in-invalid-method.m
complete-in-stringify.c
complete-interfaces.m
complete-ivar-access.m
complete-kvc.m
complete-lambdas.cpp
complete-lambdas.mm
complete-macro-args.c
complete-macros.c [CodeComplete] Fix ASTUnit cached completion of macros from preamble, broken in r342528 2019-07-18 07:17:49 +00:00
complete-macros.h [CodeComplete] Fix ASTUnit cached completion of macros from preamble, broken in r342528 2019-07-18 07:17:49 +00:00
complete-member-access.m [CodeComplete] Penalize inherited ObjC properties for auto-completion 2018-11-20 22:06:54 +00:00
complete-memfunc-cvquals.cpp
complete-method-decls.m [Sema][CodeComplete][ObjC] Don't split the first selector fragment 2020-06-25 13:58:27 -04:00
complete-module-undef.m
complete-modules.m
complete-natural.m
complete-objc-message-id.m
complete-objc-message.m
complete-optional-params.cpp
complete-parameterized-classes.m [Sema][CodeComplete][ObjC] Don't split the first selector fragment 2020-06-25 13:58:27 -04:00
complete-pch-skip.cpp [Sema] Do not load macros from preamble when LoadExternal is false. 2018-09-19 09:34:55 +00:00
complete-pch.m
complete-pointer-and-reference-to-functions.cpp
complete-preamble.cpp
complete-preamble.h
complete-preprocessor.m Add support for #elifdef and #elifndef 2021-05-27 08:57:47 -04:00
complete-properties.m [CodeComplete] Penalize inherited ObjC properties for auto-completion 2018-11-20 22:06:54 +00:00
complete-property-flags.m
complete-property-getset.m
complete-protocols.m
complete-qualified-cached.cpp [ASTUnit] Attempt to unbreak Windows buildbots after r366448 2019-07-18 16:24:09 +00:00
complete-qualified.cpp
complete-recovery.m
complete-stmt.c [CodeComplete] Include more text into typed chunks of pattern completions 2019-06-04 09:26:08 +00:00
complete-super.cpp
complete-super.m
complete-switch.c [AST] Build recovery expression by default for all language. 2020-11-23 11:08:28 +01:00
complete-synthesized.m
complete-tabs.c
complete-template-friends-defined.cpp
complete-template-keywords.cpp [CodeComplete] Make sure keyword 'template' is added even when code pattern is disabled. 2018-10-15 12:37:23 +00:00
complete-templates.cpp
complete-type-factors.m [CodeComplete] Do not complete self-initializations 2018-11-07 10:02:31 +00:00
complete-unterminated.c
complete-with-annotations.cpp Append new attributes to the end of an AttributeList. 2018-08-03 01:21:16 +00:00
coroutines.cpp [Coroutines] [Frontend] Lookup in std namespace first 2021-11-04 11:53:47 +08:00
crash-preamble-classes.cpp
crash-recovery-code-complete.c
crash-recovery-modules.m Make test check position independent as they sometimes come out reversed. NFCI. 2019-09-13 22:12:27 +00:00
crash-recovery-reparse.c
crash-recovery.c
create-libclang-completion-reproducer.c
create-libclang-parsing-reproducer.c
create-tu-fail.c
ctor-init-source-loc.cpp
cursor-dynamic-call.mm
cursor-ref-names.cpp
cxx-operator-overload.cpp
cxx.cl [OpenCL] Use spir target for CIndex tests for OpenCL. 2021-03-12 20:11:26 +00:00
cxx11-lambdas.cpp [Index] Index paremeters in lambda expressions. 2018-12-19 13:44:41 +00:00
cxx14-lambdas.cpp [clang] Traverse init-captures while indexing 2020-09-22 02:32:09 -04:00
cxx17-if-with-initializer.cpp [libclang]: visit C++17 if init statements 2020-05-02 22:18:36 +02:00
cxx17-structured-binding.cpp [libclang]: visit BindingDecl in DecompositionDecl 2020-05-02 22:18:31 +02:00
error-on-deserialized.c [clang][nearly-NFC] Remove some superfluous uses of NamedDecl::getNameAsString 2020-08-05 13:54:37 +01:00
evaluate-cursor.cpp [libclang] Fix crash when visiting a captured VLA 2020-07-08 13:10:16 -07:00
file-includes.c
file-macro-refs.c
file-refs-subscripting.m
file-refs.c
file-refs.cpp
file-refs.m
fix-its.c
fix-its.m
format-comment-cdecls.c
get-cursor-includes.c
get-cursor-macro-args.h
get-cursor-macro-args.m
get-cursor.c
get-cursor.cpp
get-cursor.m
getcursor-pp-pch.c
getcursor-pp-pch.c.h
getcursor-preamble.h
getcursor-preamble.m
getcursor-recovery.cpp [AST] Preserve the type in RecoveryExprs for broken function calls. 2020-05-11 08:46:18 +02:00
headerfile-comment-to-html.m
hidden-redecls.m Fix hidden-redecls.m test for some environments 2020-10-16 09:51:13 +02:00
ignore-warnings-from-headers.cpp [libclang] Allow skipping warnings from all included files 2019-06-11 14:14:24 +00:00
ignore-warnings-from-headers.h [libclang] Allow skipping warnings from all included files 2019-06-11 14:14:24 +00:00
implicit-attrs.m Reapply "[clang][cli] Report result of ParseLangArgs" 2021-02-08 13:14:43 +01:00
in-class-init.cpp
include_test.h
include_test_2.h
index-anonymous-union-fields.cpp [Index] Correctly set symbol kind of IndirectFieldDecl 2019-05-29 10:11:14 +00:00
index-attrs.c
index-attrs.cpp
index-attrs.m [libclang 5/8] Add support for ObjC attributes without args 2018-08-03 05:03:22 +00:00
index-decls.m
index-designated-init-recovery.cpp [clang][index] Fix a crash for accessing a null field decl. 2020-05-21 09:47:36 +02:00
index-file.cpp
index-file.cu
index-invalid-code.m
index-kernel-invocation.cpp
index-local-symbol.cpp [Index] Respect "IndexFunctionLocals" option for type loc. 2018-10-04 11:03:55 +00:00
index-many-call-ops.cpp Replace 'REQUIRES: not_?san' with 'UNSUPPORTED: ?san' as that better 2019-05-10 17:57:22 +00:00
index-many-logical-ops.c Replace 'REQUIRES: not_?san' with 'UNSUPPORTED: ?san' as that better 2019-05-10 17:57:22 +00:00
index-module-with-vfs.m Fix `sed -e s@FOO@%/S@` and similar when there's @'s in the working directory 2019-12-03 15:44:01 -08:00
index-module.m
index-pch-objc.m
index-pch-with-module.m
index-pch.cpp
index-refs.cpp [clang][Index] Fix usage of IndexImplicitInstantiation 2019-02-18 11:30:43 +00:00
index-refs.m
index-subscripting-literals.m
index-suppress-refs.cpp
index-suppress-refs.h
index-suppress-refs.hpp
index-suppress-refs.m
index-template-specialization.cpp [Index] Report specialization bases as references when IndexImplicitInstantiation is true 2018-09-23 08:23:48 +00:00
index-template-template-param.cpp
index-templates.cpp [clang] Make handling of unnamed template params similar to function params 2019-10-01 14:08:51 +00:00
index-with-working-dir.c
initializer-memory.cpp
invalid-code-rdar10451854.m
invalid-code-rdar_7833619.m
invalid-rdar-8236270.cpp
keep-going-include-cycle.c [Preprocessor] Don't avoid entering included files after hitting a fatal error. 2018-12-07 20:29:54 +00:00
keep-going-template-instantiations.cpp [libclang] Fix CXTranslationUnit_KeepGoing 2019-03-07 10:13:50 +00:00
keep-going.cpp [libclang] Fix CXTranslationUnit_KeepGoing 2019-03-07 10:13:50 +00:00
linkage.c
lit.local.cfg [AIX][test/Index] Set/propagate AIXTHREAD_STK for AIX 2019-08-13 13:38:15 +00:00
load-classes.cpp
load-decls.c
load-exprs.c
load-namespaces.cpp
load-staticassert.cpp
load-stmts.cpp
local-symbols.m
missing_vfs.c Make test more robust by writing stdout/stderr to different files. 2019-04-29 22:57:15 +00:00
modules-objc-categories.m
ms-if-exists.cpp
ms-property.cpp [index] Fixup for r354942. Specify target in test to achieve stable mangling. 2019-02-27 01:37:43 +00:00
namespaced-base-ctor-init.cpp
nested-binaryoperators.cpp
nullability.c [clang] Add a new nullability annotation for swift async: _Nullable_result 2020-12-07 17:19:20 -05:00
objc-typeargs-protocols.m [libclang 1/8] Add support for ObjCObjectType 2018-08-03 03:03:20 +00:00
opencl-types.cl [OpenCL] Use spir target for CIndex tests for OpenCL. 2021-03-12 20:11:26 +00:00
openmp-tile.c [OpenMP] Implement '#pragma omp tile', by Michael Kruse (@Meinersbur). 2021-02-16 09:45:07 -08:00
overrides.cpp
overrides.m
overriding-ftemplate-comments.cpp
overriding-method-comments.mm
paren-type.c
parse-all-comments.c [clang][index] Mark file as C++ in parse-all-comments test 2021-02-08 09:42:44 +01:00
pch-depending-on-deleted-module.c
pch-from-libclang.c mac/arm: XFAIL the last 3 failing tests 2020-12-12 15:09:17 -05:00
pch-opaque-value.cpp
pch-warn-as-error-code-split.cpp
pch-warn-as-error-code-split.h
pch-warn-as-error-code.cpp
pch-with-errors.c [pch] Honour -fallow-pch-with-compiler-errors for overall compilation status 2020-03-31 13:50:12 -07:00
pch-with-errors.m
pch-with-module.m
pipe-size.cl
pr20320.cpp
pr20320.h
pragma-diag-reparse.c [Diagnostic] add a warning which warns about misleading indentation 2019-12-03 21:21:27 +01:00
preamble-conditionals-crash.cpp
preamble-conditionals-inverted-with-error.cpp
preamble-conditionals-inverted.cpp
preamble-conditionals-skipping.cpp
preamble-conditionals.cpp
preamble-reparse-chained.c
preamble-reparse-changed-module.m [clang][patch] Remove test artifact before running test for consistent results 2021-07-24 07:55:10 -04:00
preamble-reparse-cmd-define.c
preamble-reparse-cmd-define.c.h
preamble-reparse-cmd-define.c.remap
preamble-reparse-import.m
preamble-reparse-import.m-1.h
preamble-reparse-import.m-2.h
preamble-reparse-import.m-3.h
preamble-reparse-warn-end-of-file.c
preamble-reparse-warn-macro.c
preamble-reparse-with-BOM.m
preamble-reparse.c
preamble-with-implicit-import.m
preamble.c
preamble_macro_template.cpp
print-bitwidth.c
print-cxx-manglings.cpp
print-display-names.cpp [AST] Use written names instead of `type-param-0-0` in more cases when printing types and decls. 2019-11-15 10:40:38 +01:00
print-mangled-name.cpp
print-objc-manglings.m
print-type-cxx11.cpp
print-type-declaration.cpp
print-type-size.c Add an explicit triple to this test to hopefully appease the build bots. 2019-05-07 14:40:37 +00:00
print-type-size.cpp Recommit: Compress formatting of array type names (int [4] -> int[4]) 2021-10-21 11:34:43 -07:00
print-type.c Recommit: Compress formatting of array type names (int [4] -> int[4]) 2021-10-21 11:34:43 -07:00
print-type.cpp [clang] retain type sugar in auto / template argument deduction 2021-11-15 23:07:45 +01:00
print-type.m [Sema] Fix Modified Type in address_space AttributedType 2019-01-24 00:11:35 +00:00
print-usrs.c
properties-class-extensions.m
property-getter-setter.m [libclang 7/8] Add support for getting property setter and getter names 2018-08-03 05:38:29 +00:00
rdar-8288645-invalid-code.mm
rdar12316296-codecompletion.m
read-empty-diags.test
record-completion-invocation.c
record-parsing-invocation.c
recover-bad-code-rdar_7487294.c
recursive-cxx-member-calls.cpp
recursive-member-access.c
redeclarations.cpp
remap-complete.c
remap-cursor-at.c
remap-load.c
reparse-instantiate.cpp
reparse-predef-objc-protocol.m
reparsed-live-issue.cpp
retain-comments-from-system-headers.c
retain-excluded-conditional-blocks.m [preprocessor] Add an opportunity to retain excluded conditional blocks 2019-08-27 22:15:32 +00:00
retain-target-options.c
single-file-parse.m
skipped-bodies-ctors.cpp
skipped-bodies-templates.cpp
skipped-bodies-unused.cpp [Sema] Do not show unused parameter warnings when body is skipped 2018-10-24 08:29:24 +00:00
skipped-function-bodies.cpp
skipped-ranges.c
subclass-comment.mm
symbol-visibility.c [AIX][XCOFF] Fixed the test case which failed at aix OS because enable -mignore-xcoff-visibility by default. 2021-03-15 17:33:02 -04:00
target-info.c
targeted-annotation.c
targeted-cursor.c
targeted-cursor.m
targeted-cursor.m.h
targeted-fields.h
targeted-file-refs.c
targeted-nested1.h
targeted-preamble.h
targeted-top.h
unmatched-braces.c
unmatched-braces.m
usrs-cxx0x.cpp
usrs.cpp [clang][Index] Visit UsingDecls and generate USRs for them 2019-02-26 14:23:12 +00:00
usrs.m
visibility.c
warning-flags.c [Diagnostics] Try to improve warning message for -Wreturn-type 2019-11-09 17:54:58 +01:00
werror.c