At this point we only support having a single definition module in
each prelude packet.  It is planned to change this, and also to
support local not-toplevel modules, but not in the next GCC release.
So until that gets fully implemented, it is pointless to support
parsing multiple contracted module definitions.

This commit removes this support from the parser and adjusts several
tests that were making use of it.

Signed-off-by: Jose E. Marchesi <[email protected]>

gcc/algol68/ChangeLog

        * a68-parser-bottom-up.cc (reduce_prelude_packet): Do not support
        multiple module definitions per packet.

gcc/testsuite/ChangeLog

        * algol68/compile/error-compile-unknown-tag-1.a68: Use a single
        module per packet.
        * algol68/compile/error-module-coercions-1.a68: Likewise.
        * algol68/compile/error-module-ranges-1.a68: Likewise.
        * algol68/compile/module-2.a68: Likewise.
        * algol68/compile/module-pub-mangling-1.a68: Likewise.
        * algol68/compile/module-pub-mangling-2.a68: Likewise.
        * algol68/compile/module-pub-mangling-3.a68: Likewise.
        * algol68/compile/module-pub-mangling-4.a68: Likewise.
        * algol68/compile/module-pub-mangling-5.a68: Likewise.
        * algol68/compile/module-pub-mangling-6.a68: Likewise.
        * algol68/compile/warning-module-hidding-1.a68: Likewise.
---
 gcc/algol68/a68-parser-bottom-up.cc                      | 2 ++
 .../algol68/compile/error-compile-unknown-tag-1.a68      | 6 +-----
 .../algol68/compile/error-module-coercions-1.a68         | 9 +--------
 gcc/testsuite/algol68/compile/error-module-ranges-1.a68  | 5 -----
 gcc/testsuite/algol68/compile/module-2.a68               | 8 --------
 gcc/testsuite/algol68/compile/module-pub-mangling-1.a68  | 6 ------
 gcc/testsuite/algol68/compile/module-pub-mangling-2.a68  | 6 ------
 gcc/testsuite/algol68/compile/module-pub-mangling-3.a68  | 6 ------
 gcc/testsuite/algol68/compile/module-pub-mangling-4.a68  | 6 ------
 gcc/testsuite/algol68/compile/module-pub-mangling-5.a68  | 6 ------
 gcc/testsuite/algol68/compile/module-pub-mangling-6.a68  | 8 --------
 .../algol68/compile/warning-module-hidding-1.a68         | 8 ++++----
 12 files changed, 8 insertions(+), 68 deletions(-)

diff --git a/gcc/algol68/a68-parser-bottom-up.cc 
b/gcc/algol68/a68-parser-bottom-up.cc
index 703574377ec..2bbdbaec30e 100644
--- a/gcc/algol68/a68-parser-bottom-up.cc
+++ b/gcc/algol68/a68-parser-bottom-up.cc
@@ -456,6 +456,7 @@ reduce_prelude_packet (NODE_T *p)
   reduce (p, strange_tokens, NO_TICK,
          MODULE_DECLARATION, MODULE_SYMBOL, DEFINING_MODULE_INDICANT, 
EQUALS_SYMBOL, -MODULE_TEXT, STOP);
 
+#if 0
   /* Joined module declarations.  */
   for (NODE_T *q = p; q != NO_NODE; FORWARD (q))
     {
@@ -469,6 +470,7 @@ reduce_prelude_packet (NODE_T *p)
        }
       while (siga);
     }
+#endif
 
   /* Try reducing a prelude packet.  */
   reduce (p, NO_NOTE, NO_TICK, PRELUDE_PACKET, MODULE_DECLARATION, STOP);
diff --git a/gcc/testsuite/algol68/compile/error-compile-unknown-tag-1.a68 
b/gcc/testsuite/algol68/compile/error-compile-unknown-tag-1.a68
index cd69d1a21b4..7bd3a58656e 100644
--- a/gcc/testsuite/algol68/compile/error-compile-unknown-tag-1.a68
+++ b/gcc/testsuite/algol68/compile/error-compile-unknown-tag-1.a68
@@ -1,8 +1,4 @@
-module Foo = def pub int idpublic = 10;
-                 int idprivate = 20;
-                 skip
-             fed,
-       Bar = def pub int idpublic = 30;
+module Bar = def pub int idpublic = 30;
                  int idprivate = 40;
                  xxx { dg-error "" }
              fed
diff --git a/gcc/testsuite/algol68/compile/error-module-coercions-1.a68 
b/gcc/testsuite/algol68/compile/error-module-coercions-1.a68
index 460c381299e..8eb5247df23 100644
--- a/gcc/testsuite/algol68/compile/error-module-coercions-1.a68
+++ b/gcc/testsuite/algol68/compile/error-module-coercions-1.a68
@@ -5,11 +5,4 @@ module Foo = def
              postlude
                 int i = "foo"; { dg-error "coerced" }
                 skip
-             fed,
-       Bar = def
-                int i = 3.14; { dg-error "coerced" }
-                skip
-             postlude
-                skip
-             fed,
-       Baz = def skip fed
+             fed
diff --git a/gcc/testsuite/algol68/compile/error-module-ranges-1.a68 
b/gcc/testsuite/algol68/compile/error-module-ranges-1.a68
index b377ffba736..8538bc81337 100644
--- a/gcc/testsuite/algol68/compile/error-module-ranges-1.a68
+++ b/gcc/testsuite/algol68/compile/error-module-ranges-1.a68
@@ -5,9 +5,4 @@ module Foo = def int i;
                  x := 20 { dg-error "" }
              postlude
                  i := 10 { this is ok }
-             fed,
-       Bar = def int x;
-                 skip
-             postlude
-                 x := 20 { this is ok }
              fed
diff --git a/gcc/testsuite/algol68/compile/module-2.a68 
b/gcc/testsuite/algol68/compile/module-2.a68
index 74bd2369022..3c12c8591bc 100644
--- a/gcc/testsuite/algol68/compile/module-2.a68
+++ b/gcc/testsuite/algol68/compile/module-2.a68
@@ -5,12 +5,4 @@ module Foo = def pub int idpublic = 10;
                  pub proc lala = (int a, b) int: a + b;
                  pub proc lele := (int a, b) int: a - b;
                  skip
-             fed,
-       Bar = def pub int idpublic = 30;
-                 int idprivate = 40;
-                 pub int varpublic := 100;
-                 real varprivate := 3.14;
-                 pub proc lala = (int a, b) int: a + b;
-                 pub proc lele := (int a, b) int: a - b;
-                 skip
              fed
diff --git a/gcc/testsuite/algol68/compile/module-pub-mangling-1.a68 
b/gcc/testsuite/algol68/compile/module-pub-mangling-1.a68
index 3451f46a8ff..39c623b185e 100644
--- a/gcc/testsuite/algol68/compile/module-pub-mangling-1.a68
+++ b/gcc/testsuite/algol68/compile/module-pub-mangling-1.a68
@@ -3,13 +3,7 @@
 module Foo = def pub int foo;    { dg-final { scan-assembler "FOO_foo" } }
                  int bar;        { dg-final { scan-assembler "FOO_bar" } }
                  skip
-             fed,
-       Bar = def pub int foo;    { dg-final { scan-assembler "BAR_foo" } }
-                 int bar;        { dg-final { scan-assembler "BAR_bar" } }
-                 skip
              fed
 
 { dg-final { scan-assembler "FOO__prelude" } }
 { dg-final { scan-assembler "FOO__postlude" } }
-{ dg-final { scan-assembler "BAR__prelude" } }
-{ dg-final { scan-assembler "BAR__postlude" } }
diff --git a/gcc/testsuite/algol68/compile/module-pub-mangling-2.a68 
b/gcc/testsuite/algol68/compile/module-pub-mangling-2.a68
index 79fe3d84cd7..457ae71239e 100644
--- a/gcc/testsuite/algol68/compile/module-pub-mangling-2.a68
+++ b/gcc/testsuite/algol68/compile/module-pub-mangling-2.a68
@@ -3,13 +3,7 @@
 module Foo = def pub struct (int i, real r) foo;{ dg-final { scan-assembler 
"FOO_foo" } }
                  struct (int i, real r) bar;    { dg-final { scan-assembler 
"FOO_bar" } }
                  skip
-             fed,
-       Bar = def pub struct (int i, real r) foo;{ dg-final { scan-assembler 
"BAR_foo" } }
-                 struct (int i, real r) bar;    { dg-final { scan-assembler 
"BAR_bar" } }
-                 skip
              fed
 
 { dg-final { scan-assembler "FOO__prelude" } }
 { dg-final { scan-assembler "FOO__postlude" } }
-{ dg-final { scan-assembler "BAR__prelude" } }
-{ dg-final { scan-assembler "BAR__postlude" } }
diff --git a/gcc/testsuite/algol68/compile/module-pub-mangling-3.a68 
b/gcc/testsuite/algol68/compile/module-pub-mangling-3.a68
index 579cb84eac0..966b2345fbb 100644
--- a/gcc/testsuite/algol68/compile/module-pub-mangling-3.a68
+++ b/gcc/testsuite/algol68/compile/module-pub-mangling-3.a68
@@ -3,13 +3,7 @@
 module Foo = def pub int foo = 10; { dg-final { scan-assembler "FOO_foo" } }
                  int bar = 20;     { dg-final { scan-assembler "FOO_bar" } }
                  skip
-             fed,
-       Bar = def pub int foo = 30; { dg-final { scan-assembler "BAR_foo" } }
-                 int bar = 40;     { dg-final { scan-assembler "BAR_bar" } }
-                 skip
              fed
 
 { dg-final { scan-assembler "FOO__prelude" } }
 { dg-final { scan-assembler "FOO__postlude" } }
-{ dg-final { scan-assembler "BAR__prelude" } }
-{ dg-final { scan-assembler "BAR__postlude" } }
diff --git a/gcc/testsuite/algol68/compile/module-pub-mangling-4.a68 
b/gcc/testsuite/algol68/compile/module-pub-mangling-4.a68
index 4bb53949ba3..750aaa0c660 100644
--- a/gcc/testsuite/algol68/compile/module-pub-mangling-4.a68
+++ b/gcc/testsuite/algol68/compile/module-pub-mangling-4.a68
@@ -5,13 +5,7 @@
 module Foo = def pub proc int foo;          { dg-final { scan-assembler 
"FOO_foo" } }
                  proc int bar := int: skip; { dg-final { scan-assembler 
"FOO_bar" } }
                  skip
-             fed,
-       Bar = def pub proc int foo;    { dg-final { scan-assembler "BAR_foo" } }
-                 proc int bar := foo; { dg-final { scan-assembler "BAR_bar" } }
-                 skip
              fed
 
 { dg-final { scan-assembler "FOO__prelude" } }
 { dg-final { scan-assembler "FOO__postlude" } }
-{ dg-final { scan-assembler "BAR__prelude" } }
-{ dg-final { scan-assembler "BAR__postlude" } }
diff --git a/gcc/testsuite/algol68/compile/module-pub-mangling-5.a68 
b/gcc/testsuite/algol68/compile/module-pub-mangling-5.a68
index be29ee19095..fb50de4995c 100644
--- a/gcc/testsuite/algol68/compile/module-pub-mangling-5.a68
+++ b/gcc/testsuite/algol68/compile/module-pub-mangling-5.a68
@@ -5,13 +5,7 @@
 module Foo = def pub proc foo = int: skip; { dg-final { scan-assembler 
"FOO_foo" } }
                  proc bar = int: skip;     { dg-final { scan-assembler 
"FOO_bar" } }
                  skip
-             fed,
-       Bar = def pub proc foo = int: skip; { dg-final { scan-assembler 
"BAR_foo" } }
-                 proc bar = int: skip;     { dg-final { scan-assembler 
"BAR_bar" } }
-                 skip
              fed
 
 { dg-final { scan-assembler "FOO__prelude" } }
 { dg-final { scan-assembler "FOO__postlude" } }
-{ dg-final { scan-assembler "BAR__prelude" } }
-{ dg-final { scan-assembler "BAR__postlude" } }
diff --git a/gcc/testsuite/algol68/compile/module-pub-mangling-6.a68 
b/gcc/testsuite/algol68/compile/module-pub-mangling-6.a68
index 8ba5333ea84..97825eda020 100644
--- a/gcc/testsuite/algol68/compile/module-pub-mangling-6.a68
+++ b/gcc/testsuite/algol68/compile/module-pub-mangling-6.a68
@@ -7,15 +7,7 @@ module Foo = def pub op + = (int a, b) int: a + b;
                  op - = (int a, b) int: a - b;
                  { dg-final { scan-assembler "FOO_m_" } }
                  skip
-             fed,
-       Bar = def pub op + = (int a, b) int: a + b;
-                 { dg-final { scan-assembler "BAR_u_" } }
-                 op - = (int a, b) int: a - b;
-                 { dg-final { scan-assembler "BAR_m_" } }
-                 skip
              fed
 
 { dg-final { scan-assembler "FOO__prelude" } }
 { dg-final { scan-assembler "FOO__postlude" } }
-{ dg-final { scan-assembler "BAR__prelude" } }
-{ dg-final { scan-assembler "BAR__postlude" } }
diff --git a/gcc/testsuite/algol68/compile/warning-module-hidding-1.a68 
b/gcc/testsuite/algol68/compile/warning-module-hidding-1.a68
index 84b4b0e25b2..461cd468114 100644
--- a/gcc/testsuite/algol68/compile/warning-module-hidding-1.a68
+++ b/gcc/testsuite/algol68/compile/warning-module-hidding-1.a68
@@ -1,6 +1,6 @@
 { dg-options "-Whidden-declarations=all" }
 
-module Foo = def int i; i := 10 postlude puts ("bye foo'n") fed,
-       Bar = def int j; j := 20
-             postlude int j; puts ("bye bar'n") fed, { dg-warning "hidden" }
-       Baz = def skip fed
+module Bar =
+def int j; j := 20
+postlude int j; puts ("bye bar'n")  { dg-warning "hidden" }
+fed
-- 
2.30.2

Reply via email to