diff options
Diffstat (limited to 'gcc/m2/ChangeLog')
-rw-r--r-- | gcc/m2/ChangeLog | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/gcc/m2/ChangeLog b/gcc/m2/ChangeLog index b782697..a4dbd2e 100644 --- a/gcc/m2/ChangeLog +++ b/gcc/m2/ChangeLog @@ -1,3 +1,76 @@ +2023-09-12 Gaius Mulley <gaiusmod2@gmail.com> + + * gm2-compiler/M2CaseList.def (PushCase): Rename parameters + r to rec and v to va. Add expr parameter. + (MissingCaseStatementBounds): New procedure function. + * gm2-compiler/M2CaseList.mod (RangePair): Add expression. + (PushCase): Rename parameters r to rec and v to va. Add + expr parameter. + (RemoveRange): New procedure function. + (SubBitRange): Detect the case when the range in the set matches + lo..hi. + (CheckLowHigh): New procedure. + (ExcludeCaseRanges): Rename parameter c to cd. Rename local + variables q to cl and r to rp. + (High): Remove. + (Low): Remove. + (DoEnumValues): Remove. + (IncludeElement): New procedure. + (IncludeElements): New procedure. + (ErrorRangeEnum): New procedure. + (ErrorRange): Remove. + (ErrorRanges): Remove. + (appendEnum): New procedure. + (appendStr): New procedure. + (EnumerateErrors): New procedure. + (MissingCaseBounds): Re-implement. + (InRangeList): Remove. + (MissingCaseStatementBounds): New procedure function. + (checkTypes): Re-format. + (inRange): Re-format. + (TypeCaseBounds): Re-format. + * gm2-compiler/M2Error.mod (GetAnnounceScope): Add noscope to + case label list. + * gm2-compiler/M2GCCDeclare.mod: Replace ForeachFieldEnumerationDo + with ForeachLocalSymDo. + * gm2-compiler/M2Options.def (SetCaseEnumChecking): New procedure. + (CaseEnumChecking): New variable. + * gm2-compiler/M2Options.mod (SetCaseEnumChecking): New procedure. + (Module initialization): set CaseEnumChecking to FALSE. + * gm2-compiler/M2Quads.def (QuadOperator): Alphabetically ordered. + * gm2-compiler/M2Quads.mod (IsBackReferenceConditional): Add else + clause. + (BuildCaseStart): Pass selector expression to InitCaseBounds. + (CheckUninitializedVariablesAreUsed): Remove. + (IsInlineWithinBlock): Remove. + (AsmStatementsInBlock): Remove. + (CheckVariablesInBlock): Remove commented code. + (BeginVarient): Pass NulSym to InitCaseBounds. + * gm2-compiler/M2Range.mod (FoldCaseBounds): New local variable + errorGenerated. Add call to MissingCaseStatementBounds. + * gm2-compiler/P3Build.bnf (CaseEndStatement): Call ElseCase. + * gm2-compiler/PCSymBuild.mod (InitDesExpr): Add else clause. + (InitFunction): Add else clause. + (InitConvert): Add else clause. + (InitLeaf): Add else clause. + (InitBinary): Add else clause. + (InitUnary): Add else clause. + * gm2-compiler/SymbolTable.def (GetNth): Re-write comment. + (ForeachFieldEnumerationDo): Re-write comment stating alphabetical + traversal. + * gm2-compiler/SymbolTable.mod (GetNth): Re-write comment. + Add case label for EnumerationSym and call GetItemFromList. + (ForeachFieldEnumerationDo): Re-write comment stating alphabetical + traversal. + (SymEnumeration): Add ListOfFields used for declaration order. + (MakeEnumeration): Initialize ListOfFields. + (PutFieldEnumeration): Include Field in ListOfFields. + * gm2-gcc/m2options.h (M2Options_SetCaseEnumChecking): New + function. + * gm2-lang.cc (gm2_langhook_handle_option): Add + OPT_Wcase_enum case and call M2Options_SetCaseEnumChecking. + * lang.opt (Wcase-enum): Add. + 2023-09-11 Gaius Mulley <gaiusmod2@gmail.com> PR modula2/111330 |