diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 8ea1cd6f7cdf5a3dc35352c377d54dd7ee9008c9..59aa6a88077dada6e2b6b4b4efd2616252eecf65 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 2724f2a53fd65ccf8db1c04e96b31017b6d36e81..32a33e27bec854a4d6b9468008751ba47a632bb1 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 d177250e125c460b6b6478f02aa965f67f627f28..6645dea896da2b970337bb68e1b11479b7762b30 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 d8aa19d5f7770cdd593e3f88eaed74d099bfb886..f4c3aed13d8e84d986e5204d3ac56c46f8192318 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 1ea0bdb4006cee24d67c54a6e9dcaf41d38bd6ce..68308d3e26657d458d244383895149c33149948b 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;