/* PR c/59717 */ /* { dg-do compile } */ /* { dg-options "-std=gnu11 -Wno-implicit-function-declaration" } */ void math (double d, int *ex, double *dp) { acos (d); /* { dg-warning "incompatible implicit" } */ /* { dg-message "include ..math.h.." "" { target *-*-* } .-1 } */ acosh (d); /* { dg-warning "incompatible implicit" } */ /* { dg-message "include ..math.h.." "" { target *-*-* } .-1 } */ asin (d); /* { dg-warning "incompatible implicit" } */ /* { dg-message "include ..math.h.." "" { target *-*-* } .-1 } */ asinh (d); /* { dg-warning "incompatible implicit" } */ /* { dg-message "include ..math.h.." "" { target *-*-* } .-1 } */ atan (d); /* { dg-warning "incompatible implicit" } */ /* { dg-message "include ..math.h.." "" { target *-*-* } .-1 } */ atanh (d); /* { dg-warning "incompatible implicit" } */ /* { dg-message "include ..math.h.." "" { target *-*-* } .-1 } */ atan2 (d, d); /* { dg-warning "incompatible implicit" } */ /* { dg-message "include ..math.h.." "" { target *-*-* } .-1 } */ cbrt (d); /* { dg-warning "incompatible implicit" } */ /* { dg-message "include ..math.h.." "" { target *-*-* } .-1 } */ ceil (d); /* { dg-warning "incompatible implicit" } */ /* { dg-message "include ..math.h.." "" { target *-*-* } .-1 } */ copysign (d, d); /* { dg-warning "incompatible implicit" } */ /* { dg-message "include ..math.h.." "" { target *-*-* } .-1 } */ cos (d); /* { dg-warning "incompatible implicit" } */ /* { dg-message "include ..math.h.." "" { target *-*-* } .-1 } */ cosh (d); /* { dg-warning "incompatible implicit" } */ /* { dg-message "include ..math.h.." "" { target *-*-* } .-1 } */ erf (d); /* { dg-warning "incompatible implicit" } */ /* { dg-message "include ..math.h.." "" { target *-*-* } .-1 } */ erfc (d); /* { dg-warning "incompatible implicit" } */ /* { dg-message "include ..math.h.." "" { target *-*-* } .-1 } */ exp (d); /* { dg-warning "incompatible implicit" } */ /* { dg-message "include ..math.h.." "" { target *-*-* } .-1 } */ exp2 (d); /* { dg-warning "incompatible implicit" } */ /* { dg-message "include ..math.h.." "" { target *-*-* } .-1 } */ expm1 (d); /* { dg-warning "incompatible implicit" } */ /* { dg-message "include ..math.h.." "" { target *-*-* } .-1 } */ fabs (d); /* { dg-warning "incompatible implicit" } */ /* { dg-message "include ..math.h.." "" { target *-*-* } .-1 } */ fdim (d, d); /* { dg-warning "incompatible implicit" } */ /* { dg-message "include ..math.h.." "" { target *-*-* } .-1 } */ floor (d); /* { dg-warning "incompatible implicit" } */ /* { dg-message "include ..math.h.." "" { target *-*-* } .-1 } */ fma (d, d, d); /* { dg-warning "incompatible implicit" } */ /* { dg-message "include ..math.h.." "" { target *-*-* } .-1 } */ fmax (d, d); /* { dg-warning "incompatible implicit" } */ /* { dg-message "include ..math.h.." "" { target *-*-* } .-1 } */ fmin (d, d); /* { dg-warning "incompatible implicit" } */ /* { dg-message "include ..math.h.." "" { target *-*-* } .-1 } */ fmod (d, d); /* { dg-warning "incompatible implicit" } */ /* { dg-message "include ..math.h.." "" { target *-*-* } .-1 } */ frexp (d, ex); /* { dg-warning "incompatible implicit" } */ /* { dg-message "include ..math.h.." "" { target *-*-* } .-1 } */ hypot (d, d); /* { dg-warning "incompatible implicit" } */ /* { dg-message "include ..math.h.." "" { target *-*-* } .-1 } */ /* We don't generate the warning for ilogb. */ ilogb (d); ldexp (d, *ex); /* { dg-warning "incompatible implicit" } */ /* { dg-message "include ..math.h.." "" { target *-*-* } .-1 } */ lgamma (d); /* { dg-warning "incompatible implicit" } */ /* { dg-message "include ..math.h.." "" { target *-*-* } .-1 } */ llrint (d); /* { dg-warning "incompatible implicit" } */ /* { dg-message "include ..math.h.." "" { target *-*-* } .-1 } */ llround (d); /* { dg-warning "incompatible implicit" } */ /* { dg-message "include ..math.h.." "" { target *-*-* } .-1 } */ log (d); /* { dg-warning "incompatible implicit" } */ /* { dg-message "include ..math.h.." "" { target *-*-* } .-1 } */ log10 (d); /* { dg-warning "incompatible implicit" } */ /* { dg-message "include ..math.h.." "" { target *-*-* } .-1 } */ log1p (d); /* { dg-warning "incompatible implicit" } */ /* { dg-message "include ..math.h.." "" { target *-*-* } .-1 } */ log2 (d); /* { dg-warning "incompatible implicit" } */ /* { dg-message "include ..math.h.." "" { target *-*-* } .-1 } */ logb (d); /* { dg-warning "incompatible implicit" } */ /* { dg-message "include ..math.h.." "" { target *-*-* } .-1 } */ lrint (d); /* { dg-warning "incompatible implicit" } */ /* { dg-message "include ..math.h.." "" { target *-*-* } .-1 } */ lround (d); /* { dg-warning "incompatible implicit" } */ /* { dg-message "include ..math.h.." "" { target *-*-* } .-1 } */ modf (d, dp); /* { dg-warning "incompatible implicit" } */ /* { dg-message "include ..math.h.." "" { target *-*-* } .-1 } */ nan (""); /* { dg-warning "incompatible implicit" } */ /* { dg-message "include ..math.h.." "" { target *-*-* } .-1 } */ nearbyint (d); /* { dg-warning "incompatible implicit" } */ /* { dg-message "include ..math.h.." "" { target *-*-* } .-1 } */ nextafter (d, d); /* { dg-warning "incompatible implicit" } */ /* { dg-message "include ..math.h.." "" { target *-*-* } .-1 } */ nexttoward (d, 20.0L); /* { dg-warning "incompatible implicit" } */ /* { dg-message "include ..math.h.." "" { target *-*-* } .-1 } */ pow (d, d); /* { dg-warning "incompatible implicit" } */ /* { dg-message "include ..math.h.." "" { target *-*-* } .-1 } */ remainder (d, d); /* { dg-warning "incompatible implicit" } */ /* { dg-message "include ..math.h.." "" { target *-*-* } .-1 } */ remquo (d, d, ex); /* { dg-warning "incompatible implicit" } */ /* { dg-message "include ..math.h.." "" { target *-*-* } .-1 } */ rint (d); /* { dg-warning "incompatible implicit" } */ /* { dg-message "include ..math.h.." "" { target *-*-* } .-1 } */ round (d); /* { dg-warning "incompatible implicit" } */ /* { dg-message "include ..math.h.." "" { target *-*-* } .-1 } */ scalbln (d, 100L); /* { dg-warning "incompatible implicit" } */ /* { dg-message "include ..math.h.." "" { target *-*-* } .-1 } */ scalbn (d, 100); /* { dg-warning "incompatible implicit" } */ /* { dg-message "include ..math.h.." "" { target *-*-* } .-1 } */ sin (d); /* { dg-warning "incompatible implicit" } */ /* { dg-message "include ..math.h.." "" { target *-*-* } .-1 } */ sinh (d); /* { dg-warning "incompatible implicit" } */ /* { dg-message "include ..math.h.." "" { target *-*-* } .-1 } */ sincos (d, dp, dp); /* { dg-warning "incompatible implicit" } */ /* { dg-message "include ..math.h.." "" { target *-*-* } .-1 } */ sqrt (d); /* { dg-warning "incompatible implicit" } */ /* { dg-message "include ..math.h.." "" { target *-*-* } .-1 } */ tan (d); /* { dg-warning "incompatible implicit" } */ /* { dg-message "include ..math.h.." "" { target *-*-* } .-1 } */ tanh (d); /* { dg-warning "incompatible implicit" } */ /* { dg-message "include ..math.h.." "" { target *-*-* } .-1 } */ tgamma (d); /* { dg-warning "incompatible implicit" } */ /* { dg-message "include ..math.h.." "" { target *-*-* } .-1 } */ trunc (d); /* { dg-warning "incompatible implicit" } */ /* { dg-message "include ..math.h.." "" { target *-*-* } .-1 } */ } void cmplx (double _Complex z) { cabs (z); /* { dg-warning "incompatible implicit" } */ /* { dg-message "include ..complex.h.." "" { target *-*-* } .-1 } */ cacos (z); /* { dg-warning "incompatible implicit" } */ /* { dg-message "include ..complex.h.." "" { target *-*-* } .-1 } */ cacosh (z); /* { dg-warning "incompatible implicit" } */ /* { dg-message "include ..complex.h.." "" { target *-*-* } .-1 } */ carg (z); /* { dg-warning "incompatible implicit" } */ /* { dg-message "include ..complex.h.." "" { target *-*-* } .-1 } */ casin (z); /* { dg-warning "incompatible implicit" } */ /* { dg-message "include ..complex.h.." "" { target *-*-* } .-1 } */ casinh (z); /* { dg-warning "incompatible implicit" } */ /* { dg-message "include ..complex.h.." "" { target *-*-* } .-1 } */ catan (z); /* { dg-warning "incompatible implicit" } */ /* { dg-message "include ..complex.h.." "" { target *-*-* } .-1 } */ catanh (z); /* { dg-warning "incompatible implicit" } */ /* { dg-message "include ..complex.h.." "" { target *-*-* } .-1 } */ ccos (z); /* { dg-warning "incompatible implicit" } */ /* { dg-message "include ..complex.h.." "" { target *-*-* } .-1 } */ ccosh (z); /* { dg-warning "incompatible implicit" } */ /* { dg-message "include ..complex.h.." "" { target *-*-* } .-1 } */ cexp (z); /* { dg-warning "incompatible implicit" } */ /* { dg-message "include ..complex.h.." "" { target *-*-* } .-1 } */ cimag (z); /* { dg-warning "incompatible implicit" } */ /* { dg-message "include ..complex.h.." "" { target *-*-* } .-1 } */ clog (z); /* { dg-warning "incompatible implicit" } */ /* { dg-message "include ..complex.h.." "" { target *-*-* } .-1 } */ conj (z); /* { dg-warning "incompatible implicit" } */ /* { dg-message "include ..complex.h.." "" { target *-*-* } .-1 } */ cpow (z, z); /* { dg-warning "incompatible implicit" } */ /* { dg-message "include ..complex.h.." "" { target *-*-* } .-1 } */ cproj (z); /* { dg-warning "incompatible implicit" } */ /* { dg-message "include ..complex.h.." "" { target *-*-* } .-1 } */ creal (z); /* { dg-warning "incompatible implicit" } */ /* { dg-message "include ..complex.h.." "" { target *-*-* } .-1 } */ csin (z); /* { dg-warning "incompatible implicit" } */ /* { dg-message "include ..complex.h.." "" { target *-*-* } .-1 } */ csinh (z); /* { dg-warning "incompatible implicit" } */ /* { dg-message "include ..complex.h.." "" { target *-*-* } .-1 } */ csqrt (z); /* { dg-warning "incompatible implicit" } */ /* { dg-message "include ..complex.h.." "" { target *-*-* } .-1 } */ ctan (z); /* { dg-warning "incompatible implicit" } */ /* { dg-message "include ..complex.h.." "" { target *-*-* } .-1 } */ ctanh (z); /* { dg-warning "incompatible implicit" } */ /* { dg-message "include ..complex.h.." "" { target *-*-* } .-1 } */ } void string (void *p, void *q, __SIZE_TYPE__ sz) { memchr (p, 2, sz); /* { dg-warning "incompatible implicit" } */ /* { dg-message "include ..string.h.." "" { target *-*-* } .-1 } */ /* We don't generate the warning for memcmp. */ memcmp (p, q, sz); memcpy (p, q, sz); /* { dg-warning "incompatible implicit" } */ /* { dg-message "include ..string.h.." "" { target *-*-* } .-1 } */ memmove (p, q, sz); /* { dg-warning "incompatible implicit" } */ /* { dg-message "include ..string.h.." "" { target *-*-* } .-1 } */ memset (p, 0, sz); /* { dg-warning "incompatible implicit" } */ /* { dg-message "include ..string.h.." "" { target *-*-* } .-1 } */ strcat (p, q); /* { dg-warning "incompatible implicit" } */ /* { dg-message "include ..string.h.." "" { target *-*-* } .-1 } */ strchr (p, 'a'); /* { dg-warning "incompatible implicit" } */ /* { dg-message "include ..string.h.." "" { target *-*-* } .-1 } */ /* We don't generate the warning for strcmp. */ strcmp (p, q); strcpy (p, q); /* { dg-warning "incompatible implicit" } */ /* { dg-message "include ..string.h.." "" { target *-*-* } .-1 } */ strcspn (p, q); /* { dg-warning "incompatible implicit" } */ /* { dg-message "include ..string.h.." "" { target *-*-* } .-1 } */ strlen (p); /* { dg-warning "incompatible implicit" } */ /* { dg-message "include ..string.h.." "" { target *-*-* } .-1 } */ strncat (p, q, sz); /* { dg-warning "incompatible implicit" } */ /* { dg-message "include ..string.h.." "" { target *-*-* } .-1 } */ /* We don't generate the warning for strncmp. */ strncmp (p, q, sz); strncpy (p, q, sz); /* { dg-warning "incompatible implicit" } */ /* { dg-message "include ..string.h.." "" { target *-*-* } .-1 } */ strpbrk (p, q); /* { dg-warning "incompatible implicit" } */ /* { dg-message "include ..string.h.." "" { target *-*-* } .-1 } */ strrchr (p, 'q'); /* { dg-warning "incompatible implicit" } */ /* { dg-message "include ..string.h.." "" { target *-*-* } .-1 } */ strspn (p, q); /* { dg-warning "incompatible implicit" } */ /* { dg-message "include ..string.h.." "" { target *-*-* } .-1 } */ strstr (p, q); /* { dg-warning "incompatible implicit" } */ /* { dg-message "include ..string.h.." "" { target *-*-* } .-1 } */ } /* Fake FILE. */ typedef struct { int i; } FILE; void stdio (FILE *fp, void *p, __SIZE_TYPE__ sz) { fprintf (fp, ""); /* { dg-warning "incompatible implicit" } */ /* { dg-message "include ..stdio.h.." "" { target *-*-* } .-1 } */ fscanf (fp, ""); /* { dg-warning "incompatible implicit" } */ /* { dg-message "include ..stdio.h.." "" { target *-*-* } .-1 } */ fwrite (p, sz, sz, fp); /* { dg-warning "incompatible implicit" } */ /* { dg-message "include ..stdio.h.." "" { target *-*-* } .-1 } */ printf (""); /* { dg-warning "incompatible implicit" } */ /* { dg-message "include ..stdio.h.." "" { target *-*-* } .-1 } */ scanf (""); /* { dg-warning "incompatible implicit" } */ /* { dg-message "include ..stdio.h.." "" { target *-*-* } .-1 } */ snprintf ("", sz, ""); /* { dg-warning "incompatible implicit" } */ /* { dg-message "include ..stdio.h.." "" { target *-*-* } .-1 } */ sprintf ("", ""); /* { dg-warning "incompatible implicit" } */ /* { dg-message "include ..stdio.h.." "" { target *-*-* } .-1 } */ sscanf ("", ""); /* { dg-warning "incompatible implicit" } */ /* { dg-message "include ..stdio.h.." "" { target *-*-* } .-1 } */ } void stdlib (void *p, void *q, __SIZE_TYPE__ sz) { abort (); /* { dg-warning "incompatible implicit" } */ /* { dg-message "include ..stdlib.h.." "" { target *-*-* } .-1 } */ void *p1 = calloc (sz, 1); /* { dg-warning "incompatible implicit" } */ /* { dg-message "include ..stdlib.h.." "" { target *-*-* } .-1 } */ exit (1); /* { dg-warning "incompatible implicit" } */ /* { dg-message "include ..stdlib.h.." "" { target *-*-* } .-1 } */ free (p); /* { dg-warning "incompatible implicit" } */ /* { dg-message "include ..stdlib.h.." "" { target *-*-* } .-1 } */ labs (1L); /* { dg-warning "incompatible implicit" } */ /* { dg-message "include ..stdlib.h.." "" { target *-*-* } .-1 } */ llabs (1LL); /* { dg-warning "incompatible implicit" } */ /* { dg-message "include ..stdlib.h.." "" { target *-*-* } .-1 } */ void *p2 = malloc (sz); /* { dg-warning "incompatible implicit" } */ /* { dg-message "include ..stdlib.h.." "" { target *-*-* } .-1 } */ void *p3 = realloc (p, sz); /* { dg-warning "incompatible implicit" } */ /* { dg-message "include ..stdlib.h.." "" { target *-*-* } .-1 } */ void *p4 = aligned_alloc (sz, sz); /* { dg-warning "incompatible implicit" } */ /* { dg-message "include ..stdlib.h.." "" { target *-*-* } .-1 } */ } void inttypes (__INTMAX_TYPE__ j) { imaxabs (j); /* { dg-warning "incompatible implicit" } */ /* { dg-message "include ..inttypes.h.." "" { target *-*-* } .-1 } */ } struct tm; void timeh (char *s, __SIZE_TYPE__ sz, struct tm *tm) { strftime (s, sz, "", tm); /* { dg-warning "incompatible implicit" } */ /* { dg-message "include ..time.h.." "" { target *-*-* } .-1 } */ }