<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Fri, Dec 13, 2013 at 5:36 AM, Juhász Ádám <span dir="ltr"><<a href="mailto:jadaml@gmail.com" target="_blank">jadaml@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">However, the GNU compiler is also capable to select the proper language and use the proper tools for compillation, so GNU's cpp will compile… I believe Fortran, or even Java, if the proper alternative GNU compiler present. I've never used this capability this extremely though, and not aware wether other compilers are capable to do so.</blockquote>
</div><br>No, what's actually happening is that `-traditional` is being passed; this causes gcc and its cpp to behave like the old AT&T Portable C Compiler that was available on older commercial Unix systems, so that it can compile pre-ANSI (sometimes called "K&R") C code. PCC's cpp was a straight textual substitution macro processor that did not understand the syntax of what it was substituting; ANSI C compilers cannot use that kind of macro processor.</div>
<div class="gmail_extra"><br></div><div class="gmail_extra">The -traditional option to gcc and its cpp exists only to support pre-ANSI (K&R) C code. It happens to also be abusable (at least in its present form) to work with non-C languages, but not even the gcc developers advise this use. It is not reliable, it is not guaranteed to work with non-C code, and it is not guaranteed to be available even in future versions of gcc (there is not a lot of pre-ANSI C code around any more).<br clear="all">
<div><br></div>-- <br><div dir="ltr"><div>brandon s allbery kf8nh sine nomine associates</div><div><a href="mailto:allbery.b@gmail.com" target="_blank">allbery.b@gmail.com</a> <a href="mailto:ballbery@sinenomine.net" target="_blank">ballbery@sinenomine.net</a></div>
<div>unix, openafs, kerberos, infrastructure, xmonad <a href="http://sinenomine.net" target="_blank">http://sinenomine.net</a></div></div>
</div></div>