[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Bug#196800: flex mustn't assume stdint.h is available on allplatforms



On Mon, 16 Jun 2003 22:55:53 -0400, Neil Roeth <neil@debian.org> said: 

> On Jun 13, Daniel Jacobowitz (dan@debian.org) wrote:
>> On Fri, Jun 13, 2003 at 06:02:02PM -0500, Manoj Srivastava wrote:
>> > On Fri, 13 Jun 2003 18:20:37 -0400, Daniel Jacobowitz
>> > <dan@debian.org> said:
>> >
>> > > On Thu, Jun 12, 2003 at 08:40:47PM -0500, Manoj Srivastava
>> > > wrote:
>> > >> On Thu, 12 Jun 2003 15:22:17 -0400, Daniel Jacobowitz
>> > >> <dan@debian.org> said:
>> > >>
>> > >> >> You need to read up on your standards. The language called
>> > >> >> C is defined by only one authoritative standard.
>> > >> >> ----------------------------------------------------------------------
>> > >> >> ISO/IEC 9899:1999 (E) (C)ISO/IEC
>> > >> >>
>> > >> >> Contents ix
>> > >> >>
>> > >> >> 5 This second edition cancels and replaces the first
>> > >> >> edition, ISO/IEC 9899:1990, as amended and corrected by
>> > >> >> ISO/IEC 9899/COR1:1994, ISO/IEC 9899/AMD1:1995, and ISO
>> > >> >> /IEC 9899/COR2:1996.
>> > >> >>
>> > >> >> ----------------------------------------------------------------------
>> > >> >>
>> > >> >> Thus, I need have no such qualifiers when talking abouit
>> > >> >> conforming C implmentations.
>> > >>
>> > >> > Given the real-world deployment of probably at least a dozen
>> > >> > major OSs which were 9899:1990 conformant and predate the
>> > >> > 9899:1999 standard, I'd say that's a pretty useless point of
>> > >> > view.
>> > >>
>> > >> OOh, I am blinded by the cogency of your arguments.
>> > >>
>> > >> C99 is over 3 years old.
>> >
>> > > And still not fully implemented.  Unstable only switched to a
>> > > compiler with minimal C99 support some months ago.  GCC has no
>> > > roadmap for implementing the remaining C99 features so it may
>> > > be years before they are available on free operating systems.
>> >
>> > 	And? You seem to be implying (incorrectly), that flex requires
>> >  more of C99 than is already present in Debian and a post 2.95
>> >  gcc. The new flex has been compiled, and has all the test suites
>> >  succesfully compile, on all 11 architectures Debian supports.
>> >
>> > >> For ancient platforms, use flex-old.
>> > >>
>> > >> Anyway, you are certainly entitled to your opinion, and you
>> > >> can do whatever you want with your packages and your code.
>> >
>> > > I am somewhat distressed that the version of flex provided with
>> > > Debian (I am assuming from the discussion) will not be usable
>> > > for cross-platform development without constant care to use
>> > > flex-old instead.  We've finally persuaded binutils and GCC to
>> > > move into the era of C90 source.  I don't think we'll see C99
>> > > widely enough supported to write portable software using it
>> > > until 2008 at least.
>> >
>> > 	Again you raise a strawman. Flex comes with a plethora of
>> >  tests, and all the tests have always been passed. Flex works
>> >  with all 11 architectures that comprise debian (we have a
>> >  mysterious test failure on the most recent m68k run, though I
>> >  think it may have more to do with the new gcc there than
>> >  anything else).
>> >
>> > 	Now, if you have any concrete objections as to why flex does
>> >  not work in Debian, please feeel free to point them out. If you
>> >  merely want to grumble about how flex may not work until 2008,
>> >  without providing a basis for such grumplings, I am sure I can't
>> >  help you there.
>>
>> You have missed my point.  I am quite aware that flex-generated
>> lexers will continue to work on all Debian platforms.  But until
>> C99 is much more mature than it is today, many other significant
>> platforms will not have a C99-compatible compiler - even to the
>> degree of including <stdint.h>.  Therefore Debian becomes more
>> awkward for cross-platform, portable development.  Not useless,
>> because of flex-old, but certainly more awkward; I will not be able
>> to build Debian packages which require a recent flex in the same
>> root in which I build cross-platform software.
>>
>> Certainly you have not broken Debian; but I maintain that this
>> short-sightedness does damage Debian's usefulness as a development
>> platform, for all those targets which many more practical
>> developers must support in order to do their jobs.

> I think this is an excellent point.  I can think of many times when
> I've done development work in Debian and ported the result to
> Solaris, IRIX or HPUX.  It is, of course, not a requirement for
> Debian that this be easy, but the easier it is, the more convincing
> the argument for integrating Debian into a mixed *nix environment,
> for everyone from developers to CIOs.

	Fine. You can then still choose to use flex-old (of course,
 any C++ scanners you have shall fail to work with gcc 3.3, and even
 for C scanners all bets are off wrt new compilers). 
	

	Or you can use the new flex, and get scanners that require
 conforming implementations.

	Debian offers you the cjoice -- since there is none which is
 unequivocally better.

	manoj
-- 
"We all agree on the necessity of compromise.  We just can't agree on
when it's necessary to compromise." --Larry Wall in
<1991Nov13.194420.28091@netlabs.com>
Manoj Srivastava   <srivasta@debian.org>  <http://www.debian.org/%7Esrivasta/>
1024R/C7261095 print CB D9 F4 12 68 07 E4 05  CC 2D 27 12 1D F5 E8 6E
1024D/BF24424C print 4966 F272 D093 B493 410B  924B 21BA DABB BF24 424C



Reply to: