At a first look, this does not seem to involve anything Darwin-specific (particularly, since this is x86_64, so nothing using experimental support).
… perhaps someone here can see what the issue might be? Iain > Begin forwarded message: > > From: Lawrence Doctors <l.doct...@unsw.edu.au> > Subject: Curious Behavior with Fortran gfortran-10.2-catalina.dmg on macOS > Big Sur Version 11.4 > Date: 29 July 2021 at 11:58:40 BST > To: "g...@gcc.gnu.org" <g...@gcc.gnu.org> > Cc: Lawrence Doctors <l.doct...@unsw.edu.au> > > Dear Sir/Madam: > > I would firstly like to thank the folks at GCC for their fine work on > developing the Fortran compilers, which I have been using for about 12 years > now, on a series of four MacBook Pro computers. In total, I have had over 50 > years experience using Fortran, this being on a variety of different > platforms. I therefore do consider myself as being a very experienced > programmer. > > I have recently installed your gfortran-10.2-catalina.dmg on macOS Big Sur > Version 11.4 with a 2.4 GHz 8-core Intel Core i9 processor. The computer has > 64 GB 2667 MHz DDR4 of memory, with a disk capacity of 8 TB. During my > previous experience, when I switched to a new computer on about six or seven > occasions, most of my programs (now 553 in number) compiled successfully the > first time, but some of the programs required minor modifications. On this > occasion, I encountered the following new challenges: > > (1) I see that you now check consistency of the argument types and rank, in > CALL statements. Thus, if an argument would normally be an array, but is > unused in some CALL statements, my practice was to use a dummy argument with > a short name, such as "d". This has worked for over 50 years without trouble. > However, you now check for consistency. Obviously this was easy to fix, as I > simple declared a dummy array in a DIMENSION statement with the name "d (1)", > which solved the problem. On reflection, I would say that this is an > improvement, because it forces the programmer to think carefully when writing > the CALL statement. > > (2) I encountered a curious failure on compilation with the following > statement using integer arithmetic: > n= (m + 4)/5 > with the message > Error: Integer division truncated to constant ‘2’ at (1) > [-Werror=integer-division] > f951: all warnings being treated as errors > > This error only occurs if both (a) the value of "m" would lead to a > truncation (say 7 but not 6), and ALSO if (b) the value of "m" was set in a > PARAMETER statement. I can work my way around this difficulty by rewriting > the statement as: > n= int ((1.0*m + 4)/5) > but it does seem clumsy. > > (3) The new compiler seems to dislike large fixed DIMENSION statements, such > as the following at the beginning of the program unit: > parameter (n= 1050000) > dimension a (n) > > The compiler then issues the following message: > 3 | dimension a (n) > | 1 > Error: Array ‘a’ at (1) is larger than limit set by ‘-fmax-stack-var-size=’, > moved from stack to static storage. This makes the procedure unsafe when > called recursively, or concurrently from multiple threads. Consider using > ‘-frecursive’, or increase the ‘-fmax-stack-var-size=’ limit, or change the > code to use an ALLOCATABLE array. [-Werror=surprising] > f951: all warnings being treated as errors > > I agree that the message is clear and I was able to follow the suggestion to > use an ALLOCATABLE statement, but I still wonder why you consider the program > unsatisfactory in the first place. I can understand (to some degree) why such > a large array is frowned upon, because one should economize on the size of > arrays. On the other hand, if the use of a large array makes the task of the > programmer easier, it should be allowed. Furthermore, an array size of > 1000000 elements or so is very small, considering the size of the RAM and the > disk available nowadays. > > I would be pleased if you have the time to respond and I would like to > express my appreciation again for the considerable effort that your group has > invested in the Fortran compilers over the years. > > Sincerely, > > Larry > > Lawrence J. Doctors > Emeritus Professor > Naval Architecture Program > School of Mechanical and Manufacturing Engineering > The University of New South Wales > Sydney, NSW 2052, Australia > Email: l.doct...@unsw.edu.au > Telephone: +61-2-9371 4158 >