According to R. P. C. Rodgers, M.D.:
[...] I have just briefly tried to build your latest gpc with gcc 2.7.2 with the GNU f77 patches applied. This results in an altered version for gcc of "2.7.2.f.1" which the gpc configuration file rejects as an inappropriate version. Do you have any plans to accommodate the simultaneous installation of f77 and Pascal?
We are working on merging Pascal into the GCC main distribution line. Once this is complete, you can install GNU Pascal together with GCC typing a command like `make LANGUAGES="C Pascal"'. Then all GNU Pascal patches will already be in the GCC source; additional GNU f77 patches should not spoil them, so it will probably work.
And in case the f77 team and others are working on similar projects, it can become `make LANGUAGES="C C++ Objective-C Pascal Fortran Ada Basic Foo Bar"', one day ... (-:
Any suggested work-arounds for my situation?
Recently, Nils Bokermann sent a diff to this list which contains the necessary changes to `toplev.c'. We will include it into the GPC supplementary distribution (i.e. FAQ, WWW home page etc.), soon.
Hope this helps,
Peter
e-mail: peter.gerwinski@uni-essen.de home address: D"usseldorfer Str. 35, 45145 Essen, Germany WWW: http://agnes.dida.physik.uni-essen.de/~peter/
8< -----------------------------------------------------------------------
From: Nils Bokermann nilsb@reality.owl.de Subject: GPC and G77 To: gpc@hut.fi Date: Mon, 13 Jan 1997 17:16:22 +0100 (MET)
Hello!
If trying to build the gpc-2.0 with the gcc-2.7.2.1 with the GNU Fortran enabled, will not run. There are some problems with the file toplev.c. Here is a simple diff, which worked at mine.
--------cut-------------- diff -rcp2N gcc-2.7.2.1/toplev.c gcc-2.7.2.1.f.1/toplev.c *** gpc-2.0/toplev.c Fri Oct 20 17:56:35 1995 --- gpc-2.0.f.1/toplev.c Mon Nov 11 15:02:33 1996 *************** int flag_unroll_loops; *** 388,391 **** --- 388,405 ---- int flag_unroll_all_loops;
+ /* Nonzero forces all invariant computations in loops to be moved + outside the loop. */ + + int flag_move_all_movables = 0; + + /* Nonzero forces all general induction variables in loops to be + strength reduced. */ + + int flag_reduce_all_givs = 0; + + /* Nonzero gets another run of loop_optimize performed. */ + + int flag_rerun_loop_opt = 0; + /* Nonzero for -fwritable-strings: store string constants in data segment and don't uniquize them. */ *************** struct { char *string; int *variable; in *** 542,545 **** --- 556,562 ---- {"unroll-loops", &flag_unroll_loops, 1}, {"unroll-all-loops", &flag_unroll_all_loops, 1}, + {"move-all-movables", &flag_move_all_movables, 1}, + {"reduce-all-givs", &flag_reduce_all_givs, 1}, + {"rerun-loop-opt", &flag_rerun_loop_opt, 1}, {"writable-strings", &flag_writable_strings, 1}, {"peephole", &flag_no_peephole, 0}, *************** rest_of_compilation (decl) *** 2894,2897 **** --- 2911,2916 ---- { loop_optimize (insns, loop_dump_file); + if (flag_rerun_loop_opt) + loop_optimize (insns, loop_dump_file); }); } --------------cut-------------
It's from the patch which came with GNU Fortran.
Bye, Nils