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
