; Test finding types by CompilerContext. ; RUN: llc %s -filetype=obj -o %t.o ; RUN: lldb-test symbols %t.o -find=type --language=C99 \ ; RUN: -compiler-context="Module:CModule,Module:SubModule,Struct:FromSubmoduleX" \ ; RUN: | FileCheck %s --check-prefix=NORESULTS ; RUN: lldb-test symbols %t.o -find=type --language=C++ \ ; RUN: -compiler-context="Module:CModule,Module:SubModule,Struct:FromSubmodule" \ ; RUN: | FileCheck %s --check-prefix=NORESULTS ; RUN: lldb-test symbols %t.o -find=type --language=C99 \ ; RUN: -compiler-context="Module:CModule,Module:SubModule,Struct:FromSubmodule" \ ; RUN: | FileCheck %s ; RUN: lldb-test symbols %t.o -find=type --language=C99 \ ; RUN: -compiler-context="Module:CModule,AnyModule:*,Struct:FromSubmodule" \ ; RUN: | FileCheck %s ; RUN: lldb-test symbols %t.o -find=type --language=C99 \ ; RUN: -compiler-context="AnyModule:*,Struct:FromSubmodule" \ ; RUN: | FileCheck %s ; RUN: lldb-test symbols %t.o -find=type --language=C99 \ ; RUN: -compiler-context="Module:CModule,Module:SubModule,AnyType:FromSubmodule" \ ; RUN: | FileCheck %s ; ; NORESULTS: Found 0 types ; CHECK: Found 1 types: ; CHECK: struct FromSubmodule { ; CHECK-NEXT: unsigned int x; ; CHECK-NEXT: unsigned int y; ; CHECK-NEXT: unsigned int z; ; CHECK-NEXT: } source_filename = "/t.c" target datalayout = "e-m:o-i64:64-f80:128-n8:16:32:64-S128" target triple = "x86_64-apple-macosx10.14.0" !llvm.dbg.cu = !{!2} !llvm.linker.options = !{} !llvm.module.flags = !{!18, !19} !llvm.ident = !{!22} ; This simulates the debug info for a Clang module. !2 = distinct !DICompileUnit(language: DW_LANG_C99, file: !3, producer: "clang", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, nameTableKind: GNU, retainedTypes: !{!11}) !3 = !DIFile(filename: "t.c", directory: "/") !8 = !DIModule(scope: !9, name: "SubModule", includePath: "", sysroot: "/") !9 = !DIModule(scope: null, name: "CModule", includePath: "", sysroot: "/") !11 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "FromSubmodule", scope: !8, file: !3, line: 1, size: 96, elements: !13) !13 = !{!14, !16, !17} !14 = !DIDerivedType(tag: DW_TAG_member, name: "x", scope: !11, file: !3, line: 2, baseType: !15, size: 32) !15 = !DIBasicType(name: "unsigned int", size: 32, encoding: DW_ATE_unsigned) !16 = !DIDerivedType(tag: DW_TAG_member, name: "y", scope: !11, file: !3, line: 2, baseType: !15, size: 32, offset: 32) !17 = !DIDerivedType(tag: DW_TAG_member, name: "z", scope: !11, file: !3, line: 2, baseType: !15, size: 32, offset: 64) !18 = !{i32 2, !"Dwarf Version", i32 4} !19 = !{i32 2, !"Debug Info Version", i32 3} !22 = !{!"clang version 10.0.0 (https://github.com/llvm/llvm-project 056f1b5cc7c2133f0cb3e30e7f24808d321096d7)"}