diff options
-rw-r--r-- | ChangeLog | 4 | ||||
-rw-r--r-- | conform/conformtest.pl | 7 |
2 files changed, 10 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog index 8b89cd9a29..72a5f274a2 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,9 @@ 2012-05-01 Joseph Myers <joseph@codesourcery.com> + * conform/conformtest.pl: If macro or constant types start + "promoted:", expect the symbol to be of the following type + promoted by the integer promotions. + * conform/conformtest.pl: Parse all "constant" and "macro" lines in one place. Also handle "macro-constant". diff --git a/conform/conformtest.pl b/conform/conformtest.pl index f5860ac139..2d8cfd703c 100644 --- a/conform/conformtest.pl +++ b/conform/conformtest.pl @@ -437,7 +437,12 @@ while ($#headers >= 0) { open (TESTFILE, ">$fnamebase.c"); print TESTFILE "$prepend"; print TESTFILE "#include <$h>\n"; - print TESTFILE "__typeof__ (($type) 0) a;\n"; + if ($type =~ /^promoted:/) { + $type =~ s/^promoted://; + print TESTFILE "__typeof__ (($type) 0 + ($type) 0) a;\n"; + } else { + print TESTFILE "__typeof__ (($type) 0) a;\n"; + } print TESTFILE "extern __typeof__ ($symbol) a;\n"; close (TESTFILE); |