1*9880d681SAndroid Build Coastguard Worker# Source file compiled: 2*9880d681SAndroid Build Coastguard Worker##include <iostream> 3*9880d681SAndroid Build Coastguard Worker# #include <typeinfo> 4*9880d681SAndroid Build Coastguard Worker#template <class A> 5*9880d681SAndroid Build Coastguard Worker#void foo(A variable) { 6*9880d681SAndroid Build Coastguard Worker# std::cout << "foo is " << typeid(A).name() << "\n"; 7*9880d681SAndroid Build Coastguard Worker#} 8*9880d681SAndroid Build Coastguard Worker#int main () { 9*9880d681SAndroid Build Coastguard Worker# char x = 'x'; 10*9880d681SAndroid Build Coastguard Worker# int y = 1; 11*9880d681SAndroid Build Coastguard Worker# foo(x); 12*9880d681SAndroid Build Coastguard Worker# foo(y); 13*9880d681SAndroid Build Coastguard Worker# return 0; 14*9880d681SAndroid Build Coastguard Worker#} 15*9880d681SAndroid Build Coastguard Worker 16*9880d681SAndroid Build Coastguard WorkerRUN: llvm-readobj -g %p/Inputs/elf-groups.x86_64 \ 17*9880d681SAndroid Build Coastguard WorkerRUN: | FileCheck %s 18*9880d681SAndroid Build Coastguard WorkerRUN: llvm-readobj -g -elf-output-style=GNU %p/Inputs/elf-groups.x86_64 \ 19*9880d681SAndroid Build Coastguard WorkerRUN: | FileCheck --check-prefix="GNU" %s 20*9880d681SAndroid Build Coastguard WorkerCHECK: Groups { 21*9880d681SAndroid Build Coastguard WorkerCHECK-NEXT: Group { 22*9880d681SAndroid Build Coastguard WorkerCHECK-NEXT: Name: .group (92) 23*9880d681SAndroid Build Coastguard WorkerCHECK-NEXT: Index: 1 24*9880d681SAndroid Build Coastguard WorkerCHECK-NEXT: Type: COMDAT (0x1) 25*9880d681SAndroid Build Coastguard WorkerCHECK-NEXT: Signature: _Z3fooIcEvT_ 26*9880d681SAndroid Build Coastguard WorkerCHECK-NEXT: Section(s) in group [ 27*9880d681SAndroid Build Coastguard WorkerCHECK-NEXT: .text._Z3fooIcEvT_ (10) 28*9880d681SAndroid Build Coastguard WorkerCHECK-NEXT: .rela.text._Z3fooIcEvT_ (11) 29*9880d681SAndroid Build Coastguard WorkerCHECK-NEXT: ] 30*9880d681SAndroid Build Coastguard WorkerCHECK-NEXT: } 31*9880d681SAndroid Build Coastguard WorkerCHECK-NEXT: Group { 32*9880d681SAndroid Build Coastguard WorkerCHECK-NEXT: Name: .group (92) 33*9880d681SAndroid Build Coastguard WorkerCHECK-NEXT: Index: 2 34*9880d681SAndroid Build Coastguard WorkerCHECK-NEXT: Type: COMDAT (0x1) 35*9880d681SAndroid Build Coastguard WorkerCHECK-NEXT: Signature: _Z3fooIiEvT_ 36*9880d681SAndroid Build Coastguard WorkerCHECK-NEXT: Section(s) in group [ 37*9880d681SAndroid Build Coastguard WorkerCHECK-NEXT: .text._Z3fooIiEvT_ (12) 38*9880d681SAndroid Build Coastguard WorkerCHECK-NEXT: .rela.text._Z3fooIiEvT_ (13) 39*9880d681SAndroid Build Coastguard WorkerCHECK-NEXT: ] 40*9880d681SAndroid Build Coastguard WorkerCHECK-NEXT: } 41*9880d681SAndroid Build Coastguard Worker 42*9880d681SAndroid Build Coastguard WorkerGNU:COMDAT group section [ 1] `.group' [_Z3fooIcEvT_] contains 2 sections: 43*9880d681SAndroid Build Coastguard WorkerGNU-NEXT: [Index] Name 44*9880d681SAndroid Build Coastguard WorkerGNU-NEXT: [ 10] .text._Z3fooIcEvT_ 45*9880d681SAndroid Build Coastguard WorkerGNU-NEXT: [ 11] .rela.text._Z3fooIcEvT_ 46*9880d681SAndroid Build Coastguard WorkerGNU:COMDAT group section [ 2] `.group' [_Z3fooIiEvT_] contains 2 sections: 47*9880d681SAndroid Build Coastguard WorkerGNU-NEXT: [Index] Name 48*9880d681SAndroid Build Coastguard WorkerGNU-NEXT: [ 12] .text._Z3fooIiEvT_ 49*9880d681SAndroid Build Coastguard WorkerGNU-NEXT: [ 13] .rela.text._Z3fooIiEvT_ 50*9880d681SAndroid Build Coastguard WorkerGNU:COMDAT group section [ 3] `.group' [_ZNKSt9type_info4nameEv] contains 1 sections: 51*9880d681SAndroid Build Coastguard WorkerGNU-NEXT: [Index] Name 52*9880d681SAndroid Build Coastguard WorkerGNU-NEXT: [ 14] .text._ZNKSt9type_info4nameEv 53