diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index d765809204824b0d4d6310bc602828efd2eb7654..7fa12a98a3f06cb5a6703d6df1f808b2d46ac880 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,5 +1,7 @@
 2003-01-03  Nathanael Nerode  <neroden@gcc.gnu.org>
 
+	* g++.dg/parse/extern-C-1.C: New test.
+
 	* g++.dg/parse/namespace4.C: New test.
 
 	* g++.dg/template/nested1.C: New test.
diff --git a/gcc/testsuite/g++.dg/parse/extern-C-1.C b/gcc/testsuite/g++.dg/parse/extern-C-1.C
new file mode 100644
index 0000000000000000000000000000000000000000..60a634832f11a9d537a5a0096c2f982fa275858d
--- /dev/null
+++ b/gcc/testsuite/g++.dg/parse/extern-C-1.C
@@ -0,0 +1,13 @@
+/* PR c++/4754 */
+/* { dg-do compile } */
+// GCC 3.2 got very confused by the nested extern "C" blocks, and thought 
+// there was a storage class specifier on 'int i'.
+
+extern "C"
+{
+    extern "C" struct Test
+    {
+        int i;
+    };
+}
+