aboutsummaryrefslogtreecommitdiff
path: root/gcc/m2/ChangeLog
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/m2/ChangeLog')
-rw-r--r--gcc/m2/ChangeLog73
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