Neil Santos wrote:
There is a patch for gpc proper and two backend patches. For gcc-3.4.2 the 'gcc-3.4.diff8.gz' patch should work (there is harmless reject). For CVS versions 'gcc-3.4.diff10.gz' is needed.
Waldek, do you mean to say that these aforementioned patches can't be fixed for the latest snapshot? No, I don't mean `not easily', but `impossible'. If it's possible, I'd like to try my hand with trying to fix it--might take my mind off of things for a bit.
I have created the patches so it is `possible'. In fact adjusting patches for new gpc version should be much easier then creating them in the first place. The "algorithm" I use is: -- try which part can be applied mechanically -- go trough diff and find places where the other hunks should go and insert code from diff there -- go trough diff between gpc-20041017 and gpc-20040516 and find new places which should be updated. Also look for possible errors which first (mechanical) stage could introduce -- run the testsuite and fix all errors (if any).
My experience was that that most of places where diff was not able to apply a hunks still was passible to resolve without deep understanding of the code. A few place may require going trough larger parts of the sources to find needed information.
What skills are needed? Knowledge of C. Probably reading GCC internals manual. Also
http://cobolforgcc.sourceforge.net/cobol_14.html
may be usefull (it is somewhat outdated). And general knowledge about compilers is usefull.
If you want to "get into" GPC/GCC developement than updating the diff may be a good starting point. On the other hand changing the compiler without understanding is likely to introduce bugs, so at the beginning most of the effort must go into learning how the compiler works. I estimate that updating patches will take me 1-2 days. Somebody familiar with C but unfamiliar with GPC/GCC probably needs about a week to modify compiler with confidence (the keyword here is confidence, most changes are mechanical and in few other cases one can get working compiler just by pure luck). If you do not know C then I would say: forget about touching the patches.
ATM I do not plan to update 3.4 patches to work with gpc-20041017. Assuming that follow-up is quick enough I will update patches for the follow-up.
How quick is `quick enough'? :D
2-3 weeks from now.