1 # RUN: yaml2obj %s -o %t1.o
3 # RUN: wasm-ld --no-entry --features=foo,bar,baz -o %t.specified.wasm %t1.o
4 # RUN: obj2yaml %t.specified.wasm | FileCheck %s --check-prefix SPECIFIED
6 # RUN: wasm-ld --no-entry --features=bar,baz,quux -o %t.unspecified.wasm %t1.o
7 # RUN: obj2yaml %t.unspecified.wasm | FileCheck %s --check-prefix UNSPECIFIED
9 # RUN: yaml2obj %S/Inputs/disallow-feature-foo.yaml -o %t.disallowed.o
10 # RUN: wasm-ld --no-entry -o - %t1.o %t.disallowed.o | obj2yaml | FileCheck %s --check-prefix DISALLOWED
12 # RUN: yaml2obj %S/Inputs/no-feature-foo.yaml -o %t.none.o
13 # RUN: wasm-ld --no-entry -o - %t1.o %t.none.o | obj2yaml | FileCheck %s --check-prefix NONE
15 # Check that the following combinations of feature linkage policies
16 # give the expected results:
18 # DISALLOWED x DISALLOWED => NONE
19 # DISALLOWED x NONE => NONE
33 # included so output has target features section
38 # SPECIFIED: - Type: CUSTOM
39 # SPECIFIED: Name: target_features
40 # SPECIFIED-NEXT: Features:
41 # SPECIFIED-NEXT: - Prefix: USED
42 # SPECIFIED-NEXT: Name: bar
43 # SPECIFIED-NEXT: - Prefix: USED
44 # SPECIFIED-NEXT: Name: baz
45 # SPECIFIED-NEXT: - Prefix: USED
46 # SPECIFIED-NEXT: Name: foo
49 # UNSPECIFIED: - Type: CUSTOM
50 # UNSPECIFIED: Name: target_features
51 # UNSPECIFIED-NEXT: Features:
52 # UNSPECIFIED-NEXT: - Prefix: USED
53 # UNSPECIFIED-NEXT: Name: bar
54 # UNSPECIFIED-NEXT: - Prefix: USED
55 # UNSPECIFIED-NEXT: Name: baz
56 # UNSPECIFIED-NEXT: - Prefix: USED
57 # UNSPECIFIED-NEXT: Name: quux
58 # UNSPECIFIED-NEXT: ...
60 # DISALLOWED: - Type: CUSTOM
61 # DISALLOWED: Name: target_features
62 # DISALLOWED-NEXT: Features:
63 # DISALLOWED-NEXT: - Prefix: USED
64 # DISALLOWED-NEXT: Name: bar
65 # DISALLOWED-NEXT: ...
67 # NONE: - Type: CUSTOM
68 # NONE: Name: target_features
69 # NONE-NEXT: Features:
70 # NONE-NEXT: - Prefix: USED
71 # NONE-NEXT: Name: bar