This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: compile server design document


Thanks for taking time to write detailed document. It helps to understand more about compile server approach.

- "This assumes that (normally) a header file consists mainly of declarations (including macro definitions), and the "meaning" of these declarations does not chnge across compilations."

In C++ headers, inline function definitions are everywhere. But even <stdio.h> brings in this little jewel

static __inline int __sputc(int _c, FILE *_p) {
if (--_p->_w >= 0 || (_p->_w >= _p->_lbfsize && (char)_c != '\n'))
return (*_p->_p++ = _c);
else
return (__swbuf(_c, _p));
}


- Do you have any info/data/rough estimate about fragments per header for popular headers like stdio.h, iostream and Carbon.h ?

- "Depending on lack of a macro bindings" issue. In C++, namespaces also creates similar problem.

- "Types defined in multiple locations". Do you plan to detect and report violation of extended single one-definition rule?

- And last question is a implementation detail. Any idea how client will know if server went in infinite loop or an ICE?

Thanks,
-Devang


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]