]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
modula2: Add missing comments to M2CaseList.mod and add testcases
authorGaius Mulley <gaiusmod2@gmail.com>
Thu, 14 Sep 2023 20:00:45 +0000 (21:00 +0100)
committerGaius Mulley <gaiusmod2@gmail.com>
Thu, 14 Sep 2023 20:00:45 +0000 (21:00 +0100)
This patch adds procedure block comments to M2CaseList.mod, changes
date values to use unique digits and add a new test case.

gcc/m2/ChangeLog:

* gm2-compiler/M2CaseList.mod (NewRanges): Add block
comment.
(NewSet): Add block comment.
(DisplayRanges): Add block comment.
(IncludeElement): Add block comment.
(IncludeElements): Add block comment.
(appendString): Add block comment.
(appendEnum): Add block comment.
(appendTree): Add block comment.
(SubrangeErrors): Add block comment.

gcc/testsuite/ChangeLog:

* gm2/switches/case/fail/subrangecase.mod: Replace 19
with 17.
* gm2/switches/case/fail/subrangecase2.mod: Ditto.
* gm2/switches/case/fail/subrangecase3.mod: Ditto.
* gm2/switches/case/fail/subrangecase4.mod: Ditto.
* gm2/switches/case/pass/subrangecase.mod: Ditto.
* gm2/switches/case/pass/subrangecase2.mod: Ditto.
* gm2/switches/case/pass/subrangecase3.mod: Ditto.
* gm2/switches/case/pass/subrangecase4.mod: Ditto.
* gm2/switches/case/fail/calendar.mod: New test.

Signed-off-by: Gaius Mulley <gaiusmod2@gmail.com>
gcc/m2/gm2-compiler/M2CaseList.mod
gcc/testsuite/gm2/switches/case/fail/calendar.mod [new file with mode: 0644]
gcc/testsuite/gm2/switches/case/fail/subrangecase.mod
gcc/testsuite/gm2/switches/case/fail/subrangecase2.mod
gcc/testsuite/gm2/switches/case/fail/subrangecase3.mod
gcc/testsuite/gm2/switches/case/fail/subrangecase4.mod
gcc/testsuite/gm2/switches/case/pass/subrangecase.mod
gcc/testsuite/gm2/switches/case/pass/subrangecase2.mod
gcc/testsuite/gm2/switches/case/pass/subrangecase3.mod
gcc/testsuite/gm2/switches/case/pass/subrangecase4.mod

index 910fcc6c4b495fdffa2071834b26284e4a284f1d..b7155e306924a1c162b5f5db9009a74cc263ecdc 100644 (file)
@@ -511,7 +511,7 @@ END OverlappingCaseBounds ;
 
 
 (*
-   NewRanges -
+   NewRanges - return a new range from the freelist or heap.
 *)
 
 PROCEDURE NewRanges () : SetRange ;
@@ -531,7 +531,8 @@ END NewRanges ;
 
 
 (*
-   NewSet -
+   NewSet - returns a new set based on type with the low and high fields assigned
+            to the min and max values for the type.
 *)
 
 PROCEDURE NewSet (type: CARDINAL) : SetRange ;
@@ -549,7 +550,7 @@ END NewSet ;
 
 
 (*
-   DisposeRanges -
+   DisposeRanges - place set and its list onto the free list.
 *)
 
 PROCEDURE DisposeRanges (set: SetRange) : SetRange ;
@@ -737,7 +738,7 @@ VAR
 
 
 (*
-   IncludeElement -
+   IncludeElement - only include enumeration field into errorString if it lies between low..high.
 *)
 
 PROCEDURE IncludeElement (enumList: List; field: CARDINAL; low, high: Tree) ;
@@ -756,7 +757,7 @@ END IncludeElement ;
 
 
 (*
-   IncludeElements -
+   IncludeElements - only include enumeration field values low..high in errorString.
 *)
 
 PROCEDURE IncludeElements (type: CARDINAL; enumList: List; low, high: Tree) ;
@@ -776,7 +777,7 @@ END IncludeElements ;
 
 
 (*
-   ErrorRangeEnum
+   ErrorRangeEnum - include enumeration fields Low to High in errorString.
 *)
 
 PROCEDURE ErrorRangeEnum (type: CARDINAL; set: SetRange; enumList: List) ;
@@ -824,7 +825,7 @@ END ErrorRanges ;
 
 
 (*
-   appendString -
+   appendString - appends str to errorString.
 *)
 
 PROCEDURE appendString (str: String) ;
@@ -834,7 +835,7 @@ END appendString ;
 
 
 (*
-   appendEnum -
+   appendEnum - appends enum to errorString.
 *)
 
 PROCEDURE appendEnum (enum: CARDINAL) ;
@@ -844,7 +845,7 @@ END appendEnum ;
 
 
 (*
-   appendStr -
+   appendStr - appends str to errorString.
 *)
 
 PROCEDURE appendStr (str: ARRAY OF CHAR) ;
@@ -953,7 +954,8 @@ END isPrintableChar ;
 
 
 (*
-   appendTree -
+   appendTree - append tree value to the errorString.  It attempts to pretty print
+                CHAR constants and will fall back to CHR (x) if necessary.
 *)
 
 PROCEDURE appendTree (value: Tree; type: CARDINAL) ;
@@ -984,7 +986,7 @@ END appendTree ;
 
 
 (*
-   SubrangeErrors -
+   SubrangeErrors - create an errorString containing all set ranges.
 *)
 
 PROCEDURE SubrangeErrors (subrangetype: CARDINAL; set: SetRange) ;
diff --git a/gcc/testsuite/gm2/switches/case/fail/calendar.mod b/gcc/testsuite/gm2/switches/case/fail/calendar.mod
new file mode 100644 (file)
index 0000000..501cb2b
--- /dev/null
@@ -0,0 +1,24 @@
+MODULE calendar ;
+
+
+TYPE
+   DayRange = [1..30] ;
+
+
+PROCEDURE sept1752 (day: DayRange) : BOOLEAN ;
+BEGIN
+   CASE day OF
+
+   1..2,
+   14..30:  RETURN TRUE
+
+   END ;
+   RETURN FALSE
+END sept1752 ;
+
+
+BEGIN
+   IF sept1752 (4)
+   THEN
+   END
+END calendar.
index 2c3b56ebebf5047f95827e101a3181d545fc88d7..577dccb746dd861c618f6f2b6d1eb47cf4bac8be 100644 (file)
@@ -2,16 +2,16 @@ MODULE subrangecase ;  (*!m2iso+gm2*)
 
 
 TYPE
-   DateRange = [1910..1920] ;
+   DateRange = [1710..1720] ;
 
 
 PROCEDURE init (d: DateRange) ;
 BEGIN
    CASE d OF
 
-   (* 1910: |  *)
-   1911..1919: |
-   1920: |
+   (* 1710: |  *)
+   1711..1719: |
+   1720: |
 
    END
 END init ;
index d0e3a3a1a5cf33854403ffd84434cb78765dbe4d..63617708c4ccd585eb0c324a400e76ec81018f90 100644 (file)
@@ -2,14 +2,14 @@ MODULE subrangecase2 ;  (*!m2iso+gm2*)
 
 
 TYPE
-   DateRange = [1910..1920] ;
+   DateRange = [1710..1720] ;
 
 
 PROCEDURE init (d: DateRange) ;
 BEGIN
    CASE d OF
 
-   1911..1920: |
+   1711..1720: |
 
    END
 END init ;
index 5a34c0bea1552b701649423634292785a6c6911a..8b123f6f786d13d5d28ea5d7b6574a491518a0c2 100644 (file)
@@ -2,15 +2,15 @@ MODULE subrangecase3 ;  (*!m2iso+gm2*)
 
 
 TYPE
-   DateRange = [1910..1920] ;
+   DateRange = [1710..1720] ;
 
 
 PROCEDURE init (d: DateRange) ;
 BEGIN
    CASE d OF
 
-   1910: |
-   1912..1919: |
+   1710: |
+   1712..1719: |
 
    END
 END init ;
index f8c4ae17d923bad91b6e958d7c8165e438417c72..390d58826b35c444d62dabe82fa10653a48dd386 100644 (file)
@@ -2,15 +2,15 @@ MODULE subrangecase4 ;  (*!m2iso+gm2*)
 
 
 TYPE
-   DateRange = [1910..1920] ;
+   DateRange = [1710..1720] ;
 
 
 PROCEDURE init (d: DateRange) ;
 BEGIN
    CASE d OF
 
-   1910: |
-   1913..1918: |
+   1710: |
+   1713..1718: |
 
    END
 END init ;
index 50bbf6ae6c69b74ff9249e00eeb775cf397ca88f..a0a8e35ca288b932f190b64b208695c7c1824b98 100644 (file)
@@ -2,16 +2,16 @@ MODULE subrangecase ;  (*!m2iso+gm2*)
 
 
 TYPE
-   DateRange = [1910..1920] ;
+   DateRange = [1710..1720] ;
 
 
 PROCEDURE init (d: DateRange) ;
 BEGIN
    CASE d OF
 
-   1910: |
-   1911..1919: |
-   1920: |
+   1710: |
+   1711..1719: |
+   1720: |
 
    END
 END init ;
index cd14c0ce19778d5a23f709235e47cb13ce69fa1f..b2badc73cc6f7399e4edb5a37ed609776630028d 100644 (file)
@@ -2,14 +2,14 @@ MODULE subrangecase2 ;  (*!m2iso+gm2*)
 
 
 TYPE
-   DateRange = [1910..1920] ;
+   DateRange = [1710..1720] ;
 
 
 PROCEDURE init (d: DateRange) ;
 BEGIN
    CASE d OF
 
-   1910..1920: |
+   1710..1720: |
 
    END
 END init ;
index 2f4837360ae5e334044a004524a0edc65c2bdcea..3e15e7bce60b0109ac61c084340c18b58e3513f8 100644 (file)
@@ -2,14 +2,14 @@ MODULE subrangecase3 ;  (*!m2iso+gm2*)
 
 
 TYPE
-   DateRange = [1910..1920] ;
+   DateRange = [1710..1720] ;
 
 
 PROCEDURE init (d: DateRange) ;
 BEGIN
    CASE d OF
 
-   1910..1919: |
+   1710..1719: |
 
    ELSE
    END
index 8a2a6724bbbc0b7e3f78531f1d3bd9e09610e2c8..50978b95d70bc521daa913a3b48adb87778c7c42 100644 (file)
@@ -2,7 +2,7 @@ MODULE subrangecase4 ;  (*!m2iso+gm2*)
 
 
 TYPE
-   DateRange = [1910..1920] ;
+   DateRange = [1710..1720] ;
 
 
 PROCEDURE init (d: DateRange) ;