brintos

brintos / llvm-project-archived public Read only

0
0
Text · 3.4 KiB · d60f88d Raw
87 lines · yaml
1# RUN: yaml2obj %s -o %t1.o2 3# RUN: wasm-ld --no-entry --features=foo,bar,baz -o - %t1.o | obj2yaml | FileCheck %s --check-prefix SPECIFIED4 5# RUN: not wasm-ld --no-entry --features=bar,baz,quux -o /dev/null %t1.o 2>&1 | FileCheck %s --check-prefix UNSPECIFIED6 7# RUN: wasm-ld --no-entry --no-check-features --features=bar,baz,quux -o - %t1.o | obj2yaml | FileCheck %s --check-prefix UNSPECIFIED-NOCHECK8 9# RUN: yaml2obj %S/Inputs/use-feature-foo.yaml -o %t.used.o10# RUN: wasm-ld --no-entry -o - %t1.o %t.used.o | obj2yaml | FileCheck %s --check-prefix USED11 12# RUN: yaml2obj %S/Inputs/disallow-feature-foo.yaml -o %t.disallowed.o13# RUN: not wasm-ld --no-entry -o /dev/null %t1.o %t.disallowed.o 2>&1 | FileCheck %s --check-prefix DISALLOWED14 15# RUN: wasm-ld --no-entry --no-check-features -o - %t1.o %t.disallowed.o | obj2yaml | FileCheck %s --check-prefix DISALLOWED-NOCHECK16 17# RUN: yaml2obj %S/Inputs/no-feature-foo.yaml -o %t.none.o18# RUN: wasm-ld --no-entry -o - %t1.o %t.none.o | obj2yaml | FileCheck %s --check-prefix NONE19 20# Check that the following combinations of feature linkage policies21# give the expected results:22#23#     USED x USED => USED24#     USED x DISALLOWED => Error25#     USED x NONE => USED26 27--- !WASM28FileHeader:29  Version:         0x0000000130Sections:31  - Type:            CUSTOM32    Name:            linking33    Version:         234  - Type:            CUSTOM35    Name:            target_features36    Features:37      - Prefix:        USED38        Name:          "foo"39...40 41# SPECIFIED:        - Type:            CUSTOM42# SPECIFIED:          Name:            target_features43# SPECIFIED-NEXT:     Features:44# SPECIFIED-NEXT:       - Prefix:          USED45# SPECIFIED-NEXT:         Name:            bar46# SPECIFIED-NEXT:       - Prefix:          USED47# SPECIFIED-NEXT:         Name:            baz48# SPECIFIED-NEXT:       - Prefix:          USED49# SPECIFIED-NEXT:         Name:            foo50# SPECIFIED-NEXT: ...51 52# UNSPECIFIED: Target feature 'foo' used by {{.*}}target-feature-used.yaml.tmp1.o is not allowed.{{$}}53 54# UNSPECIFIED-NOCHECK:        - Type:            CUSTOM55# UNSPECIFIED-NOCHECK:          Name:            target_features56# UNSPECIFIED-NOCHECK-NEXT:     Features:57# UNSPECIFIED-NOCHECK-NEXT:       - Prefix:          USED58# UNSPECIFIED-NOCHECK-NEXT:         Name:            bar59# UNSPECIFIED-NOCHECK-NEXT:       - Prefix:          USED60# UNSPECIFIED-NOCHECK-NEXT:         Name:            baz61# UNSPECIFIED-NOCHECK-NEXT:       - Prefix:          USED62# UNSPECIFIED-NOCHECK-NEXT:         Name:            quux63# UNSPECIFIED-NOCHECK-NEXT: ...64 65# USED:        - Type:            CUSTOM66# USED:          Name:            target_features67# USED-NEXT:     Features:68# USED-NEXT:       - Prefix:          USED69# USED-NEXT:         Name:            foo70# USED-NEXT: ...71 72# DISALLOWED: Target feature 'foo' used in {{.*}}target-feature-used.yaml.tmp1.o is disallowed by {{.*}}target-feature-used.yaml.tmp.disallowed.o. Use --no-check-features to suppress.{{$}}73 74# DISALLOWED-NOCHECK:        - Type:            CUSTOM75# DISALLOWED-NOCHECK:          Name:            target_features76# DISALLOWED-NOCHECK-NEXT:     Features:77# DISALLOWED-NOCHECK-NEXT:       - Prefix:          USED78# DISALLOWED-NOCHECK-NEXT:         Name:            foo79# DISALLOWED-NOCHECK-NEXT: ...80 81# NONE:        - Type:            CUSTOM82# NONE:          Name:            target_features83# NONE-NEXT:     Features:84# NONE-NEXT:       - Prefix:          USED85# NONE-NEXT:         Name:            foo86# NONE-NEXT: ...87