From 194e87a88290a4b3025436709e1f3064aecd00cd Mon Sep 17 00:00:00 2001 From: nsfisis Date: Sat, 30 Aug 2025 00:39:45 +0900 Subject: feat: check invalid #elif* and #endif --- tests/106.sh | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 tests/106.sh (limited to 'tests/106.sh') diff --git a/tests/106.sh b/tests/106.sh new file mode 100644 index 0000000..2a61a33 --- /dev/null +++ b/tests/106.sh @@ -0,0 +1,50 @@ +cat <<'EOF' > expected +main.c:1: unexpected '#elif'; no corresponding '#if'* +EOF +test_compile_error <<'EOF' +#elif +#endif + +int main() {} +EOF + +cat <<'EOF' > expected +main.c:1: unexpected '#endif'; no corresponding '#if'* +EOF +test_compile_error <<'EOF' +#endif + +int main() {} +EOF + +cat <<'EOF' > expected +main.c:1: unexpected '#else'; no corresponding '#if'* +EOF +test_compile_error <<'EOF' +#else +#endif + +int main() {} +EOF + +cat <<'EOF' > expected +main.c:4: expected '#endif', but got '' +EOF +test_compile_error <<'EOF' +#if 1 + +int main() {} +EOF + +cat <<'EOF' > a.h +#if 1 +EOF +cat <<'EOF' > expected +./a.h:2: expected '#endif', but got '' +EOF +test_compile_error <<'EOF' +#include "a.h" +#endif + +int main() {} +EOF -- cgit v1.2.3-70-g09d2