Am Donnerstag, 6. April 2006 15:18 schrieb Kai Ruottu: > Martin Krischik kirjoitti: > Producing GCC requires a "complete C compiler". The "ISO99 C compiler" > the "Prerequisites" in the "Installing GCC" talks about is something > very weird > gibberish for most people. Because GCC oneself cannot produce GCC, then > GCC isn't a "ISO99 C compiler" or how? > Even "compiling" that "Hello World" has the "#include <stdio.h>", so > most newbies > know these (target) headers being obligatory. "Linking" it then requires > the startups > and those target libraries ('libc' usually but with MinGW that is > 'libmsvcrt'). So what > you think a compiler being differs horribly about what a newbie thinks > it being and > what one can do with a "compiler"... Usually this requirement is "It can > compile the > Hello World", and here that "compile" means "producing the executable > "hello.exe" > from the source "hello.c" ! Actually I have spend the $ 18 on an copy of the ISO/IEC 9899/1999 and read id. The standart consists of: A) A programming and runtime environment (Chapter 5) B) A programming language (Chapter 6) C) A predefined library (Chapter 7) And <stdio.h> is part of the predefined language library (Chapter 7.19, Page 261 to 303). A fully compliant language environment must provide them - not the operating system. Because the standart is far broader then you can obviously imagine: The standart covers covers operating systems not written in C. That GCC expects the operating system to provide 240 pages of its language definition is a bit cheeky. Especially since the standart consists only of 540 pages. So to answer your initial question: GCC on its own is indeed not a C99 compliant language environment - only in combination with glibc it becomes C99 compliant. On the other hand: if you set "--enable-languages=c,ada" you get the full Ada compiler and the predefined library to go with it as defined in the ISO/IEC 8652:1995. No need to install some libada first. Martin -- Martin Krischik mailto://krischik@xxxxxxxxxxxxxxxxxxxxx
Attachment:
pgp1M5ga3JaCg.pgp
Description: PGP signature