From: Manuel López-Ibáñez Date: Tue, 26 Feb 2008 14:16:13 +0000 (+0000) Subject: re PR tree-optimization/26264 (Extraneous warning with __builtin_stdarg_start and... X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=4f01eeb4b5a04e0f10d647b06dbeefdf6b88cf13;p=gcc.git re PR tree-optimization/26264 (Extraneous warning with __builtin_stdarg_start and optimization) 2008-02-26 Manuel Lopez-Ibanez PR 26264 * builtins.def (BUILT_IN_STDARG_START): Remove. * builtins.c (expand_builtin): Remove BUILT_IN_STDARG_START. * tree-stdarg.c (execute_optimize_stdarg): Likewise. * tree-inline.c (inline_forbidden_p_1): Likewise. cp/ * call.c (magic_varargs_p): Remove BUILT_IN_STDARG_START. testsuite/ * 20021023-1.c: Use __builtin_va_start instead of __builtin_stdarg_start. * pr17301-1.c: Likewise. * pr17301-2.c: Likewise. From-SVN: r132677 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index efca0338a40..0f9aa8df1a0 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,11 @@ +2008-02-26 Manuel Lopez-Ibanez + + PR 26264 + * builtins.def (BUILT_IN_STDARG_START): Remove. + * builtins.c (expand_builtin): Remove BUILT_IN_STDARG_START. + * tree-stdarg.c (execute_optimize_stdarg): Likewise. + * tree-inline.c (inline_forbidden_p_1): Likewise. + 2008-02-26 Richard Guenther * tree-flow.h (uid_decl_map_hash, uid_decl_map_eq): Move ... diff --git a/gcc/builtins.c b/gcc/builtins.c index 5e6ebf5d116..31b9df2d5dd 100644 --- a/gcc/builtins.c +++ b/gcc/builtins.c @@ -6702,7 +6702,6 @@ expand_builtin (tree exp, rtx target, rtx subtarget, enum machine_mode mode, return expand_builtin_extend_pointer (CALL_EXPR_ARG (exp, 0)); case BUILT_IN_VA_START: - case BUILT_IN_STDARG_START: return expand_builtin_va_start (exp); case BUILT_IN_VA_END: return expand_builtin_va_end (exp); diff --git a/gcc/builtins.def b/gcc/builtins.def index 836e241a931..dd6741e29b3 100644 --- a/gcc/builtins.def +++ b/gcc/builtins.def @@ -693,7 +693,6 @@ DEF_GCC_BUILTIN (BUILT_IN_RETURN, "return", BT_FN_VOID_PTR, ATTR_NORETURN DEF_GCC_BUILTIN (BUILT_IN_RETURN_ADDRESS, "return_address", BT_FN_PTR_UINT, ATTR_NULL) DEF_GCC_BUILTIN (BUILT_IN_SAVEREGS, "saveregs", BT_FN_PTR_VAR, ATTR_NULL) DEF_GCC_BUILTIN (BUILT_IN_SETJMP, "setjmp", BT_FN_INT_PTR, ATTR_NULL) -DEF_GCC_BUILTIN (BUILT_IN_STDARG_START, "stdarg_start", BT_FN_VOID_VALIST_REF_VAR, ATTR_NULL) DEF_EXT_LIB_BUILTIN (BUILT_IN_STRFMON, "strfmon", BT_FN_SSIZE_STRING_SIZE_CONST_STRING_VAR, ATTR_FORMAT_STRFMON_NOTHROW_3_4) DEF_LIB_BUILTIN (BUILT_IN_STRFTIME, "strftime", BT_FN_SIZE_STRING_SIZE_CONST_STRING_CONST_PTR, ATTR_FORMAT_STRFTIME_NOTHROW_3_0) DEF_GCC_BUILTIN (BUILT_IN_TRAP, "trap", BT_FN_VOID, ATTR_NORETURN_NOTHROW_LIST) diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 198390fa1a9..7ab99249c57 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,8 @@ +2008-02-26 Manuel Lopez-Ibanez + + PR 26264 + * call.c (magic_varargs_p): Remove BUILT_IN_STDARG_START. + 2008-02-26 Richard Guenther * decl.c (duplicate_decls): Remove decl from global mapping diff --git a/gcc/cp/call.c b/gcc/cp/call.c index 71ac85973d9..a61638cfe45 100644 --- a/gcc/cp/call.c +++ b/gcc/cp/call.c @@ -4826,7 +4826,6 @@ magic_varargs_p (tree fn) case BUILT_IN_CLASSIFY_TYPE: case BUILT_IN_CONSTANT_P: case BUILT_IN_NEXT_ARG: - case BUILT_IN_STDARG_START: case BUILT_IN_VA_START: return true; diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index ee8eea17bc5..ecd4f306b58 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,11 @@ +2008-02-26 Manuel Lopez-Ibanez + + PR 26264 + * 20021023-1.c: Use __builtin_va_start instead of + __builtin_stdarg_start. + * pr17301-1.c: Likewise. + * pr17301-2.c: Likewise. + 2008-02-26 Manuel Lopez-Ibanez * gcc.dg/pr34351.c: New. diff --git a/gcc/testsuite/gcc.dg/20021023-1.c b/gcc/testsuite/gcc.dg/20021023-1.c index 3e16a84fe0c..855b2cc1ed0 100644 --- a/gcc/testsuite/gcc.dg/20021023-1.c +++ b/gcc/testsuite/gcc.dg/20021023-1.c @@ -17,7 +17,7 @@ bar (void *a, float b, const char *c, ...) va_list args; unsigned int d; - __builtin_stdarg_start (args, c); + __builtin_va_start (args, c); d = foo (a, b, c, args, a); __builtin_va_end (args); return d; diff --git a/gcc/testsuite/gcc.dg/pr17301-1.c b/gcc/testsuite/gcc.dg/pr17301-1.c index 5fd22588cd5..28968fbb2b3 100644 --- a/gcc/testsuite/gcc.dg/pr17301-1.c +++ b/gcc/testsuite/gcc.dg/pr17301-1.c @@ -1,4 +1,4 @@ -/* Invalid use of __builtin_stdarg_start should not cause an ICE. Bug +/* Invalid use of __builtin_va_start should not cause an ICE. Bug 17301. */ /* { dg-do compile } */ /* { dg-options "" } */ @@ -7,5 +7,5 @@ int write_format (char *format, ...) { __builtin_va_list p; - __builtin_stdarg_start (p); /* { dg-error "too few arguments to function 'va_start'" } */ + __builtin_va_start (p); /* { dg-error "too few arguments to function 'va_start'" } */ } diff --git a/gcc/testsuite/gcc.dg/pr17301-2.c b/gcc/testsuite/gcc.dg/pr17301-2.c index 64b9c9883c2..b91a2314b64 100644 --- a/gcc/testsuite/gcc.dg/pr17301-2.c +++ b/gcc/testsuite/gcc.dg/pr17301-2.c @@ -1,9 +1,9 @@ -/* Invalid use of __builtin_stdarg_start should not cause an ICE. Bug +/* Invalid use of __builtin_va_start should not cause an ICE. Bug 17301. Case with no arguments. */ /* { dg-do compile } */ /* { dg-options "" } */ void foo (char *format, ...) { - __builtin_stdarg_start (); /* { dg-error "too few arguments to function '__builtin_stdarg_start'" } */ + __builtin_va_start (); /* { dg-error "too few arguments to function '__builtin_va_start'" } */ } diff --git a/gcc/tree-inline.c b/gcc/tree-inline.c index 9fb87926cf5..ea0bac6214b 100644 --- a/gcc/tree-inline.c +++ b/gcc/tree-inline.c @@ -1899,7 +1899,6 @@ inline_forbidden_p_1 (tree *nodep, int *walk_subtrees ATTRIBUTE_UNUSED, /* We cannot inline functions that take a variable number of arguments. */ case BUILT_IN_VA_START: - case BUILT_IN_STDARG_START: case BUILT_IN_NEXT_ARG: case BUILT_IN_VA_END: inline_forbidden_reason diff --git a/gcc/tree-stdarg.c b/gcc/tree-stdarg.c index 8df09ec4979..8a275295aa4 100644 --- a/gcc/tree-stdarg.c +++ b/gcc/tree-stdarg.c @@ -648,7 +648,6 @@ execute_optimize_stdarg (void) break; /* If old style builtins are used, don't optimize anything. */ case BUILT_IN_SAVEREGS: - case BUILT_IN_STDARG_START: case BUILT_IN_ARGS_INFO: case BUILT_IN_NEXT_ARG: va_list_escapes = true;