The back end and libraries are now up for general testing on a variety of boxes and operating systems. The tarball is usually updated as the web page is. To download and install g95 on unix systems, run the following command (originally from Joost Vandevondele):

wget -O - http://ftp.g95.org/g95-x86-
linux.tgz | tar xvfz -

This will create a directory named 'g95-install' in the current directory. Run (or better yet make an appropriate symbolic link to) ./g95-
install/bin/i686-pc-linux-gnu-
g95 in order to run g95.

2006 Archive

December 31

Joost Vandevondele found a pointer regression that has been fixed. Lots of cruft was removed.

Vivek Rao found a subtle problem with zero sized arrays and the ANY, ALL, COUNT, MMLOC, MMVAL, SUM and PRODUCT intrinsics that has been fixed.

Angelo Graziosi pointed out that g77 does not propagate stop codes to the operating system like g95 does. I've added a G95_STOP_CODE environment variable, which if false, does not propagate the stop code. Manual is updated too.

Doug Cox has built some new windows builds.

I can't say that this year was wilder than the last for g95. G95 has calmed down by an awful lot, and is becoming increasingly more stable. It was about time! Happy New Year!

December 20

Vivek Rao pointed out a pair of typos that have been fixed.

December 19

Joost Vandevondele, Laino Teodoro, Dominique d'Humières, Doug Cox, Angelo Graziosi, Michael Richmond, Vladimir Zakharov, Dale Ranta, and Harald Anlauf pointed out a very nasty crash introduced when adding some new type-checking code last night. Got it fixed now.

Joost also pointed out that procedure pointer components of derived types weren't implemented. I've gone ahead and added these.

Procedure pointers are one of the most exciting parts of F2003. For example, one can pass a derived type variable to an integration subroutine that includes the limits of integration as well as the function being integrated, something awkward to do previously.

Doug Cox has built some new windows builds.

I am heading out for vacation tomorrow, with the usual sporadic network access. I have, however, got a ppp-over-udp vpn going that ought to make access a lot easier than in past years. (Plus all my relatives have broadband now!).

December 18

Anders Hogrelius reported success compiling g95 on alpha/netbsd.

Angelo Graziosi sent in a regression on the NOT() intrinsic that has been fixed.

Wolfgang Dobler pointed out a subtle problem writing namelists that has been fixed.

Joost Vandevondele pointed out a constraint in BIND(C) declarations that has been added. Joost also sent a crash on C procedure pointers that has been fixed.

December 12

Brian Gregor found a bug in overloaded assignment that has been fixed.

Doug Cox has built some new windows builds.

December 11

Doug Cox has built new windows builds. Doug also contributed a HOWTO entry on using g95 with scons.

Joost Vandevondele pointed out a check in C_F_POINTER that has been added.

Michael Kluskens pointed out that the powerpc osx build was still broken, despite some earlier attempts to fix it. Got it fixed for real now.

December 7

Brian Toby pointed out that the isatty() intrinsic extension was not working on osx/386. The problem was a configuration problem that has been fixed.

Vittorio Zecca found regressions with LBOUND/UBOUND simplification and declaration statements that have been fixed. Vittorio also isolated a problem with -i8 and intrinsics that returned logical values that has been fixed.

Lex Wennmacher has posted a NetBSD g95 package.

December 6

Doug Cox has built some new windows builds.

December 5

Reinhold Bader pointed out a problem with C interop that has been fixed.

Doug Cox has contributed a HOWTO for interface with SCILAB.

December 4

John Harper pointed out an actual/formal argument test that has been added.

November 30

Doug Cox has built some new windows builds.

Keith Refson pointed out some sloth in float-to-integer rounding. I've rewritten some assembler and sped things up by about 33% in this subroutine.

Vittorio Zecca sent in a pair of problems with structure constuctors and pure functions that have been fixed.

November 29

Doug Cox has built some new windows builds.

Víctor Gómez contributed a Spanish edition of the manual. It is now available for download.

Jiri Furst pointed out that the C_INT_FAST16_T and C_INT_FAST32_T parameters in the ISO_C_BINDING module should really be sizeof(size_t). Got this done.

Francisco Tsao pointed out that Debian packages of g95 exist. I've added the link to the links section.

Joost Vandevondele sent in a crash on functions returning C_PTR's that has been fixed.

Vittorio Zecca pointed out a subtle problem with memory corruption in common blocks that has been fixed.

November 21

David Duffy suggested how to implement isatty() under windows. I've gone ahead and implemented it.

Joost Vandevondele sent in a pair of crashes on invalid code that have been fixed. Joost found a call-by-value problem that has been fixed.

Robert Funnell pointed out a typo on the webpage that has been fixed.

Vivek Rao suggested extending -Werror to include a list of comma-separated warning numbers that should be errors. Got this implemented now.

November 20

Rheinhold Bader pointed out a spurious warning over pointer intents that has been fixed.

Doug Cox has built some new windows builds.

Víctor Gómez pointed out a couple more typos in the manual that have been fixed.

Robert Funnell pointed out an omission in the manual for the FNUM intrinsic extension that has been remedied.

November 15

Dominique d'Humières sent in a problem reading kind=10 reals where the problem values were greater than HUGE(0.0_10)/2. Fixed now.

Doug Cox has built some new windows builds.

November 14

Tobias Burnus/Joost Vandevondele pointed out a bug with the VOLATILE attribute that has been fixed.

Sophie Tyteca sent in a nasty problem with specification expressions that has been fixed.

Doug Cox has built some new windows builds.

November 13

Norm Clerman sent in a bug that bit on 64-bit architectures, but was not specific to 32 bits. The issue was character derived type components initialized with array constructors.

Tobias Burnus pointed out a dead link on the web page that has been updated.

Walter Spector sent in a crash in the MERGE() intrinsic that has been fixed.

November 9

Víctor Gómez pointed out a couple typos in the manual that have been fixed.

Doug Cox has built some new windows builds.

James van Buskirk sent in a crash on pointer initializations that has been fixed. James also pointed out that windows users would prefer the -fno-backslash option by default, since pathnames under windows typically have backslashes in them. Got this implemented.

November 7

Michael Richmond pointed out that the new IDATE intrinsic is not very portable across implementation. I've added a note to that effect in the manual. Use DATE_AND_TIME()!

November 6

Doug Cox pointed out a typo in the manual that has been fixed. Doug has also built some new windows builds.

Jan Mostert pointed out that the IDATE extension has not been implemented. Got this implemented now.

Jimmy James found a problem where INQUIRE/IOLENGTH was not returning the correct value for kind=10 reals. Got this fixed now.

Pablo Rios sent in a problem with character SELECT statements. The null string was being mistaken as a CASE DEFAULT if no default was present. Got this fixed now.

November 3

Vivek Rao pointed out that warning about unused variables had quit working. Got this fixed now.

November 2

Vivek Rao suggested an editorial change to the main page that has been implemented.

Vittorio Zecca sent in a problem with an illegal LBOUND/UBOUND reference that has been fixed.

November 1

Doug Cox built some new windows builds.

I uploaded the last of my wisdom teeth today. Didn't feel like doing much else.

October 31

Sven Buijssen pointed out a broken link on the web pages that has been fixed.

John Harper pointed out some more deficiencies of the manual that have been fixed.

Vittorio Zecca sent in a crash on an invalid DATA data statement that has been fixed as well as a missed constraint on dummy parameters as well as another on the ASSIGN statement. Vittorio also pointed out a problem with the DATA statement that has been fixed.

Joost Vandevondele pointed out some bogus warnings due to the arguments of GETLOG(), GETCWD() and HOSTNM() not being marked at INTENT(OUT). Fixed.

Doug Cox has built some new windows builds.

October 30

Vivek Rao sent in a regression in the F2003 array constructors, that has been fixed yet again.

John Harper pointed out that the error and Bessel functions, plus a couple other, are actually generics. The manual has been updated.

Andreas Wolf found a subtle crash on some invalid code that has been fixed.

Édouard Canot pointed out an error message that wasn't pointed exactly at the error. Fixed.

October 28

Doug Cox has built some new windows builds.

October 27

John Harper pointed out that that the ALGAMA intrinsic is actually a generic function. I've corrected the manual, for this as well as for GAMMA.

John also found a problem with floating point input that has been fixed. Numbers that were too small to be represented as even a denormalized number were not underflowing to zero. Fixed as well.

Dominique d'Humières found a separate problem with denormalized kind=10 reals that has been fixed as well.

Dominique also sent in a problem with DINT() that has been fixed.

Doug Cox has build some new windows builds.

October 26

Matt Cross found a real number that wasn't being converted quite correctly (text to binary). Turned out to be an overflow deep within the conversion routines. Fixed now. The number was very cleverly contrived, and the overflow only happens in the wild with using more than enough digits to specify a number, with a probability of 1 in 2^64.

October 25

Dominique d'Humières and Alan Greynolds sent in (separate!) regressions having to do with last night's slug hunt. Got both of these fixed now.

Vittorio Zecca pointed out a problem with the SCAN() intrinsic that has been fixed.

Frank Schmidt found a problem with the array constructor revamp that has been fixed.

Martin Dix sent in a subtle problem with logical variables under -i8 that has been fixed. In burst of pure insanity, gcc apparently generates code that assumes that a logical variable not equal to one is "false". Arghh.

Doug Cox has built some new windows builds.

October 24

Al Greynolds found a regression in array constructors that has been fixed. I found another one myself that has similarly been fixed.

Joe Krahn pointed out a slug with character variables that has been optimized. The proportion of slugs to bugs is quite high and I intend to devote more time to the slugs in the future.

Norm Clerman sent in a potential bug that (I believe) is a bug in the NAG compiler instead.

Doug Cox has built some new windows builds.

October 22

John Fulton pointed out some outdated constraints on passing derived types by value that has been fixed.

Vivek Rao pointed out some F2003 constructor syntax that has been implemented. Dominique d'Humières sent in a last-minute regression concerning this.

Doug Cox has built some new windows builds.

October 21

Helge Avlesen sent in a regression of dummy procedures that has been fixed.

Sven Buijssen sent in a bug with dummy procedures that has been fixed.

Doug Cox has built some new windows builds.

François-Xavier Coudert and Dominique d'Humières pointed out a problem with the MERGE() intrinsic that has been fixed.

Several people reported problems with viewing the site from the www.g95.org address, while the g95.sourceforge.net was still working. The problem appears to be a sourceforge issue. I am working on making www.g95.org a separate website that is kepy synchronized with the older g95.sourceforge.net.

October 19

Dominique d'Humières, John Dormand and Nick Yasko pointed out a regression in LBOUND/UBOUND that has been fixed.

Joost Vandevondele sent in an addition to the manual on the random number generator that has been added.

I've added a new forward to the manual, and put the manual and its source in a new place on the downloads page. The new manual is also now being distributed with the nightly builds. This has been the case for the windows builds for a while now.

October 16

Joost Vandevondele pointed out a bug in yesterday's implementation of intents for pointers that has been fixed.

October 14

Doug Cox has built some new windows builds.

October 13

Francisco Fadrique sent in a crash on some invalid code that has been fixed.

Doug Cox has built some new windows builds.

Vittorio Zecca pointed out an example of a corrupt unformatted sequential file that caused a seg fault. This has been fixed to crash gracefully now.

Damian Rouson pointed out that the INTENT's of pointers are allowed in F2003, and I've implemented this. The INTENT applies to the value of the pointer, not the thing being pointed to.

October 12

Brooks Moses came out with a brain teasing standards question involving allocatable structure components that has been fixed.

Joost Vandevondele pointed out a warning that was not worded very well, fixed.

Tobias Burnus, Joost Vandevondele, Doug Cox and Angelo Graziosi sent in a pair of problems with formatted stream I/O that have been fixed.

Bil Kleb suggested an improvement to an error message that has been implemented.

Vittorio Zecca sent in a problem with interfaces that has been fixed.

October 8

Joe Koski, Michael Richmond, Joost Vandevondele and Angelo Graziozi pointed out a regression with statement function matching that has been fixed.

Doug Cox built some new windows builds.

Dominique d'Humières found a problem with denormalized numbers and SCALE that has been fixed. Dominique also sent in a problem with dummy intrinsic procedures that has been fixed.

Vittorio Zecca sent in a problem with SELECTED_REAL_KIND() that has been fixed.

October 6

Michael Richmond, Dominique d'Humières, Joost Vandevondele, Norm Clerman, Joe Koski, Noam Ganot, John Bray reported a nasty regression that has been fixed.

Doug Cox has built some new windows builds.

October 4

Doug Cox has built some new windows builds.

Scott Palmtag pointed out a spurious warning about never used variables that has been fixed.

Dominique d'Humières sent in a problem with the LEN intrinsic that has been fixed.

October 3

Kris Kuhlman pointed out a bad error message when reading a too-large number (within the compiler) that has been fixed.

October 2

Doug Cox has pointed out a problem with the manual that has been fixed.

September 29

Doug Cox has built some new windows builds.

September 27

Michael Richmond pointed out a problem with building under windows that has been fixed.

Doug has built some news windows builds.

Allen Barnett found a bug in free-form character reads that has been fixed.

September 25

Dominique d'Humières pointed out a subtle problem with G formatting with a scale factor that has been fixed.

Allen Barnett found another two bugs with zero sized arrays. It looks like there were three bugs total, two of which were cancelling each other out. All squished now.

Doug Cox has built some new windows builds.

Joost Vandevondele sent in a patch for the downloads page that added some quick links to the various sections. Applied. Joost also pointed out that the terminal width wasn't being detected, messing up the format of error messages when there was no terminal. Got that fixed now.

Joost also pointed out an error message where the error indicator was not pointing to the thing being complained about that has been fixed. Finally, Joost had a problem where g95 was not reporting a subtle error in contained program units. The discussion spilled into comp.lang.fortran, where I thought I caught the Godfather in a rare mistake. It was not to be, and g95 has been fixed.

September 22

Dominique d'Humières, Angelo Graziosi, Joost Vandevondele, Helge Avlesen, Allen Barnett, Michael Sabielny, Michael Richmond and Doug Cox pointed out a nasty regression that slipped in when I was trying to do too much at once.

September 21

Allen Barnett sent in a subtle problem with zero sized arrays that has been fixed.

Joost Vandevondele pointed a problem with error pointers that has been fixed.

September 20

Michael Richmond pointed out some text in the compilation notes page that have been updated.

Doug Cox has built some new windows builds. Doug also pointed out a pair of typos in the manual that have been fixed.

J. K. Dewhurst pointed out that -fone-error wasn't working correctly with the -Werror options. Got that fixed now.

Kalevi Suominen sent in patch that works around an alignment problem on netbsd. Applied.

Joost Vandevondele sent a pair of crashes on the new -fc-binding option that has been fixed.

Bill McLean pointed out a shortcoming of -fc-binding that has been fixed.

Allen Barnett and Pere Constans sent in a regression with dummy procedures that has been fixed.

September 18

Martien Hulsen pointed out a constraint on elemental procedure arguments that had been omitted. Got this fixed now.

Dominique d'Humières found a crash on dummy procedure arguments that has been fixed.

Michael Gilbert pointed out some possible confustion in the version numbers with the stable and unstable versions, so I have bumped the version number to 0.91.

Doug Cox pointed out a typo in the manual that has been fixed, as well as pointing out that the version number needed to be updated in the manual as well.

Bill McLean suggested an option to print out C prototypes of functions to ease interop. It's activated with the -fc-binding switch. Implemented.

September 15

Doug Cox has built some new windows builds.

September 14

Roland Schilling pointed out a typo in the manual that has been fixed.

Doug Cox has built some new windows builds.

Angelo Graziosi reported a problem with command line arguments on cygwin that we were able to reproduce, but then mysteriously vanished.

Jean Vezina sent in a pair of problems one with printing complex numbers when DECIMAL=COMMA, and another involving initialization expressions that have been fixed.

Dominique d'Humières found a code that failed to compile on x86/OSX, barfing on assembly instructions. After some research, it turns out that the version of gas that Apple uses is 1.38, which is about 15 years old and does not support some intructions. We expect a new version of cctools to appear soon.

September 13

Dominique d'Humières pointed out a regression with dummy procedures that has been fixed.

Doug Cox pointed out a typo in the new draft of the manual that has been fixed.

Michael Richmond, Martix Dix and Joost Vandevondele pointed out that Norm Clerman's crash from yesterday still wasn't fixed. Unfortunately, it all worked fine on my (now venerable) pentium 3. Joost and I exchanged a couple mails and tracked the problem to trying to set the SSE control word.

The origin of this problem was detecting overflow during exponentiation on OSX/386, which uses the SSE unit to do the math. I ran a speed test comparing exponentiation using the SSE unit with x87, and the x87 is 25% faster, and delivers a more accurate result because the intermediate quantities are carried to 64 bits in the mantissa. So the solution is not to bend over backwards for the SSE unit, but rather use the x87 for exponentiation where it is available.

The last of the regular build machines are back online.

Doug Cox has built some new windows builds.

September 12

Norm Clerman pointed out a crash in fpu setup on x86 that has been fixed. The 'MMX' fix from a couple days ago, is really an 'SSE' fix.

Vittorio Zecca sent in a constraint on PURE procedures that wasn't quite broad enough. Fixed.

Martin Dix sent in a problem with array constructors in -i8 mode that has been fixed.

John Bray pointed out that printing floating point numbers still had one floating point instruction in it. Since changing the rounding mode could change the representation of the number being printed, I've removed that particular product, replacing it with integer scaling.

September 11

Doug Cox has built some new windows builds. Doug also sent in some edits to the manual which have been added.

Joost Vandevondele suggested some text for the manual that has been added.

Jack Hammond suggested a clarification on the web page that has been added.

Vivek Rao suggested a -Wunused-internal-procs warning that warns about never-used internal procedures.

September 7

There was some discussion on gg95 about the -time option not working on some platforms. I've added a blurb to this effect in the manual.

September 6

Bill McKie pointed out that x86/OSX wasn't trapping overflows during real exponentiation. It turns out that OSX uses the MMX unit to do exponentiation instead of the x87. So I added code to set the bits for MMX traps. Not only does the MMX exponentiation use about six times the code that the x87 uses, but it turns out that OSX doesn't handle traps from the MMX unit correctly either, reporting only a generic floating point exception. To add insult to injury, it takes about 3/4 of second (!) to process a floating point exception on OSX, be it x86 or powerpc.

Dominique d'Humières pointed out an uncaught syntax error in character variable declarations that has is now caught.

Doug Cox has built some new windows builds.

Vittorio Zecca pointed out a couple of nits in the manual that have been fixed.

September 5

Nick Yasko found an incompatibility in module files between unix and windows that has been removed.

Doug Cox has built some new windows builds.

September 4

Doug Cox pointed out a couple issues with the manual that have been fixed.

Nick Yasko has done some work on the f95 opengl bindings.

Francisco Fadrique pointed out a problem with generic procedures that has been fixed. Improperly using these is now correctly detected, preventing a later crash.

Noam Ganot pointed out a problem with complaints about unused types that has been fixed.

I've added some additional material on using the F2003 C interoperability features to the manual.

Bill McLean contributed some text for explaining how smart compiling works that is better than what was already in the manual, and a HOWTO for calling g95-compiled programs from Python. Python is my favorite language, as long as it isn't numerical programming.

Dominique d'Humières sent in a regression regarding module procedures that has been fixed.

Dan Platt send in a crash on PROCEDURE declarations that has been fixed.

September 1

Dominique d'Humières went over the manual with a fine-tooth comb and found almost a dozen issues that have been fixed.

Doug Cox has built some new windows builds. I've gotten a couple of the build machines back.

August 31

Dominique d'Humières pointed out some typos and omissions in the manual that have been remedied.

Michael Richmond found some problems with the build instructions that have been fixed/updated.

Robert Lüders found a typo in the manual that has been fixed.

Simon Geard pointed out a couple of bad linebreaks in the manual that have been altered.

Brooks Moses found a nasty problem involving statement constructs that has been fixed. (Forwarded by Dominique d'Humières). Doug Cox has built some new windows builds.

Current draft of the manual.

August 30

Karl-Albert Breith found a situation where returning a multidimensional character array caused a problem. Got that fixed now.

Michael Richmond pointed out some old version numbers in the compilation instructions that have been updated.

Doug Cox pointed out some typos in the manual that have been fixed.

August 29

Pavel Vagner pointed out a case where generic resolution of procedures with dummy procedure arguments wasn't quite right. Got this fixed now.

Joost Vandevondele and Doug Cox sent in errors in the manual that have been fixed.

Doug Cox contributed a HOWTO for the SciTE package.

More manual labor. Here is a temporary link to the new draft of the manual. It isn't done yet, several things are still missing, but I'd appreciate comments.

August 28

More manual labor.

August 25

Doug Cox has built some new windows builds.

Joe Krahn-- A dozen of my mails bounced from you this afternoon, the oldest was from about six weeks ago. I didn't mail you because I'm not sure it would work...

August 24

Joost Vandevondele pointed out another screwy message that has been improved.

Doug Cox has built some new windows builds.

Much more manual labor today. Things are much tighter, many inaccuracies have been removed.

August 23

Joost Vandevondele pointed out a cryptic error message that has been improved.

Paul Fleurat-Lessard sent in a problem with TRANSFER() that has been fixed.

More manual labor today. I should have something tomorrow or the day after.

August 22

Lots of manual labor today.

Doug Cox has built some new windows builds.

August 21

Wolfgang Dobler pointed out an error that wasn't pointing to the problem. Got this fixed now.

Michael Richmond has updated the HPPA-linux build.

Doug Cox has built some new windows builds.

August 20

Refael Yaari sent in a bug that had to do with the aliases of intrinsic functions. If there was more than one alias, things got messed up. Fixed now.

Doug and I have been working on the manual, slicking it up.

August 17

Doug Cox has built some new windows builds.

August 16

Vivek Rao pointed out some typos in the blog that have been fixed, as well as a missed warning that was being suppressed by array constructors that has also been fixed.

John Bray sent in a regression involving statement functions that has been fixed.

Michael Richmond contributed a g95 binary for HPPA processors running linux.

August 15

Doug Cox has made some improvements to the manual.

Dominique d'Humières and Doug Cox pointed out a problem with formatted stream I/O that has been fixed.

Michael Richmond pointed out a problem with aligning doubles on certain architectures-- hppa, sparc and mips that has been fixed.

August 12

Vittorio Zecca pointed out a pair of subtle pointer problems that have been fixed.

August 9

Doug Cox has built some new windows builds.

John Reid pointed out a crash when a file overflowed the disk that has been fixed.

Charles Castevens contributed a HOWTO for IRIX modules.

David Schanen donated a build for x86 solaris. I do have access to an x86-solaris box, but haven't had any requests for this particular port. I suppose part of it is that people running x86-solaris are good at building things themselves.

Michael Richmond and I exchanged a couple mails regarding the recent fix to error handling in C preprocessed files. The problem turned out to be a bug in the configuration that was detecting the version of gcc being used. Got this fixed now.

Vittorio Zecca pointed out some problems with intrinsic elemental conformance checks which have been fixed.

August 7

Doug Cox has built some new windows builds.

Vittorio Zecca sent in a problem with EQUIVALENCE statements that has been fixed.

Jeff Whitaker has updated the fink package to the stable 0.9 release.

Simon Geard pointed out a symbol in the runtime library that should have been static. Got that fixed now.

Michael Richmond ran into a problem compiling g95 for HP-UX. I used some C99 subroutine for floating point exception handling that aren't universally available. I've replaced this with the more portable assembly code.

August 3

Dominique d'Humières pointed out that the kind=4 and kind=8 random number generators had fallen out of sequence, due to the recent fix of the kind=4 generator. They again produce the same sequence of numbers.

August 2

Dominique d'Humières and Doug Cox found a subtle problem with contained procedures that generated a spurious error that has been fixed.

Torsten Ohm pointed out a situation where -M could create a circular dependence in the makefiles. I've got this fixed.

Tobias Burnus also sent in a code that crashed on invalid arugments to intrinsic subroutines as noted yesterday.

John Harper sent in a bug where g95 would silently ignore a particular syntax error in function declarations in -std=f95 mode. F mode was also affected. Got this fixed now.

Michael Richmond pointed out that an object file was still being created if there were C preprocessor errors. Got this fixed now.

August 1

I've been putting off bugs lately, avoiding fixing even simple things to avoid potential regressions. I'm pretty confident that g95 doesn't have any real showstoppers in it, so I've created a stable 0.9 release, now available. It won't change, bugfixes will go into the bleeding edge snapshot.

Jaroslav Hajek and Yiyang Sun sent in a crash on improperly calling intrinsic subroutines that has been fixed.

David Duffy pointed out that the isatty() extension ended up falling out of systems where the underlying system call was present.

Doug Cox has built windows builds.

July 27

Günter Spahlinger sent in a problem with list reads of kind=10 complex numbers that has been fixed.

July 26

Michael Summers sent in a small patch that fixes a problem with scalarization of MAXVAL(). Applied.

July 25

Torsten Ohm pointed out that MATMUL was not fully implemented for kind=10 complex numbers. Got this fixed now.

Doug Cox has built some new windows builds.

July 24

Per Lundow sent in a problem where a kind=4 random number could actually be 1.0. Got this fixed now.

Martin Dix sent in a regression with statement functions that has been fixed.

July 21

Michael Pasik found a problem with arithmetic IF statements that has been fixed.

Doug Cox has built some new windows builds.

July 17

Back from vacation...

Brian McKenna asked if there was a way for a program to checkpoint itself from inside the program (x86 linux). There is:

subroutine dump

interface
function getpid() bind(c, name='getpid')
integer :: getpid
end function getpid

subroutine kill(signal, pid) bind(c, name='kill')
integer, value :: signal, pid
end subroutine kill
end interface

call kill(getpid(), 3) ! SIGQUIT = 3

end subroutine dump

Kris Kuhlman sent in a spurious warning about PARAMETER values in complex constants that has been fixed.

Torsten Pfützenreuter, Laurent Prevot and Al Greynolds reported GET_COMMAND() problems associated with the "fix" last week. The original bug report didn't include a version number for the windows version, and I think it must have been pretty old.

Jörn Sesterhenn sent in a problem with intrinsic subroutines that has been fixed.

Bill Szkotnicki contributed a HOWTO for linking shared g95 programs with R programs.

Michael Richmond pointed out a couple of instances where "0.50" needed to become "0.90" in the documentation.

Martin Dix sent in a problem regarding argument association of character types that has been fixed.

Tobias Burnus sent in a problem with the FLUSH statement that has been fixed.

Doug Cox built some new windows builds.

July 11

Vivek Rao sent in a problem having to do with record lengths that was fixed and not noted in the blog two days ago.

Dominique d'Humières sent in a subtle regression caused by the previous record-length fix.

Michael Richmond pointed out a problem with using a fortran INCLUDE directive in C-preprocessed files that has been fixed.

Doug Cox has built some new windows builds.

July 9

Tobias Burnus sent in a problem with the FLUSH statement that has been fixed.

Hani Ibrahim pointed out a problem with GET_COMMAND() under mingw that has hopefully been fixed.

Michael Richmond pointed out a problem with error pointers that has been fixed.

July 5

Joe Krahn sent in a crash on a syntax error in case statements that has been fixed.

Doug Cox has built some new windows builds.

July 2

Doug Cox has built some new windows builds.

July 1

Vittorio Zecca sent in a trio of problems with DATA statements that have been fixed.

June 30

Vittorio Zecca sent in a pair of unimplemented restrictions on DATA statements that have been added.

Michael Richmond pointed out some problems with error pointers, and a place where garbage characters could appear in an error message. All fixed.

Alexey Larionov pointed out a problem in compile-time division that has been fixed. The problem seems to only bite for large divisors and dividends, but I've replaced all instances with a slower but more reliable algorithm.

Doug Cox has built some new windows builds.

June 28

Michael Richmond and Angelo Graziosi sent in a regression on READ statements from last night's fix that has been fixed.

Doug Cox has built some new windows builds.

No other new bugs.

June 27

Vivek Rao pointed out that the F2003 GET_COMMAND() intrinsic was being treated as a nonstandard extension. Got that fixed now.

Joe Krahn sent in a problem with unit numbers that has been fixed.

Still at ZKB.

June 26

John Reid (convener of ISO Fortran Committee) pointed out a problem where allocating more than 2^32 bytes on an array with less than 2^32 elements wasn't being handled correctly in the 32-bit default integer version. This is possible on systems that have 64-bit pointers, ie AMD64, IA64, powerpc64, etc. Got this fixed now. All hail the Convener!

Dominique d'Humières sent in a problem with RESHAPE() and PACK() intrinsics that have been fixed.

Kris Kuhlman pointed out that using an intrinsic module with all the warnings turned on could generate a spurious warning about unused intrinsic derived types that has been fixed.

Doug Cox has built some new windows builds.

Back at ZKB.

June 25

Doug Cox has built some new windows builds.

"Elliot" pointed out a problem with kind=10 reals being improperly packed inside of derived types that has been fixed.

Vivek Rao pointed out some code that was throwing the same error twice. Got it throwing the error once now.

June 24

Doug Cox built some new windows builds.

"Herm" posted a problem in gg95 about printing derived types containing complex arrays. The problem would also have affected kind=10 reals. Got it fixed now.

Back at Zero Known Bugs...

June 23

Joe Krahn pointed out a crash on include files that has been fixed.

Vivek Rao sent in a problem with the SIZE intrinsic that has been fixed.

Doug Cox fixed a problem with the --help problem on windows.

June 22

Simon Geard sent in a crash on an invalid SUBROUTINE statement that has been fixed.

Michael Richmond pointed out a pair of typos in the --help output that have been fixed.

Doug Cox has built some new windows builds.

June 21

Charles Rendleman sent in a subtle regression associated with one of Vittorio's fixes yesterday.

Vittorio Zecca sent in some more problems involving generic procedures, a problem with the WHERE statement and a regression involving functions returning derived types that has been fixed.

Dominique d'Humières pointed out the problem with the WHERE fix that has been fixed.

John Watts pointed out that carriage returns were being considered as part of a formatted record by default. This was for compatibility with files written on windows. I've added a G95_INPUT_CR environment variable, that when set to false prevents this from happening.

Back at ZKB.

June 20

Joe Krahn pointed out a nasty namespace bug. It had to do with mangling module names. Normally, global names have an underscore(s) appended to them to be consistent with the old libf2c conventions. Module procedures were being mangled and module variables were not, leading to a situation where defining a module procedure named "x" would clash with a module variable named "x_".

To fix this, module procedures are no longer mangled according to the f2c convention. They are already mangled in a different way to fit within the module namespace and fall outside the reasons for mangling in the first place. This will generate an incompatibility between linking old and new codes that use modules, requiring a recompile in some cases.

Michael Sabielny pointed out a bug in an early version of this new scheme.

Norm Clerman pointed out that G formatting was printing zero with an extra digit. Fixed.

Vittorio Zecca sent in problems with pointer array declarations and character length parameters that have been fixed.

Pere Constans pointed out some problems with function procedure pointers that have been fixed.

Back to zero bugs, with a couple of extensions still pending.

June 19

Vittorio Zecca pointed out a problem with the OPEN and CLOSE statements that have been fixed, along with a problem in generic interfaces that has also been fixed.

Doug Cox has built some new windows builds.

June 18

Vittorio Zecca sent in a problems with statement functions, recursive functions, illegal format descriptors, and ENTRY statements, data transfer statements and substrings that have been fixed.

Dominique d'Humières pointed out a couple more places where error messages didn't line up quite right that have been fixed.

Doug Cox has built some new windows builds.

Still at ZKB.

June 16

Dominique d'Humières sent in another dozen instances of message pointers not pointing to the right thing that have been fixed.

Joe Krahn sent in a bug regarding intrinsic subroutine resolution that has been fixed.

Harald Anlauf found a bug in a nasty initialization expression that has been fixed.

Even though we've had this huge spike in bugs today, two in a week, they've both been squashed. Still at ZKB.

Doug Cox has built some new windows builds.

June 15

Michael Richmond sent in about a dozen instances where the error-pointer wasn't quite pointing to the exact thing. All fixed.

Dominique d'Humières sent in pair of error pointer issues that have been fixed.

Joe Krahn pointed out that isatty() was not available under cygwin even though cygwin apparently has a compatilibilty function. I've added a configure-time check for the presence of isatty() and to use it if found.

Elmar Zander sent a US $10.00 Four Peaks gift card. Thanks Elmar!

Doug Cox has built some new windows builds.

Norm Clerman pointed out that G formatting wasn't inserting an optional zero. The only way this could happen was for 1 > x >= 0.1, which is why I missed it until now. Since the zero is optional, I'm arguing that it isn't really a bug, but I've added it to be consistent with the other displays.

No new bugs...

June 13

Michael Richmond sent in a couple of problems with the location pointer pointing to the wrong character that have been fixed.

Dominique d'Humières sent in a pair of location pointer problems that have been fixed.

The fixes to the location pointers caused a very bad regression in do-loops that was up for a couple hours today. Dominique reported the problem and I fixed it pretty quick.

A couple of enhancement requests have come in, but we're still holding stable at zero bugs.

June 12

Hani Ibrahim pointed out that DECIMAL= tags weren't being honored in data transfer statements. Got that fixed now.

John Harper pointed out that the DP and DC format descriptors weren't working either. Got these fixed too.

Roland Schilling forwarded a thread from comp-fortran-90 where the discussion centered around a scalar component of an array of derived types. The problem was a little obscure, but the fix was pretty easy.

Doug Cox has built some new windows builds.

I've made some changes to g95's location-pointer in error messages. In a lot of instances, an error message would point to the character after some name being pointed at. I'm trying to switch things to the start of the name. The old method could cause confusion in some cases. For example:

andy@fulcrum:~/g95/g95 % cat tst.f90
implicit none
call foo(1,m,2)
end
andy@fulcrum:~/g95/g95 % g95 -c tst.f90
In file tst.f90:5

call foo(1,m,2)
1
Error: Symbol 'm' at (1) has no IMPLICIT type
andy@fulcrum:~/g95/g95 %

If something was wrong with the actual argument syntax, it could be unclear which argument was being pointed to. The message is now:

In file tst.f90:5

call foo(1,m,2)
1
Error: Symbol 'm' at (1) has no IMPLICIT type
andy@fulcrum:~/g95/g95 %

I've tried to fix this sort of thing for the most common error messages, but I've probably missed some other less common cases. If you find a mispointed error or warning, please let me know about it.

June 10

Doug Cox has built some new windows builds.

June 9

Dominique d'Humières found three regressions with recursive statement functions and statement functions returning derived types that have been fixed.

Valera Veryazov sent in a regression involving statement functions and a specification function check that has been fixed.

Massimo Malagoli reports that PQS, an ab-initio and DFT quantum chemistry electronic structure program works with g95. Massimo had the comment: "We use extensively g95 for our development work, and it has been very helpful for producing a 64-bit version of our program. We indeed like g95 a lot." The intermittent crash from yesterday compiled fine on a different windows machine, indicating a problem with the machine in question.

Doug Cox has built some new windows builds.

Back at ZKB, only two bugs in the last week unrelated to statement functions have come in.

June 8

Michael Richmond and Alan Greynolds found another problem with statement functions, accessing an array element from a dummy array argument. Got this fixed now.

Massimo Malagoli, Yuan Lian and Alan Greynolds sent in a nasty problem with optimizing statement functions that has been fixed. As with many problems like these, the code that works is actually much cleaner than the code that didn't.

Doug Cox built some new windows builds.

Zero Known Bugs again, except for a strange intermittent crash on windows that we are not sure about yet.

Ryan Starkey sent in an interesting standards question. The standard allows defining a derived type that contains a pointer to an as yet undefined type. This allows creating links among different derived types in a circular manner, something that is very desirable. Ryan's issue was that g95 wasn't letting him do the same thing with allocatable arrays.

Allocatable arrays are implemented in the same manner as pointer arrays. They just have a few more restrictions and rules with regard to allocation, copying and automatic deallocation. So theoretically they should work, but this was apparently not considered as part of TR15581, so the code remains nonstandard even in F2003. Richard Maine found the right part of the standard.

June 7

Jaroslav Hajek pointed out that compile-time comparisons with infinity were exactly backwards, and that comparing with not-a-numbers was also similarly broken. Fixed.

"Highegg" posted a really good idea, originally from comp.lang.fortran, about an option for warning about using implicit interfaces. I've added a -Wimplicit-interface that will do this. It is not implied by -Wall, but is implied by -Wextra.

Doug Cox has built some new windows builds.

Remi Mommsen, Massimo Malagoli, Joost Vandevondele, Alan Greynolds, Michael Richmond, Pierre-Matthieu Anglade, Shirrell Buhler, Rick Hollinbeck sent in crashes having to do with statement functions. I've got the rewrite complete, I hope.

We're back at Zero Known Bugs.

June 6

Bob Bauer sent in a letter asking if it was possible to get a traceback from a running program without interrupting execution. After some reflection, the following fragment came to mind:

interface
subroutine trace() bind(c, name='_g95_show_locus')
end subroutine trace
end interface

...
call trace

Elmar Zander sent in a nasty crash passing an optional dummy array that has been fixed.

I've made some small progress on fixing the problems with the statement functions, but haven't got them completely fixed yet. I suspect that the remaining issue is a very small detail that I've missed.

June 5

Paolo Giannozzi, Michael Richmond, Alan Greynolds, Charles Rendleman, Joost Vandevondele, Norm Clerman all reported a serious regression that has to do with yesterday's fix on statement functions, although using a statement function was not necessary to getting the bug. I've done yet another serious rewrite of how statement functions are processed, this is probably the fourth or fifth time I've done this.

The good news here is that this particular change was going to be necessary for f2003 anyhow. Internally, statement functions are implemented as what gcc calls "contained procedures". Fortran contained procedures use the same mechansism, the problem being that this approach will no longer work for F2003 contained procedures.

A couple of people have issues with statement functions that remain.

June 4

Alan Greynolds found a crash for nested statement functions that has been fixed. He also pointed out that the new -Wmissing-intent warning was warning about the format arguments of statement function arguments, which has been silenced.

Bil Kleb reported that a longstanding backend crash on powerpc-osx has been fixed by gcc 4.1.

We're back at ZKB. My inbox is at about a six year low, with only nine mails, pointing out sloth in various places.

June 2

Harald Anlauf found a bug that turned out to be a bug in gcc 4.1's optimizer. It is apparently deciding that code is (incorrectly) dead under certain conditions, and removes it. This is a little beyond what g95 is doing. The 4.1 build is experimental, beware!

I've been thinking that the best policy for g95 would be to officially support the tail ends of these branches, like 4.0.3, 4.1.max, 4.2.max, etc, with "experimental" support for the other versions. One of my goals for g95 has always been a stability.

Doug Cox has built some new windows builds.

The linux-powerpc build is now working. Eric Johnson's machine is called "tsunami" and is a 31 processor ppc machine with 256 gigs of ram. It builds gcc from source in two and a half minutes... Wow.

Since we started the day with Zero Known Bugs, and no new ones have come along, we are still at Zero Known Bugs.

June 1

Povl Abrahamsen sent in a small patch for powerpc64 that has been applied. I've fixed a problem with differing powerpc assember conventions under various operating systems.

Tobias Burnus pointed out that literal reals that underflowed to zero weren't being flagged by -Wprecision-loss. Got that fixed.

Pierre-Matthieu Anglade, Elmar Zander, Norm Clerman and Michael Richmond reported a regression with module procedures that has been fixed.

Joost Vandevondele and Roland Schilling reported a regression involving a constraint recently added. Joost and I exchanged some mails with Richard Maine, and concluded that the check in question was a runtime issue. Fixed now.

Joost and Richard also pointed out a missed constraint involving generic and specific names that has been implemented.

Eric Johnson has donated an account for building a linux-powerpc64 version of g95 on a regular basis. I was unable to reproduce a crash when compiling netcdf on this platform and will try to get a regular build going soon.

We are back at Zero Known Bugs. Michael Richmond did report a problem with corefile resume yesterday, but after some experimentation, it affects only gcc 4.1.1, which doesn't trouble me much.

May 31

Doug Cox has built some new windows builds.

May 30

Doug Cox has built some new windows builds.

Jeff Whitaker has updated the fink package to the current source.

Elmar Zander found a problem with host association in F-mode that has been fixed.

Nuno Bandeira reported that the memory bug fixed yesterday did apparently fix his problem.

Kris Kuhlman pointed out a problem with out of bounds arrays that has been fixed.

Norm Clerman sent a regression involving a spurious error about assumed-size arrays that has been fixed.

Joost Vandevondele sent in a couple of cases that shouldn't compile. After consulting with Richard Maine, I've made a couple of fixes in this area.

May 29

Michael Richmond sent in a pair of regression involving specification expressions that have been fixed.

Édouard Canot sent in a specification regression that has also been fixed.

Joost Vandevondele sent in a regression involving the previously half-followed rank conventions within g95. Fixed.

Doug Cox has built some new windows builds.

Nuno Bandeira reported a crash under windows. We couldn't reproduce the problem on unix, but valgrind did reveal a place where free()'d memory was being used. This has been fixed, but it's not clear that this will fix the other crash.

May 28

Vittorio Zecca sent in "seven more problems" with g95 that have now been fixed. They ranged from statement functions, nondefault character kinds, botched PARAMETER declarations, illegal ENTRY's and a truly nasty problem with specifications that has existed for several years that has finally been fixed.

Trach-Minh Tran pointed out that g95 warning about inconsistent procedure use between separate program units is not always a good thing. Doing so is something of a hallmark of interoperating with C in packages like hdf5. I've added the g77 -Wno-globals to disable this checking if it is not desired.

Jimmy James sent in a crash under mingw that has been traced to a problem with gcc 4.1 under mingw.

Joost Vandevondele sent in three dependency bugs that were causing incorrect code to be generated by the scalarizer, all but one fairly obscure. Got this fixed now.

Joost sent a couple more bugs that have been fixed as well-- these ranged from neglected restrictions on derived types, pure statement functions, bizarre continuation statements.

I've finally isolated the problem with the osx build. Someone installed more than one gcc and there was crosstalk among the headers. The build is back, just in time because of...

Zero Known Bugs!

We have once again reached Zero Known Bugs, something achieved briefly last September. One of Vittorio's problems caused a fairly major internal overhaul, which has probably introduced bugs that I have not caught. Halfway through that mess, I discovered that some internal conventions were not being followed and did my best to straighten things out again.

Longtime readers of this blog will have noticed a certain slowdown over the last couple of months. The reason has been a greatly reduced rate at which bugs have been reported (they just aren't there!). I have been happily plugging away on other things, some of which will be revealed publicly soon.

I'm hopeful that ZKB will now become the norm. The plan is to let the rest of the world beat on it for a week or so, and then call what is left after that "0.90". Then, onto some performance enhancements.

May 27

Doug Cox has built some new windows builds.

Jaroslav Hajek found a regression in the ambiguity of generic interfaces that has been fixed. Jarslav also found a case where warnings about accessing assumed-size arrays went a little too far.

No build today.

May 26

Michael Richmond pointed out an incorrect warning for unreachable code that has been fixed. Michael also sent in a subtle problem with host association that has been fixed.

Tom Crane reported that the current version of the ARPREC arbitrary-precision math library has been patched to compile out of the box with g95.

Vittorio Zecca sent in a subtle problem with generic interfaces and a regression with ENTRY statements that have been fixed. There was a separate mail containing problems with TRANSPOSE/MATMUL, statement function arguments, catching circularly defined types... all fixed.

Joost Vandevondele sent in a subtle problem with dummy procedure interfaces that has been fixed.

Eric Kostelich pointed out a sucky error message that has been improved.

Eric Johnson sent in a tiny patch for linux-powerpc64 that has been applied.

May 24

Vittorio Zecca found problems with format expressions, assumed-size arrays and dummy procedures that have been fixed.

Fawzi Mohamed pointed out that denormalized numbers being read were converted incorrectly by a factor of two at runtime. Got that fixed now too.

Elmar Zander found a crash in F mode that has been fixed.

Mark Hesselink, Joost Vandevondele, Jeff Whitaker and Jonathon Day pointed out another problem with the 4.1 build that has been fixed.

Jonathon Day reported success compiling g95 for the Broadcom BCM1250, a mips-based machine.

Doug Cox has built some new windows builds. There are some experimental builds against gcc 4.1 as well.

May 22

Joost Vandevondele sent in a crash on alternate returns that has been fixed.

Dominique d'Humières found more holes in RRSPACING and SPACING that have been fixed (there are a lot of cases here).

Doug Cox has built some new windows builds, and we've fixed a build regression under windows.

Francisco Fadrique found a subtle TR15581 issue that has been fixed.

May 21

Mark Hesselink sent a small patch for configuring g95 against gcc-4.1.0 that has been applied. The patch improves robustness when pulling in platform-specific options.

Doug Cox and Mark also pointed out a problem compiling against 4.1 that has been fixed.

Doug has also built some new windows builds.

Dimitry Markman suggested adding the -fexceptions options to the mexopts.sh file when interfacing with MATLAB. This prevents MATLAB from crashing when a c++ exception is generated. I've added this to the HOWTO file.

Joost Vandevondele pointed out a problem with zero-length pointers and ASSOCIATED that has been fixed.

Dominique d'Humières pointed out a regression in RRSPACING() along with denormalized numbers at compile time with SPACING() that has been fixed. Mark Dotson and Dominique sent a in problem with buffer coherency that has been fixed.

Simon Geard requested support for legacy comparisions of character variables and non-character variables. I've added this, when -fsloppy-char is given.

Tobias Burnus pointed out a problem where mismatched interfaces were not being cross-check. Fixed.

I've fixed a small glitch that has prevented the powerpc osx build for the last week or so.

May 18

Dominique d'Humières pointed out even more problems with RRSPACING(), this time in the compile time handler that has been fixed.

Doug Cox found a problem with the gcc 4.1 build that has been fixed. Doug has also built some new windows builds.

Andre Gomes reported that the DALTON and DIRAC chemistry codes work with g95.

May 17

Harald Anlauf pointed out that the online help generated by running a g95-compiled program with the --g95 argument was still saying that --help caused the list to be printed. Got this fixed now.

Doug Cox has built some new windows builds.

May 16

Doug Cox has built some new windows builds.

Doug and Michael Richmond pointed out a problem compiling against gcc 4.1.0 that didn't happen to me because of my relatively old gcc. Got this fixed now. There is a nasty problem in the gcc 4.1 series that causes the back end warnings to get all messed up. The solution will require some changes to the build process that I am going to hold off on for now.

Dominique d'Humières pointed out that RRSPACING() still wasn't working for kind=4 and kind=8 denormalized numbers. Got this fixed now.

Alexander Poddey and Harald Anlauf inquired about per-unit overrides for endianness. I've added support for G95_UNIT_ENDIAN_x environment variables which can be "big" or "little" to set the endianness of a specific unit. This takes priority over the G95_ENDIAN variable.

John Harper reported the resolution of a long-standing FORALL bug. I must have fixed this particular bug when I fixed something else, because I sure wasn't trying to fix it. I can remember looking at it and thinking it was going to be a bitch to fix. Gone now though!

May 15

Doug Cox has built some new windows builds.

Dale Ranta sent in a bug rewinding a null-length file that has been fixed.

Joost Vandevondele pointed out an ominous error message that has been clarified a bit.

Dominique d'Humières pointed out a pair of factor-of-two problems for SPACING() and RRSPACING() for kind=10 reals that have been fixed.

May 12

Joost Vandevondele pointed some problems with interoperable integer C types that has been fixed. The _g95_total_alloc library variable is now a C_INT8_T, which is much more portable than what it was.

Vittorio Zecca sent in a problem involving the INTRINSIC attribute that has been fixed, along with a problem with formats of character array sections that has also been fixed.

Doug Cox has built some new windows builds.

Édouard Canot sent in a problem with TRANSPOSE that has been fixed.

May 11

Walt Brainerd sent in a patch to disable the D descripor in F mode that has been applied.

I think I've got the 4.1 hiccups under control. Michael Richmond and Joost Vandevondele sent in codes that now work.

Martien Hulsen pointed out an error message dealing with modules that has been made much more clear.

Joe Krahn sent in another error message dealing with dummy procedures that has been fixed as well.

Vittorio Zecca sent in a problem with crashes in ENTRY statement and trick functions that have been fixed.

Jaroslav Hajek found a problem with procedure pointers as actual arguments that has been fixed.

May 9

Doug Cox has built some new windows builds.

Andrew Beddall pointed out an uninitialized variable warning using -ftrace=full that has been fixed.

I've got g95 building against gcc 4.1.0. There are a couple of exectuable hiccups remaining, though. No formal build yet.

May 8

Michael Richmond pointed out that the third argument to the RENAME extension is optional. I've added that now.

Doug Cox has built some new windows builds.

Vittorio Zecca pointed out an enhancement in format checking that has been implemented.

Joost Vandevondele sent in a problem with illegal memory accesses on amd64 that has been fixed.

Al Greynolds suggested a -Wmissing-intent warning that would warn about not putting an intent on formal arguments. This is already an error in F, and I've got it added now.

Dominique d'Humières sent in a subtle problem with RRSPACING() that has been fixed.

May 7

Clive Page pointed some problems with the RENAME intrinsic extension that have been fixed.

Doug Cox has built some new windows builds.

Jeff Whitaker has updated the fink build.

Joost Vandevondele pointed out that line numbers under -ftrace=full weren't quite right. Got this fixed now.

Neil Koozer sent in a problem with namelist reads interacting with list reads in a bad way that has been fixed. Neil also sent in a problem with namelist reads that has been fixed.

Dominique d'Humières sent in a problem with namelist substrings that has been fixed.

I've fixed a build problem that seems to have cropped up recently in the AIX.

May 5

Doug Cox has built some new windows builds.

Walt Brainerd pointed out that fixed source form is not allowed in F mode. Got this fixed.

May 4

Michael Richmond, Doug Cox and Charles Rendleman found a regression in functions returning derived types that has been fixed.

Joe Krahn sent in a problem with functions returning procedure pointers that has been fixed. Joe also pointed out a situation where arguments to intrinsic module procedures weren't being correctly processed that has been fixed, and a type-conversion problem that has also been fixed.

Joe also sent in a problem with procedure pointers that has been fixed, and a pair of spurious used/set warning that have been fixed.

Stephane Guilloteau sent in an obscure problem regarding passing array elements as actual arguments that has been fixed.

Doug Cox has built some new windows builds.

Vittorio Zecca sent in a problem with type names conflicting with generic names that has been fixed.

May 3

Joe Koski pointed out a broken link to OSX cctools on the web page that has been fixed.

Doug Cox has built some new windows builds.

Stephane Guilloteau found a magic number that threw the floating-point reader into a long loop. This was due to a multiprecision carry being applied to the wrong word. Got this fixed now, the number is read billions of times faster.

Rick Week and Joe Krahn pointed out a problem with functions returning TYPE(C_PTR) values that has been fixed.

Joe Krahn sent in a problem with C_FUNLOC() that has been fixed.

Vittorio Zecca sent in a problem with restricted expressions that has been fixed.

Brian Gregor has contributed the NetBSD binary, which is now up.

May 2

Michael Richmond pointed out a typo in the new continuation line error message that has been fixed. Michael also found a situation where an error message about illegal access specifiations wasn't being generated in F mode.

Vivek Rao pointed out a typo in the blog that has been fixed. Vivek also pointed out a spurious warning message that has been fixed.

Doug Cox has built some new windows builds.

Harald Anlauf reported that the libiconv fix yesterday didn't really work. I've made another try.

Doug Cox, Alexander Donev and I exchanged some mails on getting Alex's F2003 GL bindings built. They appear to build fine on my machine, but actually trying them out is going to take someone with GL actually installed, which I don't have offhand.

Joe Krahn sent in a problem with C_F_PROCPOINTER() that has been fixed.

May 1

Joost Vandevondele pointed out that the error for no data descriptors in a format string could be OK if the data items are zero-sized arrays. I've downgraded the error to a warning.

Doug Cox sent in a problem with the C_ASSOCIATED() intrinsic that has been fixed. Well, actually, implemented. It flat out wasn't there.

Rick Weed and Doug sent in code that revealed a fundamental problem with how the C_PTR type was being defined. I hopefully have this fixed now.

Rick also sent in a problem with C_F_POINTER that has been fixed.

Doug sent in a couple other interop problems that I lost track of. Doug has been working on getting Alex Donev's F2003 GL wrappers working, and I am anxious to hear how it is coming.

Harald Anlauf pointed out a build regression on AIX that only bit if you didn't have a libiconv.a in /usr/local/lib. The library is now set to be linked statically on the build system.

Walt Brainerd sent in an F constraint against continuation lines beginning with '&' that has been implemented as well as a pass-through module constraint.

Wolfgang Dobler sent in a tricky problem concerning array constructors of uncertain length that has been fixed.

Brian Gregor reported a successful build of g95 under NetBSD 3.0.

April 28

Michael Richmond pointed out that some F2003 attribute declarations weren't being flagged as errors under F.

Doug Cox has built some new windows builds.

April 27

Andreas Wolf isolated a nasty overflow problem when an internal unit was being written with formatted string output, and the string was too small. Got this fixed now.

Michael Richmond pointed out an incorrect error message in F mode that has been reworded.

Michael and Walt Brainerd also pointed out a problem with IMPLICIT NONE in F mode that had been fixed-- had the test totally backwards. They also pointed out a requirement for a double-colon in access specification statements that has been added.

Walt also pointed out another constraint of F-- names cannot end in an underscore that has been implemented, as well as a couple other small issues.

Michael had several F issues that have been fixed, including problems with the OPEN statement and INQUIRE statements.

Doug Cox has built new windows builds.

April 26

Doug Cox has built more windows builds.

Walt Brainerd found a problem with OPEN tags that reared it ugly head in F mode that has been fixed.

Michael Richmond sent in a regression in F-mode regarding PURE functions that has been fixed.

I've added support for the f77 legacy ACCESS='APPEND' in the open statement. It isn't standard but people request it from time to time.

I've also added a frequently requested -ffree-line-length-huge option that enables lines to be up to 10k long. It didn't seem worth it to take the trouble for the general case of arbitrarily long lines, but phrasing the option this way allows for that sort of generality if it is ever necessary.

April 25

Doug Cox built new windows builds.

Al Greynolds, Charles Rendleman and Dominique d'Humières found a regression involving reshaped array constructors that has been fixed.

Dominique sent in a problem with MINLOC/MAXLOC on 64-bit platforms that has been fixed.

Walt Brainerd sent a patch preventing BN and BZ in the library that has been applied. The problem was originally reported by Michael Richmond.

Tobias Burnus sent in a problem where no warning was given if a format string didn't have any data descriptors and data items are present. Got that fixed.

April 24

Dominique d'Humières found problems with the FLUSH statement and with the MINLOC/MAXLOC intrinsics that have been fixed. Dominique also pointed out a missing conformance check during defined assignment that has been added.

Doug Cox has built some new windows builds.

April 23

Vivek Rao sent in a problem with structure constructors that has been fixed.

Walt Brainerd sent in an F regression with regard to functions that has been fixed. A couple other F constraints have been added.

April 22

Doug Cox has built new windows builds.

April 21

Hugh Pumphrey pointed out another problem with NULL() pointers, uncovered from the previous fix that has also been fixed.

Doug Cox has built some new windows builds.

April 20

Doug Cox has built some new windows builds.

Hugh Pumphrey pointed out that I didn't quite fix his bug from last week regarding NULL() pointers. Got that taken care of now.

Dan Price suggested using the existing -Wextra warning to enable the warnings not currently enabled by -Wall. Got this implemented now.

Bart Vandewoestyne sent in a problem with an F restriction that was too strict. Got this fixed now.

Dominique d'Humières sent in a problem with TRANSFER() that has been fixed as well as a tricky problem with DOT_PRODUCT() that has also been fixed.

Several folks, Bart Vandewoestyne, Ben Turner and Brian Smith among others, have persuaded Walt Brainerd to make some tweaks to F, essentially reverting to previous behaviour. The changes were allowing IMPLICIT NONE statement, allowing CONTINUE statements, allowing statement labels on CONTINUE statements, allowing simple GOTO statements as long as they branch to forward CONTINUE statements.

Walt also pointed out a grammar problem in an error message that has been fixed.

Tim Jenness sent in a problem with writing formatted data to internal units that has been fixed.

Sebastian sent in a problem with nontraditional C preprocessing that has hopefully been fixed.

April 19

Doug Cox has built some new windows builds.

Ben Turner sent in a problem with a semi-spurious warning that has been fixed.

April 18

Doug Cox has built some new windows builds.

Zepu Zhang sent in bug with the FLUSH statement that has been fixed.

Vivek Rao sent in a problem with the -Wunused-parameter warning that has been fixed.

Francisco Fadrique sent in a problem with nonadvancing I/O that has been fixed.

April 17

Vittorio Zecca sent in a couple more problems ranging from several ENTRY problems to a tricky function declaration that have all been fixed.

Mark Dotson pointed out a file sharing problem under windows. Read-sharing was fixed a while back, but I forgot write-sharing. Got this added now.

Alan Greynolds sent a gift of US $100.00. I'm planning on applying this towards some solar panels capable of powering my laptop. The weather here is getting hot enough where it is too hot to hike locally, and I'll soon be making trips up to the rim, and with the panels, I'll be able to stay there pretty much all day.

April 14

Doug Cox has built some new binaries.

Vittorio Zecca sent in a problem with the READ statement and a pair of problems with DATA statements that have all been fixed.

Dominique d'Humières sent in a problem with statement constructs that has been fixed.

April 13

Doug Cox has built some new binaries.

Michael Richmond, Joost Vandevondele, Jeff Whitaker and Paul Van Delst sent in a regression with blank block data program units that has been fixed.

Hans-Wilhelm Bolloni sent in a problem with warning about unset INTENT(OUT) dummy arguments that has been fixed.

Vivek Rao suggested a -Wunused-types option that would warn about unused module types. I've added this, it is not implied by -Wall.

Vivek also pointed out a problem with the -Wunused-parameter warning that has been fixed.

Wilfred van Rooijen reported success building and running CATHARE, a code to calculate transient thermal hydraulics in nuclear reactors.

April 12

Hugh Pumphrey found a problem with passing NULL() as an actual argument that has been fixed.

Doug Cox has built some new windows builds.

Tim Jenness sent in a problem regarding block datas a couple days ago. We ended up deluding ourselves that the problem wasn't g95's fault, but Jeff Whitaker pointed out the same problem again and we eventually were able to fix the problem.

April 11

Jeff Whitaker has updated the fink package, also removing some unneeded dependencies.

Joost Vandevondele sent in a bug that was an accounting error in allocating user memory that has been fixed.

Miguel de Val Borro found a problem with nondefault integer array indeces that has been fixed.

April 10

Doug Cox has built some new windows build.

April 9

Norm Clerman sent in a tricky crash that was ultimately a dangling pointer. Got that fixed now.

Doug Cox has built some new windows builds.

Joost Vandevondele suggested some clearer text for an error message that wasn't very clear.

Al Greynolds pointed out that the restrictions on entry return types wasn't quite right. Fixed now.

April 7

Doug Cox has built some new windows builds.

Joost Vandevondele, Dominique d'Humières and Michael Richmond sent in regressions involving functions without result variables and probably most of the permutations involving modules and entries. All fixed now.

April 6

Tarek Yousef and Joe Koski noted some debugging prints that remained in the code during last night's build. Norm Clerman sent in a memory allocation problem that has stumped valgrind, caused a severe memory leak in gdb and is a complete mystery so far.

Doug Cox sent in a problem with the IMPORT statement that has been fixed along with a problem with BIND(C) functions that has been fixed as well. Doug has also built some new windows builds.

Vittorio Zecca pointed out a constraint of interface blocks that wasn't being correctly enforced as well as a crash when functions were being used improperly. All fixed.

April 5

Doug Cox has built some new windows builds.

Reinhold Bader pointed out some shortcomings of C_F_POINTER that have been remedied. The array form is now implemented.

April 4

Doug Cox has built some new windows builds.

Michael Richmond, Keith Refson and Vittorio Zecca sent in a regression involving function resolution that has been fixed.

Vittorio also found a problem with SAVE-d variables and print statements in pure procedures.

Jos de Kloe sent in a crash on an empty statement with a label that has been fixed.

Dominique d'Humières found another problem with denormalized kind=10 reals that have been fixed.

Vivek Rao pointed out a case where -fone-error was not aborting on one error that has been fixed.

April 3

Vivek Rao suggested a modification of the windows installer where the install directory now defaults to the previous install directory instead of the current directory. Doug Cox has taken care of this.

Vivek also sent in a pair of problems with -Wunused-parameter that have been fixed, along with a crash on untyped-variables that has also been fixed.

Bill McLean pointed out a tricky case of passing a scalar character argument to a character array that has been fixed. Legal in F2003, not in f95.

Joost Vandevondele sent in an infinite loop that has been broken.

Dominique d'Humières found a problem denormalized numbers that has been fixed.

Bill McLean sent in a problem with character parameters in the ISO_C_BINDING modules that has been fixed.

April 2

Alan Greynolds and Joost Vandevondele sent in a regression with involving "useless" type conversions that has been fixed.

Harald Anlauf sent in a mystery crash which has mysteriously vanished.

Doug Cox has built some new windows builds.

April 1

Doug Cox has built some new windows builds.

Joost Vandevondele sent in a problem with C preprocessing that has been fixed. Joost also sent in a problem with makefile generation under C preprocessing that has been fixed.

Vivek Rao sent in a problem with the simplification of initialization expressions that has been fixed.

James Van Buskirk found a couple problems with loss of accuracy in a couple of the kind=10 intrinsics that have been fixed.

Dominique d'Humières sent a pair of crashes on the TRANSFER() intrinsic that has been fixed.

March 31

Doug Cox and Michael Richmond reported a problem with the windows build that has been (hopefully) fixed.

Warner Bruns, Dominique d'Humières and Iikka Virkkunen found a regression in the fix to CMPLX() yesterday. CMPLX() was a little more complex than I thought...

March 30

Michael Richmond sent in a problem with the SYSTEM() intrinsic that has been fixed.

Doug Cox has built some new windows builds.

Joost Vandevondele sent in a problem with the REAL() intrinsic that has been fixed. Also the analogous problems with INT() and CMPLX() intrinsics.

Alan Greynolds found a problem with I/O sloth under windows that has hopefully been fixed. (Ian Gay-- I don't think this fixes your issue).

James Van Buskirk, Doug Cox and I exchanged a couple of mails still working on missing intrinsics for kind=10 reals under windows. We found what we hope is the last problem today, some different name-mangling under windows.

James also pointed out that CPU_TIME and complex to integer exponentiation wasn't implemented for kind=10 reals. Got that done now.

March 28

Doug Cox has built some new windows builds.

Karancevic sent in a problem with a crash after using an illegal array specification that has been fixed.

Hani Ibrahim had a problem with an internal error in modules that we suspect is a problem with a recent change in the format of modules. I've added some internal versioning to modules that will complain about these sorts of incompatibilities.

Michael Richmond pointed out a nit with the STOP statement that has been fixed.

Pierre Verpeaux sent in a problem with the SIGNAL() intrinsic extension that has been fixed.

March 27

Neil Symington found yet another problem with logical parameters that has been fixed.

Charles Williams reported success on fixing a problem with building under ppc-linux. If there is someone out there who would be willing to donate an account, I'd be happy to make linux-ppc a part of the regular builds. Charles is behind a nasty firewall.

Joe Koski reported success with the lastest version of OCTAVE.

James Van Buskirk pointed out that a lot of the kind=10 real subroutines were not being built under windows due to a bug in the builds. This should be picked up in the next build. There was also complex(kind=10) exponentiation that actually wasn't there. Got this implemented now.

March 26

Doug Cox has built some new windows builds.

March 25

Doug Cox has built some new windows builds.

Joost Vandevondele found a problem with C-preprocessing that has been fixed.

Eric Brown reported success building g95 under fink on an intel mac.

March 23

Kris Kuhlman found a bug in makefile-making mode -M that has been fixed.

Neil Symington found a bizzare bug with parens and logical parameter expressions that has been fixed.

March 22

Doug Cox has built some new windows builds.

Jeff Whitaker has updated the OSX fink build. If some brave soul can confirm that things work for x86-osx, that would be great.

Greg Stark and I exchanged some mails regarding the x86-osx port. He has a radiative transfer code of several hundred k-lines that was crashing shortly after starting. The problem turned out to be some nonstandard code, and it looks like the x86-osx port really does work.

March 21

Doug Cox has built some new windows builds.

Bertrand Dupayrat sent in a problem with C_LOC that has been fixed.

Michael Richmond and Walt Brainerd pointed out some additional restrictions on character variables under F that have been implemented.

Michael Webb pointed out that files were being opened in exclusive mode. I've switched this to shared-read mode so that other applications can look at a file while it is being created.

March 20

Doug Cox has built some new windows builds.

I've completed the alpha-linux and x86-openbsd ports.

Tim Jenness reported a problem building on x86-osx that has been fixed. I've fixed a couple more and ended up adding x86-osx to the regular builds.

Dominique d'Humières reported success with some of the polyhedron benchmarks under -r10.

Joost Vandevondele pointed out some sloppiness in windows version of the sleep() function that has been cleaned up.

Al Greynolds reported a regression with implicit types. Got this fixed, but it involved undoing a recent fix for Joost. Joost's problem was more esoteric than Al's, so I undid the earlier fix.

March 19

Joost Vandevondele found a problem with saving the VALUE attribute to modules that has been fixed.

John Harper pointed out a typo that has been fixed.

Dominique d'Humières found another problem with complex kind=10 arrays on amd64 that has been fixed.

GCC 4.0.3 was released recently, and hearing no major outcry, I've begun upgrading the binary builds to the new backend. The current backends in 4.0.3 are now x86-linux, amd64, ia64, x86-freebsd, space-solaris, aix-powerpc and darwin-powerpc. Doug has been using a prerelease gcc 4.0.3 for the windows builds for some time now.

The Starlink guys sent me five kilograms of Callebaut dark chocolate. The things has the same proportions as s regular candy bar, only much huger. For the newer readers of this blog, I am an avid baker of chocolates. There was a nice note from Tim, Peter, Frossie and the "legions of happy Starlink users worldwide".

March 18

Doug Cox has built some new windows builds.

March 17

Michael Richmond send in a couple typos in error messages that have been fixed.

John Harper suggested a warning for BOZ constants in strict f95 mode that has been added.

Dominique d'Humières found a problem with NEAREST() and kind=10 reals that has been fixed.

Francesco Teodori found a problem with COMMON blocks in interface blocks that has been fixed.

March 14

Gavin Salam sent in a problem with private types in interfaces that is illegal in f95 but ok in F2003. Got this fixed now.

Michael Richmond sent in a few crashes in F mode that have been fixed.

Michael, Zakharov Vladimir and Delbert Franz found a regression with statement functions that has been fixed.

Joost Vandevondele sent in a problem with memory being accessed after it was free()-ed that has been fixed.

March 11

Dominique d'Humières, Gavin Salam and Michael Richmond found a nasty regression with PARAMETER statements that has been fixed.

March 10

Richard Maine and Joost Vandevondele pointed out a subtle problem with implicit types in interfaces that has been fixed.

Vittorio Zecca and Harald Anlauf sent in a problem with passing array elements through implicit interfaces that has been fixed.

Doug Cox has built some new windows builds.

Robert Gyepes sent in a regression to the recent endfile fixes that has been fixed.

Dominique d'Humières sent in a regression with denormal numbers that has been fixed. Again.

Wolfgang Dobler sent in a crash that had to do with running out of memory. I've made things a little more efficient now.

March 9

Dominique d'Humières, Michael Richmond, Dominique Orban and Bo Berggren sent in a character array regression that has been fixed.

Michael Richmond found a problem with F array constructors that has been fixed.

Doug Cox has built some new windows builds.

Kris Kuhlman sent in a problem with not-a-numbers that has been fixed.

Joost Vandevondele sent in a regression with the VERIFY intrinsic introduced the other day that has been fixed.

March 8

Doug Cox and Michael Richmond pointed out a regression in COMMON blocks that has been fixed.

Mark Herndon pointed out that 8-byte alignment of double variable in COMMON blocks was happening unconditionally. I've keyed this to the -malign-double switch.

Joost Vandevondele sent in a problem with modules in parallel makes that has been fixed.

Vittorio Zecca sent in "fifteen more problems with g95". The issues ranged from old-stlye kind specifications, character array dummy arguments, zero-sized arrays, alternate returns, dummy function procedures, substrings and statement labels.

Jos de Kloe sent in a problem with end-of-file conditions that has been fixed.

March 7

Julian Kateley sent in a crash on a bad COMMON block that has been fixed.

Joost Vandevondele sent in a crash when using the ISO_C_BINDING module that has been fixed.

Doug Cox has build some new windows builds. Doug has also made some upgrades to the manual.

March 6

Dominique d'Humières sent a problem with printing complex numbers that has been fixed.

Dominique and Michael Richmond sent in some (different!) regressions with ENTRY statements that have been fixed.

Steve Kargl found a problem with VERIFY() that has been fixed, both in the compiler and the runtime.

March 4

Dominique d'Humières sent in a problem with COSH() and the analogous problem has been fixed in TANH(). Greg McGarragh sent in an x86_64 regression that has been fixed.

March 3

Vittorio Zecca and Brian Taylor pointed out a problem with flagging formal parameters in ENTRY statements that has been fixed. Brian pointed out that recursively calling a nonrecursive entry wasn't generating an error. Got that fixed too.

I erroneously reported that Doug Cox had gotten g95 to compile against gcc 4.1, it turned out that was 4.0.3. We're still working on 4.1.

Doug Cox has built some new windows builds.

March 2

Had an unexpected reboot of my gastrointestinal system yesterday. Feeling much better now.

Zach Radtka has compiled g95 for Linux on PowerPC with some small modifications that have now been incorporated to the main source.

Anders Hogrelius reported success compiling g95 on Tru64/Alpha. There was a small incompatiblity that has been fixed.

Dominique d'Humières found a pair of problems with SUM and PRODUCT that has been fixed.

James Mehl sent in a bad link on the status page that has been fixed.

Tim Jenness pointed out some cruft in the configure.in's that has been removed. Tim also reported that the Starlink package, about 3M lines of code has been working since about last October.

Vittorio Zecca felt that the RANDOM_NUMBER intrinsic should return the same numbers for kind=4 and kind=8 reals. After thinking this over, I guess I kind of agree. As it was, the numbers were certainly strongly correlated in the sense that they came from the same bits. I didn't do the same thing for kind=10 reals, though. The generator that the random numbers are based on generates 32 bits at a time. kind=4 reals have a 24 bit mantissa meaning that eight bits are thrown away. kind=8 reals have a 52 bit mantissa in which the bottom 30 bits are simply zero. The kind=10 reals have a 64-bit mantissa, so the internal generator is called twice in this case.

Doug Cox has been working on compiling g95 against the newly release gcc 4.1. He's gotten a working version going, and we're now switching to porting some of the changes he had to make back into the main version.

February 28

Hans Bolloni pointed out an error in the web documentation of G95_MINUS_ZERO that has been fixed.

Dominique d'Humières pointed out that INQUIRE in F2003 returns UNDEFINED for certain INQUIRE/PAD= cases, where Vittorio Zecca had previously pointed out that f95 returns "YES". I've switched things back to F2003.

February 27

Raphael Panfili sent in an another alternate-return bug that has been fixed.

Bo Berggren sent in a problem with TRANSFER() and with assumed shape arrays that have been fixed.

Jean-Baptiste Faure, Al Greynolds and Herman Knoble reported a build problem with the mingw build. Doug and I exchanged mails for a good part of the day fiddling with it. The root cause was some changes to the build system in anticipation of compiling against gcc 4.1.

Vittorio Zecca sent in "seven more problems". These ranged from complex constants, INQUIRE, BLOCK DATA problems, substring errors and problem with print formats. All fixed.

John Harper sent in a regression involving character parameter that has been fixed.

I had lunch with Walt Brainerd and his wife earlier today. They were returning to Arizona, and we had a chance to sit down at the Four Peaks Tap and Grill, not the one I usually go to in Tempe, but the same good stuff. I had fun time.

February 26

Dominique d'Humières pointed out a nasty regression with function pointers that has been fixed.

Doug Cox has build some new windows builds.

February 25

Dominique d'Humières sent in an enumerator regression that has been fixed again. Dominique also sent in a problem with variable length scalar character pointer functions that has been fixed.

Doug Cox has built some new windows builds.

February 24

Raphael Panfili sent in another crash on alternate returns that has been fixed.

Clint Rowe requested the common D-comment extension where lines beginning with D in fixed form are treated as comment, except when an option is given that makes them executable statements. I've added this now.

Doug Cox has built some new windows builds.

Dominique d'Humières sent in a couple problems with the F2003 enumerators that have been fixed.

February 23

Bart Vandewoestyne found a regression with F mode that has been fixed.

Charles Rendleman sent in a regression involving generic interfaces that has been fixed.

Joe Comfort pointed out a problem with trigraphs under C preprocessing. I made an attempt to turn them off earlier that wasn't successful. Got them off for real now.

Jeff Whitaker has updated the fink package.

Raphael Panfili sent in a regression involving alternate returns that has been fixed.

Kris Kuhlman sent in an edge case on bounds overflow that has been fixed.

Doug Cox has built some new windows builds.

Mr. Silbaugh: I mailed you but the mail bounced.

February 22

Eric Kostelich sent in a problem with array parameters that has been fixed.

Doug Cox has built some new windows builds. Doug also pointed out that g95 is now available as Mandrake RPMs.

February 21

Vittorio Zecca sent in "seven more problems with g95". The problems ranged from problems with NULL(), array constructors, I/O unit numbers, assumed-size arrays, and access-specifiations on variables.

Doug Cox has built some new windows builds.

Richard Maine and Joost Vandevondele were discussing C_LOC() of character variables, and finally explained a problem-- the arguments has to be of length one. Fixed this.

Joost pointed out that RANDOM_NUMBER() wasn't working for kind=10 reals. Got that fixed now.

February 20

Vivek Rao and Richard Maine pointed out I was using 'obsolete' where I should have been using 'obsolescent' in lots of places. Got the spelling fixed now.

Mark Hesselink sent in a regression with nested derived types that has been fixed.

Mark and Norm Clerman sent in a regression with array constructors, also fixed.

Doug Cox has built some new windows builds.

Keith Refson, Michael Richmond, Mark Hesselink, Joost Vandevondele and Takeshi Yanai sent in a regression with dummy procedures that has been fixed.

Philippe Marguinaud sent in a problem with procedure interfaces that has been fixed.

John Harper sent in a problem with character parameter lengths that has been fixed.

February 18

Keith Refson, Michael Richmond and Joost Vandevondele reported that argument association constraint yesterday is now too broad. I've pared it back some.

Michael Richmond, Mark Hesselink, Volker Eyert also found a problem with the edit descriptor fix that has been fixed.

Doug Cox has built some new windows builds.

Joost Vandevondele sent in a problem with WHERE that has been fixed.

Mark Hesselink and Joost Vandevondele found other regressions in function results that have been fixed.

Vittorio Zecca sent in a mail with the subject line "five old problems and three new ones", which was a darn sight better than the previous "14 more problems with g95". There were a wide range of issues, from problems with intrinsics, denormalized logarithms, crashes on illegal codes, fundamental syntax problems. All fixed.

Stephen Bespalko and I have been exchanging mails over the last week about f95 support for gdb. He's working on patches which I hope to get a look at soon.

February 17

Joost Vandevondele sent in a problem with argument association that has been fixed. Joost also found a problem with edit descriptors that has been fixed.

Mark Hesselink sent in a regression involving NAMELISTs that has been fixed.

Michael Richmond pointed out some problems with the documentation that have been fixed.

Nelson Castillo had a tip for compiling g95 under AIX that has been added.

Doug Cox has built some new windows builds.

Vivek Rao pointed out a not-quite-correct warning about DATA statements when -Wobsolete was given that has been fixed.

Walt Brainerd sent in a pair of tricky F restrictions on the OPTIONAL, PRIVATE and PUBLIC statements that have been implemented.

February 16

Sebastian Hegler noted that token-pasting wasn't happening during C preprocessing. This was because "traditional" C preprocessing was being done. I've added a -nontraditional option that causes non-traditional C preprocessing to be done.

Warner Bruns found a nasty, nasty problem with recursively defined types that has been fixed.

Zachary Radtka ran into a problem compiling g95 for Powerpc-Linux, and determined that the darwin version of the assembler syntax was appropriate for Linux. This has been added to the configuration.

Doug Cox found a typo on the web page that has been fixed.

February 14

Jos de Kloe, Michael Richmond, Norman Clerman, Nils Wagner, Bart Vandewoestyne, Charles Rendleman and Joe Koski, found serious problems in last night's build, due to a lack of testing on my part. All fixed now.

Joost Vandevondele and Hani Ibrahim pointed out that "--help" is a common option used by programs, and probably should not be the one that prints the variable list. I've switch this to "--g95".

Doug Cox has build some new windows builds.

February 13

Doug Cox has built some new windows builds and pointed out several typos that have now been fixed.

Greg McGarragh pointed out a build problem on x86_64 that has been fixed.

Fran Martínez sent in a problem with allocatable structure components that has been fixed.

Norm Clerman sent in a problem with the same constraint I'd been working on with Fran. I got it wrong, again but it is hopefully correct now. Richard Maine helped.

Daniel Price pointed out that -Wuninitialized wasn't mentioned in the documentation. Added.

Jos de Kloe sent in a problem with the -freal= option and real functions with RESULT clauses that has been fixed.

Kris Kuhlman sent in a problem with the erf() and erfc() intrinsic extensions that has been fixed.

February 12

Michael Richmond, Alan Greynolds and Greg McGarragh found a nasty regression in CHARACTER functions that has been fixed.

Walt Brainerd sent in a US $100.00 gift card for a chain of gourmet food stores local to Arizona. Thanks Walt!

February 11

Doug Cox has updated the manual to reflect the corefile resume. Doug also pointed out a typo on the corefile resume docs.

Eric Kostelich sent in a TR15581 problem with optional allocatable array parameters that has been fixed.

Reinhold Bader pointed out that scalar function results were unaffected by the default initialization flags (-freal, -finteger, etc.). Fixed this so that scalar functions are initialized according to these flags.

Several people pointed out that the warning about unused parameters generates a lot of noise. I've added a -Wunused-parameter option to enable this warning, which is not implied by -Wall.

February 10

Doug Cox has built some new windows builds.

We've completed work on the enhanced version of the corefile resume feature, allowing true checkpointing of a running program on x86 Linux systems.

Martien Hulsen and Michael Richmond allowed me to log into their home systems to work out the bugs in bleeding-edge Linux systems. Harald Anlauf also help with testing.

If you type control-\ to send a QUIT signal to your g95-compiled program, it will write a file named 'dump' in the current directory. This is an executable file that when run will resume execution of where your original program left off. Full details are on the Cool Features page.

February 9

Bart Vandewoestyne sent another problem in F mode where pointer array arguments were being incorrectly flagged as not allowed.

Vivek Rao suggested warning for unused parameters. Got this implemented now.

Doug Cox has built some new windows builds.

Richard Maine, Fran Martinez and I exchanged a couple of mails regarding an obscure constraint on PURE procedures. I think we've got things resolved correctly now.

February 8

Neely Atkinson sent in a problem with global argument-checking that has been fixed.

Walt Brainerd sent a patch for the READ statement under F that has been applied.

Bart Vandewoestyne sent in a problem with format descriptors under F, along with a problem with dummy arrays. All fixed.

Fran Martinez and Bart found an issue with PURE procedures that I may have fixed, but am investigating further.

Joe Koski pointed out some sloth introduced a couple days ago that has been remove.

February 7

Doug Cox has built some new windows builds.

Walt Brainerd sent a couple of patches that have been applied. The first had to do with format descriptors in F and another with F restrictions on OPEN.

Vittorio Zecca sent in a couple more problems with ISHFTC and MERGE that have been fixed.

February 6

Clive Page found a problem with the F0.0 that has been fixed.

Dominique d'Humières found a problem with imprecise results in SINH() that has been fixed.

Walt Brainerd sent in some restrictions on format descriptors in F that have been added, along with a small patch, now applied, to prohibit external functions and subroutines. Walt also pointed out constraints on access specifications that have been added for F.

Charles Rendleman sent in a regression associated with some Vittorio's fixes the other day. Fixed now.

Reinhold Bader sent in a problem with the ISO_C_BINDING intrinsic module that has been fixed.

Tarek Yousef found a bug in the scalarizer having to do with pointer arrays. It's been a long time since someone found a problem here, got this one fixed now.

February 5

Michael Richmond found a problem where a runtime library variable was accidentally made public, causing a conflict. Fixed.

February 4

Peter Hauschildt reported success with the PHOENIX stellar/planetary atmosphere dynamics code.

Added some inital support for F2003 procedure pointers.

February 3

Walt Brainerd cleared up a question regarding dummy arrays in F. I've added this constraint as well.

Doug Cox has built some new windows builds.

February 2

Joost Vandevondele found a regression with exponentation that has been fixed.

Greg McGarragh sent in a problem with constructors of private types that has been fixed.

Michael Richmond found a regression with function interfaces that has been fixed.

Walt Brainerd sent in an F constraint on formal character arguments that has been added.

Jose Lopez sent in a spurious conflict that has been removed.

Doug Cox has built some new windows builds.

February 1

Doug Cox has built some new windows builds.

Wolfgang Dobler sent in a spurious used-but-not-set warning that has been silenced.

Walt Brainerd sent in F constraints involving array specifications and variable specifications that have been added.

Dominique d'Humières and Joaquim Ballabrera sent in a problem with the -fone-error switch that has been fixed. The abort message has also been clarified.

Vittorio Zecca sent a little more than a dozen problems that have been fixed. They ranged all over the place and are fixed now.

An anonymous donor sent US $100.00 to "help/encourage g95 development".

January 31

Vivek Rao pointed out an embarrassing typo that has been fixed.

Doug Cox has built some new windows builds. This new version should fix some write-errors reported by Roger Cue and Steve Giess on windows 98.

Richard Maine, the godfather, cleared up a confusing issue regarding derived type module variables with default components. There is a constraint requiring that such variables be SAVEd. The reason is that module variables are allowed to come in and out of existence as the module comes in and out of scope, like COMMON blocks. Variables with default components cause the actual initialization to become problematic, so such variables are required to be SAVEd.

Stephen Bespalko and Hans-Wilhelm Bolloni were the original questioners wondering why this was so, Michael Richmond also independently detected the back-and-forth in the code.

January 30

David Kneis pointed out some incorrect arithmetic for real exponentials (in PARAMETER calculations) when the base was negative and the exponent an integer. Fixed.

Alex Deckmyn pointed out a typo on the ftp page that has been fixed.

Doug Cox has added a new frequently-asked questions on the windows download. This can be found on the downloads page. Doug Latornell requested the lnblnk() extension, which is essentially len_trim in the g77 library. Done.

Joachim Geiger requested the g77 library's ftell(). Added.

Ivo Houtzager sent in an updated version gnumex.patch, which fixes a number of problems when mixing g95 and Matlab.

Joe Krahn found an off-by one problem with the G-descriptor for reals that has been fixed.

Vittorio Zecca sent in a pair of problems with NULL() that have been fixed.

Walt Brainerd sent in some problems with character declarations in F mode that have been fixed.

January 27

Doug Cox has built some new windows builds.

January 25

Harald Anlauf found an off-by-one error in the ISHFT() intrinsic that has been fixed.

Michael Richmond and Hans-Wilhelm Bolloni found a regression involving derived types with access specifiers. Got this fixed now.

Doug Cox has build some new windows builds.

January 24

Joost Vandevondele pointed out some broken ftp links in the new download page.

Dominique d'Humières sent in regressions with ISHFTC() and EOSHIFT() that have been fixed.

Wolfgang Dobler sent in a bug with SPREAD() that has been fixed.

Bill McLean suggested a warning when an INTENT(OUT) dummy variable is never set. Added this.

Doug Cox has built some new windows builds.

January 23

Juha Ruokolainen, Pere Constans and Richard Siddans pointed out the -fPIC for compiling the runtime library somehow got misplaced. I've put it back in.

John Fulton pointed out that the BOZ descriptors, which are technically integer descriptors are treated as typeless by other implementations. I've removed the type-check if -fsloppy-char is given.

Bob Taylor found a memory leak associated with ACCESS=STREAM files that has been plugged.

Dominique d'Humières sent in another case not covered by -fmultiple-save that has been fixed.

January 22

Pedro Giffuni reported a successful build for amd64 running freebsd. We're working on getting access to a system in order to make this part of the regular build.

Doug Cox has built some new windows builds.

January 21

Joost Vandevondele pointed out another place where the prohibition on common block names being procedure names was too strong-- internal procedures. Got this fixed now.

Joost also found an issue where errors regarding filenames specified with character variables were being printed with the fortran trailing spaces. Got those suppressed now.

Vittorio Zecca sent in a slew of problems with EOSHIFT(), IBCLR(), IBSET(), ISHFT(), ISHFTC(), MVBITS(), IBITS(), REPEAT(), RESHAPE(), MINVAL(), MAXVAL(), MINLOC(), MAXLOC(), MERGE(), SYSTEM_CLOCK(), SUM(), PRODUCT(), PACK(), SELECTED_REAL_KIND(), TRANSFER(), and UNPACK().

Mohammad Rahmani reports that the Athena Visual Studio now uses g95 as a compiler.

Simon Geard: My reply to you at quintic.co.uk bounced because quintic is apparently off-the-air.

January 20

Pedro Giffuni pointed out that g95 wasn't compiling on freebsd-amd64, due to a different host string from config.guess-- "amd64" vs "x86_64". Got this fixed now.

January 19

The new ftp site is now active. It is at: (fanfare!) http://ftp.g95.org, also accessible by a link on this page. The main problem with the old system was that the SourceForge throttles its downloads to accomodate periods of heavy load, causing downloads of g95 to fail or become corrupt. The new arrangement should fix this. The old tarballs are gone, to prevent people from using the old versions. People using automated scripts like the one above to download g95 can fix them by substituting "ftp" for "www".

Binaries are also accessible by the FTP protocol as well, see the links for exact details. The new site also features atomic updates-- under the old system a download could be corrupted by a new build being uploaded. This is no longer possible.

Doug Cox has built some new windows builds.

January 18

Doug Cox found a problem with common blocks and statement functions that has been fixed.

Jos de Kloe pointed out that BTEST() wasn't complaining on invalid POS arguments. Got that fixed now.

Delbert Franz pointed out that symbols for unwinding the stack frame weren't present on IA64. After some initial confusion, we found the symbols in the associated gcc build, and the libraries should now be included in the regular IA64 build.

Joe Krahn mentioned that the list format of real numbers requires using exponential format for number beyond or below a particular power of ten. Currently this is set at six. I've added a new environment variable, G95_LIST_EXP, which gives the last power of ten to avoid the exponentials.

The new ftp site is almost ready, but of course there are lots of details to fix. The build to the new site works, but accessing it from the outside is a problem now. Hopefully, things will be ready by tomorrow.

January 13

Doug Cox has built some new windows builds.

January 12

Dominique d'Humières pointed out what is hopefully the final case in the -fmultiple-save saga.

Daniel Price suggested extending the used/set warnings to PRIVATE module variables. Got this done now.

Tarek Yousef found a bug in SPREAD() that has been fixed.

Jacek Koput pointed out that the argc and argv were being stored in different variables than g77, preventing a popular fortran-to-C interface from working correctly. I've moved these variables to f__xargc and f__xargv in order to be compatible with g77.

Doug Cox has built some new windows builds.

January 11

Alan Greynolds, Dominique d'Humières and Alberto Garcia pointed out that the constraint on nonconstant character functions was a little too broad. Got that fixed now.

Dominique d'Humières pointed out an additional problem with the new -fmultiple-save option that been fixed.

Joost Vandevondele pointed out a constraints for common blocks that has been added.

Russell Johns sent in a subtle problem with multiple initialized module equivalences. Fixed.

Joe Koski reported success with OCTAVE under OSX. Hooray!

January 10

Doug Cox and Vivek Rao have made some corrections to the G95 Manual. The new version is up on the website and in the distributions.

Doug has built some new windows builds.

Joost Vandevondele pointed out another unimplemented constraint on nonconstant character functions that has been added.

Alan Greynolds pointed out that F2003 allows namelists from internal files. Got this implemented now.

Joe Koski was having some problems linking octave under OSX. After a couple of days of legwork, he found a small patch that is used to get the process's environment variables, the OSX way, which is of course different than how everyone else does it.

Joe Krahn pointed out a regression on structure constructors that has been fixed.

January 9

Dominique d'Humières sent a crash on a bad statement label that has been fixed.

Rick Weed suggested an -fmultiple-save option that would prevent complaining about multiple instances of the SAVE attribute. This helps out compiling old codes that use the C preprocessor to include the same variable declarations in multiple program units.

Vivek Rao suggested an -fone-error option that stops the compilation after the first error. There is currently a limit of ten error messages before the compilation stop anyhow, but since one error tends to cause another the first is usually the only one that makes sense.

Joe Krahn pointed out some problems with the intrinsic extension SIGNAL subroutine that have been fixed.

Joost Vandevondele sent in a problem with a missing constraint on defined assignments in FORALL that has been added.

January 8

Doug Cox has built some new windows builds.

January 6

Kazushige Goto, the author of the blindingly fast Goto BLAS has fixed a small problem dealing with calling conventions on AMD64 that allows g95-compiled programs to work with this library. Other architectures appear to already work.

January 5

Back.

I had a wonderful vacation. As usual, this means getting to see people that I don't usually get to see. A person of note for readers of this blog was lunch with Richard Maine. Richard, the famed comp.lang.fortran guru, former J3 editor and coauthor of the upcoming "Fortran 2003 Handbook" happens to live on the route I drive and so we coordinated a meeting for lunch. I had a great time.

Richard picked up lunch, and also gave a generous donation of US $100.00, which I will be using later this afternoon to buy some commercial ftp space for g95.

January 3

Giovanni Bussi sent in a clarification of the -i4/-i8 options that has been added.

Volker Eyert found a problem with the PRINT statement that has been fixed.