From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 1499) id D481D3858D35; Fri, 8 Mar 2024 06:27:34 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org D481D3858D35 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1709879254; bh=urOiP28CBOq1ZdaMWV62avA4QhSEyCzz3HR+shbbRx8=; h=From:To:Subject:Date:From; b=fk7j+XhSbja8G4LRPkP5Lnpo3m83khFM84z1dovhEk91Ti63WgIi6jhK3FzlJHrOS 39OZ1F5GgkCoeBGYwTunLByUmjwcnMrlUVfuqMc5v+mI4nuGz9cbLVhS/EvKilXy3A 3Z8JYc+F8TwOV+ad4wWCMdvD0o6fbFZs66/qk13U= MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset="utf-8" From: Gaius Mulley To: gcc-cvs@gcc.gnu.org Subject: [gcc r14-9381] modula2: Add constant aggregate tests X-Act-Checkin: gcc X-Git-Author: Gaius Mulley X-Git-Refname: refs/heads/master X-Git-Oldrev: 42187c6968af9907de1f9b7563d87de739857684 X-Git-Newrev: 131d1753ac71eb62f0b14fa9a1cb0e125e9a3ca1 Message-Id: <20240308062734.D481D3858D35@sourceware.org> Date: Fri, 8 Mar 2024 06:27:34 +0000 (GMT) List-Id: https://gcc.gnu.org/g:131d1753ac71eb62f0b14fa9a1cb0e125e9a3ca1 commit r14-9381-g131d1753ac71eb62f0b14fa9a1cb0e125e9a3ca1 Author: Gaius Mulley Date: Fri Mar 8 06:26:55 2024 +0000 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 Diff: --- gcc/testsuite/gm2/iso/pass/arrayconst.mod | 31 ++++++++++++++++++++++++++ gcc/testsuite/gm2/iso/pass/arrayconst2.mod | 31 ++++++++++++++++++++++++++ gcc/testsuite/gm2/iso/pass/arrayconst3.mod | 35 ++++++++++++++++++++++++++++++ gcc/testsuite/gm2/iso/pass/arrayconst4.mod | 35 ++++++++++++++++++++++++++++++ 4 files changed, 132 insertions(+) diff --git a/gcc/testsuite/gm2/iso/pass/arrayconst.mod b/gcc/testsuite/gm2/iso/pass/arrayconst.mod new file mode 100644 index 00000000000..05ce4c911d1 --- /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 00000000000..cee4b1457cb --- /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 00000000000..0402e6f6bac --- /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 00000000000..0b14229cd8a --- /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.