Skip to content

Commit dab80a0

Browse files
committed
Don't fail to compile if feature macros aren't defined
This makes the output assume the feature is not enabled if the macro is not defined at all, rather than just being set to zero. I know of at least one build that does not use CMake and does not set the macro if the feature is not enabled.
1 parent 766f378 commit dab80a0

File tree

1 file changed

+68
-11
lines changed

1 file changed

+68
-11
lines changed

product-mini/platforms/common/wasm_proposal.c

+68-11
Original file line numberDiff line numberDiff line change
@@ -17,27 +17,84 @@ wasm_proposal_print_status(void)
1717
printf(" - WebAssembly C and C++ API\n");
1818
printf(" Compilation Configurable. 0 is OFF. 1 is ON:\n");
1919
printf(" - Bulk Memory Operation via WASM_ENABLE_BULK_MEMORY: %u\n",
20-
WASM_ENABLE_BULK_MEMORY);
20+
#ifdef WASM_ENABLE_BULK_MEMORY
21+
WASM_ENABLE_BULK_MEMORY
22+
#else
23+
0
24+
#endif
25+
);
2126
printf(" - Fixed-Width SIMD via WASM_ENABLE_SIMD: %u\n",
22-
WASM_ENABLE_SIMD);
23-
printf(" - Garbage Collection via WASM_ENABLE_GC: %u\n", WASM_ENABLE_GC);
27+
#ifdef WASM_ENABLE_SIMD
28+
WASM_ENABLE_SIMD
29+
#else
30+
0
31+
#endif
32+
);
33+
printf(" - Garbage Collection via WASM_ENABLE_GC: %u\n",
34+
#ifdef WASM_ENABLE_GC
35+
WASM_ENABLE_GC
36+
#else
37+
0
38+
#endif
39+
);
2440
printf(
2541
" - Legacy Exception Handling via WASM_ENABLE_EXCE_HANDLING: %u\n",
26-
WASM_ENABLE_EXCE_HANDLING);
42+
#ifdef WASM_ENABLE_EXCE_HANDLING
43+
WASM_ENABLE_EXCE_HANDLING
44+
#else
45+
0
46+
#endif
47+
);
2748
printf(" - Memory64 via WASM_ENABLE_MEMORY64: %u\n",
28-
WASM_ENABLE_MEMORY64);
49+
#ifdef WASM_ENABLE_MEMORY64
50+
WASM_ENABLE_MEMORY64
51+
#else
52+
0
53+
#endif
54+
);
2955
printf(" - Multiple Memory via WASM_ENABLE_MULTI_MEMORY: %u\n",
30-
WASM_ENABLE_MULTI_MEMORY);
56+
#ifdef WASM_ENABLE_MULTI_MEMORY
57+
WASM_ENABLE_MULTI_MEMORY
58+
#else
59+
0
60+
#endif
61+
);
3162
printf(" - Reference Types via WASM_ENABLE_REF_TYPES: %u\n",
32-
WASM_ENABLE_REF_TYPES);
63+
#ifdef WASM_ENABLE_REF_TYPES
64+
WASM_ENABLE_REF_TYPES
65+
#else
66+
0
67+
#endif
68+
);
3369
printf(" - Reference-Typed Strings via WASM_ENABLE_REF_TYPES: %u\n",
34-
WASM_ENABLE_REF_TYPES);
70+
#ifdef WASM_ENABLE_REF_TYPES
71+
WASM_ENABLE_REF_TYPES
72+
#else
73+
0
74+
#endif
75+
);
3576
printf(" - Tail Call via WASM_ENABLE_TAIL_CALL: %u\n",
36-
WASM_ENABLE_TAIL_CALL);
77+
#ifdef WASM_ENABLE_TAIL_CALL
78+
WASM_ENABLE_TAIL_CALL
79+
#else
80+
0
81+
#endif
82+
);
83+
3784
printf(" - Threads via WASM_ENABLE_SHARED_MEMORY: %u\n",
38-
WASM_ENABLE_SHARED_MEMORY);
85+
#ifdef WASM_ENABLE_SHARED_MEMORY
86+
WASM_ENABLE_SHARED_MEMORY
87+
#else
88+
0
89+
#endif
90+
);
3991
printf(" - Typed Function References via WASM_ENABLE_GC: %u\n",
40-
WASM_ENABLE_GC);
92+
#ifdef WASM_ENABLE_GC
93+
WASM_ENABLE_GC
94+
#else
95+
0
96+
#endif
97+
);
4198
printf(" Unsupported (>= Phase4):\n");
4299
printf(" - Branch Hinting\n");
43100
printf(" - Custom Annotation Syntax in the Text Format\n");

0 commit comments

Comments
 (0)