From cbda0e1150ecd08d505e03ddd3621b2c624da07f Mon Sep 17 00:00:00 2001 From: jsm28 Date: Sat, 20 Mar 2004 10:19:11 +0000 Subject: [PATCH] PR c/14635 * builtins.def (nan, nanf, nanl, nans, nansf, nansl): Change to DEF_GCC_BUILTIN. testsuite: * builtins-1.c (nan, nans): Don't test. * builtins-30.c: Don't use nan, nanf, nanl. * builtins-35.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@79736 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ChangeLog | 6 ++++++ gcc/builtins.def | 12 ++++++------ gcc/testsuite/ChangeLog | 7 +++++++ gcc/testsuite/gcc.dg/builtins-1.c | 2 -- gcc/testsuite/gcc.dg/builtins-30.c | 8 ++++---- gcc/testsuite/gcc.dg/builtins-35.c | 6 ++++++ 6 files changed, 29 insertions(+), 12 deletions(-) create mode 100644 gcc/testsuite/gcc.dg/builtins-35.c diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 551e551bd79..56e91024555 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2004-03-20 Joseph S. Myers + + PR c/14635 + * builtins.def (nan, nanf, nanl, nans, nansf, nansl): Change to + DEF_GCC_BUILTIN. + 2004-03-20 Richard Sandiford * Makefile.in (dojump.o): Depend on $(GGC_H) and dojump.h. diff --git a/gcc/builtins.def b/gcc/builtins.def index d8c772fc076..6148c41ade2 100644 --- a/gcc/builtins.def +++ b/gcc/builtins.def @@ -279,12 +279,12 @@ DEF_C99_BUILTIN (BUILT_IN_LROUNDL, "lroundl", BT_FN_LONG_LONGDOUBLE, ATTR DEF_LIB_BUILTIN (BUILT_IN_MODF, "modf", BT_FN_DOUBLE_DOUBLE_DOUBLEPTR, ATTR_MATHFN_FPROUNDING_STORE) DEF_C99_C90RES_BUILTIN (BUILT_IN_MODFF, "modff", BT_FN_FLOAT_FLOAT_FLOATPTR, ATTR_MATHFN_FPROUNDING_STORE) DEF_C99_C90RES_BUILTIN (BUILT_IN_MODFL, "modfl", BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLEPTR, ATTR_MATHFN_FPROUNDING_STORE) -DEF_LIB_BUILTIN (BUILT_IN_NAN, "nan", BT_FN_DOUBLE_CONST_STRING, ATTR_CONST_NOTHROW_NONNULL_1) -DEF_LIB_BUILTIN (BUILT_IN_NANF, "nanf", BT_FN_FLOAT_CONST_STRING, ATTR_CONST_NOTHROW_NONNULL_1) -DEF_LIB_BUILTIN (BUILT_IN_NANL, "nanl", BT_FN_LONGDOUBLE_CONST_STRING, ATTR_CONST_NOTHROW_NONNULL_1) -DEF_LIB_BUILTIN (BUILT_IN_NANS, "nans", BT_FN_DOUBLE_CONST_STRING, ATTR_CONST_NOTHROW_NONNULL_1) -DEF_LIB_BUILTIN (BUILT_IN_NANSF, "nansf", BT_FN_FLOAT_CONST_STRING, ATTR_CONST_NOTHROW_NONNULL_1) -DEF_LIB_BUILTIN (BUILT_IN_NANSL, "nansl", BT_FN_LONGDOUBLE_CONST_STRING, ATTR_CONST_NOTHROW_NONNULL_1) +DEF_GCC_BUILTIN (BUILT_IN_NAN, "nan", BT_FN_DOUBLE_CONST_STRING, ATTR_CONST_NOTHROW_NONNULL_1) +DEF_GCC_BUILTIN (BUILT_IN_NANF, "nanf", BT_FN_FLOAT_CONST_STRING, ATTR_CONST_NOTHROW_NONNULL_1) +DEF_GCC_BUILTIN (BUILT_IN_NANL, "nanl", BT_FN_LONGDOUBLE_CONST_STRING, ATTR_CONST_NOTHROW_NONNULL_1) +DEF_GCC_BUILTIN (BUILT_IN_NANS, "nans", BT_FN_DOUBLE_CONST_STRING, ATTR_CONST_NOTHROW_NONNULL_1) +DEF_GCC_BUILTIN (BUILT_IN_NANSF, "nansf", BT_FN_FLOAT_CONST_STRING, ATTR_CONST_NOTHROW_NONNULL_1) +DEF_GCC_BUILTIN (BUILT_IN_NANSL, "nansl", BT_FN_LONGDOUBLE_CONST_STRING, ATTR_CONST_NOTHROW_NONNULL_1) DEF_C99_BUILTIN (BUILT_IN_NEARBYINT, "nearbyint", BT_FN_DOUBLE_DOUBLE, ATTR_CONST_NOTHROW_LIST) DEF_C99_BUILTIN (BUILT_IN_NEARBYINTF, "nearbyintf", BT_FN_FLOAT_FLOAT, ATTR_CONST_NOTHROW_LIST) DEF_C99_BUILTIN (BUILT_IN_NEARBYINTL, "nearbyintl", BT_FN_LONGDOUBLE_LONGDOUBLE, ATTR_CONST_NOTHROW_LIST) diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 155127db2ef..dc7239bc0d6 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,10 @@ +2004-03-20 Joseph S. Myers + + PR c/14635 + * builtins-1.c (nan, nans): Don't test. + * builtins-30.c: Don't use nan, nanf, nanl. + * builtins-35.c: New test. + 2004-03-19 Ziemowit Laski * g++.dg/ext/altivec-6.C: New test. diff --git a/gcc/testsuite/gcc.dg/builtins-1.c b/gcc/testsuite/gcc.dg/builtins-1.c index 18c45d1419b..74144f7befa 100644 --- a/gcc/testsuite/gcc.dg/builtins-1.c +++ b/gcc/testsuite/gcc.dg/builtins-1.c @@ -151,8 +151,6 @@ FPTEST1 (logb) FPTEST1RET (lrint, long) FPTEST1RET (lround, long) FPTEST2FPP2 (modf) -FPTEST1ARG (nan, char *) -FPTEST1ARG (nans, char *) FPTEST1 (nearbyint) FPTEST2 (nextafter) FPTEST2 (nexttoward) diff --git a/gcc/testsuite/gcc.dg/builtins-30.c b/gcc/testsuite/gcc.dg/builtins-30.c index c910fe4e7e6..9ed0be53c40 100644 --- a/gcc/testsuite/gcc.dg/builtins-30.c +++ b/gcc/testsuite/gcc.dg/builtins-30.c @@ -6,21 +6,21 @@ extern double strtod (const char *, char **); /* A built-in function may be overridden by an old-style definition specifying too few arguments... */ -double nan () +double cos () { /* { dg-warning "shadowing built-in" } */ return strtod ("nan", 0); } /* the right number, but the wrong type, arguments... */ -float nanf (foo) +double sin (foo) int foo UNUSED; /* { dg-warning "shadowing built-in" } */ { return strtod ("nan", 0); } /* or too many arguments. */ -long double nanl (foo, bar) - const char *foo UNUSED; /* { dg-warning "shadowing built-in" } */ +long double cosl (foo, bar) + long double foo UNUSED; /* { dg-warning "shadowing built-in" } */ int bar UNUSED; { return strtod ("nan", 0); diff --git a/gcc/testsuite/gcc.dg/builtins-35.c b/gcc/testsuite/gcc.dg/builtins-35.c new file mode 100644 index 00000000000..f898707e24a --- /dev/null +++ b/gcc/testsuite/gcc.dg/builtins-35.c @@ -0,0 +1,6 @@ +/* Test that nan functions are not built-in in C90 mode. Bug 14635. */ +/* Origin: Joseph Myers */ +/* { dg-do compile } */ +/* { dg-options "-std=c89" } */ + +int nan, nanf, nanl, nans, nansf, nansl; -- 2.11.0