// RUN: clang-import-test -dump-ast -import %S/Inputs/S.cpp -expression %s -Xcc -DSEQ | FileCheck --check-prefix=CHECK-SEQ %s // RUN: clang-import-test -dump-ast -import %S/Inputs/S.cpp -expression %s -Xcc -DPACK | FileCheck --check-prefix=CHECK-PACK %s // RUN: clang-import-test -dump-ast -import %S/Inputs/S.cpp -expression %s -Xcc -DPACK -Xcc -DSEQ | FileCheck --check-prefixes=CHECK-SEQ,CHECK-PACK %s // CHECK-SEQ: BuiltinTemplateDecl // CHECK-SEQ-SAME: // CHECK-SEQ-SAME: implicit // CHECK-SEQ-SAME: __make_integer_seq // CHECK-PACK: BuiltinTemplateDecl // CHECK-PACK-SAME: // CHECK-PACK-SAME: implicit // CHECK-PACK-SAME: __type_pack_element void expr() { #ifdef SEQ typedef MakeSeq M1; M1 m1; typedef MakeSeq M2; M2 m2; static_assert(M1::PackSize == 3, ""); static_assert(M2::PackSize == 4, ""); #endif #ifdef PACK static_assert(__is_same(TypePackElement<0, X<0>>, X<0>), ""); static_assert(__is_same(TypePackElement<0, X<0>, X<1>>, X<0>), ""); static_assert(__is_same(TypePackElement<1, X<0>, X<1>>, X<1>), ""); #endif }