38 lines · plain
1# RUN: %clang -emit-interface-stubs -o - %s %S/object.ifs -emit-merged-ifs | \2# RUN: FileCheck %s --check-prefixes=CHECK-IFS3 4# RUN: %clang -emit-interface-stubs -o - %s %S/object.ifs | llvm-readelf --all - | \5# RUN: FileCheck %s --check-prefixes=CHECK-ELF6 7# RUN: %clang -emit-interface-stubs -o - %s %s -emit-merged-ifs | \8# RUN: FileCheck %s --check-prefixes=CHECK-MERGE-IFS9 10# CHECK-IFS: --- !ifs-v111# CHECK-IFS-NEXT: IfsVersion: 3.012# CHECK-IFS-NEXT: Target: x86_64-linux-gnu13# CHECK-IFS-NEXT: Symbols:14# CHECK-IFS-DAG: - { Name: a, Type: Func }15# CHECK-IFS-DAG: - { Name: b, Type: Object, Size: 4 }16# CHECK-IFS: ...17 18# CHECK-ELF: ELF Header:19# CHECK-ELF: Class: ELF6420# CHECK-ELF: Type: DYN (Shared object file)21# CHECK-ELF: FUNC GLOBAL DEFAULT 1 a22# CHECK-ELF: OBJECT GLOBAL DEFAULT 1 b23 24# Here we are testing to see if two identical symbols will merge.25# CHECK-MERGE-IFS: --- !ifs-v126# CHECK-MERGE-IFS-NEXT: IfsVersion: 3.027# CHECK-MERGE-IFS-NEXT: Target: x86_64-linux-gnu28# CHECK-MERGE-IFS-NEXT: Symbols:29# CHECK-MERGE-IFS-NEXT: - { Name: a, Type: Func }30# CHECK-MERGE-IFS-NEXT: ...31 32--- !ifs-v133IfsVersion: 3.034Target: x86_64-linux-gnu35Symbols:36 - { Name: a, Type: Func }37...38