diff options
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/README.Portability | 2 | ||||
-rw-r--r-- | gcc/c-parse.in | 4 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/c90-init-1.c | 8 |
5 files changed, 16 insertions, 7 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 8ea1cd6f7cd..59aa6a88077 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2004-02-08 Joseph S. Myers <jsm@polyomino.org.uk> + + * README.Portability: Change "ISO C89" to "ISO C90". + * c-parse.in (primary, initelt): Likewise. + 2004-02-08 Richard Sandiford <rsandifo@redhat.com> * real.c (encode_ibm_extended): Normalize the input value before diff --git a/gcc/README.Portability b/gcc/README.Portability index 2724f2a53fd..32a33e27bec 100644 --- a/gcc/README.Portability +++ b/gcc/README.Portability @@ -10,7 +10,7 @@ This knowledge until know has been sparsely spread around, so I thought I'd collect it in one useful place. Please add and correct any problems as you come across them. -I'm going to start from a base of the ISO C89 standard, since that is +I'm going to start from a base of the ISO C90 standard, since that is probably what most people code to naturally. Obviously using constructs introduced after that is not a good idea. diff --git a/gcc/c-parse.in b/gcc/c-parse.in index d177250e125..6645dea896d 100644 --- a/gcc/c-parse.in +++ b/gcc/c-parse.in @@ -652,7 +652,7 @@ primary: finish_init (); if (pedantic && ! flag_isoc99) - pedwarn ("ISO C89 forbids compound literals"); + pedwarn ("ISO C90 forbids compound literals"); $$ = build_compound_literal (type, constructor); } | '(' expr ')' @@ -1515,7 +1515,7 @@ initlist1: initelt: designator_list '=' initval { if (pedantic && ! flag_isoc99) - pedwarn ("ISO C89 forbids specifying subobject to initialize"); } + pedwarn ("ISO C90 forbids specifying subobject to initialize"); } | designator initval { if (pedantic) pedwarn ("obsolete use of designated initializer without `='"); } diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index d8aa19d5f77..f4c3aed13d8 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,7 @@ +2004-02-08 Joseph S. Myers <jsm@polyomino.org.uk> + + * gcc.dg/c90-init-1.c: Adjust expected error messages. + 2004-02-08 Richard Sandiford <rsandifo@redhat.com> * gcc.c-torture/execute/20040208-[12].c: New tests. diff --git a/gcc/testsuite/gcc.dg/c90-init-1.c b/gcc/testsuite/gcc.dg/c90-init-1.c index 1ea0bdb4006..68308d3e266 100644 --- a/gcc/testsuite/gcc.dg/c90-init-1.c +++ b/gcc/testsuite/gcc.dg/c90-init-1.c @@ -7,10 +7,10 @@ struct A { int B; short C[2]; }; -int a[10] = { 10, [4] = 15 }; /* { dg-error "ISO C89 forbids specifying subobject to initialize" } */ -struct A b = { .B = 2 }; /* { dg-error "ISO C89 forbids specifying subobject to initialize" } */ -struct A c[] = { [3].C[1] = 1 }; /* { dg-error "ISO C89 forbids specifying subobject to initialize" } */ -struct A d[] = { [4 ... 6].C[0 ... 1] = 2 }; /* { dg-error "(forbids specifying range of elements to initialize)|(ISO C89 forbids specifying subobject to initialize)" } */ +int a[10] = { 10, [4] = 15 }; /* { dg-error "ISO (C89|C90) forbids specifying subobject to initialize" } */ +struct A b = { .B = 2 }; /* { dg-error "ISO (C89|C90) forbids specifying subobject to initialize" } */ +struct A c[] = { [3].C[1] = 1 }; /* { dg-error "ISO (C89|C90) forbids specifying subobject to initialize" } */ +struct A d[] = { [4 ... 6].C[0 ... 1] = 2 }; /* { dg-error "(forbids specifying range of elements to initialize)|(ISO (C89|C90) forbids specifying subobject to initialize)" } */ int e[] = { [2] 2 }; /* { dg-error "use of designated initializer without" } */ struct A f = { C: { 0, 1 } }; /* { dg-error "use of designated initializer with " } */ int g; |