
On Wed, Sep 8, 2010 at 4:19 AM, Mathias Gaunard <mathias.gaunard@ens-lyon.org> wrote:
On 08/09/2010 04:07, Gottlob Frege wrote:
The right answer often depends on how you're using the parser. As a compiler, Clang stops parsing after a missing #include, because there's rarely any point in continuing the parse. When performing syntax highlighting or code completion, you want results even though the source is never actually going to compile.
- Doug
I want my "compiler" "compiling" in the background of my IDE at all times, as I type. I want undefined identifiers (or thing that appear to be indentifiers) to be colored red (or whatever) until I fix them up. etc. As helpful as possible without being annoying (ie no dialogs pop up or anything like that).
Once my code will actually pass a compile, I want it to already have. :-)
That approach doesn't work when you're cross-compiling, and using headers only available on the target platform.
It works perfectly fine. Your compiler/IDE just needs to know the target (including where those headers reside), but it has to know that anyway to produce code. There would be a slight issue with GCC, because a given GCC executable only targets a single architecture, and multiple instances of GCC can't coexist in an executable. I don't know how common that limitation is, but Clang (for example) allows dynamic selection of the target architecture and allows multiple instances. - Doug