2019-11-14 12:58:09 +08:00
|
|
|
// RUN: %clang_cc1 -o - -emit-interface-stubs %s | FileCheck %s
|
[clang][IFS] Adds support for more decl types in clang interface stubs.
Adding support for processing the following Decls: NonTypeTemplateParmDecl,
CXXConversionDecl, UnresolvedUsingValueDecl, UsingDecl, UsingShadowDecl,
TypeAliasTemplateDecl, TypeAliasDecl, VarTemplateDecl,
VarTemplateSpecializationDecl, UsingDirectiveDecl, TemplateTemplateParmDecl,
ClassTemplatePartialSpecializationDecl, IndirectFieldDecl.
Also, this allows for processing NamedDecls that don't have an identifier and
skips over VarDecls that are dependent on template types.
Differential Revision: https://reviews.llvm.org/D69995
2019-11-09 09:21:28 +08:00
|
|
|
|
2020-03-28 16:08:27 +08:00
|
|
|
// CHECK: --- !experimental-ifs-v2
|
|
|
|
// CHECK-NEXT: IfsVersion: 2.0
|
2019-11-09 10:06:23 +08:00
|
|
|
// CHECK-NEXT: Triple:
|
[clang][IFS] Adds support for more decl types in clang interface stubs.
Adding support for processing the following Decls: NonTypeTemplateParmDecl,
CXXConversionDecl, UnresolvedUsingValueDecl, UsingDecl, UsingShadowDecl,
TypeAliasTemplateDecl, TypeAliasDecl, VarTemplateDecl,
VarTemplateSpecializationDecl, UsingDirectiveDecl, TemplateTemplateParmDecl,
ClassTemplatePartialSpecializationDecl, IndirectFieldDecl.
Also, this allows for processing NamedDecls that don't have an identifier and
skips over VarDecls that are dependent on template types.
Differential Revision: https://reviews.llvm.org/D69995
2019-11-09 09:21:28 +08:00
|
|
|
// CHECK-NEXT: ObjectFileFormat: ELF
|
|
|
|
// CHECK-NEXT: Symbols:
|
|
|
|
// CHECK-NEXT: ...
|
|
|
|
|
|
|
|
template<typename T> struct S2 { static unsigned f(); };
|
|
|
|
template<typename T> struct S3 { using S2<T>::f; };
|
|
|
|
|
|
|
|
typedef struct {} S4;
|
|
|
|
using ::S4;
|
|
|
|
|
|
|
|
template<typename T, T t> struct C3{};
|
2019-11-09 10:06:23 +08:00
|
|
|
template<bool b> using U1 = C3<bool, b>;
|