c: Turn -Wimplicit-function-declaration into a permerror: Fix 'gcc.dg/gnu23-builtins-no-dfp-1.c'

With recent commit 55e94561e9
"c: Turn -Wimplicit-function-declaration into a permerror", this test
case, added in 2019 commit 5b8d936768
"Prevent all uses of DFP when unsupported (PR c/91985)" started FAILing
(for applicable configurations):

    [-PASS:-]{+FAIL:+} gcc.dg/gnu23-builtins-no-dfp-1.c  (test for warnings, line 13)
    [-PASS:-]{+FAIL:+} gcc.dg/gnu23-builtins-no-dfp-1.c  (test for warnings, line 14)
    [-PASS:-]{+FAIL:+} gcc.dg/gnu23-builtins-no-dfp-1.c  (test for warnings, line 15)
    [-PASS:-]{+FAIL:+} gcc.dg/gnu23-builtins-no-dfp-1.c  (test for warnings, line 16)
    [-PASS:-]{+FAIL:+} gcc.dg/gnu23-builtins-no-dfp-1.c  (test for warnings, line 17)
    [-PASS:-]{+FAIL:+} gcc.dg/gnu23-builtins-no-dfp-1.c  (test for warnings, line 18)
    [-PASS:-]{+FAIL:+} gcc.dg/gnu23-builtins-no-dfp-1.c (test for excess errors)

This is due to:

    [...]/gcc.dg/gnu23-builtins-no-dfp-1.c:13:13: error: implicit declaration of function '__builtin_fabsd32'; did you mean '__builtin_fabsf32'? [-Wimplicit-function-declaration]
    [...]

Specifying '-fpermissive', commit f37744662c
"[committed] Fix gnu23-builtins-no-dfp" subsequently resolved the FAILs, but
patch review concluded that for this test case it's secondary *how*
"implicit declaration of function" is diagnosed, so we'd test the standard
way, which instead of "warning" now is "error".

	gcc/testsuite/
	* gcc.dg/gnu23-builtins-no-dfp-1.c: Remove '-fpermissive'.
	'dg-error "implicit"' instead of 'dg-warning "implicit"'.
This commit is contained in:
Thomas Schwinge 2023-12-01 16:52:06 +01:00
parent e9d2ae6b98
commit a1adce82c1

View file

@ -1,7 +1,7 @@
/* Test C23 built-in functions: test DFP built-in functions are not
available when no DFP support. Bug 91985. */
/* { dg-do compile { target { ! dfp } } } */
/* { dg-options "-std=gnu23 -fpermissive" } */
/* { dg-options "-std=gnu23" } */
int fabsd32 (void);
int fabsd64 (void);
@ -10,9 +10,9 @@ int nand32 (void);
int nand64 (void);
int nand128 (void);
__typeof__ (__builtin_fabsd32 (0)) d32; /* { dg-warning "implicit" } */
__typeof__ (__builtin_fabsd64 (0)) d64; /* { dg-warning "implicit" } */
__typeof__ (__builtin_fabsd128 (0)) d128; /* { dg-warning "implicit" } */
__typeof__ (__builtin_nand32 (0)) d32n; /* { dg-warning "implicit" } */
__typeof__ (__builtin_nand64 (0)) d64n; /* { dg-warning "implicit" } */
__typeof__ (__builtin_nand128 (0)) d128n; /* { dg-warning "implicit" } */
__typeof__ (__builtin_fabsd32 (0)) d32; /* { dg-error "implicit" } */
__typeof__ (__builtin_fabsd64 (0)) d64; /* { dg-error "implicit" } */
__typeof__ (__builtin_fabsd128 (0)) d128; /* { dg-error "implicit" } */
__typeof__ (__builtin_nand32 (0)) d32n; /* { dg-error "implicit" } */
__typeof__ (__builtin_nand64 (0)) d64n; /* { dg-error "implicit" } */
__typeof__ (__builtin_nand128 (0)) d128n; /* { dg-error "implicit" } */