aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog4
-rw-r--r--conform/conformtest.pl7
2 files changed, 10 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 8b89cd9..72a5f27 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 f5860ac..2d8cfd7 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);