Comparing changes

Choose two branches to see what's changed or to start a new pull request.

base: trunk
Choose a base ref
afs-link trunk default
compare: afs-link
Choose a head ref
afs-link trunk default
Create pull request
Able to merge. These branches can be automatically merged.
1 commit 1 file changed 1 contributor

Commits on afs-link

  • scratch ae2924b mfwolffe committed
README.mdmodified
@@ -70,7 +70,7 @@ Pretty much everything:
7070
 ## Building
7171
 
7272
 Requires:
73
-- A Fortran 2018 compiler (gfortran 8+, or flang-new for macOS ARM64)
73
+- A Fortran 2018 compiler (`armfortas`, `gfortran` 8+, or `flang-new`)
7474
 - GNU Make
7575
 - A C compiler (gcc or clang)
7676
 - POSIX system (Linux, macOS)
@@ -90,7 +90,7 @@ make clean # remove build/ and bin/
9090
 | Linux x86_64 | gfortran | Primary target |
9191
 | Linux aarch64 | gfortran | Auto-enables C stat helpers for struct layout differences |
9292
 | macOS Intel | gfortran | Works with `-frecursive` |
93
-| macOS ARM64 | flang-new (LLVM) | Required -- gfortran has 7+ critical bugs. Auto-enables C string library. Install via `brew install flang`. |
93
+| macOS ARM64 | flang-new by default, `armfortas` when selected explicitly | The Makefile has an armfortas profile; flang-new remains the safe default and auto-enables the C string library. |
9494
 
9595
 The Makefile auto-detects your platform and selects the right compiler and flags. Just run `make`.
9696
 
@@ -583,12 +583,12 @@ Every builtin has detailed help: `help cd`, `help export`, `help trap`, etc.
583583
 
584584
 ## macOS ARM64 Notes
585585
 
586
-Both Fortran compilers have issues on Apple Silicon. fortsh uses flang-new (LLVM) with C interop workarounds. The Makefile handles everything automatically.
586
+Apple Silicon builds still default to flang-new (LLVM) with the existing C interop workarounds. The Makefile now also understands an explicit `FC=armfortas` path for pure-Fortran bring-up work.
587587
 
588
-Install flang-new via `brew install flang`. See `COMPILER_NOTES.md` for the full story on compiler bugs and workarounds.
588
+Install flang-new via `brew install flang` for the default path. See `COMPILER_NOTES.md` for the full story on compiler bugs and workarounds.
589589
 
590590
 Key differences from Linux builds:
591
-- C string library auto-enabled (works around flang-new string buffer limitations)
591
+- C string library auto-enabled only on the flang-new fallback path
592592
 - Platform-specific constants for signals, terminal I/O, file flags, and resource limits
593593
 - Builtin output uses C-level `write()` to respect fd redirections (flang-new's Fortran I/O caches file descriptors)
594594
 
@@ -646,3 +646,4 @@ POSIX Shell Spec: https://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_
646646
 ---
647647
 
648648
 *Yes, it's really written in Fortran. Yes, it really works. No, we don't know why either.*
649
+scratch