On Sat, 2012-03-24 at 11:45 +0530, Subrata Biswas wrote: > Dear All, > I am a MTech student at Indain Institute of Technology, Roorkee. I > want to do my GSoC12 project under your guidance. I am writing this > mail for a basic review and feedback on my project idea before formal > submission. > > This project idea is mainly concentrated on improvement or addition a > new feature in the gcc compiler. > > ---------------------------------------------------------------------- > Problem Statement: > ---------------------------------------------------------------------- > GCC compiler is the most popular c compiler. If there is a small bug > in the program, the gcc shows the error and did not generate the > executable (out) file. Even a small mistake done by a programmer made > his program execution impossible which means an unfinished assignment > !!! This case is not at all programmer friendly. This project idea is > based on this problem faced by programmers. Here I shall try to make > our favorite gcc compiler more programmer friendly. > ---------------------------------------------------------------------- > Project Title: Partial executable generation using GCC > ---------------------------------------------------------------------- > Project Idea: > ---------------------------------------------------------------------- > The GCC compiler can be added with an extra feature to generate an > partial executable file after showing the current bugs in the > programs. Here it can be done by analyzing the data flow of the c code > and eliminating the part of the program which is dependent on the > erroneous portion of the program. Then the compiler shows the error > and warnings in the code and generate the partial executable version > of the code. > This feature may make gcc to a higher level of programmer friendly compiler. > > ---------------------------------------------------------------------- >
I might be misunderstanding the idea... Let's assume you've got a program that doesn't compile, and you leave out those erroneous blocks to enforce successful compilation of the broken program. How are you going to figure out for which blocks it is actually safe to be removed and for which it isn't? Effectively, you'll be changing the original semantics of a program, and those semantic changes might be completely not what the programmer originally had in mind. In the worst case, something might end up with an (un)formatted harddisk... Cheers, Oleg