Stefan, Thanks for the addition. It has always been our objective to compile on many platforms easily, even if this requires a slight adjustment of our personal coding styles. (// comments, declaration order, indenting,...) So I sincerely hope (expect ;-))that someone from the pathfinder team takes over the step taken by Fabian and remove the C99 specifics. It is a one-day job with great benefit for the community. I am looking forward to the next check-in. Stefan Manegold wrote:
On Thu, Nov 02, 2006 at 07:59:50AM +0100, Martin Kersten wrote:
dank fabian.
Fabian Groffen wrote:
Hi,
Please find attached a (compressed) patch which loop lifts all loops in the pathfinder sources such that variable declarations go at the top of the scope the loop is in, or a higher scope if more appropriate.
Rationale: I don't feel like appending stdc99 flags in a (possible) Gentoo ebuild for the next release.
In other words, this patch removes the C99 requirement, which I think more people will benefit from, such that MonetDB/* cleanly compiles with --disable-strict.
Just for the records: there is more C99 specific (i.e., beyond C89) code in Pathfinder than for-loop-inlined variable declarations; gcc w/o --stdc99 might only complain about the for-loop-inlined variable declarations; other compiles might/will complain about more (macro's with variable argument lists, "//" comments, name enum initializations ...); hence, even with/after this patch, Pathfinder code still is/requires C99.
Stefan
Please consider applying this patch to the current CVS sources.
My apologies for the large attachment on this list; there are simply lots of loops to "lift".