aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite
diff options
context:
space:
mode:
authorManuel López-Ibáñez <manu@gcc.gnu.org>2007-02-15 22:31:17 +0000
committerManuel López-Ibáñez <manu@gcc.gnu.org>2007-02-15 22:31:17 +0000
commitdc90f45b24a668f465d50a4db2253c7b84cd1c2d (patch)
tree73dcde30921d36f76037d1d0106b2271a8aa2058 /gcc/testsuite
parent214931020be4420e7a5eb537813dc918b9cada58 (diff)
downloadgcc-dc90f45b24a668f465d50a4db2253c7b84cd1c2d.zip
gcc-dc90f45b24a668f465d50a4db2253c7b84cd1c2d.tar.gz
gcc-dc90f45b24a668f465d50a4db2253c7b84cd1c2d.tar.bz2
re PR c/26494 (-pedantic-errors can be overridden by -W*)
2007-02-15 Manuel Lopez-Ibanez <manu@gcc.gnu.org> PR c/26494 * doc/invoke.texi (Warning Options): Remove -Werror-implicit-function-declaration. (Wimplicit-function-declaration): Update description. * opts.c (common_handle_option): Move handling of -Werror=* to... (enable_warning_as_error): ...here. * opts.h (enable_warning_as_error): Declare. * c-decl.c (implicit_decl_warning): Unless -Wno-implicit-function-declaration is given, emit a pedwarn if -std=c99 or emit a warning if -Wimplicit-function-declaration. * c.opt (Wimplicit-function-declaration): Replace mesg_implicit_function_declaration with warn_implicit_function_declaration. * c-opts.c (c_common_handle_option): -Werror-implicit-function-declaration is exactly equal as -Werror=implicit-function-declaration. (set_Wimplicit): Replace mesg_implicit_function_declaration with warn_implicit_function_declaration. (c_common_post_options): -Wimplict-function-declaration is enabled by default by -std=c99, otherwise is disabled by default. * c-objc-common.c (c_objc_common_init): Remove flawed logic. testsuite/ * gcc.dg/Wimplicit-function-declaration-c89.c: New. * gcc.dg/Wimplicit-function-declaration-c89-default.c: New. * gcc.dg/Wimplicit-function-declaration-c89-pedantic.c: New. * gcc.dg/Wimplicit-function-declaration-c99.c: New. * gcc.dg/Wimplicit-function-declaration-c99-pedantic.c: New. * gcc.dg/Werror-implicit-function-declaration.c: New. From-SVN: r122017
Diffstat (limited to 'gcc/testsuite')
-rw-r--r--gcc/testsuite/ChangeLog10
-rw-r--r--gcc/testsuite/gcc.dg/Werror-implicit-function-declaration.c7
-rw-r--r--gcc/testsuite/gcc.dg/Wimplicit-function-declaration-c89-default.c7
-rw-r--r--gcc/testsuite/gcc.dg/Wimplicit-function-declaration-c89-pedantic.c7
-rw-r--r--gcc/testsuite/gcc.dg/Wimplicit-function-declaration-c89.c7
-rw-r--r--gcc/testsuite/gcc.dg/Wimplicit-function-declaration-c99-pedantic.c7
-rw-r--r--gcc/testsuite/gcc.dg/Wimplicit-function-declaration-c99.c7
7 files changed, 52 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index b876518..67076ea 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,5 +1,15 @@
2007-02-15 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
+ PR c/26494
+ * gcc.dg/Wimplicit-function-declaration-c89.c: New.
+ * gcc.dg/Wimplicit-function-declaration-c89-default.c: New.
+ * gcc.dg/Wimplicit-function-declaration-c89-pedantic.c: New.
+ * gcc.dg/Wimplicit-function-declaration-c99.c: New.
+ * gcc.dg/Wimplicit-function-declaration-c99-pedantic.c: New.
+ * gcc.dg/Werror-implicit-function-declaration.c: New.
+
+2007-02-15 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
+
PR c++/28943
* g++.dg/warn/pr28943.C: New.
diff --git a/gcc/testsuite/gcc.dg/Werror-implicit-function-declaration.c b/gcc/testsuite/gcc.dg/Werror-implicit-function-declaration.c
new file mode 100644
index 0000000..f8f0f81d
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/Werror-implicit-function-declaration.c
@@ -0,0 +1,7 @@
+/* { dg-do compile } */
+/* { dg-options "-std=c89 -Werror-implicit-function-declaration" } */
+
+void f(void)
+{
+ puts("Hello"); /* { dg-error "error: implicit declaration of function" } */
+}
diff --git a/gcc/testsuite/gcc.dg/Wimplicit-function-declaration-c89-default.c b/gcc/testsuite/gcc.dg/Wimplicit-function-declaration-c89-default.c
new file mode 100644
index 0000000..c725ffa
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/Wimplicit-function-declaration-c89-default.c
@@ -0,0 +1,7 @@
+/* { dg-do compile } */
+/* { dg-options "-std=c89" } */
+
+void f(void)
+{
+ puts("Hello"); /* { dg-bogus "warning: implicit declaration of function" } */
+}
diff --git a/gcc/testsuite/gcc.dg/Wimplicit-function-declaration-c89-pedantic.c b/gcc/testsuite/gcc.dg/Wimplicit-function-declaration-c89-pedantic.c
new file mode 100644
index 0000000..f476e6a
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/Wimplicit-function-declaration-c89-pedantic.c
@@ -0,0 +1,7 @@
+/* { dg-do compile } */
+/* { dg-options "-std=c89 -pedantic-errors -Wimplicit-function-declaration" } */
+
+void f(void)
+{
+ puts("Hello"); /* { dg-warning "warning: implicit declaration of function" } */
+}
diff --git a/gcc/testsuite/gcc.dg/Wimplicit-function-declaration-c89.c b/gcc/testsuite/gcc.dg/Wimplicit-function-declaration-c89.c
new file mode 100644
index 0000000..6f2916d
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/Wimplicit-function-declaration-c89.c
@@ -0,0 +1,7 @@
+/* { dg-do compile } */
+/* { dg-options "-std=c89 -Wimplicit-function-declaration" } */
+
+void f(void)
+{
+ puts("Hello"); /* { dg-warning "warning: implicit declaration of function" } */
+}
diff --git a/gcc/testsuite/gcc.dg/Wimplicit-function-declaration-c99-pedantic.c b/gcc/testsuite/gcc.dg/Wimplicit-function-declaration-c99-pedantic.c
new file mode 100644
index 0000000..6ea5eed
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/Wimplicit-function-declaration-c99-pedantic.c
@@ -0,0 +1,7 @@
+/* { dg-do compile } */
+/* { dg-options "-std=c99 -pedantic-errors -Wall" } */
+
+void f(void)
+{
+ puts("Hello"); /* { dg-error "error: implicit declaration of function" } */
+}
diff --git a/gcc/testsuite/gcc.dg/Wimplicit-function-declaration-c99.c b/gcc/testsuite/gcc.dg/Wimplicit-function-declaration-c99.c
new file mode 100644
index 0000000..004fc5a
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/Wimplicit-function-declaration-c99.c
@@ -0,0 +1,7 @@
+/* { dg-do compile } */
+/* { dg-options "-std=c99" } */
+
+void f(void)
+{
+ puts("Hello"); /* { dg-warning "warning: implicit declaration of function" } */
+}