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))
{
}
while (siga);
}
+#endif
/* Try reducing a prelude packet. */
reduce (p, NO_NOTE, NO_TICK, PRELUDE_PACKET, MODULE_DECLARATION, STOP);
-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
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
x := 20 { dg-error "" }
postlude
i := 10 { this is ok }
- fed,
- Bar = def int x;
- skip
- postlude
- x := 20 { this is ok }
fed
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
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" } }
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" } }
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" } }
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" } }
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" } }
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" } }
{ 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