diff options
author | Gaius Mulley <gaiusmod2@gmail.com> | 2024-03-08 06:26:55 +0000 |
---|---|---|
committer | Gaius Mulley <gaiusmod2@gmail.com> | 2024-03-08 06:26:55 +0000 |
commit | 131d1753ac71eb62f0b14fa9a1cb0e125e9a3ca1 (patch) | |
tree | f92b060ed90c21ed134fc80efe6ec47cf3a715ed /gcc | |
parent | 42187c6968af9907de1f9b7563d87de739857684 (diff) | |
download | gcc-131d1753ac71eb62f0b14fa9a1cb0e125e9a3ca1.zip gcc-131d1753ac71eb62f0b14fa9a1cb0e125e9a3ca1.tar.gz gcc-131d1753ac71eb62f0b14fa9a1cb0e125e9a3ca1.tar.bz2 |
modula2: Add constant aggregate tests
This patch adds four constant aggregate tests and assignment of
arrays by a constant in two different scopes.
gcc/testsuite/ChangeLog:
* gm2/iso/pass/arrayconst.mod: New test.
* gm2/iso/pass/arrayconst2.mod: New test.
* gm2/iso/pass/arrayconst3.mod: New test.
* gm2/iso/pass/arrayconst4.mod: New test.
Signed-off-by: Gaius Mulley <gaiusmod2@gmail.com>
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/testsuite/gm2/iso/pass/arrayconst.mod | 31 | ||||
-rw-r--r-- | gcc/testsuite/gm2/iso/pass/arrayconst2.mod | 31 | ||||
-rw-r--r-- | gcc/testsuite/gm2/iso/pass/arrayconst3.mod | 35 | ||||
-rw-r--r-- | gcc/testsuite/gm2/iso/pass/arrayconst4.mod | 35 |
4 files changed, 132 insertions, 0 deletions
diff --git a/gcc/testsuite/gm2/iso/pass/arrayconst.mod b/gcc/testsuite/gm2/iso/pass/arrayconst.mod new file mode 100644 index 0000000..05ce4c9 --- /dev/null +++ b/gcc/testsuite/gm2/iso/pass/arrayconst.mod @@ -0,0 +1,31 @@ +MODULE arrayconst ; + + +PROCEDURE foo ; +TYPE + array = ARRAY [0..3] OF REAL ; +CONST + value = array {1.0, 2.0, 3.0, 4.0} ; +VAR + r: REAL ; +BEGIN + r := value[1] ; +END foo ; + + +PROCEDURE bar ; +TYPE + array = ARRAY [0..3] OF REAL ; +CONST + value = array {5.0, 6.0, 7.0, 8.0} ; +VAR + r: REAL ; +BEGIN + r := value[1] ; +END bar ; + + +BEGIN + foo ; + bar +END arrayconst. diff --git a/gcc/testsuite/gm2/iso/pass/arrayconst2.mod b/gcc/testsuite/gm2/iso/pass/arrayconst2.mod new file mode 100644 index 0000000..cee4b14 --- /dev/null +++ b/gcc/testsuite/gm2/iso/pass/arrayconst2.mod @@ -0,0 +1,31 @@ +MODULE arrayconst ; + + +PROCEDURE foo ; +TYPE + array = ARRAY [0..3] OF REAL ; +CONST + value = array {1.0, 2.0, 3.0, 4.0} ; +VAR + c: array ; +BEGIN + c := value +END foo ; + + +PROCEDURE bar ; +TYPE + array = ARRAY [0..3] OF REAL ; +CONST + value = array {5.0, 6.0, 7.0, 8.0} ; +VAR + c: array ; +BEGIN + c := value +END bar ; + + +BEGIN + foo ; + bar +END arrayconst. diff --git a/gcc/testsuite/gm2/iso/pass/arrayconst3.mod b/gcc/testsuite/gm2/iso/pass/arrayconst3.mod new file mode 100644 index 0000000..0402e6f --- /dev/null +++ b/gcc/testsuite/gm2/iso/pass/arrayconst3.mod @@ -0,0 +1,35 @@ +MODULE arrayconst3 ; + + +PROCEDURE foo ; +CONST + len = 4 ; +TYPE + array = ARRAY [0..len -1] OF REAL ; +CONST + value = array {1.0, 2.0, 3.0, 4.0} ; +VAR + r: REAL ; +BEGIN + r := value[1] ; +END foo ; + + +PROCEDURE bar ; +CONST + len = 2 ; +TYPE + array = ARRAY [0..len -1] OF REAL ; +CONST + value = array {5.0, 6.0} ; +VAR + r: REAL ; +BEGIN + r := value[1] ; +END bar ; + + +BEGIN + foo ; + bar +END arrayconst3. diff --git a/gcc/testsuite/gm2/iso/pass/arrayconst4.mod b/gcc/testsuite/gm2/iso/pass/arrayconst4.mod new file mode 100644 index 0000000..0b14229 --- /dev/null +++ b/gcc/testsuite/gm2/iso/pass/arrayconst4.mod @@ -0,0 +1,35 @@ +MODULE arrayconst4 ; + + +PROCEDURE foo ; +CONST + len = 4 ; +TYPE + array = ARRAY [0..len -1] OF REAL ; +CONST + value = array {1.0, 2.0, 3.0, 4.0} ; +VAR + c: array ; +BEGIN + c := value +END foo ; + + +PROCEDURE bar ; +CONST + len = 2 ; +TYPE + array = ARRAY [0..len -1] OF REAL ; +CONST + value = array {5.0, 6.0} ; +VAR + c: array ; +BEGIN + c := value +END bar ; + + +BEGIN + foo ; + bar +END arrayconst4. |