================ @@ -168,6 +168,18 @@ page](https://llvm.org/releases/). F2023 15.5.2.10 p1). Declare the target `SIMPLE` if it satisfies the `SIMPLE` constraints, or give the pointer or dummy an explicit `PURE` interface. +- Added support for the Fortran 2023 non-interoperable `ENUMERATION TYPE` + (F2023 7.6.2). An enumeration type is a distinct type whose values are + ordered, named enumerators. Supported features: + - declaration with `ENUMERATION TYPE` / `ENUMERATOR`, including + `ENUMERATION TYPE, PUBLIC/PRIVATE` and use through modules (module files + record enumeration types); + - enumeration constructors and use as named constants; + - relational operators (`==`, `/=`, `<`, `<=`, `>`, `>=`) between values of + the same enumeration type, and `SELECT CASE` on enumeration values; + - the `INT` intrinsic applied to an enumeration value, and the `HUGE`, + `NEXT` and `PREVIOUS` intrinsics; ---------------- MattPD wrote:
Could this note document both compatibility changes: the removal of `-fenumeration-type` and `-fno-enumeration-type`, and the name collision with the new `NEXT` and `PREVIOUS` intrinsic functions? Before this PR, Flang accepted calls to implicit-interface external functions with those names by default. Such calls now need an `EXTERNAL` declaration or an explicit interface. https://github.com/llvm/llvm-project/pull/231641 _______________________________________________ cfe-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
