diff options
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/c-family/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/c-family/c-pretty-print.c | 5 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/Wincompatible-pointer-types-1.c | 12 |
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); +} |