2005 Archive | ||||||||
| December 31 | ||||||||
Another crazy year! Well, the nice thing about a blog is that it's possible to see where at least a large chunk of the year went. G95 has become quite stable, and bug reports are at the lowest level in years. The most common complaint these days has to do with downloads terminating unexpectedly, and I will be buying some commercial ftp space when I get back from the vacation. Lots of people have said nice things but Keith Refson wrote: "G95 is now not only a production-quality compiler but a benchmark in correctness for all other fortran compilers. Well done!". I have some other goodies that will be unveiled soon, and am heading home to Arizona. |
||||||||
| December 30 | ||||||||
Michael Richmond found a problem with the -fqkind= switch that has been fixed. Doug Cox has built some new windows builds. |
||||||||
| December 29 | ||||||||
Dale Ranta pointed out a fencepost error in the MVBITS intrinsic subroutine that has been fixed. John Harper found a problem in F0-style output where a leading zero digit was being printed when it should not have been. Vivek Rao pointed out that g95 has been listed in the Polyhedron Benchmarks. My philosophy of program development is to get the program working first, and make it fast later. Given the paucity of bugs lately, it looks like I'll finally have some time to work on some of the sloth. Julian Kateley sent in a crash on the TRANSFER intrinsic that has been fixed. Vittorio Zecca pointed out that the SPREAD intrinsic wasn't giving a nonconformant array assignment message under certain conditions. Fixed. |
||||||||
| December 21 | ||||||||
Doug Cox has built some windows builds.
I'm off for Christmas Vacation. As usual, access will be sporadic and irregular. I've currently got about four and a half pending bugs, not quite ZKB, but darn close. It's been another amazing year for g95. |
||||||||
| December 20 | ||||||||
Doug Cox has built some new windows builds. Sean Kennedy pointed out a typo in a warning message that has been fixed. Édouard Canot sent in a regression with module equivalences that has been fixed. John Reid pointed out a spurious used-but-not-set warning for derived types with default component values that has been fixed. Vittorio Zecca sent in a couple of problems, a crash on alternate returns and when misusing subroutines and procedures. Keith Refson reported that I didn't quite fix the problem with uninitialized memory yesterday. Got it fixed for real now. Keith also sent in a valgrind-found problem in the ADJUSTL() intrinsic. Fixed that and the analogous problem in ADJUSTR(). Brian Gregor pointed out some sloth in writing large files of unformatted direct files. I've think I've sped things up by about a factor of two in our tiny test program. James Beard sent in a mystery crash on FORALL that has vanished. |
||||||||
| December 19 | ||||||||
James Beard sent in a crash on PAUSE when recursive I/O was happening. Got that fixed now. Frank Campbell sent in a regression on ENTRY statements that has been fixed. Joe Krahn sent in a crash on some invalid I/O statements that has been fixed. |
||||||||
| December 18 | ||||||||
Keith Refson sent in a using-unused-memory problem in the ASSOCIATED() intrinsic. |
||||||||
| December 17 | ||||||||
Jeff Whitaker has updated the fink package to the current version, eliminating a G95_COMMA bug that crept in under the wire last time. Harald Anlauf pointed out a module-related deficiency in the BIND(C) stuff that has been fixed. Doug Cox has build some new windows builds and gotten DLL's to work under mingw. |
||||||||
| December 16 | ||||||||
Rheinhold Bader pointed out some shortcomings of the BIND(C) stuff that has been remedied. Doug Cox has built some more windows builds and continues to enhance the DLL FAQ. |
||||||||
| December 15 | ||||||||
|
Doug Cox has built some new windows builds, and made some corrections to the DLL FAQ. Doug has also included some new DLL tools in the cygwin package. Dominique d'Humières sent in a bug having to do with structure constructors that has been fixed. I've added some more F restrictions, making all function implicitly PURE. I've added some initial support for F2003's BIND(C) construct, allowing much easier C interoperability. Try it out! |
||||||||
| December 14 | ||||||||
Bruce O'Neel sent in a small glitch in the PRINT statement that has been fixed. Doug Cox has built some new windows builds. Andreas Pautz sent in a problem involving severe compiler sloth when compiling module equivalences, particularly a complex program involving hdf5 at the base level. Got this fixed now. Vivek Rao sent in a problem with unset pointer variables that has been fixed. Vivek also suggested -Wunused-target, which warns about local variables that have the TARGET attribute, but are never pointed to. I've added some more F restrictions against specific intrinsics. |
||||||||
| December 13 | ||||||||
Martien Hulsen sent in a problem with positioning opening files that has been fixed. Doug Cox has sent some updates to the DLL faq, and has built some new windows builds. Jean Vezina sent in a scalarization problem with allocatable arrays that has been fixed. |
||||||||
| December 12 | ||||||||
Doug Cox has built some new windows builds. Harald Anlauf and Doug Cox tried linking getuid() under MinGW and found that it does not support those calls. We've #ifdef-ed things so that these will return zero under MinGW. Doug also sent in a new FAQ on building .DLL's under windows. |
||||||||
| December 11 | ||||||||
Doug Cox pointed out a problem with the MinGW build that has been fixed. Terry Frankcombe sent in a problem with the IMPLICIT statement that has been fixed. Greg McGarragh and Vivek Rao sent in a problem with unused module procedures that has been fixed. I've added more F restrictions for IMPLICIT NONE statements, OPEN statements and type declaration statements. |
||||||||
| December 10 | ||||||||
James Beard sent me a Four Peaks gift card, so more free beers and cheese bread for a while. Thanks James! James sent in a misleading error that has been made more leading. Harald Anlauf pointed out that the getuid() and getgid() calls return something nonzero under cygwin, so I've changed the fortran wrapper to actually use those functions. It isn't clear what happens under mingw yet. Nick Yasko wrote a page for fortran OpenGL bindings. I've added the link to the docs page as well. John Harper pointed out the chapter and verse where the standard requires printing a minus sign in formatted output if the internal value is negative [f95: 10.5.1(3), f2003: 10.6.1(3)]. Traditionally, fortran libraries suppress the minus sign in formatted output if the output consists of all zero digits. It turns out this just isn't standard. I originally implemented floating point output this way, and got occasional complaints about differing output and without guidance from the standard was persuaded to make things compatible. However, the standard trumps tradition. Setting the G95_MINUS_ZERO environment variable to true will cause the traditional output to be produced. The borderline case, minus zero, is considered to be "negative" even though -0.0 == +0.0. Ian Gay sent in a crash regarding statement labels that has been fixed. Samson Assefa, Michael Richmond, Doug Cox and I have tracked down a bug in modules handling that turned out to be a bug in the new mingw. We've worked around the bug for now. Doug Cox also did some new windows builds. |
||||||||
| December 7 | ||||||||
Vivek Rao pointed out a misspelling in the documentation that has been fixed. Harald Anlauf pointed out that getgid() was missing on windows. It now returns zero, just like getuid(). Doug Cox has updated the G95 Manual, as well as building some more windows builds. I've added some more F restrictions dealing with labels. |
||||||||
| December 6 | ||||||||
John Harper sent in a problem with minus zero on the branch cuts of complex functions discussed recently on comp.lang.fortran. I've got sqrt() fixed for -0 on the negative real axis. Harald Anlauf pointed out that the GETENV() extension was only an external procedure. I've added it as an intrinsic extension as well. Bob Taylor sent in another problem with absolute pathnames under windows that I'm hoping is fixed now. Bálint Aradi sent in a problem with continuation lines that has been fixed. Walt Brainerd cleared up a problem with an F restriction on constant format strings. I've also added restriction on END statements and DO statements. |
||||||||
| December 5 | ||||||||
Doug Cox has built more windows builds. |
||||||||
| December 3 | ||||||||
Added more F restriction involving format strings, format descriptors, function types, Gavin Salam sent in a memory leak associated with allocatable arrays that has been fixed. Angelo Graziosi pointed out that the default for G95_CR (carriage returns as a record marker) should be off for cygwin, but on under mingw. Got this fixed now. |
||||||||
| December 2 | ||||||||
Jens Bischoff and I have been exchanging some mails regarding the default action for opening files under windows. Windows has read-only attribute that now causes the default action to become READ instead of READWRITE. Albert Reiner sent in a crash on misusing host-association that has been fixed. Dominique d'Humières pointed out a regression in logical expression that is a result of making -fshort-circuit the default. Got this fixed now. Continuing on with the F restrictions, I've added restrictions on subroutine formal arguments, PROGRAM statements, construct names on SELECT, ELSE WHERE and ELSE IF, type names on END TYPE statments, Doug Cox has built some new windows builds. Kris Kuhlman pointed out an unimplemented constraint on FORALL statements that has been added. |
||||||||
| December 1 | ||||||||
Joost Vandevondele, Keith Refson, Michael Richmond, Juha Ruokolainen, Charles Rendleman and Joe Koski reported a crash from a really dumb mistake I made last night. Did a morning build to fix this. Doug Cox built some new windows builds, then rebuilt them to avoid the above bug. Continuing on Walt's F restrictions, I've added restrictions for BOZ constants, real and complex constants, double precision statements, external statements, and IF-statements. Several existing constraints have been improved. Harald Anlauf pointed out that the unix getgid() intrinsic extension hadn't been implemented. I've added it now. Arthur Gilmour sent in a subtle problem with ENTRY statements that has been fixed. Thomas Ericsson found a nasty bug that I tracked deep into the gcc back end. I ultimately lost its scent, so we've forwarded a bug to the gcc people. |
||||||||
| November 30 | ||||||||
Jeff Whitaker has updated the fink build to the current version. Walt Brainerd sent in a slew of unimplemented F restrictions. I've added restrictions against the PAUSE, CONTINUE, ASSIGN and GOTO statements, logical SELECT statements, alternate returns and arithmetic IFs in F mode. Many more to come. Bill McLean found a problem where an out-of-bounds array section wasn't being reported. Got this fixed now. Joost Vandevondele pointed out that default of not short-circuiting the logical operators was causing a serious slowdown. I've made short-circuiting the default. Michael Richmond found a problem with the common block alignment fix from last week-- arrays that were more than eight bytes long were being incorrectly aligned. Got this fixed now. |
||||||||
| November 29 | ||||||||
Doug Cox has built some new windows builds. Michael Sabielny sent in a problem with endfile records that has been fixed. Gethin Williams found a problem with commas in namelists associated with implicitly opened files that (I think) has been fixed. John Watts may have reported the same problem, we're not totally sure. Dominique d'Humières found a regression involving namelists and the F2003 decimal-point=comma enhancement. Norm Clerman reported success with his optical design program. The code was very dense f95 and is a serious milestone for g95. Peter Thomas sent in a crash on WHERE statements that has been fixed. Bob Taylor found a problem with include files under windows that has been fixed. |
||||||||
| November 28 | ||||||||
I'm currently reworking my internet connection. The firstinter.net address will continue to function for another month or so, but I have a new cablemodem/wireless access point router that I'm still learning how to use. I can't send things from the old email, but I'll have a new public address soon-- hopefully something at g95.org. |
||||||||
| November 24 | ||||||||
Joe Krahn pointed out that the signal() intrinsic extension couldn't take the SIG_DFL and SIG_IGN values for the handler value. Fixed. Dominique d'Humières found a problem with arrays of derived types containing arrays in namelists that has been fixed. Joost Vandevondele sent in a bug with BOZ constants that has been fixed. James Beard pointed out that (noncharacter) 64 bit variables were not being aligned to 8-byte boundaries in COMMON blocks. Got this fixed now. Keith Refson sent in a problem with scalarization that has been fixed. |
||||||||
| November 20 | ||||||||
Leonard Bradfield pointed out some places where debugging information wasn't quite correctly with respect to line numbers. Fixed these. |
||||||||
| November 19 | ||||||||
Harald Anlauf found a lingering problem with array constructors that has been fixed. Keith Refson sent in a regression with the SUM intrinsic on complex sums with a DIM= parameter that has been fixed. Julian Kateley sent in an invalid program involving pointer usage. I've added a warning for this that should diagnose this situation much more readily. Bill McLean found a crash in DATA statements that has been fixed. Jacques Lefrère requested implementing the F2003 decimal='comma' tag in opens, reads and writes. This causes real numbers to follow the European convention. I've also added a new environment variable, G95_COMMA. If true, decimal='comma' is the default behaviour instead of decimal='point'. This is contrary to the standard, but if you live in Europe, it will make things look nicer. Doug Cox and I exchanged some mail regarding the failure of posix-style path translation under cygwin. We've got a solution patched together now. The problem was originally reported by Bo Berggren and Hans-Georg Gustavsson. |
||||||||
| November 13 | ||||||||
Andy Nelson did some research on the default record lengths of other implementations. Based on that, I've bumped g95's default record length up to 1G. Jan van Oosterwijk sent in a problem with kind parameters that has been fixed. Doug Cox and I have been exchanging mails regarding a break in the build system under cygwin that has now been fixed. |
||||||||
| November 10 | ||||||||
Dylan Jayatilaka sent in a problem with assumed length character pointers that has been fixed. Francesco Teodori sent a crash on frame tracing that has been fixed. Joe Krahn sent in a problem with array constructors that has been fixed. Norm Clerman sent in a problem with WHERE masks having nondefault kinds that has been fixed. Andy Nelson and I exchanged a bunch of mails today regarding 64-bit object files on AMD64. Andy has some huge (2G+) arrays that were causing linker problems until an appropriate recompile of the library. I can unfortunately the necessity of four versions of the runtime library in the not so distant future. |
||||||||
| November 9 | ||||||||
Brian Swift pointed out that /dev/null couldn't be opened more than once. The standard prohibits this, but I've already made an exception for terminal devices, so I've extended the exception to include block special devices in general (under unix). Joost Vandevondele and Dominique d'Humières found a problem with nonstandard data statements that was causing the polyhedron benchmarks to fail. Fixed now. |
||||||||
| November 7 | ||||||||
Helge Avlesen, V. V. Zakharov, Dominique d'Humières and Michael Richmond pointed out that 0.0 wasn't being read correctly with the new floating point reader. The problem was actually translating the representation of 0.0 from the one used by the reader into the proper hardware representation, which is why the problem never showed up until the last minute. Got this fixed, and a special early build done. |
||||||||
| November 6 | ||||||||
Doug Cox and Dominique d'Humières found a problem with the patch for the F-mode that has been fixed. Joe Krahn found another problem with allocatable array components that has been fixed. Joe also found a problem with I/O units that has been fixed. I've added the new floating point reader. The new code guarantees correctly rounded input, as well as correct handling of infinities for all kinds of real numbers. The problems in this area were noted by Édouard Canot and John Harper. |
||||||||
| November 5 | ||||||||
Walt Brainerd sent in some patches for F that have been applied. You can configure g95 as an F compiler by using the --enable-F=yes during the configuration process. Adrian Z sent in a problem with array returns that has been fixed. Joe Krahn found a problem with allocatable array components that has been fixed. |
||||||||
| November 3 | ||||||||
Doug Cox has built new windows builds. Joe Krahn sent in a small patch that fixes a problem with the DTIME() intrinsic extension under windows. Joe also pointed out a pair of namespace problems, with win_ftruncate() and sub_big() that should not be public symbols. These are now private. Giovanni Bussi sent in a problem with stream I/O that has been fixed. Alan Greynolds and Norm Clerman found a problem with expanding parameter arrays in array constructors that has been fixed. Peter Blossey sent in a problem with vector subscripts that has been fixed. Lorenzo Pesce found a problem with ACHAR() that has been fixed. Joe Krahn pointed out a pair of highly misleading error messages that have been fixed, and a problem with Makefile generation that has also been fixed. |
||||||||
| November 2 | ||||||||
Francesco Teodori sent in a crash on FORALL that has been fixed. |
||||||||
| November 1 | ||||||||
Leonard Bradfield pointed out that gdb line numbers still weren't quite right, this time for IF statements. I moved the previous fix to a higher level and things word much better now. Christoph Jacob pointed out an inconsistency in X descriptor handling that has been fixed. |
||||||||
| October 31 | ||||||||
Mattias Ellert was linking a g95 program and a C program, and found an entry point to the runtime library that didn't cause an auto-initialization of the library. Got that fixed now. Christoph Jacob found a problem with statement functions that has been fixed. |
||||||||
| October 30 | ||||||||
Spent most of the day working on a replacement for the floating point input subroutines. Got it finished now, but haven't finished testing it enough. Reading floating point numbers is trickier than printing them because there is a vastly larger array possible inputs than outputs. The other little issue is that more numbers are printed than read, so testing is important. Doug Cox has built some new windows builds. |
||||||||
| October 29 | ||||||||
Gavin Salam pointed out a constraint on allocatable array components that hadn't been implemented. Ivo Houtzager sent in a HOWTO for running g95 with matlab under windows that has been added to the documentation. Brian Dushaw pointed out a bad link in the documentation on how to create unix matlab-MEX files. Got this fixed now. Greg McGarragh pointed out that the -Wunused-module-procs was being issued for specific procedures in an interface, even if the generic was being used. Got this fixed now. He also also suggested an option -Werror that transforms warnings into errors. Got this added now as well. Clive Page sent a nasty problem with F2003 stream access and reversion that has been fixed. Leonard Bradfield sent in a problem regarding do-loops and gdb that has been fixed. |
||||||||
| October 26 | ||||||||
Adrian Z. sent in a regression in dummy functions that has been fixed. Doug Cox has built some new windows builds. |
||||||||
| October 25 | ||||||||
David Kneis sent in a problem with the stat() extension under windows that has hopefully been fixed. Martin Divis sent in a problem with -fsloppy-char and assigned format labels that has been fixed. Joe Krahn found a problem with modules that has been fixed. Norbert Schorghofer sent in a brain teaser involving G formatting. The ultimate answer ended up being that the output was processor dependent, so anything goes... |
||||||||
| October 20 | ||||||||
Dale Ranta found a problem with G formatting and a scale factor that has been fixed. David Mozzoni pointed out that the link() extension remained unimplemented. Got this done now. Nick Yas'ko send a cool opengl sphere program compiled with g95. |
||||||||
| October 19 | ||||||||
Alexey Diligent sent in a problem with array constructors that has been fixed. Dominique Dhumieres sent in a problem with statement functions that has been fixed. Dominique also suggested implementing IEEE-style rounding within the compiler as a user option. I've implemented this with the -fround= option. The possible values are 'nearest' (the default), 'plus' which rounds to plus infinity, 'minus' which rounds to minus infinity and 'zero' which rounds towards zero. Paul Van Delst found a problem with large derived types that has been fixed. John Turner sent in a problem with zero-sized arrays that has been fixed. Vivek Rao and Andrew Howarth sent in a regressions with the used-but-not-set warning that has been fixed. Doug Cox has built some new windows builds. |
||||||||
| October 18 | ||||||||
Joost Vandevondele and Dominique Dhumieres pointed out an off-by-one error during floating point division that has been fixed. Pablo Rios pointed out that changing the comment header of modules slightly would make things easier for build tools that prevent module cascades. Got this made now. Larry Solheim sent in a problem with IFIX() that has been fixed, and a problem with reading big-endian files on little-endian machines that has been fixed. |
||||||||
| October 17 | ||||||||
Dominique Dhumieres pointed out an off-by-one error in real G formatting that has been fixed. Dominique also sent in a problem with the PRODUCT intrinsic that has been fixed. Helge Avlesen sent in a regression in the F formatting, where the F0.x wasn't being correctly handled. Fixed this as well. Michael Richmond sent in a regression involving printing runtime errors that has been fixed. Douglas Cox has built some new windows builds. Vivek Rao suggested a -Wunused-module-procs, which warns about unused module procedures similar to -Wunused-module-vars. These options are useful for crafting ONLY clauses. Added this now. John Harper reported that the new "good to the last bit" printing seems to work fine. Shockingly few regressions in this area. |
||||||||
| October 16 | ||||||||
The rewrite of floating-point formatting is done. Whew. This fixes problems noted by Dominique Dhumieres, John Harper, James van Buskirk and others about how output was rounded in the trailing digits in almost all of the floating point descriptors. Moral of the story-- double rounding is bad. The major change is in how list formatting is affected. The old version printed 7 or 15 digits depending on the kind. The new version prints the minimum number of digits necessary to express the binary number in decimal form. So printing "1.0" gives "1.", "0.1" gives "0.1" and so on. Much nicer. The original code is from a paper by Bob Burger and R. Kent Dybvig. Dominique Dhumieres sent in a problem with statement functions that has been fixed. Michael Richmond sent in a problem with printing runtime errors that has been fixed. Shirrell Buhler sent in a problem with EQUIVALENCE statements that has been fixed. I've also added a requested isatty() extension. Garry Willgoose sent in a problem with array pointers that has been fixed. Garrett Mandeville sent in a crash related to bad common blocks that has been fixed. Walt Brainerd sent in a problem with structure constructors that has been fixed. |
||||||||
| October 12 | ||||||||
Karl-Albert Breith sent in a problem with the SELECT statement that has been fixed. |
||||||||
| October 11 | ||||||||
Still working on FP formatting. Many bugs have been squashed. Things should be ready tomorrow. |
||||||||
| October 10 | ||||||||
Continued working on FP formatting. List formatting, E, EN, ES, F and G are all done, but aren't quite debugged yet. |
||||||||
| October 9 | ||||||||
I've been working on reworking the floating point printing, where several people have reported bugs. This has the potential to destabilize the current version of g95 for a few days. If you like running the bleeding-edge version, save a backup copy now. |
||||||||
| October 8 | ||||||||
Doug Cox, Gerald Cecil and Dominique Dhumieres reported a nasty bug regarding subroutines that involved a quick rebuild this morning. Dominique Dhumieres sent in a problem with rounding that has been fixed. Doug Cox has built some new windows builds. |
||||||||
| October 7 | ||||||||
Dominique Dhumieres sent in another problem with NEAREST() that has been fixed. Bil Kleb sent in a problem with intrinsic overloading that has been fixed. Andrew Howarth sent in a problem with the unused variable warning that has been fixed. |
||||||||
| October 5 | ||||||||
Dominique Dhumieres sent in a regression of NEAREST() on big-endian machines that has been fixed. Harald Anlauf sent in a bug regarding some truly disgusting f77 code that has been fixed. |
||||||||
| October 4 | ||||||||
Doug Cox has built new windows builds. Denis Brion reported that g95 "compiles and passes the checks successfully as the Fortran compiler for R (a statistical package, containing many F77 subroutines)". Dominique Dhumieres sent in a hopefully final regression with NEAREST that has been fixed. |
||||||||
| October 3 | ||||||||
Joe Koski reported success with Kevin McGrattan's Fire Dynamics Simulator. Cool. Or, rather, Hot. Joe has compiled this code over the last couple of months, and has seen a steady improvement in speed. Doug Cox has built some new windows builds. Jeff Whitaker has built a new fink package, based on gcc 4.0.2. Dominique Dhumieres pointed out the error of my ways with regard to the NINT() family. The philosophy statement at the head of the standard says that it doesn't specify rounding, but it turns out that the F2003 version of the standard does specify rounding. In particular, the tie-breaking is round-to-infinity. Fixed now. Dominique also sent in a regression with double precision SPACING() that has been fixed. Joost Vandevondele sent in a regression involving MAXVAL(), but really the part where it called HUGE() to get the maximum possible return value. Got this fixed now. For such a total rewrite, the regressions have been mercifully few. |
||||||||
| October 2 | ||||||||
The new floating point subroutines are in place. Dominique Dhumieres sent in a problem with the evaluation of ANINT() in the front end that has been fixed. I've decided to abandon the standard's definition of ANINT() and do a true round to nearest integer, instead of adding 1/2 and truncating the number towards zero. The definition leads to some extremely bizzare behavior, since adding 0.5 to NEAREST(0.5, -1.0) can give 1.0 after rounding, causing ANINT(NEAREST(0.5, -1.0)) -> 1.0! This one was originally reported by Joost Vandevondele some time back. Similarly, 8388608.0 + 0.5 can give 8388609.0 after rounding. Ties are broken by the usual round-to-even rule, so ANINT(0.5) = 0.0 and ANINT(1.5)=2.0. Other implementations ignore the craziness as well. Alan Greynolds and Doug Cox sent in a problem with statement functions that has been fixed. |
||||||||
| October 1 | ||||||||
Jeff Whitaker has update the fink build. Paul Thomas sent a patch that prevents a crash for recursively defined derived types. Applied. Doug Cox has built some new windows builds. I've rewritten a lot of the low level floating point handling from scratch. The current code is complicated and slow, and it's been replace with something much simpler and faster. The new code also anticipates extended real kinds. No build today. |
||||||||
| September 28 | ||||||||
Michael Richmond pointed out that the -w option (suppress warnings) didn't work. Got this fixed now. Udo Grabowski found a problem in the PACK intrinsic that has been fixed. He also reports that the KOPRA radiative transfer code, "the almost uncompilable monster" compiles with g95 and runs fine on x86/linux, ia64/linux and sparc/solaris. This code chokes other compilers. |
||||||||
| September 29 | ||||||||
Dominique Dhumieres sent in a problem with array I/O that has been fixed. Michael Richmond reported a problem with argument consistency checking that has been fixed. Michael and Doug Cox both tried g95 with the new gcc 4.0.2 on windows and both reported success. Doug has built more windows builds, based on 4.0.2. |
||||||||
| September 28 | ||||||||
Michael Richmond and Dominique Dhumieres sent in a problem with the new argument-checking code that has been fixed. John Harper sent in a spurious warning that has been removed. |
||||||||
| September 26 | ||||||||
Doug Cox has built some new windows builds. Paul Thomas sent in a problem with procedure references that has been fixed. John Harper sent in a regression with ENTRY statements that has been fixed. Mark Hesselink and Shingo Adachi sent in a different problem with ENTRY that has been fixed. |
||||||||
| September 25 | ||||||||
Doug Cox has built new windows builds. Jean Vezina sent in a problem with assumed length character variables that has been fixed. Dominique Dhumieres sent in a regression involving intrinsic actual arguments that has been fixed. |
||||||||
| September 24 | ||||||||
Chris Odell pointed out that the STAT() extension wasn't available on windows. I've added it. Dominique Dhumieres sent in a problem with ISHFTC() on OSX that has been fixed. Clive Page sent in a problem with BLOCK DATA originally from the gg95 group that has been fixed. |
||||||||
| September 22 | ||||||||
Doug Cox has built some new windows builds. Some changes to the memory manager has removed the need for the -Wl,--heap= option that has previously been necessary for people using lots of memory under windows. Dominique Dhumiere and Francois Bissey sent in a regression on OSX that has been fixed. Eric Kostelich sent in a problem with array constructors that has been fixed. |
||||||||
| September 21 | ||||||||
David Kneis sent in a TR15581 issue that has been fixed. |
||||||||
| September 19 | ||||||||
Sebastian Hegler sent in a cash on a FORALL that has been fixed, along with a problem with FORALL masks on OSX that has been fixed as well. Harald Anlauf sent in a problem on AIX that has been worked around. The root problem appears to be a subtle problem with the C compiler. |
||||||||
| September 17 | ||||||||
Jean Vezina sent in a problem with array specifications that has been fixed. Miroslav Dressler reports that the MODFLOW 2000 code works with g95. Leos Mervart sent in a problem with character pointer arrays in common blocks that has been fixed. Dominique Dhumieres sent in a problem with ISHFT() that has been fixed. |
||||||||
| September 15 | ||||||||
Doug Cox has built new windows builds. |
||||||||
| September 14 | ||||||||
Dominique Dhumieres sent in a problems with CSHIFT, EOSHIFT, and ADJUSTL that have been fixed. Yunkai Zhou pointed out a problem with compile-time bounds checking that has been fixed. Norm Clerman pointed out that I hadn't correctly fixed the problem with PURE procedures quite correctly. Fixed now. |
||||||||
| September 13 | ||||||||
Dominique Dhumieres sent in some problems with Bessel functions that have been fixed, as well as a problem with array formats that has also been fixed. Joost Vandevondele sent in a pair of regressions that have been fixed, one with the TRANSPOSE function, the other with DATA statements. |
||||||||
| September 12 | ||||||||
Vivek Rao sent a Four Peaks gift card (US $50.00) that I will enjoy. Vivek also suggested some small changes to the installation instructions that have been implemented. Michael Richmond sent in some regressions with the MIN and MAX family that have been fixed. Doug Cox has built some new windows builds. Charles Rendleman sent in another crash about array pointers in common blocks that has been fixed. Norm Clerman sent in a regression caused by yesterday's attempted fix to Van Snyder's problem with pure procedures. I think I've fixed the problem correctly now. |
||||||||
| September 10 | ||||||||
Michael Richmond sent in a crash on the RAND intrinsic extension that has been fixed. Charles Rendleman found a crash when array pointers were present in common blocks and block data blocks that has been fixed. Jean Vezina sent a regression with LBOUNDS/UBOUNDS that has been fixed. Van Snyder sent in a subtle problem with PURE procedures. I fixed a problem, which may or may not be his problem. Dominique Dhumieres sent in more problems with calling specific intrinsics as actual arguments that have been fixed. |
||||||||
| September 8 | ||||||||
Pierre St-Laurent sent in a problem with function declarations that has been fixed. Doug Cox has uploaded new window builds. Dominique Dhumieres sent in a crash on using intrinsics as actual arguments that has been fixed. Michael Richmond sent in a problem with not flushing units on program termination that has been fixed. |
||||||||
| September 7 | ||||||||
Bart Vandewoestyne and Paul Fons sent in a crash associated with the new -ftrace option that has been fixed. Peter Draper sent in the analogous optimization problem for arrays as yesterday's problem with scalars. Fixed as well. Michael Richmond sent in a problems with tracebacks that has been fixed. Walt Brainerd sent in a problem with tracebacks that may have been fixed. Not sure yet. Gavin Salam sent in a tricky TR15581 issue that has been fixed. Tyler Collins found a problem with ALOG10() that has been fixed. |
||||||||
| September 6 | ||||||||
Norm Clerman sent in a regression associated with the fix to Greg McGarragh's issue yesterday. All working now. Michael Richmond sent in a problem with the --help display that has been fixed, and a problem with the tracebacks and ENTRYs that has been fixed. Dominique Dhumieres sent in some problems with NEAREST() that have been fixed. Peter Draper sent in a problem with equivalence blocks and optimization that has been fixed. |
||||||||
| September 5 | ||||||||
Jeff Whitaker has updated the OSX fink package. Doug Cox has updated the windows builds. Mimo sent in a problem with the -fshort-circuit option and bounds checking on character substrings, analogous to the array bounds checking of a few days ago. Fixed. Dominique Dhumieres pointed out that the 2d x 2d MATMUL() wasn't using the best algorithm for traversing the matrices. The best one on current machines involves traversing the destination and one of the source matrices in stricly ascending memory order, while an element is plucked from the second, but remains constant in the inner loop. Got this one implemented now. It's much faster. Dominique also sent in a fencepost problem with TINY() that has been fixed, as well as a problem with exponentiation that has been fixed. Michael Richmond sent in a bug that hasn't been fixed. It involves equivalencing default integers and default reals on platforms with a 64 bit default integer. The standard says that both of these entities have to occupy the same amount of storage space. The bug hasn't been fixed because I haven't been able to think of a good solution to this dilemma. The hack-solution would end up still breaking code that depends on this sort of equivalencing, so there isn't much of an impetus to do something. Walt Brainerd (and others) have asked for a traceback capability in g95-compiled programs in abnormal termination conditions. I've added this now. You can compile with -ftrace=frame to get a call frame trace back, or -ftrace=full to get the line number of an exceptions. These options will slow down your code, full tracing more so than frame tracing. Greg McGarragh sent in a regression with PARAMETER simplification that has been fixed. James Van Buskirk posted a problem to comp.lang.fortran involving invalid kind parameters that has been fixed. We are still at ZBK... |
||||||||
| September 4 | ||||||||
Dominique Dhumieres sent in another problem with nested forall-where statements that has been fixed. Dominique also sent in a quality of implementation issue with real and complex exponentiation has been fixed. G95 has reached a major milestone: Zero Known Bugs. I'm sure that bugs do remain and that someone will smash this idyll soon, but the queue has been drained for the first time in years. Bugs aren't coming in at anywhere near the rate that they have in the past, so hopefully this situation will become the norm. |
||||||||
| September 3 | ||||||||
Bill McEachen sent in a problem with the WHERE statement that has been fixed. Joost Vandevondele sent some issues with ENTRY that have been fixed. Norm Clerman sent in a regression associated with defined assignment that has been fixed. Dominique Dhumieres reported a problem with scalarization, a problem with FORALL and a problem with SET_EXPONENT() and SCALE() that have been fixed. |
||||||||
| September 2 | ||||||||
Stuart Midgley had a mystery bug that has vanished. Jean-Baptiste Faure found a nasty interaction between the fortran include statement and C preprocessing that has been fixed. Michael Richmond sent in a problem with the DATE_AND_TIME intrinsic that has been fixed. Mimo sent in a problem with array bounds checking that has been fixed. Dominique Dhumieres sent in a problem with EXPONENT, FRACTION and SET_EXPONENT operating on denormalized numbers that has been fixed. Joost Vandevondele and Dominique also sent in a problem with nested WHERE statements that has been fixed. Kay Dewhurst has reported much success with the EXCITING density functional code. |
||||||||
| September 1 | ||||||||
Jacques Lefrere, Alan Greynolds, Javier Platas and Francois Bissey sent in a problems with WHERE caused by a total rewrite of WHERE handling yesterday. Got things fixed now. |
||||||||
| August 31 | ||||||||
Joost Vandevondele sent in a crash involving a regression with recursive I/O that has been fixed, and a problem with -fstatic that has been fixed as well. Joachim Geiger sent in a regression involving vector subscripts on the left side of an assignment expression. The fix involved deleting about a hundred lines of code. Tim Harries reported that the TORUS radiative-transfer code, 60k lines of "hardcore" f95 compiles and runs under both linux and osx. |
||||||||
| August 29 | ||||||||
Jos de Kloe sent in a spurious warning that has been fixed. Martien Hulsen found a problem with scalarization that has been fixed. Doug Cox built some new windows builds that are now up. Gyepes R. pointed out a regression with the MODULE PROCEDURE statement that has been fixed. Joost Vandevondele sent in a problem with masks in FORALL statements that has been fixed. |
||||||||
| August 28 | ||||||||
Joost Vandevondele, Dominique Dhumieres and Michael Richmond pointed out that the WHERE statement stopped working. I disabled it doing some debugging and forgot to re-enable it. Dominique also sent in a problem with MVBITS that has been fixed. Martien Hulsen, Dominique and Joost all sent in an evil forall that has been smitten or smited, whichever. Nick Yas'ko reported a problem with CPU_TIME() under windows ME. After looking at the docs, it looks like the underlying GetProcessTimes() call is not available under windows ME. I've made an attempt at returning a negative value in this case as the standard requires. |
||||||||
| August 27 | ||||||||
Clive Page pointed out a problem with the documentation page on one of the runing environment variables where the default endian was switched from 'big' to 'native'. Docs are updated now. Nick Yas'ko sent in a problem with sloth in MATMUL() that has been sped up. Jean Vezina sent in an issue with vector subscripts in DATA statements that has been fixed. |
||||||||
| August 26 | ||||||||
Jeff Gove reported successful compile and execution of the MATRAN matrix operations package. Joost Vandevondele, Dominique Dhumieres sent in a couple of problems with FORALL that have been fixed, at long last. Brian Taylor sent in a problem that I totally misinterpreted regarding kind specifications. I ended up fixing a totally different issue that no one has found to date (and never will, now). Doug Cox has built some new windows binaries that are now up. |
||||||||
| August 24 | ||||||||
Joost Vandevondele, Martien Hulsen, Dominique Dhumieres and Charles Rendleman sent in a regression associated with scalarization. This turned out to be the bug I was worried about last night, but it looks like it was only a single bug. Michael Richmond may have found the same problem but I am not sure and we are investigating further. Martien Hulsen also sent in a regression involving character function specifications that has been fixed. Alexander Poddey found a problem with character lengths not being correctly saved to modules that has been fixed. Yunkai Zhou reported a problem with the RANDOM_SEED intrinsic on amd64 with a 64-bit default integer. The size of the state vector wasn't getting handled properly. Got this fixed now. The state vector is 128 bits, so ends up being four words on a 32-bit default integer and two words on 64-bit default integer. Daniel Price sent in what is hopefully the last problem with nonadvancing I/O, hopefully all fixed now. |
||||||||
| August 23 | ||||||||
Andrew Beddall sent in half a dozen more typos in messages that have been fixed. Joost Vandevondele pointed out some sloth in sectioning arrays that has been fixed. Our test code now runs in half the time, other codes that do lots of array sectioning should be faster as well. I'm not sure how dramatic the speedup will be. Mark Hesselink sent in a regression that I though was fixed. Got it fixed for real now. Doug Cox has built new windows builds that are now up. He's also updated the manual to the current version. Juha Ruokolainen and Martien Hulsen sent in a problem with vector subscripts that has been fixed. The changes involved in this fix ought to that ought to speed things up, in programs that use vector subscripts, but I've probably introduced some regressions with this one. These changes will also facilitate some additional speedups that are planned in the near future. Upgrade with care... |
||||||||
| August 22 | ||||||||
Andrew Beddall sent in a typo in an error message that has been fixed. Giovanni Bussi and Norm Clerman sent in a regression with the USE statement that has been fixed. Michael Richmond sent in a problem with the GOTO statment that has been fixed. Wentao Sun sent in a regression with EQUIVALENCE that has been fixed. Dominique Dhumieres sent in a problem with array returns in ENTRY procedures that has been fixed. |
||||||||
| August 21 | ||||||||
Doug Cox has built new windows versions that are now up. Doug has also added some notes on compiling windows DLL that has been added to the documentation. Dominique Dhumieres sent in problems with DOT_PRODUCT and EQUIVALENCE that have been fixed. Mark Hesselink sent in a problem with structure constructors that has been fixed. Vivek Rao sent in a request for character constructors that has been implemented. |
||||||||
| August 20 | ||||||||
Michael Richmond sent in a couple of problems, I/O tags, intrinsic procedure arguments, the NEAREST intrinsic, a bad problem with PARAMETERs. All fixed. Joost Vandevondele sent in a tricky problem with equivalencing derived types with default initializations that has been fixed. Tim Jenness sent in a small patch for the SECNDS intrinsic to report fractions of a seconds. I ended up putting it in after some tweaking. |
||||||||
| August 19 | ||||||||
Doug Cox has build a new batch of windows builds. Michael Richmond pointed out that the mingw build didn't properly return the exit code to the system. Doug did some legwork and this is fixed now. Doug and I exchanged some mails involving a problem that Javier Platas was having. Javier is having a weird failure when compiling a very large program, so we are seeing if specifying more heap at link time will fix the problem. |
||||||||
| August 18 | ||||||||
Jan van Oosterwijk reports that the UTC offset under windows is now done correctly, even when the date is set such that DST is not under effect. Doug Cox and I finally found the problem that Jan reported a few days ago. It turns out mingw has a problem with jobs that return exit codes greater than one. Dominique Dhumieres reported a regression with DOT_PRODUCT() that has been fixed. Sander Niemeijer and Dominique Dhumieres reported the analogous problem that Sander and I found in ANY/ALL yesterday. Sander with SUM and Dominique with MAXVAL. All fixed now. Joost Vandevondele sent in a regression with ANY() that has been fixed. Nuno Bandeira sent in a mystery crash that has now vanished. Wentao Sun also sent in a mystery crash that I think is probably the ANY/ALL issue fixed earlier today. |
||||||||
| August 17 | ||||||||
Joost Vandevondele reported a simple case where DOT_PRODUCT was not unrolling the loop. A bugfix yesterday was a bit too broad, and I think the problem is fixed now. Joost also sent in some encouraging benchmarks of the polyhedron suite that show some speedups. Kay Dewhurst pointed out some shoddy error checking in the MINLOC() and MAXLOC() intrinsics that has been fixed. Norm Clerman sent in a regression involving the kinds of statement constructs in array constructors that has been fixed. Sander Niemeijer sent an elusive crash on the ALL() intrinsic that we are working on. It only seems to crash on his machine. After he built g95 himself and ran the debugger on it, I was able to find and fix some memory corruption. I hope that this will fix his problem. Doug Cox has compiled a new set of windows builds that are now up. Doug and I are also working on an issue sent in by Jan van Oosterwijk that kind of vanished and has now returned. Angelo Graziosi sent in pair of problems with DATA statements yesterday, only one of which I got done at that time. Got the other one now. Joe Koski sent in a crash that has been fixed. Vivek Rao requested F2003-style structure constructors. Added. An anonymous donor from the UK sent a small donation. Thanks so much whoever you are! |
||||||||
| August 16 | ||||||||
Vivek Rao reports that the rules for the gg95 newsgroup have been changed due to spam, most of which appears to be chinese. I am not making this up. Anyone can still read the messages, but you have to be a member to post. Bart Vandewoestyne sent in a regression involving the never used and never set warnings. Variables that are used in an array constructor iterator or data statement aren't really variables that are used or set, but the resulting warning is more confusing than helpful. Angelo Graziosi reported the analogous problem with DATA statements. Also fixed. Tim Jenness pointed out that string comparison was broken for strings containing a null. Got that fixed now. Martien Hulsen sent in a regression involving the recent loop unrolling that has been fixed. Martien reported a huge (4x!) speedup in his code. He uses DOT_PRODUCT() in inner loops. Michael Richmond sent in a tricky problem with TRANSFER() that has been fixed. |
||||||||
| August 15 | ||||||||
Doug Cox has build some new windows builds that are now up. Harald Anlauf and Stuart Midgley reported a regression with unrolling the SUM() of a complex expression. Fixed this and the analogous problem with PRODUCT(). Jan van Oosterwijk pointed out that the UTC offset of the DATE_AND_TIME() function was still incorrect under windows. I reread the docs, and realized that were pretty ambiguous. After googling around some more, I did find some clarification. It turns out that if you want to figure out the UTC offset under windows, you call the GetTimeZoneInformation() function, which tells you if you're currently under DST or not, and a structure that gives bias, and a number to add to the bias under DST, and a bias to add if not. Instead of just telling you what the UTC offset is. The sarcasm-laden comment on the page that explained this was "Yet another example of the striking elegance of the Win32 API". I hope this is fixed. Tim Jenness pointed out that the libg2c SECNDS() extension was missing. Added this now. Tim also pointed out that g95 was not like a lot of other implementation in regard to "typeless" constants. These are constants that convert like bit-pattern equivalence statements on assignments and since it isn't standard g95 has sort of wallowed back and forth. The 'X' constants are now always typeless and the -ftypeless-boz option makes BOZ constants typeless. |
||||||||
| August 13 | ||||||||
Tim Jenness and Refael Yaari sent in a regression with DATA statements that has been fixed. Tim also pointed out that it is semi-standard practice to name the blank common block _BLNK__ instead of _g95_blank_common. Renamed. Doug Cox send in a regression with reading complex numbers that has been fixed. Doug has also built some new windows binaries. Joost Vandevondele sent in a code that was probably from James Van Buskirk that was a sort of semi-circular specification expression. It looks circular at first glance but is not. Got this fixed now. I've made some speed improvements to the SUM(), PRODUCT(), ANY(), ALL(), MINVAL(), MAXVAL() and DOT_PRODUCT() intrinsics. Where possible, these are now implemented as loops rather than function calls, preventing time consuming creation of temporary variables that are used and discarded. If you like to use these in the inner loop of codes, they will be much faster now. Martien Hulsen was the first to report this, and many others have mentioned it since. |
||||||||
| August 12 | ||||||||
Jan van Oosterwijk reported a sign error in the timezone calculation for DATE_AND_TIME() under windows. Fixed now. Joost Vandevondele sent in a problem with statement constructs that has been fixed. Clive Page sent in a different regression associated with statement constructs that has been fixed. Tim Jenness pointed out that the __GNUC__ macro was not being defined. I've added this to the list of predefined macros defined by the C preprocessor. |
||||||||
| August 11 | ||||||||
Michael Richmond sent in a regression involving simplification that has been fixed. Brian Swift pointed out that the -frelative option appeared broken. I agreed and got rid of it. I've replaced the include search algorithm with something closer to what other implementations do. Renato Elias pointed out a problem with exponentiation on IA64 (and possibly other architectures) that has been fixed. |
||||||||
| August 10 | ||||||||
Hans-Wilhelm Bolloni sent in a problem with some too-strict checking for a derived type that has been fixed. James Van Buskirk sent in a program with a nasty, nasty specification expression that now compiles and executes correctly. James also sent in a problem with elemental dummy arguments that has been fixed, as well as a tricky circular specification that has been fixed. Georg von Hippel sent in a bug with RESHAPE() that has been fixed, and pointed out that other implementations allow only the real part of a complex number to be supplied on list input. I've added support for this. |
||||||||
| August 9 | ||||||||
Vivek Rao pointed out a bad link in the blog that has been fixed. Tim Jenness was wondering what LOC() returned on a 64-bit platform. It turned out to be a default integer, which is not a good idea. I've fixed things so that it returns a kind=8 integer on platforms with 64 bit pointers. Tim is also working on ways to enable creating a shared version of the runtime library. Hadi Tjandrasa sent in a problem with hexadecimal constants that I think I've fixed. Jeff Whitaker has updated the fink build to the current source. Jens Bischoff reported a library problem in HP-UX that has been worked around. Jimmy James reported a problem with direct-access I/O on Windows ME that Doug did some debugger work on. I think we have this fixed, and I have my fingers crossed. |
||||||||
| August 8 | ||||||||
Pablo Rios reported that CASINO, the Cambridge Quantum Monte Carlo code, now works with g95. Doug Cox has compiled new windows binaries that appears to fix the problem with creating multigigabyte files reported by multiple people. Vivek Rao sent in a typo on the blog that has been fixed. Joost Vandevondele sent in a problem with blank commons in modules that has been fixed. I've added a BYTE type, to be compatible with the common vax extension. Several people have requested this one. In a strict mode, you'll get a warning. Tim Jenness has been fiddling with compiling g95 as a 64-bit program in the sense of object file format. He's pointed out a small buglet in the build system that has been fixed. |
||||||||
| August 7 | ||||||||
Joost Vandevondele pointed out (new!) problem with nonadvancing I/O that has ben fixed. Joost also sent in a problem, originally from the gg95 list, that had to do with an exception for variables initialized with -freal=nan. On x86, the FP unit was doing the initialization, and it dutifully reported an exception when loading the not-a-number to initialize the variable. I've fixed the problem by using integer load-stores to initialize these now. Antonio D. sent in a problem with writing large files under windows. After Doug did some debugger work, I think we have the problem. |
||||||||
| August 6 | ||||||||
Alan Soper pointed out that the uninstall program was missing in the windows builds. Doug has added it back. Doug did some tracing of an I/O related crash on windows 98 boxes and I think we've found the cause of the crash there. Originally reported by Jimmy James. Walt Brainerd sent in some F restrictions on PUBLIC statements that have been implemented. Tim Jenness pointed out that libgcc_s wasn't being shipped with the binary builds. I've added these to the distribution. |
||||||||
| August 5 | ||||||||
Volker Typke sent in a pair of problems with allocatable arrays that have been fixed. The problemd dealt with printing and passing unallocated arrays. Joost Vandevondele sent in a re-re-regression in nonadvancing I/O that has hopefully been fixed for good now. |
||||||||
| August 4 | ||||||||
Doug Cox has done another windows build. Eric Kostelich sent in a problem with the RANDOM_SEED intrinsic that has been fixed. Joost Vandevondele sent in a regression dealing with nonadvancing I/O that has been fixed. |
||||||||
| August 3 | ||||||||
Ray Hixon sent in a problem with LBOUND that has been fixed. Joost Vandevondele sent in a problem with conformance checking through elemental functions that has been fixed. Harald Anlauf sent in another regression with the F descriptor that has been fixed. Michael Richmond sent in a regression with the DATA statement that has been fixed. There are still a couple of I/O regressions that I haven't been able to get rid of tonight. |
||||||||
| July 31 | ||||||||
Samuel Key sent in a problem with array sections that has been fixed. Douglas Cox built new windows versions. |
||||||||
| July 30 | ||||||||
Stefan Birner sent a nice note about the successful compile and execution of the nextnano3 package, a Schroedinger-Poisson solver for three-dimensional nano semiconductor devices, developed by the Walter Schottky Institute (TU Munich). Joost Vandevondele sent in a bug that we ended up throwing out into c.l.f. for opinions. It had to do with carriage control at the end of nonadvancing writes. The library originally segfaulted, but we've got it doing something reasonable without a fault now. Joost also pointed out that jump to the end of an IF construct, which is prohibited by the standard, is in fact harmless. These constructs now warn in strict mode and are accepted otherwise. Roland Schilling and Walt Brainerd sent in a regression having to do with parameter array sizes that has been fixed. Walt was using g95 to teach a class a Los Alamos National Lab. He said that it went great. It looks like one of his students found a bug having to do with the SIZE= tag in a nonadvancing read. Fixed now. |
||||||||
| July 29 | ||||||||
Dale Ranta sent in a problem with IARGC() under -i8 that has been fixed. |
||||||||
| July 28 | ||||||||
Ron McTaggart-Cowan pointed out a warning about clobbering the EBX register in the linux/x86 corefile resume. Although EBX is indeed clobbered, it doesn't matter in that part of the code. I've removed the warning by pushing and popping EBX. Peter Draper sent in a problem with assigning hex constants to real values that has been fixed. |
||||||||
| July 27 | ||||||||
John Reid sent in a problem with the ALLOCATE and DEALLOCATE stat variables that have been fixed. Doug Cox has completed the remaining windows builds with the fixed I/O code. People have reported success with the new version on windows 98. Doug also sent in a regression with INQUIRE that has been fixed. Dale Ranta and Michael Richmond sent more regressions associated with fixing the printing of X descriptors. Jack Howarth sent in the original problem. I think everything is fixed for everybody now. Joost Vandevondele sent in a regression with elemental conformance checking that has been fixed. Ian Gay sent in a problem where g95 was spewing a bunch of floating point numbers. It turns out that Ian had program named 'as' in the current directory that was causing the confusion. Ian also sent in a problem with stream I/O that has been fixed. |
||||||||
| July 26 | ||||||||
Charles Rendleman sent in a regression associated with the new generic Bessel functions that has been fixed. Peter Draper requested the FNUM() intrinsic extension. This takes a unit number and returns the operating system descriptor. Jimmy James and Don pointed out that the SetFilePointerEx() function isn't present on windows ME or 98. After some poking around on MSDN, I found out how to detect if it is present at runtime or not. Doug Cox did a bunch of legwork on this one. The MinGW build is up now and Doug is planning on the others tomorrow. Jos de Kloe sent in a pair of issues with the INQUIRE statement that have been fixed. Michael Richmond sent in a regression with a warning about using subroutines as a function that went away. Got it back now. Sourceforge appears to be having some difficulties with file transfers, so no builds tonight. Hopefully tomorrow morning. |
||||||||
| July 25 | ||||||||
Nuno Bandeira reported that the new windows I/O code is indeed capable of generating files well beyond two gigabytes, with no problems up to 10G so far. Hooray! Michael Richmond reported a nasty regression in format processing that was introduced yesterday. Roland Schilling found a problem with intrinsic simplification that has been fixed. Doug Cox has sent in an update to the status page that is now online. Dale Ranta sent in a problem with INQUIRE, -d8 and a mac that has been fixed. |
||||||||
| July 24 | ||||||||
Jack Howarth found a subtle bug in format processing that has been fixed. Rafi Yaari sent in a problem with dummy procedure arguments of statement functions that has been fixed. Rafi also pointed out that the Bessel functions were all specific extensions. I've generalized these to generics so that any real kind can be passed. Mathhew Halfant sent in a regression with defined assignment that has been fixed. Joost Vandevondele sent in some constraints on ENTRY statements which have been added. |
||||||||
| July 23 | ||||||||
Douglas Cox, Matthew Halfant and Kai-Uwe Eckhardt sent in a problem with opening file in REPLACE mode that has been fixed. Doug has compiled new windows binaries that fixed the REPLACE problem. Angelo Graziosi reported a problem with the Cygwin tarball that Doug fixed. Doug has also updated the G95 Manual. Jack Howarth reports total success with the xplor-nih code. The main problem was setting all-unbuffered I/O since it is a hybrid fortran/C that outputs on both sides at the same time. Mark Hesselink sent in a regression with interface blocks that has been fixed. Norm Clerman sent in a problem with FORALL under optimization that has been fixed as well as a regression associated with elemental conformance that has been fixed Joost Vandevondele sent in a pair of contraints on ENTRYs that have been added, a crash on generic procedures with alternate returns that has been fixed, an internal error on invalid ELSEWHERE statements that has been fixed. Joost also pointed out a spurious error dealing with assumed size arrays that has been fixed, a lousy error message in IMPLICIT statements that has been fixed, a constraint dealing with specifcation expressions, Mathhew Halfant reported a regression with defined assignments in a WHERE statement. The weird thing here was that this wasn't supported at all, and I suspect that a recent fix to WHEREs last week uncovered this particular problem. I've got this fixed now. |
||||||||
| July 22 | ||||||||
Doug Cox and I have finally resolved the windows difficulties. New builds are up, and the new I/O layer should have no problem creating files larger than 2G that the old layer had. |
||||||||
| July 21 | ||||||||
Joost Vandevondele forwarded a problem pointed out by Dick Hendrickson on c.l.f. involving defined assignment that has been fixed. Joost also sent a problem with a crash on a bizarre character function declaration that has been fixed. Doug Cox and I exchanged many mails through the day, trying to iron out the last bugs in the windows I/O code. We're real close but haven't quite gotten it yet. |
||||||||
| July 20 | ||||||||
Dale Ranta pointed out that the recently added error for block data variables not in a common block was a little severe. I've toned it down to a warning. Teodoro Laino found a problem with CEILING(X) and FLOOR(X) where 0<|X|<1 that has been fixed. This was in the compile-time evaluation, not runtime. Joost Vandevondele and Michael Richmond sent in a regression involving the re-resolution of use-associated procedures that has been fixed. Joost also sent in a problem with DATA statements that has been fixed. Douglas Cox, Michael Richmond and I exchanged a bunch of mails regarding the windows builds. We may have things fixed. |
||||||||
| July 19 | ||||||||
Joost Vandevondele and Paul Thomas sent in a constraint on specification expressions in PROGRAM units that has been added. Igor Chernyavskiy sent in a problem with CSIN() and CSQRT() under -r8 that has been fixed. Jack Howarth, among many others (Harald), pointed out that minus zeroes were not being printed correctly. My take was that if the number is negative, it needs a minus sign. The standard says no. I've decided to relent and print zero in a messed up fashion. Dale Ranta and Stéphane Guilloteau reported a regression related to the fixes in DATA statements the other day when the -i4 or -i8 flag was given. Fixed now. Hakan Lane sent some additional instructions for configuring MPICH that have been added to the howto page. Douglas Cox and I are working the window I/O code again. It looks like a parameter mismatch at the low level. We're continuing to investigate. |
||||||||
| July 18 | ||||||||
Jeff Whitaker has updated the OSX fink build to the current version. Harald Anlauf, Mimo, Michael Richmond found a regression involving passing arrays to intrinsics that has been fixed. Joost Vandevondele sent in a problem with user defined assignment that has been fixed. Stéphane Guilloteau found a problem with the -i4 option on AMD-64 that has been fixed. Joaquim Ballabrera sent in a regression involving array constructor arguments that has been fixed. Harald Anlauf pointed out that I didn't quite fix the printing of minus infinity. I hope it's fixed now. |
||||||||
| July 16 | ||||||||
Hugh McCutchen pointed out a regression in the scanner where g95 was no longer able to compile a file from standard input. This has been fixed. Joost Vandevondele sent in constraints on FORALL strides, elemental procedure arguments, MIN/MAX intrinsics, variable-length character functions, EQUIVALENCE statements, NAMELIST (fixed a bug there as well), DATA statements (two here), dummy procedures and the WHERE statement. Joost also found a problem that affected the ANY(), ALL(), COUNT(), CSHIFT(), DOT_PRODUCT(), EOSHIFT(), MATMUL(), MINLOC(), MAXLOC(), MINVAL(), MAXVAL(), PACK(), PRODUCT(), SPREAD(), SUM(), TRANSPOSE() and UNPACK() intrinsics. |
||||||||
| July 15 | ||||||||
Joost Vandevondele sent in a constraint on private module procedures returning derived types, a constraint on the PRESENT intrinsic, and a constraint on public interfaces that has been added. |
||||||||
| July 14 | ||||||||
Jos de Kloe sent in a problem with the INQUIRE statement that has been fixed. Michael Richmond sent in a regression for COMMON blocks that has been fixed. Bart Vandewoestyne found a problem with character parameters that has been fixed. Bart also pointed out a place where I loosened format checking a little too much. Michael Richmond sent in a used-set warning regression that has been fixed. Jack Howarth is working on porting the xplor-nih program, and has had some initial successes. Joost Vandevondele sent in a pair of additional constraints on assumed-length character functions, a constraint on DATA statements, a constaint on derived types, a constraint on parameter arrays, a constraint on ASSIGN variables, and a constraint on subroutine names that all have been added. Joost also sent in a regression involving subroutines that has been fixed. Harald Anlauf sent in a problem with F formatting of infinity that has been fixed. |
||||||||
| July 13 | ||||||||
Jeff Whitaker has updated the fink package to use the gcc 4.0.1 backend. Dawna Greening reported success with the solaris-opteron version of g95, running correctly as well as building. We are talking about a binary. Jack Howarth sent in a problem with the LOC() intrinsic that has been fixed. Pavel Sakov sent in a problem with the GETARG() intrinsic extension that has been fixed. Joost Vandevondele sent in a constraint on character statement functions that has been added. Joost also sent in a crash on zero division in an array section stride that has been fixed, a crash on invalid vector subscripts, a problem with alternate returns, a pair of problems with structure constructors, a contraint on internal character functions, a constraint on alternate return specifiers, a problem with global symbols and a problem with block data units that has been fixed. |
||||||||
| July 10 | ||||||||
Joost Vandevondele pointed out that the libiconv problem in AIX has reappeared with all the new builds. This is fixed now. Joost also pointed out that the build instructions weren't completely updated, also fixed. Jack Howarth requested an external version of GETCWD() that has been added. Dominique Dhumieres reported an LAPACK speedup with the new backend. |
||||||||
| July 9 | ||||||||
Clive Page pointed out a problem with yesterday's stream writes. The file is only truncated for formatted writes. Got this fixed now. Jeff Whitaker has updated the OSX fink build. Haralf Anlauf requested an external version of ABORT(). Added this. Mark Hesselink requested a subroutine version of the UNLINK() extension on unix. Added this too. Gavin Salam sent in a problem with the implicit type of module procedures that has been fixed. Doug Cox and I have continued to exchange mail about the windows I/O code. We've managed to isolate what I hope is the last bug. GCC 4.0.1 was released a few days ago, and I've upgraded g95 to use it. This should fix a couple outstanding problems, in particular complex division, reported by Dominique Dhumieres, Pavel Sokov and Harald Anlauf. I've also added an OpenBSD port to the lineup. |
||||||||
| July 8 | ||||||||
Clive Page pointed out that stream writes should truncate the file at the end of the written record, just like sequential writes. Got this fixed now. Joost Vandevondele sent in a crash on the -fpointer=invalid that has been fixed. Joost also sent in a problem with operator overloading that has been fixed. Douglas Cox and I worked on a SCRATCH file problem, also reported by Michael Richmond. Not quite resolved yet. |
||||||||
| July 7 | ||||||||
Douglas Cox and Michael Richmond sent in a problem with IOSTAT under windows that has been fixed. Doug did some debugger work that flushed out the problem. Harald Anlauf requested implementing the F2003 IMPORT statement. Got this added now, it is not available in strict F or f95 modes. Joost Vandevondele sent in a crash on the -freal= option that has been fixed. He also suggested adding an -fpointer= option, which can be none, null or invalid. Added now. |
||||||||
| July 6 | ||||||||
Jos De Kloe pointed out a similar issue with FLUSH() that I've remedied with an external version. |
||||||||
| July 5 | ||||||||
Joost Vandevondele and Michael Richmond sent in some regressions with TRANSFER caused by yesterday's fix that has been fixed. The real difficulty here is the various conventions about which bit is "bit 0". Jos de Kloe sent in another spurious used-but-not-set warning that has been fixed. Jos also noticed the transition of GETARG() and IARGC() to intrinsics. These seem kind of special, so I've added external versions. Matthew Halfant and Clive Page sent in a problem with stream I/O that has been fixed. Data was getting written more than once and that was messing thing up. Fixed now. Matthew's test code was actually a ray-tracing program, so it was really easy to tell that things worked just fine. Ben Robinson sent in a problem so bizzare that I don't even want to talk about it lest you, the gentle reader, try it. You can do it now, but my lips are sealed. |
||||||||
| July 4 | ||||||||
Henk Krus turned out to be the mystery donor. When I get the gift card, there is normally a place where a 'from' name is filled in. The omission appears to be a clerical error at Four Peaks. I did enjoy an nice Hefeweizen last night courtesy of Henk. Joost Vandevondele sent in a problem with ABORT() on AIX that has been fixed. Joost reports that his CP2K program, which is all in all a very dense code, appears to work on AIX. Joost also sent in a endianness problem with TRANSFER() an AIX that has been fixed. The problem would have also affected OSX, Sparc solaris and alpha platforms. Joost's last problem was an issue with mutually recursive module procedures returning arrays that has been fixed. Nicholas Girard sent in a mystery bug that seems to have been fixed recently. John Dormand sent in a regression with the WHERE statement that has been fixed. Jos de Kloe sent in a bug with the INQUIRE statement that has been fixed. Matthew Halfant found in a problem with MATMUL() that has been fixed. Bruce O'Neel (and others in the past) requested a way to initialize otherwise uninitialized variables for debugging purposes. After some though, I settled on a set of switches:
|
||||||||
| July 3 | ||||||||
Andrew Beddall sent in a problem with a spurious never used never set warning that has been fixed. Sebastian Hegler sent in a problem with GETARG() and -i8 under OSX that has been fixed. The bug didn't bite under little-endian x86. Joost Vandevondele and Haralf Anlauf pointed out continuing problems with the AIX build. The problem is the totally bizzare behaviour of libiconv, which is not present on AIX, yet is necessary. The gnu libiconv doesn't build a static object by default, yet creates a .a file with a .so inside of it. The link works, but if the target system doesn't have the .so, things don't work. Rebuilding with libiconv --enable-static produces a .a with .o files inside of it, but still has that .so file inside of it. Deleting the .so from the archive seems to work. Preliminary reports indicate success. Geert Jan van Olde sent in a mystery crash that seems to have mysteriously vanished. Some additional progress has been made on the windows-specific I/O calls. Hopefully we're only a few more iterations from a windows build that will work. I spent some more time on the build system. Moving the source to the build machines still wasn't reliable. I think it's working now. I've basically re-invented xmodem. Several considerations prevent using traditional file transfer protocols, port firewalling for example. John Harper sent in a problem with the MERGE intrinsic that has been dafixed. Norm Clerman sent in a problem with nondefault logical variables and optimization that has been fixed. A donor who prefers to remain anonymous sent a US $100 gift certificate for Four Peaks. Thanks so much whoever you are! |
||||||||
| July 1 | ||||||||
Michael Richmond sent in a problem with unit 0 (stderr) on windows that has been fixed. Joost Vandevondele sent in a regression for the fix to defined assignment the other day. It turns out that you cannot redefine assignment for most intrinsic types, but it is OK for intrinsic derived type assignment. |
||||||||
| June 28 | ||||||||
Jeff Whitaker has updated the OSX fink package. Matthew Halfant suggested adding the commonplace ACCESS='transparent' to be equivalent to ACCESS='stream'. I've added this, since it is commonplace already. Andreas Pautz sent a bug in the SIZE() intrinsic that has been fixed. Joost Vandevondele and Helge Avlesen pointed out that the AIX binary had libiconv linked statically but was not available on the ultimate systems that it was being run on. I've tried to link libiconv statically but that failed because the library was ultimately shared on the build system. We're seeing about getting a static library. Joost sent in a problem user-defined assignments within WHERE blocks that has been fixed. Joost also sent in a problem with operator overloading that has been fixed. Michael Richmond sent in a problem with attaching the DIMENSION attribute to scalar parameters. I didn't quite understand what the problem was, but Richard Maine explained it quite succinctly. His lucid explanation also explained the correct failure of another program that Michael sent in a while back that no longer has to be 'fixed'. Douglas Cox and David Miles sent all kinds of mail, in an effort to track down problems with the new windows I/O layer. Several bugs have been squashed and we hope to get some more tomorrow. |
||||||||
| June 27 | ||||||||
Did a bunch of overdue maintenance on the build system. The old version had a python program on every system that was run by the main build script that handled a lot of the details associated with building and upload g95. The problem with this setup is when the build agent had to be updated. Each system now has a 30-line program on it that basically downloads the python agent, compiles and runs it. This makes changing the agent program a snap, since now it only exists in one place. The loader programs is so simple that it will hopefully never have to be changed again. Part of what prompted this upgrade was a flow control problem on AIX that has been fixed with a little rudimentary windowing. |
||||||||
| June 26 | ||||||||
Douglas Cox, David Miles and I finally got the new windows I/O code to compile, now we're moving onto fixing the bugs. It looks like there aren't that many. AIX port completed. Charlier Zender and Dan Stromberg were instrumental in getting this done. Thanks guys! |
||||||||
| June 25 | ||||||||
Joost Vandevondele sent in a bug with variable length character returns that has been fixed. A second was a problem with the ASSOCIATED() intrinsic that has been fixed. Third was a problem with LBOUNDS and UBOUNDS of array sections. Michael Leonard sent in a problem with variable-length strings that has also been fixed. After many requests, I've added support for F2003 stream access. This allows a fortran program to read and write binary files without worrying about record structures. For example: character(len=5) :: a Reads five bytes directly from position 5 of the 'output' file. I/O can be formatted or unformatted. The INQUIRE statement has also been enhanced to add a POS= tag which returns the current position of the stream file, for a future READ or WRITE. This enhancement has been done many ways, but this is all standard F2003. |
||||||||
| June 24 | ||||||||
Vivek Rao ... sent in a problem with elemental assumed length character functions that has been fixed. |
||||||||
| June 23 | ||||||||
Karl Breith was having a problem with a permission denied problem on a scratch file. This looks like it was a problem with setting one of the environment variables G95_TMPDIR, TEMP or TMP to a null string. I've added a check to disregard null strings. Doug Cox and I are in a cycling through building the new windows code. |
||||||||
| June 22 | ||||||||
Alexander Hadjiivanov sent in a pair of problems with user-defined operators that have been fixed. Constraints were not being enforced. Mark Hesselink sent in a problem with character components of structure constructors that has been fixed. Jaroslav Hajek found a problem with vector subscripts that has been fixed. |
||||||||
| June 2 | ||||||||
Harald Anlauf sent in another problem with the module variables with default components that has been fixed. Dawna Greening reports that she has successfully compiled g95 for Solaris running on an AMD64. Testing is now proceeding. |
||||||||
| June 20 | ||||||||
Charles Rendleman sent in a problem with the -fintrinsic-extensions= argument where the getarg() subroutine was included in the list of extensions to include. Fixed now. Roberto Herrero sent in a problem with the module variable with default initialized components constraint. It was too broad. Got it trimmed with a little help from Joost. Joost Vandevondele sent in a constraint for FORALL that has been added. Doug Cox and I have started iterating on getting the large file support on windows going. |
||||||||
| June 19 | ||||||||
Matthew Halfant reported a stale link for the FMLIB library that has been updated. Joost Vandevondele sent in a missing constraint-- functions in FORALL mask statements have to be PURE. Joost also sent in a problem with passing assumed size arrays that has been fixed as well as checking both arguments to DOT_PRODUCT to make sure they are the same size. Nuno Bandeira pointed out that the windows version only supports 2G files. I've added large file support, but it isn't built yet. I've written some initial scaffolding for extended precision real types. |
||||||||
| June 18 | ||||||||
More work on the browser core. |
||||||||
| June 17 | ||||||||
Joost Vandevondele sent in an infinite recursion problem that was uncovered by a fix to derived type handling a couple days ago. Fixed now. Norman Clerman pointed out that the constraint requiring module variables that are derived types with default initialization to have the SAVE attribute also holds for variables with default initializations, which implicitly are SAVEd. Édouard Canot found a problem with the conversion of denormal numbers that I'm afraid has been fixed at least three times. I've taken some steps to try and ensure that this is the last. |
||||||||
| June 16 | ||||||||
Joost Vandevondele sent in a constraint on EQUIVALENCEs that has been added. Joost, Dominique Dhumieres, Michael Richmond, Alan Greynolds, Charles Rendleman and John Harper sent in a crash on a regression associated with yesterday's ELEMENTAL contraint that has been fixed. Édouard Canot pointed out that NEAREST(+inf, 1) should be +inf, and I've fixed this and the other analogous case. Charles Rendleman pointed out that using the -lSystemStubs switch on OSX systems to link object files compiled by programs other than g95. Roger Greatrex pointed out that the crt0.o file in the cygwin package ended up in the wrong directory. Douglas Cox has created a new cygwin binary and we're hoping this fixes a problem reported by John Dormand. |
||||||||
| June 15 | ||||||||
Paul Suckling sent in a crash on the NULLIFY statement that has been fixed. Paul also sent in another spurious warning about never used/never set that has been fixed. Michael Richmond and James Reid sent in a regression involving statement functions introduced yesterday that has been fixed. Joost Vandevondele pointed out the that actual sizes of arrays passed by procedures weren't being compared. G95 now generates an error if the array being passed is smaller than the actual array. Joost also sent in a constraint on module variables with default initialization that has been implemented as well as a conflict between the SAVE and RESULT attributes that has been added and a longstanding constraint on ELEMENTAL specification expressions. Édouard Canot and Joost also did a survey of how various implementations handle numeric overflow while reading a floating point number at runtime. Almost all the implementations generate an infinity. G95 actually cheats at the moment. It always reads doubles, then converts the doubles to floats if necessary. The result is that you get infinities on single precision overflows but an error on double precision overflows. I've read Clinger's paper forwards and backwards and have plans to fix this soon, when I start on support for extended and quad precision. Édouard also sent in a suggestion for the NEAREST() intrinsic that has been fixed. NEAREST() now works with exceptional IEEE values like infinities and not-a-numbers like you might expect. Charles Rendleman had an excellent suggestion regarding the problem with excluding intrinsics. Although -fintrinsic-extensions includes all of the intrinsics in a -std= mode, this still might be more baggage than some people want. His suggestion was the option '-fintrinsic-extensions=' followed by a comma-separated list of intrinsic extensions to include. So -fintrinsic-extensions=iargc,getarg includes the iargc() and getarg() intrinsics. |
||||||||
| June 14 | ||||||||
Alan Greynolds sent in a regression with ENTRY statements that has been fixed. Joost Vandevondele sent in a pair of regressions involving statement labels and statement functions that have been fixed. Joost also sent in a problem matching data transfer statements, having to do with the optional tags being present or not. I ended up doing a large rewrite of how these things work and then spent two hours fixing all the regressions. I think it's probably back to normal now. Keith Refson pointed out that the signal() extension didn't have a third argument that is accepted by most other implementations. The third integer argument is a flag that lets the user ignore a signal, set the default behaviour or install their own signal handler. Fixed now. Douglas Cox has built new binaries for windows. John Harper sent in a problem with internal character files that has been fixed. |
||||||||
| June 13 | ||||||||
Joost Vandevondele sent in a constraint against having dummy procedures in ELEMENTAL procedures that has been added. |
||||||||
| June 12 | ||||||||
I've written about 1200 lines of code this weekend for what will become the core of the long-planned source browser. Writing a lot of new code was a nice change of pace. |
||||||||
| June 11 | ||||||||
Jeff Whitaker has updated the fink OSX package. Michael Richmond, Alan Greynolds, Keith Refson sent in a problem with one of yesterday's fixes that went too far in direct I/O. Joost Vandevondele sent in a crash with pointer assignments in PURE procedures that has been fixed. |
||||||||
| June 10 | ||||||||
Added some MinGW compilation instructions that apparently got lost. Joost Vandevondele sent in a problem with the EOR tag, a problem with the SIZE keyword, a problem with NAMELIST I/O statements, a problem with the REC keyword, a problem with IOSTAT tags, a problem with namelists. All fixed now. John ZuHone reported that FLASH, a numerical hydrodynamics/N-body astrophysics code, works with g95. John also pointed out some difficulties with the IARGC() and GETARG() extensions, which were implemented as external extensions. This caused problems when the underscoring conventions is changed, so I've moved them into intrinsic extensions. |
||||||||
| June 9 | ||||||||
After talking with Paul Suckling, I've changed the default tick on the SYSTEM_CLOCK() to 100 microseconds from 10. As near as I can recall, I miscalculated the time required to overflow the clock. It was only six hours, and this change move the time to overflow up to 60 hours. Resolution of 10 microseconds is also probably not possible on most systems, so no big deal there. Paul also found an error with derived types and access specifications that has been fixed. Bart Vandewoestyne pointed out another problem with F and actual procedure arguments that has been fixed. Our spy at the Apple Developer Conference reports that g95 runs out of the box on x86-osx platforms. IRIX port |
||||||||
| June 8 | ||||||||
Paul Suckling pointed out that the SYSTEM_CLOCK() intrinsic wasn't rolling over correctly. Got this fixed for unix and windows. Joost Vandevondele, Wilfred van Rooijen, Bart Vandewoestyne, Michael Richmond, Ross Lippert, Charles Rendleman and Kris Kuhlman sent in a problem with array indices that has been fixed. This was a trip down what looked like a blind alley for a while, but it looks like things are back together now. Bart Vandewoestyne pointed out that F procedures don't require INTENT for a pointer argument. Fixed. |
||||||||
| June 7 | ||||||||
Rachid Benshila reported the successful compile and execution of the NEMO Ocean model on x86 linux and OSX. Aaron Schmidt contributed a HOWTO article for linking g95 programs with MATLAB. Ross Lippert sent in a problem with the CMPLX() intrinsic that has been fixed. Dominique Dhumiere sent in a variation on the twelve-days program that caused a crash. Fixed now. Jaroslav Hajek sent in a regression involving vector subscripts that has been fixed. Joost Vandevondele pointed out that F2003 MIN() and MAX() have been extended to character as well as numeric types. Added this. It's been an interesting night tonight-- I'm listening to a Bryan Adams/Def Leppard concert for free. They're performing live right across from where I live, and I can hear them perfectly by simply cracking my patio door... |
||||||||
| June 6 | ||||||||
Bart Vandewoestyne suggested the analog of -fintrinsic-extensions for the TR15581 extensions for allocatable arrays, not normally available in -std=f95 or -std=F modes. I've added an option -ftr15581 that enables allocatable arrays even in these modes. |
||||||||
| June 5 | ||||||||
Joost Vandevondele sent in a regression involving generic procedure resolution, involving the now-infamous interp 101. I think we have things working correctly now, with fingers crossed. Giovanni Bussi sent in a problem with C-preprocessing that has been fixed. #line directives were being treated as new files, not line changes. Dominique Dhumieres sent in a pair of crashes on entry statements that have been fixed. James Van Buskirk sent in a some problems with scalarization that has been fixed. A extra copy-out was being done that was not only unnecessary but messed up the results to boot. Mark Hesselink found some sloth in array constructor assignments that has been sped up quite a lot. |
||||||||
| June 4 | ||||||||
David Sagan found a problem with the NULLIFY() statement in fixed-form source mode that has been fixed. Tom Crane and Paul Suckling found (separate) spurious never-set-never-used warning that have been fixed. Alberto Garcia pointed out a problem in F mode where the OPTIONAL statement was not being matched. Normally, F does not allow these attribute declarations, but there isn't any other way for a subroutine procedure argument to become optional. I've fixed this in anticipation of a change in F. Bart Vandewoestyne pointed out that intrinsic extensions like SYSTEM() aren't available in the -std= modes, which are intended to be 'strict' modes. An option -fintrinsic-extensions has been added to make the extensions available even in these modes. Giovanni Bussi sent in a problem with long error messages that has been fixed. Daniel Price pointed out that the -Wunset-vars option had accidentally become a no-op. Got this re-enabled now. Aurelio Bay sent in a nasty problem with host-associated derived types being printed that has been fixed. Volkmar Klatt sent in a problem with concatenation and old-style character declarations that has been fixed. The machine used for building the alpha version has been taken out of service. Fortunately, I have another one available to me. |
||||||||
| June 3 | ||||||||
Joost Vandevondele sent in some more NULL() regressions. Hopefully this is the last of them. Bart Vandewoestyne and Walt Brainerd pointed out a discussion on comp.lang.fortran the thesis of which was that zero-sized array constructors aren't legal. I've fixed this now. Paul Suckling pointed out a regression in the corefile resume introduced two days ago. Got this fixed now. |
||||||||
| June 2 | ||||||||
Joost Vandevondele, Édouard Canot, Charles Rendleman, Dave Offiler sent in a problem with the NULL() pointer that was made worse a few days ago. Paul Suckling pointed out that SIGQUIT was being blocked for long-running jobs. I've fixed this problem for a few obscure cases, and am not sure if this is resolved or not. Michael Richmond sent in a problem with the LOC() intrinsic extension that has been fixed. Many people have brought up the fact that g95 computes the operand of .and. and .or. even if the value of the expression can be determined by only evaluating the first argument. The standard allows implementations to do this any way it wants, and I've set it to evaluate both operands because this is the "worst case"-- relying on short-circuiting can cause trouble. I've added an -fshort-circuit option that changes to the short-circuit behaviour. Jeff Whitaker has updated the OSX fink package. Daniel Price suggested warning for ONLY-variables that are never used or set. I've added that-- it's a great idea for keeping an ONLY-clause up to date. |
||||||||
| June 1 | ||||||||
Douglas Cox has built new windows binaries. Al Greynolds and Angelo Graziosi reported separate problems with the builds that have been fixed. Daniel Price found a problem with the F2003 intrinsic COMMAND_ARGUMENT_COUNT() when -std=f2003 was specified. I've fixed this and the analogous problem in GET_COMMAND_ARGUMENT(). Bill McLean sent in a spurious problem with the VALUE attribute that has been fixed. |
||||||||
| May 29 | ||||||||
Joost Vandevondele sent in a regression on pointer assignments of NULL() that has been fixed. Eric Kostelich sent in a pair of spurioues used-but-not-set warnings that have been fixed. |
||||||||
| May 28 | ||||||||
Michael Richmond requested the LOC() intrinsic extension. This won't work on platforms where the default integer has a different size than the pointer size. Michael also sent in a problem with the SIZEOF() extension which has been fixed. Joost Vandevondele sent a regression on functions returning pointer character arrays that has been fixed. |
||||||||
| May 25 | ||||||||
Tom Crane pointed out that old VMS and g77 libraries handle endfile records slightly different than the standard, allowing reading beyond endfiles. This is particularly helpful for reading multiple data sets from a terminal device where you can read end-of-file more than once. I've extended the existing G95_IGNORE_ENDFILE variable to cause re-reads from files that have read the end of file. Guilhem Bonnefille pointed out a bug in C preprocessing the #line directive that has been fixed. Guglielmo Pasa sent in several HOWTOs for compiling various packages with g95. The packages included LAPACK, ARPACK, MPICH2-1.0.1, BLACS, SCALAPACK, SUPERLU-3.0, UMFPACK, MUMPS-4.3.2, and AZTEC-2.1. Michael Richmond sent in a note concerning pass-by-value. I believe that I have the F2003 VALUE attribute correctly implemented now. Michael also sent in a regression with the PAUSE statement that has been fixed. |
||||||||
| May 24 | ||||||||
Joost Vandevondele, Michael Richmond and Alan Greynolds reported a problem with statement function introduced in last night's fix. Got everything working here now. Joost also sent in a problem with EQUIVALENCE statements that has been fixed. Stephane Guilloteau suggested an -i4 option on 64-bit platforms to force a default integers to be 32 bits. I've added this. John Harper pointed out a constraint for MODULE PROCEDURE statements that wasn't implemented and also pointed out problems with yesterday's fixes to the LOG() family on solaris which have been fixed. |
||||||||
| May 23 | ||||||||
John Harper reported some additional domain problems on solaris with log() and log10() that have been fixed. John sent in a crash on incorrect statement functions that has been fixed. Frank Muldoon sent in a problen with NAMELISTs that has been fixed. |
||||||||
| May 21 | ||||||||
Christopher Miller sent in a regression with the READ statement that has been fixed. Charles Rendleman sent in a subtle problem with the ALLOCATE statement that has been fixed. Joost Vandevondele sent in a regression having to do with host-association that has been fixed. |
||||||||
| May 19 | ||||||||
Édouard Canot reports the successful compile and testing of the HDF5 Hierarchical Data Format package. John Harper pointed out that ASIN on solaris still wasn't fixed. I've paid extra special attention to making sure it is complete now. Sheo Prasad sent in a problem with derived types in namelists that has been fixed. Joost Vandevondele sent in problems with host association and pointer assignment that have been fixed. Édouard Canot pointed out a problem with the pointer assignment fix that has been fixed. Dominique Dhumieres sent in a problem with EOSHIFT() with 64-bit default integers that has been fixed. The analogous problem has also been fixed in CSHIFT(). Dominique, among many others, have pointed out that using X'123' is a fairly standard extension. I don't like extensions where there is a standard way of doing things, but this one is pretty popular. I've added this in non-strict mode. Michael Richmond and Joost Vandevondele reported regressions with ENTRY that have been fixed. |
||||||||
| May 17 | ||||||||
Harald Anlauf reported a problem with recursive I/O when at least two of the units were internal units. Fixed. Paul Suckling pointed out a spurious used-but-not-set warning that has been fixed. John Harper pointed out that the fix to ASIN and ACOS on solaris the other days didn't work. It turned out to be a typo which is now fixed. Norman Clerman sent in a regression involving the shapes of parameter arrays that has been fixed. |
||||||||
| May 16 | ||||||||
Helge Avlesen had a addition for the .emacs file that allows emacs to find the next g95 error message in compile mode. The code is: ;; add g95 to compilation mode |


