summaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>2009-03-28 17:23:08 +0000
committerjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>2009-03-28 17:23:08 +0000
commitbf4a1edf6c1fdeef7ce6367630e86239331c8d0b (patch)
tree0216b4a1ce37818cd8183908ea9ae97fb9800a6c /gcc
parentc256d78115c49c18c1471cb0fb4c8628756c011a (diff)
downloadgcc-bf4a1edf6c1fdeef7ce6367630e86239331c8d0b.tar.gz
PR c++/39554
* opts.c (warning_disallowed_functions, warn_disallowed_functions, warn_if_disallowed_function_p): Removed. (common_handle_option): Don't handle OPT_Wdisallowed_function_list_. * c-parser.c (c_parser_postfix_expression_after_primary): Don't call warning_if_disallowed_function_p. * flags.h (warn_if_disallowed_function_p, warn_disallowed_functions): Removed. * common.opt (Wdisallowed-function-list=): Removed. * doc/invoke.texi (-Wdisallowed-function-list=): Removed. * parser.c (cp_parser_postfix_expression): Don't call warning_if_disallowed_function_p. * gcc.dg/wdisallowed-functions-1.c: Removed. * gcc.dg/wdisallowed-functions-2.c: Removed. * gcc.dg/wdisallowed-functions-3.c: Removed. * g++.dg/warn/Wdisallowed-functions-1.C: Removed. * g++.dg/warn/Wdisallowed-functions-2.C: Removed. * g++.dg/warn/Wdisallowed-functions-3.C: Removed. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@145198 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog13
-rw-r--r--gcc/c-parser.c2
-rw-r--r--gcc/common.opt4
-rw-r--r--gcc/cp/ChangeLog6
-rw-r--r--gcc/cp/parser.c3
-rw-r--r--gcc/doc/invoke.texi8
-rw-r--r--gcc/flags.h9
-rw-r--r--gcc/opts.c44
-rw-r--r--gcc/testsuite/ChangeLog10
-rw-r--r--gcc/testsuite/g++.dg/warn/Wdisallowed-functions-1.C7
-rw-r--r--gcc/testsuite/g++.dg/warn/Wdisallowed-functions-2.C12
-rw-r--r--gcc/testsuite/g++.dg/warn/Wdisallowed-functions-3.C10
-rw-r--r--gcc/testsuite/gcc.dg/wdisallowed-functions-1.c7
-rw-r--r--gcc/testsuite/gcc.dg/wdisallowed-functions-2.c12
-rw-r--r--gcc/testsuite/gcc.dg/wdisallowed-functions-3.c10
15 files changed, 30 insertions, 127 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 8dfd7e918ca..012e0a36fd0 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,16 @@
+2009-03-28 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/39554
+ * opts.c (warning_disallowed_functions, warn_disallowed_functions,
+ warn_if_disallowed_function_p): Removed.
+ (common_handle_option): Don't handle OPT_Wdisallowed_function_list_.
+ * c-parser.c (c_parser_postfix_expression_after_primary): Don't call
+ warning_if_disallowed_function_p.
+ * flags.h (warn_if_disallowed_function_p,
+ warn_disallowed_functions): Removed.
+ * common.opt (Wdisallowed-function-list=): Removed.
+ * doc/invoke.texi (-Wdisallowed-function-list=): Removed.
+
2009-03-28 Richard Guenther <rguenther@suse.de>
PR tree-optimization/38723
diff --git a/gcc/c-parser.c b/gcc/c-parser.c
index ea0036c0ba2..f910128de3f 100644
--- a/gcc/c-parser.c
+++ b/gcc/c-parser.c
@@ -5584,8 +5584,6 @@ c_parser_postfix_expression_after_primary (c_parser *parser,
"expected %<)%>");
expr.value = build_function_call (expr.value, exprlist);
expr.original_code = ERROR_MARK;
- if (warn_disallowed_functions)
- warn_if_disallowed_function_p (expr.value);
break;
case CPP_DOT:
/* Structure element reference. */
diff --git a/gcc/common.opt b/gcc/common.opt
index b2807f06033..023d773586a 100644
--- a/gcc/common.opt
+++ b/gcc/common.opt
@@ -94,10 +94,6 @@ Wdisabled-optimization
Common Var(warn_disabled_optimization) Warning
Warn when an optimization pass is disabled
-Wdisallowed-function-list=
-Common RejectNegative Joined Warning
-Warn on calls to these functions
-
Werror
Common Var(warnings_are_errors)
Treat all warnings as errors
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index 124a3e95651..449fb93c1be 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,3 +1,9 @@
+2009-03-28 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/39554
+ * parser.c (cp_parser_postfix_expression): Don't call
+ warning_if_disallowed_function_p.
+
2009-03-27 Jan Hubicka <jh@suse.cz>
* except.c (choose_personality_routine): Set terminate_node to abort
diff --git a/gcc/cp/parser.c b/gcc/cp/parser.c
index 63ac0709ebf..bbd89d19c72 100644
--- a/gcc/cp/parser.c
+++ b/gcc/cp/parser.c
@@ -4823,9 +4823,6 @@ cp_parser_postfix_expression (cp_parser *parser, bool address_p, bool cast_p,
koenig_p,
tf_warning_or_error);
- if (warn_disallowed_functions)
- warn_if_disallowed_function_p (postfix_expression);
-
/* The POSTFIX_EXPRESSION is certainly no longer an id. */
idk = CP_ID_KIND_NONE;
}
diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
index 764104c18b6..4e2d93139b5 100644
--- a/gcc/doc/invoke.texi
+++ b/gcc/doc/invoke.texi
@@ -232,7 +232,6 @@ Objective-C and Objective-C++ Dialects}.
-Wchar-subscripts -Wclobbered -Wcomment @gol
-Wconversion -Wcoverage-mismatch -Wno-deprecated @gol
-Wno-deprecated-declarations -Wdisabled-optimization @gol
--Wdisallowed-function-list=@var{sym},@var{sym},@dots{} @gol
-Wno-div-by-zero -Wempty-body -Wenum-compare -Wno-endif-labels @gol
-Werror -Werror=* @gol
-Wfatal-errors -Wfloat-equal -Wformat -Wformat=2 @gol
@@ -4188,13 +4187,6 @@ minimum maximum, so we do not diagnose overlength strings in C++@.
This option is implied by @option{-pedantic}, and can be disabled with
@option{-Wno-overlength-strings}.
-
-@item -Wdisallowed-function-list=@var{sym},@var{sym},@dots{}
-@opindex Wdisallowed-function-list
-
-If any of @var{sym} is called, GCC will issue a warning. This can be useful
-in enforcing coding conventions that ban calls to certain functions, for
-example, @code{alloca}, @code{malloc}, etc.
@end table
@node Debugging Options
diff --git a/gcc/flags.h b/gcc/flags.h
index 6bc5dd7b0cc..e406bf17914 100644
--- a/gcc/flags.h
+++ b/gcc/flags.h
@@ -1,6 +1,6 @@
/* Compilation switch flag definitions for GCC.
Copyright (C) 1987, 1988, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2002,
- 2003, 2004, 2005, 2006, 2007, 2008
+ 2003, 2004, 2005, 2006, 2007, 2008, 2009
Free Software Foundation, Inc.
This file is part of GCC.
@@ -310,13 +310,6 @@ extern enum stack_check_type flag_stack_check;
instrumentation. */
extern bool flag_instrument_functions_exclude_p (tree fndecl);
-/* Emit warning if the function call is disallowed under
- -Wdisallowed-function-list=... */
-extern void warn_if_disallowed_function_p (const_tree fncall);
-
-/* True, if the -Wdisallowed-function-list=... option has been specified. */
-extern bool warn_disallowed_functions;
-
/* True if the given mode has a NaN representation and the treatment of
NaN operands is important. Certain optimizations, such as folding
x * 0 into 0, are not correct for NaN operands, and are normally
diff --git a/gcc/opts.c b/gcc/opts.c
index 2d5184fcb0e..90f34df1dec 100644
--- a/gcc/opts.c
+++ b/gcc/opts.c
@@ -368,12 +368,6 @@ DEF_VEC_ALLOC_P(const_char_p,heap);
static VEC(const_char_p,heap) *ignored_options;
-/* Function calls disallowed under -Wdisallowed-function-list=... */
-static VEC(char_p,heap) *warning_disallowed_functions;
-
-/* If -Wdisallowed-function-list=... */
-bool warn_disallowed_functions = false;
-
/* Input file names. */
const char **in_fnames;
unsigned num_in_fnames;
@@ -741,38 +735,6 @@ flag_instrument_functions_exclude_p (tree fndecl)
}
-/* Return whether this function call is disallowed. */
-void
-warn_if_disallowed_function_p (const_tree exp)
-{
- if (TREE_CODE (exp) == CALL_EXPR
- && VEC_length (char_p, warning_disallowed_functions) > 0)
- {
- int i;
- char *s;
- tree fndecl = get_callee_fndecl (exp);
- const char *fnname;
-
- if (fndecl == NULL)
- return;
-
- fnname = get_name (fndecl);
- if (fnname == NULL)
- return;
-
- for (i = 0; VEC_iterate (char_p, warning_disallowed_functions, i, s);
- ++i)
- {
- if (strcmp (fnname, s) == 0)
- {
- warning (OPT_Wdisallowed_function_list_,
- "disallowed call to %qs", fnname);
- break;
- }
- }
- }
-}
-
/* Decode and handle the vector of command line options. LANG_MASK
contains has a single bit set representing the current
language. */
@@ -1635,12 +1597,6 @@ common_handle_option (size_t scode, const char *arg, int value,
set_Wextra (value);
break;
- case OPT_Wdisallowed_function_list_:
- warn_disallowed_functions = true;
- add_comma_separated_to_vector
- (&warning_disallowed_functions, arg);
- break;
-
case OPT_Werror_:
enable_warning_as_error (arg, value, lang_mask);
break;
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 09a33ef8441..9a6d50a4c53 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,13 @@
+2009-03-28 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/39554
+ * gcc.dg/wdisallowed-functions-1.c: Removed.
+ * gcc.dg/wdisallowed-functions-2.c: Removed.
+ * gcc.dg/wdisallowed-functions-3.c: Removed.
+ * g++.dg/warn/Wdisallowed-functions-1.C: Removed.
+ * g++.dg/warn/Wdisallowed-functions-2.C: Removed.
+ * g++.dg/warn/Wdisallowed-functions-3.C: Removed.
+
2009-03-28 Richard Guenther <rguenther@suse.de>
PR tree-optimization/38723
diff --git a/gcc/testsuite/g++.dg/warn/Wdisallowed-functions-1.C b/gcc/testsuite/g++.dg/warn/Wdisallowed-functions-1.C
deleted file mode 100644
index 39760950d69..00000000000
--- a/gcc/testsuite/g++.dg/warn/Wdisallowed-functions-1.C
+++ /dev/null
@@ -1,7 +0,0 @@
-/* { dg-do compile } */
-/* { dg-options "-Wdisallowed-function-list=foobar" } */
-
-int foobar (int i)
-{
- return (i * 5);
-}
diff --git a/gcc/testsuite/g++.dg/warn/Wdisallowed-functions-2.C b/gcc/testsuite/g++.dg/warn/Wdisallowed-functions-2.C
deleted file mode 100644
index ca5aab0e50d..00000000000
--- a/gcc/testsuite/g++.dg/warn/Wdisallowed-functions-2.C
+++ /dev/null
@@ -1,12 +0,0 @@
-/* { dg-do compile } */
-/* { dg-options "-Wdisallowed-function-list=foo,foobar,bar,foobar" } */
-
-int foobar (int i)
-{
- return (i * 5);
-}
-
-int foobar1 (int i)
-{
- return foobar (i); /* { dg-warning "disallowed call to 'foobar'" } */
-}
diff --git a/gcc/testsuite/g++.dg/warn/Wdisallowed-functions-3.C b/gcc/testsuite/g++.dg/warn/Wdisallowed-functions-3.C
deleted file mode 100644
index 3ecfb0c2264..00000000000
--- a/gcc/testsuite/g++.dg/warn/Wdisallowed-functions-3.C
+++ /dev/null
@@ -1,10 +0,0 @@
-// PR c++/39554
-// { dg-do compile }
-// { dg-options "-Wdisallowed-function-list=bar" }
-
-void
-foo (void (*p) (), void (*bar) ())
-{
- p ();
- bar ();
-}
diff --git a/gcc/testsuite/gcc.dg/wdisallowed-functions-1.c b/gcc/testsuite/gcc.dg/wdisallowed-functions-1.c
deleted file mode 100644
index 39760950d69..00000000000
--- a/gcc/testsuite/gcc.dg/wdisallowed-functions-1.c
+++ /dev/null
@@ -1,7 +0,0 @@
-/* { dg-do compile } */
-/* { dg-options "-Wdisallowed-function-list=foobar" } */
-
-int foobar (int i)
-{
- return (i * 5);
-}
diff --git a/gcc/testsuite/gcc.dg/wdisallowed-functions-2.c b/gcc/testsuite/gcc.dg/wdisallowed-functions-2.c
deleted file mode 100644
index ca5aab0e50d..00000000000
--- a/gcc/testsuite/gcc.dg/wdisallowed-functions-2.c
+++ /dev/null
@@ -1,12 +0,0 @@
-/* { dg-do compile } */
-/* { dg-options "-Wdisallowed-function-list=foo,foobar,bar,foobar" } */
-
-int foobar (int i)
-{
- return (i * 5);
-}
-
-int foobar1 (int i)
-{
- return foobar (i); /* { dg-warning "disallowed call to 'foobar'" } */
-}
diff --git a/gcc/testsuite/gcc.dg/wdisallowed-functions-3.c b/gcc/testsuite/gcc.dg/wdisallowed-functions-3.c
deleted file mode 100644
index 5b8b31bdfc9..00000000000
--- a/gcc/testsuite/gcc.dg/wdisallowed-functions-3.c
+++ /dev/null
@@ -1,10 +0,0 @@
-/* PR c++/39554 */
-/* { dg-do compile } */
-/* { dg-options "-Wdisallowed-function-list=bar" } */
-
-void
-foo (void (*p) (void), void (*bar) (void))
-{
- p ();
- bar ();
-}