Roughly speaking if you code against C90 you're targeting basically
100% of all C environments [code/data memory limitations
notwithstanding].
So your idea of a standard is "roughly" and approximately" something
that suits you and is not standard at all. .
I don't get what sort of standard of response you are looking for. I
already said multiple times that I base most of my work on C90 with
one exception, but stated that if pushed I'd say I was a C99
developer. There is no "approximate" about that. If you want a
precise answer I'm a C99 developer. Practically speaking though [of
more use to real developers] I'm C90 with "long long."
Again, if you had real experience developing portable software this
would make sense to you.
Um, no. It's fairly clear. ISO C90 is an exact specification. Using
"long long" [which is my only use outside C90] makes me a C99 user.
So if I was pushed I'd say "I develop C99 code." But practically
speaking I say "C90 with long long" as it better targets my market
[hint: many UNIX C90 compilers supported "long long"].
EQUIVOCATION AGAIN. It is either standard of it is not.
C99 is a standard. Now you're just being obtuse.
So GCC is variable too. (And non standard as well.... I HAVE seen test
results for GCC against the industry standard test suits.)
Last I checked GCC conforms to C90 and most of C99. For my purposes
GCC is a C99 compiler since I don't use the features it lacks in that
domain. More so, I claim I write C99 code because I make use of
features only found in C99 [and nowhere else]. I don't force the use
of features that are not part of C99.
LCC-win32 is not C99 compliant. Nor is ARMcc, nor is MSVC, nor is ...
Yes it is. You have an approximate idea of the standard and a compiler
that is not standards compliant. Having a flag that says C90 or C99 is
not the same as passing the test suits.
Um, if my C90 [or C99] compliant code compiles correctly it's good
enough for me. And I have never seen GCC fail to accept C90 code. I
have ICE'ed the compiler [optimization bugs] but syntactically it
ALWAYS has accepted my C90 code.
Also the GCC team has a test suite for conformance to C90 and C99.
Check it out.
None but then no ISO standard describes the many variations of the GCC
extensions.
And I don't force my users to use them. The difference between a bit
of inline-asm [using GNU's syntax] and using a whole design
methodology is vast. Take a look at my math library "TomsFastMath."
From the same C code I support portable C99, ARM, MIPS, PPC, X86, and
AVR32. In fact, new ports usually only take minutes to write (I wrote
the PPC port while ssh'ed into a host in the UK on a lark).
Now suppose I used LCC-win32s "objects". Could I write a program such
that I both use objects and not use objects to work with both his and
C99 compliant compilers? No. A whole program re-write would be
required. Therefore, if I spend time developing apps with his non-
standard additions I get vendor locked in.
How am I not vendor
locked in if I use them? Does his compiler produce code for x86_64,
ppc, arm, mips, ?
[hint: GCC does]
I don't care I don't use those targets.
And because you [and he] don't care about that it makes the compiler
less than ideal for a lot of people.
How does GCC produce code for ARM. Cofdfire and 8051? IAR does (and
with a validated compiler) ....
Um? GCC targets ARM. I wouldn't use a C compiler for an 8051, but
then again I've developed programs for an 8051 so I know WTF I'm
talking about ...
OK it is a compiler for ARM. So what.
It was my example of a really expensive commercial compiler.
Because most processors on this planet don't run x86 natively?
So LCC''s fault is that it has the same targets as Microsoft. Why does
it need to target multiple targets?
Because if you want to have proprietary language extensions you ought
to target more than one platform. Otherwise it's just left there.
Basically people who don't write win32 programs can't use his compiler
even if they really wanted to.
I doubt you do. I have seen plenty of benchmarks however GCC usually
fairs very badly without a lot of work.... and time cost money.
I don't know what to say here. I have benchmark after benchmark that
shows it's not uniformly better or worse. Believe it if you will. I
don't give a rats ass.
You can buy commercial cross compilers based on GCC [hint: that's what
we do]. We also use the versions of GCC that come with our distros.
Version of.... all of them non standard... different and have a very
restrictive library.
That's so retarded I don't even know ... words ... lost.
GLIBC is a LGPL such that your applications are not "restricted."
And they're not all different versions. We have both GCC 4.5.1 for
ARM and PPC. It's the same compiler just targets different
processors. All you are showing now is the complete and utter lack of
experience you have with the tools.
Code Sourcery offers that with their builds of GCC. Your point?
The first week I had ARMcc [a really expensive but fairly good ARM
compiler] I broke it. It failed to build a valid C source.
Really... However your idea of valid source seems variable and flexible.
Where did I say that?
It isn't but it has more than most .
I haven't ICE'ed GCC in a while actually. My point was that no
software is perfect. Few commercial compilers are actually C99
compliant just like GCC isn't. The all have errata, bugs, patches,
etc.
I have no idea why you have such a raging hard on to dis GCC, and
frankly I don't care. People are entitled to their opinions, just not
their own facts.
Tom