On Tue, 19 Oct 1999 Peter wrote:
Hello, folks!
: We are approaching a version of GPC that will (a) compile with : gcc-2.95.x and (b) only need minimal patches to the GCC backend. : : With the next version of the GNU Compiler Collection (GCC), we want : to publish the long-expected gpc-2.1 as a fully integrated frontend. : We expect this next GCC release (2.9x or 3.0) to happen within the next : two months or so. : : It is not realistic to fix all bugs and to implement all wanted features : listed in the GPC TODO list (http://fjf.gnu.de/gpc-todo_toc.html) within : this time schedule. However, most of the bugs listed there are not : really relevant to real-world praxis. So we are planning to re-sort the : TODO list and to focus on the most important bugs and feature requests. : : Please tell us which bugs and/or missing features on the TODO list, : section "Urgent", you consider the most urgent. : : And of course, your help to fix those bugs is welcome.
Based of the feedback we have received, I have updated the To-Do list which will hopefully enable us now to produce a GPC 2.1 fully integrated into GCC soon.
Frank
Frank:
What's the status about the compiler bug for:
ftp://ftp.ncifcrf.gov/pub/delila/shell.p
Tom
Dr. Thomas D. Schneider National Cancer Institute Laboratory of Experimental and Computational Biology Frederick, Maryland 21702-1201 toms@ncifcrf.gov permanent email: toms@alum.mit.edu http://www.lecb.ncifcrf.gov/~toms/
Hello, Tom!
What's the status about the compiler bug for:
ftp://ftp.ncifcrf.gov/pub/delila/shell.p
That's the "global goto" bug I just wrote about in my email to Maurice. I am working on it, but currently I have no good idea how to proceed; any help welcome.
Peter
Hello, Tom!
Hi Peter -
What's the status about the compiler bug for:
ftp://ftp.ncifcrf.gov/pub/delila/shell.p
That's the "global goto" bug I just wrote about in my email to Maurice. I am working on it, but currently I have no good idea how to proceed; any help welcome.
Oh - sorry I didn't catch that. Are these messages archived somewhere?
This particular case is my method of making a 'standard' halting function, so for better or worse it is embedded in all of my programs.
I'd be happy to help, but don't know what I could do. All compilers I have ever seen before were happy with this construction.
Tom
Dr. Thomas D. Schneider National Cancer Institute Laboratory of Experimental and Computational Biology Frederick, Maryland 21702-1201 toms@ncifcrf.gov permanent email: toms@alum.mit.edu http://www.lecb.ncifcrf.gov/~toms/
Tom Schneider wrote:
Oh - sorry I didn't catch that. Are these messages archived somewhere?
Yes: http://www.gnu.de/archive/wilma.cgi/gpc#browse
This particular case is my method of making a 'standard' halting function, so for better or worse it is embedded in all of my programs.
I'd be happy to help, but don't know what I could do. All compilers I have ever seen before were happy with this construction.
Then you have never seen a Turbo/Borland Pascal compiler. ;-)
Seriously, the problem is in how the GCC backend handles a GCC extension not present in ANSI C: `goto's with declared labels from a sub-function to the parent. (ANSI C does not have sub-functions; GNU C has.) Since global procedures are _not_ sub-functions of the main program in GPC, this mechanism is modified in GPC in a way which worked under gcc-2.8.x and egcs-1.1.x, but breaks under gcc-2.95.x. (For entry points to the GPC source, see my other mail.)
What we need now is either a fix for this hack, or a better method to obtain such a non-local `goto' to the main program. (C's `setjump()' does not do the job because the target of the jump has not necessarily been executed before the jump takes place.)
Peter
Peter:
(Sorry about the duplicate message to your personal address, please ignore it.)
Oh - sorry I didn't catch that. Are these messages archived somewhere?
Using the search function, I could not even locate any entries with the word 'goto'!
Hmm. Is that because there are no entries for Nov 1999?
Is it broken?
Then you have never seen a Turbo/Borland Pascal compiler. ;-)
Nope! :-)
Seriously, the problem is in how the GCC backend handles a GCC extension not present in ANSI C: `goto's with declared labels from a sub-function to the parent. (ANSI C does not have sub-functions; GNU C has.) Since global procedures are _not_ sub-functions of the main program in GPC, this mechanism is modified in GPC in a way which worked under gcc-2.8.x and egcs-1.1.x, but breaks under gcc-2.95.x. (For entry points to the GPC source, see my other mail.)
This strikes me as related to another problem. I was forced by the Sun Pascal compiler no longer to use 'main' as a procedure name because the C compiler objected. However, that is a violation of the scope principle. It seems to me that a compiler writer could avoid all these issues by encasing the entire program under one more layer of scope. Then 'main' or any other non-keyword could be used without conflict with the C compiler.
In the same way, encasing the program as a 'sub-function' might mean that your difficulty with would go away.
Tom
Dr. Thomas D. Schneider National Cancer Institute Laboratory of Experimental and Computational Biology Frederick, Maryland 21702-1201 toms@ncifcrf.gov permanent email: toms@alum.mit.edu http://www.lecb.ncifcrf.gov/~toms/
Tom Schneider wrote:
Peter:
(Sorry about the duplicate message to your personal address, please ignore it.)
No problem. :-)
Oh - sorry I didn't catch that. Are these messages archived somewhere?
Using the search function, I could not even locate any entries with the word 'goto'!
The `search' function is broken. :-( Sorry for this.)
This strikes me as related to another problem. I was forced by the Sun Pascal compiler no longer to use 'main' as a procedure name because the C compiler objected. However, that is a violation of the scope principle.
(* Yes, and GPC does not have this problem. :*)
It seems to me that a compiler writer could avoid all these issues by encasing the entire program under one more layer of scope. Then 'main' or any other non-keyword could be used without conflict with the C compiler.
In the same way, encasing the program as a 'sub-function' might mean that your difficulty with would go away.
Yes, but doing so would create other difficulties with e.g. pointers to procedures and global variables residing on the stack rather than the heap etc.
Peter