ISO C89 and ISO C99

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • jrefactors@hotmail.com

    ISO C89 and ISO C99

    When people say C programming language, they mean ISO C89? The latest C
    is ISO C99, but
    I heard this is not commonly used. What's the differences between ISO
    C89 and ISO C99?

    Please advise. Thanks

  • Victor Bazarov

    #2
    Re: ISO C89 and ISO C99

    jrefactors@hotm ail.com wrote:[color=blue]
    > When people say C programming language, they mean ISO C89? The latest C
    > is ISO C99, but
    > I heard this is not commonly used. What's the differences between ISO
    > C89 and ISO C99?[/color]

    Ask people who say. When I say C, I usually mean a common subset of C90
    and C99.

    Comment

    • Chris Hills

      #3
      Re: ISO C89 and ISO C99

      In article <1102697362.851 000.205840@f14g 2000cwb.googleg roups.com>,
      jrefactors@hotm ail.com writes[color=blue]
      >When people say C programming language, they mean ISO C89?[/color]

      C98 is ANSI C
      C90 is ISO C
      Identical content as regards the C. the ANSI- C became the ISO-C
      document.
      [color=blue]
      >The latest C
      >is ISO C99, but
      >I heard this is not commonly used.[/color]

      There are no AFAIK complete C99 implementations . As there will be a C05
      it is likely there never will be a C99 compiler.

      Certainly no mainstream or industrial compilers that support it apart
      from the Tasking Tricore compiler AFAIK.
      [color=blue]
      >What's the differences between ISO
      >C89 and ISO C99?[/color]

      If you look on http://www.phaedsys.org under the SW Engineering button
      there is a link to the differences between C90 and C99.

      /\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\
      \/\/\/\/\ Chris Hills Staffs England /\/\/\/\/\
      /\/\/ chris@phaedsys. org www.phaedsys.org \/\/
      \/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/

      Comment

      • Keith Thompson

        #4
        Re: ISO C89 and ISO C99

        [ Newsgroups trimmed; this has nothing to do with comp.lang.c++. ]

        Chris Hills <chris@phaedsys .org> writes:[color=blue]
        > In article <1102697362.851 000.205840@f14g 2000cwb.googleg roups.com>,
        > jrefactors@hotm ail.com writes[color=green]
        >>When people say C programming language, they mean ISO C89?[/color]
        >
        > C98 is ANSI C[/color]

        C89, not C98.
        [color=blue]
        > C90 is ISO C
        > Identical content as regards the C. the ANSI- C became the ISO-C
        > document.[/color]

        Except that the sections were renumbered.

        The current *official* standard, according to ISO, is C99; the C99
        standard officially supersedes the C90 standard. But practically
        speaking, most current implementations support C90 but not C99.

        The phrase "C programming language" is ambiguous. If it makes a
        different, you should refer specifically to C90 or C99.

        --
        Keith Thompson (The_Other_Keit h) kst-u@mib.org <http://www.ghoti.net/~kst>
        San Diego Supercomputer Center <*> <http://users.sdsc.edu/~kst>
        We must do something. This is something. Therefore, we must do this.

        Comment

        • E. Robert Tisdale

          #5
          Re: ISO C89 and ISO C99

          Chris Hills wrote:
          [color=blue]
          > jrefactors writes
          >[color=green]
          >>When people say C programming language, they mean ISO C89?[/color]
          >
          > C89 is ANSI C
          > C90 is ISO C
          > Identical content as regards the C.
          > The ANSI-C became the ISO-C document.
          >[color=green]
          >>The latest C
          >>is ISO C99,
          >>but I heard this is not commonly used.[/color][/color]

          I use it all of the time.
          [color=blue]
          > There are, AFAIK, no complete C99 implementations .[/color]

          There are also no complete C89 implementations
          but typical C89 implementations are "closer" to being complete
          than typical C99 implementations .
          [color=blue]
          > As there will be a C05, it is likely there never will be a C99 compiler.[/color]

          When (if) there is a C05 standard, it will subsume the C99 standard
          and this will be a moot point.
          [color=blue]
          > Certainly no mainstream or industrial compilers that support it
          > apart from the Tasking Tricore compiler AFAIK.[/color]

          Your information is obsolete.
          I use several C99 compilers

          Intel(R) C++ Compiler 7.1 and 8.1 (both accept C99),
          gcc (GCC) 3.2.3 20030502 (Red Hat Linux 3.2.3-42), etc.

          I never have had occasion to use the missing C99 features
          so, as far as I'm concerned, these implementations are complete.

          Comment

          • Keith Thompson

            #6
            Re: ISO C89 and ISO C99

            [ Newsgroups tweaked; this has nothing to do with C++. ]

            "E. Robert Tisdale" <E.Robert.Tisda le@jpl.nasa.gov > writes:[color=blue]
            > Chris Hills wrote:[/color]
            [...][color=blue][color=green]
            >> Certainly no mainstream or industrial compilers that support it
            >> apart from the Tasking Tricore compiler AFAIK.[/color]
            >
            > Your information is obsolete.
            > I use several C99 compilers
            >
            > Intel(R) C++ Compiler 7.1 and 8.1 (both accept C99),
            > gcc (GCC) 3.2.3 20030502 (Red Hat Linux 3.2.3-42), etc.
            >
            > I never have had occasion to use the missing C99 features
            > so, as far as I'm concerned, these implementations are complete.[/color]

            You might as well say that you use a C89 compiler that's complete as
            far as you're concerned; it doesn't implement function prototypes, but
            you don't use them anyway, so that's ok.

            A C99 compiler is one that implements the C99 standard, not one that
            implements the subset of the C99 standard that any one person happens
            to use.

            (That's not to imply that there's anything wrong with using a compiler
            that implements only a subset of the C99 standard.)

            gcc's current C99 status is summarized at
            <http://gcc.gnu.org/c99status.html> . Intel's compiler tries to be
            gcc-compatible, so I'd guess its status is similar.

            The Comeau compiler is alleged to be C99-compatible; I've never used
            it, so I can't comment further.

            --
            Keith Thompson (The_Other_Keit h) kst-u@mib.org <http://www.ghoti.net/~kst>
            San Diego Supercomputer Center <*> <http://users.sdsc.edu/~kst>
            We must do something. This is something. Therefore, we must do this.

            Comment

            • Chris Hills

              #7
              Re: ISO C89 and ISO C99

              In article <cpd565$bih$1@n ntp1.jpl.nasa.g ov>, E. Robert Tisdale
              <E.Robert.Tisda le@jpl.nasa.gov > writes[color=blue]
              >Chris Hills wrote:
              >[color=green]
              >> jrefactors writes
              >>[color=darkred]
              >>>When people say C programming language, they mean ISO C89?[/color]
              >>
              >> C89 is ANSI C
              >> C90 is ISO C
              >> Identical content as regards the C.
              >> The ANSI-C became the ISO-C document.
              >>[color=darkred]
              >>>The latest C
              >>>is ISO C99,
              >>>but I heard this is not commonly used.[/color][/color]
              >
              >I use it all of the time.[/color]

              Which does not change the statement that it is not commonly used.
              I know 20 people still using PLM but I would not say it is common.
              [color=blue][color=green]
              >> There are, AFAIK, no complete C99 implementations .[/color]
              >
              >There are also no complete C89 implementations
              >but typical C89 implementations are "closer" to being complete
              >than typical C99 implementations .
              >[color=green]
              >> As there will be a C05, it is likely there never will be a C99 compiler.[/color]
              >
              >When (if) there is a C05 standard, it will subsume the C99 standard
              >and this will be a moot point.[/color]

              Not at all.
              The point is that in the period 1999 to 2004 there were no C99 compliant
              compilers. From 2005 there may be C05 compilers but these will not be
              C99 compilers.
              [color=blue][color=green]
              >> Certainly no mainstream or industrial compilers that support it
              >> apart from the Tasking Tricore compiler AFAIK.[/color]
              >
              >Your information is obsolete.
              >I use several C99 compilers
              >
              >Intel(R) C++ Compiler 7.1 and 8.1 (both accept C99),
              >gcc (GCC) 3.2.3 20030502 (Red Hat Linux 3.2.3-42), etc.
              >
              >I never have had occasion to use the missing C99 features
              >so, as far as I'm concerned, these implementations are complete.[/color]


              Then ALL C compilers are C99 compliant as far as I am concerned because
              I have never used the missing parts.

              As you point out there are no completely conforming C99 compilers.
              There are some completely conforming C90 compilers.

              I thought that the GCC were not fully C99 and in any event GCC used it's
              own standard?



              /\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\
              \/\/\/\/\ Chris Hills Staffs England /\/\/\/\/\
              /\/\/ chris@phaedsys. org www.phaedsys.org \/\/
              \/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/

              Comment

              • Greg Comeau

                #8
                Re: ISO C89 and ISO C99

                In article <m2zbOmA0UjuBFA IL@phaedsys.dem on.co.uk>,
                Chris Hills <chris@phaedsys .demon.co.uk> wrote:[color=blue]
                >As you point out there are no completely conforming C99 compilers.
                >There are some completely conforming C90 compilers.[/color]

                Comeau + Dinkumware provides as much C99ness as the others
                provide C90ness, if not more, and furthermore, also provides
                C90ness and C++03ness. We look forward to 05, whatever it may
                or may not yield in new standards.
                --
                Greg Comeau / Comeau C++ 4.3.3, for C++03 core language support
                Comeau C/C++ ONLINE ==> http://www.comeaucomputing.com/tryitout
                World Class Compilers: Breathtaking C++, Amazing C99, Fabulous C90.
                Comeau C/C++ with Dinkumware's Libraries... Have you tried it?

                Comment

                • E. Robert Tisdale

                  #9
                  Re: ISO C89 and ISO C99

                  Chris Hills wrote:
                  [color=blue]
                  > As you point out there are no completely conforming C99 compilers.
                  > There are some completely conforming C90 compilers.[/color]

                  Name ten.

                  Comment

                  • E. Robert Tisdale

                    #10
                    Re: ISO C89 and ISO C99

                    Keith Thompson wrote:
                    [color=blue]
                    > The Comeau compiler is alleged to be C99-compatible;
                    > I've never used it, so I can't comment further.[/color]

                    Who alleges such a thing?
                    Certainly *not* Comeau:



                    "This combination of Comeau and Dinkumware
                    is as close as you can get to full compliance with
                    Standard C++ from 2003 or 1998,
                    Standard C from 1999 (aka C99) and
                    Standard C from 1990 (aka C90).

                    Comment

                    • E. Robert Tisdale

                      #11
                      Re: ISO C89 and ISO C99

                      Greg Comeau wrote:
                      [color=blue]
                      > Chris Hills wrote:
                      >[color=green]
                      >>As you point out there are no completely conforming C99 compilers.
                      >>There are some completely conforming C90 compilers.[/color]
                      >
                      > Comeau + Dinkumware provides as much C99ness
                      > as the others provide C90ness, if not more
                      > and furthermore, also provides C90ness and C++03ness.
                      > We look forward to 05,
                      > whatever it may or may not yield in new standards.[/color]

                      Hi Greg,

                      Why don't you claim that your compilers comply with these standards?
                      Do you know that they do *not* comply with certain specifications
                      of the respective standards? And, if so, can you enumerate them?
                      Or is this simply a legal consideration in case bugs
                      or subtle misinterpretati ons of the standards are discovered?

                      Comment

                      • Sniper1

                        #12
                        Re: ISO C89 and ISO C99

                        In article <1102697362.851 000.205840@f14g 2000cwb.googleg roups.com>,
                        jrefactors@hotm ail.com says...[color=blue]
                        > When people say C programming language, they mean ISO C89?[/color]

                        Outside of this newsgroup, most people still say "ANSI C", usually
                        meaning portable C89. In the broader market, they seem to be far
                        less pedantic about "portable" than in c.l.c. In fact, sometimes
                        recruiters or even hiring managers will have their eyes glaze over
                        at the phrase "ISO C" but think they understand exactly what "ANSI
                        C" means.
                        [color=blue]
                        > The latest C is ISO C99, but I heard this is not commonly used.[/color]

                        It is not commonly used, for lack of compiler support in most
                        cases.
                        [color=blue]
                        > What's the differences between ISO C89 and ISO C99?[/color]

                        There are quite a few, Harbison & Steele 5th Ed. does a decent
                        job of laying them out if you are not willing to dig through
                        the standards for yourself. However, there is very little
                        that one might want to do that is provided in C99 but not
                        available in C89.

                        Comment

                        • Chris Hills

                          #13
                          Re: ISO C89 and ISO C99

                          In article <lnhdmtd8r7.fsf @nuthaus.mib.or g>, Keith Thompson <kst-
                          u@mib.org> writes[color=blue]
                          >[ Newsgroups tweaked; this has nothing to do with C++. ]
                          >
                          >"E. Robert Tisdale" <E.Robert.Tisda le@jpl.nasa.gov > writes:[color=green]
                          >> Chris Hills wrote:[/color]
                          >[...][color=green][color=darkred]
                          >>> Certainly no mainstream or industrial compilers that support it
                          >>> apart from the Tasking Tricore compiler AFAIK.[/color]
                          >>
                          >> Your information is obsolete.
                          >> I use several C99 compilers
                          >>
                          >> Intel(R) C++ Compiler 7.1 and 8.1 (both accept C99),
                          >> gcc (GCC) 3.2.3 20030502 (Red Hat Linux 3.2.3-42), etc.
                          >>
                          >> I never have had occasion to use the missing C99 features
                          >> so, as far as I'm concerned, these implementations are complete.[/color]
                          >
                          >You might as well say that you use a C89 compiler that's complete as
                          >far as you're concerned; it doesn't implement function prototypes, but
                          >you don't use them anyway, so that's ok.
                          >
                          >A C99 compiler is one that implements the C99 standard, not one that
                          >implements the subset of the C99 standard that any one person happens
                          >to use.[/color]

                          My point exactly!
                          [color=blue]
                          >(That's not to imply that there's anything wrong with using a compiler
                          >that implements only a subset of the C99 standard.)[/color]

                          That's all we have at present.
                          [color=blue]
                          >gcc's current C99 status is summarized at
                          ><http://gcc.gnu.org/c99status.html> . Intel's compiler tries to be
                          >gcc-compatible, so I'd guess its status is similar.[/color]
                          [color=blue]
                          >The Comeau compiler is alleged to be C99-compatible; I've never used
                          >it, so I can't comment further.[/color]



                          /\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\
                          \/\/\/\/\ Chris Hills Staffs England /\/\/\/\/\
                          /\/\/ chris@phaedsys. org www.phaedsys.org \/\/
                          \/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/

                          Comment

                          • Keith Thompson

                            #14
                            Re: ISO C89 and ISO C99

                            "E. Robert Tisdale" <E.Robert.Tisda le@jpl.nasa.gov > writes:[color=blue]
                            > Keith Thompson wrote:
                            >[color=green]
                            >> The Comeau compiler is alleged to be C99-compatible; I've never used
                            >> it, so I can't comment further.[/color]
                            >
                            > Who alleges such a thing?
                            > Certainly *not* Comeau:[/color]
                            [snip]

                            I don't know. I thought it had been mentioned here, but I might have
                            misinterpreted something.

                            --
                            Keith Thompson (The_Other_Keit h) kst-u@mib.org <http://www.ghoti.net/~kst>
                            San Diego Supercomputer Center <*> <http://users.sdsc.edu/~kst>
                            We must do something. This is something. Therefore, we must do this.

                            Comment

                            • Greg Comeau

                              #15
                              Re: ISO C89 and ISO C99

                              In article <cpdkjl$jks$1@n ntp1.jpl.nasa.g ov>,
                              E. Robert Tisdale <E.Robert.Tisda le@jpl.nasa.gov > wrote:[color=blue]
                              >Greg Comeau wrote:[color=green]
                              >> Chris Hills wrote:[color=darkred]
                              >>>As you point out there are no completely conforming C99 compilers.
                              >>>There are some completely conforming C90 compilers.[/color]
                              >>
                              >> Comeau + Dinkumware provides as much C99ness
                              >> as the others provide C90ness, if not more
                              >> and furthermore, also provides C90ness and C++03ness.
                              >> We look forward to 05,
                              >> whatever it may or may not yield in new standards.[/color]
                              >
                              >Why don't you claim that your compilers comply with these standards?
                              >Do you know that they do *not* comply with certain specifications
                              >of the respective standards? And, if so, can you enumerate them?
                              >Or is this simply a legal consideration in case bugs
                              >or subtle misinterpretati ons of the standards are discovered?[/color]

                              Minus what it even means to say so, and that I don't
                              feel it is always my position to say so, we offer
                              a diversity of implementations on a diversity of
                              platforms, and especially in the custom port cases,
                              such a claim may not always be true.

                              In September this was offered:

                              |Newsgroups: comp.std.c
                              |From: "Barry E. Hedquist" <b...@peren.com >
                              |Date: Fri, 10 Sep 2004 17:51:34 GMT
                              |Local: Fri, Sep 10 2004 10:51 am
                              |Subject: Re: C 99 compiler access
                              |
                              |We validated a combination of Dinkumware's Library
                              |and EDG's front end. I believe Comeau uses the
                              |EDGfront end.
                              |
                              |see: www.peren.com/pages/cvsa_isocvpl.htm

                              I'd offer a "tinyurl" to the above post, but I seem
                              to be getting beta url's for google groups this week,
                              so don't know if/when such a link would break.
                              Anyway, Barry is correct. If you look at the
                              peren.com link Barry gave above, you'll see that
                              Perennial has validated EDG, and Dinkumware, which
                              mean that they have passed all tests. It also
                              passes all Plum Hall validations. We are derived
                              from EDG, which as just mentioned is certifiably conforming,
                              so putting 2 and 2 together means we have configurations
                              which can match that, for instance, some of our
                              generally available ports for Windows and LINUX.
                              As does Dinkumware.
                              --
                              Greg Comeau / Comeau C++ 4.3.3, for C++03 core language support
                              Comeau C/C++ ONLINE ==> http://www.comeaucomputing.com/tryitout
                              World Class Compilers: Breathtaking C++, Amazing C99, Fabulous C90.
                              Comeau C/C++ with Dinkumware's Libraries... Have you tried it?

                              Comment

                              Working...