compile server design document
Devang Patel
dpatel@apple.com
Thu Feb 27 23:04:00 GMT 2003
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
More information about the Gcc
mailing list