aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/c-family/ChangeLog5
-rw-r--r--gcc/c-family/c-pretty-print.c5
-rw-r--r--gcc/testsuite/ChangeLog4
-rw-r--r--gcc/testsuite/gcc.dg/Wincompatible-pointer-types-1.c12
4 files changed, 26 insertions, 0 deletions
diff --git a/gcc/c-family/ChangeLog b/gcc/c-family/ChangeLog
index 58797f0..639fd22 100644
--- a/gcc/c-family/ChangeLog
+++ b/gcc/c-family/ChangeLog
@@ -1,3 +1,8 @@
+2017-10-05 Bernd Edlinger <bernd.edlinger@hotmail.de>
+
+ * c-pretty-print.c (pp_c_parameter_type_list): Print ... for variadic
+ functions.
+
2017-10-02 Richard Sandiford <richard.sandiford@linaro.org>
* c-warn.c (warn_tautological_bitwise_comparison): Use wi::to_widest
diff --git a/gcc/c-family/c-pretty-print.c b/gcc/c-family/c-pretty-print.c
index b8b8f66..745f0fd 100644
--- a/gcc/c-family/c-pretty-print.c
+++ b/gcc/c-family/c-pretty-print.c
@@ -521,6 +521,11 @@ pp_c_parameter_type_list (c_pretty_printer *pp, tree t)
else
pp->abstract_declarator (TREE_VALUE (parms));
}
+ if (!first && !parms)
+ {
+ pp_separate_with (pp, ',');
+ pp_c_ws_string (pp, "...");
+ }
}
pp_c_right_paren (pp);
}
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 5b7919fc..9a3a5c8 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,7 @@
+2017-10-05 Bernd Edlinger <bernd.edlinger@hotmail.de>
+
+ * gcc.dg/Wincompatible-pointer-types-1.c: New test.
+
2017-10-05 Tamar Christina <tamar.christina@arm.com>
* gcc.dg/vect/slp-perm-9.c: Use vect_sizes_16B_8B.
diff --git a/gcc/testsuite/gcc.dg/Wincompatible-pointer-types-1.c b/gcc/testsuite/gcc.dg/Wincompatible-pointer-types-1.c
new file mode 100644
index 0000000..9ffdc2e
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/Wincompatible-pointer-types-1.c
@@ -0,0 +1,12 @@
+/* { dg-do compile } */
+/* { dg-options "-pedantic-errors" } */
+
+void f (int, ...);
+
+int
+f1 (void)
+{
+ int (*x) ();
+ x = f; /* { dg-error "assignment to 'int \\(\\*\\)\\(\\)' from incompatible pointer type 'void \\(\\*\\)\\(int, \.\.\.\\)'" } */
+ return x (1);
+}