xref: /llvm-project/clang/test/Modules/lsv-debuginfo.cpp (revision 8bf12445383b2f3149a9d095bfbc0f6d5b00dfaa)
1ba6fdc57SAdrian Prantl // Test C++ -gmodules debug info in the PCMs with local submodule visibility.
2ba6fdc57SAdrian Prantl // REQUIRES: asserts
3ba6fdc57SAdrian Prantl // RUN: rm -rf %t
4d1932dcdSAdrian Prantl // RUN: %clang_cc1 -triple %itanium_abi_triple -std=c++14 \
5ba6fdc57SAdrian Prantl // RUN:   -fmodules-local-submodule-visibility %s \
6ba6fdc57SAdrian Prantl // RUN:   -dwarf-ext-refs -fmodule-format=obj -debug-info-kind=standalone \
7ba6fdc57SAdrian Prantl // RUN:   -dwarf-version=4 -fmodules -fimplicit-module-maps \
8ba6fdc57SAdrian Prantl // RUN:   -fmodules-cache-path="%t" -o %t.ll -I%S/Inputs/lsv-debuginfo \
9ba6fdc57SAdrian Prantl // RUN:   -mllvm -debug-only=pchcontainer &>%t-mod.ll
10ba6fdc57SAdrian Prantl // RUN: cat %t-mod.ll | FileCheck %s
11ba6fdc57SAdrian Prantl 
12ba6fdc57SAdrian Prantl // RUN: rm -rf %t
13d1932dcdSAdrian Prantl // RUN: %clang_cc1 -triple %itanium_abi_triple -std=c++14 \
14ba6fdc57SAdrian Prantl // RUN:   -fmodules-local-submodule-visibility %s \
15ba6fdc57SAdrian Prantl // RUN:   -dwarf-ext-refs -fmodule-format=obj -debug-info-kind=standalone \
16ba6fdc57SAdrian Prantl // RUN:   -dwarf-version=4 -fmodules -fimplicit-module-maps \
17ba6fdc57SAdrian Prantl // RUN:   -fmodules-cache-path="%t" -o %t.ll -I%S/Inputs/lsv-debuginfo \
18d1932dcdSAdrian Prantl // RUN:   -DWITH_NAMESPACE \
19d1932dcdSAdrian Prantl // RUN:   -mllvm -debug-only=pchcontainer &>%t-mod.ll
20ba6fdc57SAdrian Prantl // RUN: cat %t-mod.ll | FileCheck %s
21ba6fdc57SAdrian Prantl 
22ba6fdc57SAdrian Prantl // ADT
23ba6fdc57SAdrian Prantl // CHECK: @__clang_ast =
24ba6fdc57SAdrian Prantl 
25ba6fdc57SAdrian Prantl // B
26ba6fdc57SAdrian Prantl // CHECK: @__clang_ast =
27ba6fdc57SAdrian Prantl 
28ba6fdc57SAdrian Prantl // This type isn't anchored anywhere, expect a full definition.
29*8bf12445SDavid Blaikie // CHECK: !DICompositeType({{.*}}, name: "AlignedCharArray<4U, 16U>",
30ba6fdc57SAdrian Prantl // CHECK-SAME:             elements:
31ba6fdc57SAdrian Prantl 
32ba6fdc57SAdrian Prantl // C
33ba6fdc57SAdrian Prantl // CHECK: @__clang_ast =
34ba6fdc57SAdrian Prantl 
35ba6fdc57SAdrian Prantl // Here, too.
36*8bf12445SDavid Blaikie // CHECK: !DICompositeType({{.*}}, name: "AlignedCharArray<4U, 16U>",
37ba6fdc57SAdrian Prantl // CHECK-SAME:             elements:
38ba6fdc57SAdrian Prantl 
39ba6fdc57SAdrian Prantl #include <B/B.h>
40