* More dev86 changes (0.16.7)
@ 2002-08-02 20:18 Robert de Bath
2002-08-02 20:24 ` Manuel Novoa III
2002-08-10 19:36 ` Manuel Novoa III
0 siblings, 2 replies; 9+ messages in thread
From: Robert de Bath @ 2002-08-02 20:18 UTC (permalink / raw)
To: Linux-8086
Rather than joining in this discussion I've been adding about a thousand
lines of new code (and another of old) to dev86. The result is a nice
shiny new CPP. My problem now is that I've run out of bugs in it and need
your help to find some more. ;-)
Advantages:
The new CPP is fully ansi capable including '#' '##' and '??='.
It's also a proper K&R preprocessor if you want.
My next step will be to rip the old CPP out of bcc completely, hopefully
making it lots smaller and so small enough to easily fit in an ELKS a.out.
This version uses the new cpp by default, -e will make it fall back to
the old one (for the moment).
With this version __STDC__ is now defined as "1" not "0" as it was before
because cpp is now fully ansi compliant (crosses fingers).
--
Rob. (Robert de Bath <robert$ @ debath.co.uk>)
<http://www.cix.co.uk/~mayday>
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: More dev86 changes (0.16.7)
2002-08-02 20:18 Robert de Bath
@ 2002-08-02 20:24 ` Manuel Novoa III
2002-08-10 19:36 ` Manuel Novoa III
1 sibling, 0 replies; 9+ messages in thread
From: Manuel Novoa III @ 2002-08-02 20:24 UTC (permalink / raw)
To: Robert de Bath; +Cc: Linux-8086
Hello Robert,
On Fri, Aug 02, 2002 at 09:18:22PM +0100, Robert de Bath wrote:
> Rather than joining in this discussion I've been adding about a thousand
> lines of new code (and another of old) to dev86. The result is a nice
> shiny new CPP. My problem now is that I've run out of bugs in it and need
> your help to find some more. ;-)
I'll be happy to give it a try, but it won't be until next week.
I just got a rush contract job that I need to have done by Monday.
> Advantages:
> The new CPP is fully ansi capable including '#' '##' and '??='.
> It's also a proper K&R preprocessor if you want.
>
> My next step will be to rip the old CPP out of bcc completely, hopefully
> making it lots smaller and so small enough to easily fit in an ELKS a.out.
>
> This version uses the new cpp by default, -e will make it fall back to
> the old one (for the moment).
>
> With this version __STDC__ is now defined as "1" not "0" as it was before
> because cpp is now fully ansi compliant (crosses fingers).
Excellent! Looking forward to trying it with my uClibc stuff.
Manuel
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: More dev86 changes (0.16.7)
@ 2002-08-03 5:21 Ken Martwick
2002-08-03 6:12 ` Robert de Bath
0 siblings, 1 reply; 9+ messages in thread
From: Ken Martwick @ 2002-08-03 5:21 UTC (permalink / raw)
To: Robert de Bath; +Cc: Linux-8086
Robert de Bath wrote (in part):
> Rather than joining in this discussion I've been adding about a
> thousand lines of new code (and another of old) to dev86. The
> result is a nice shiny new CPP. My problem now is that I've run
> out of bugs in it and need your help to find some more. ;-)
Hi Rob,
I tried to compile bcc v.0.16.7 and got the following errors:
------------------------ snip -------------------------------------
cc -Wall -Wstrict-prototypes -O2 -g -o bcc-cpp main.o cpp.o hash.o
token1.o token2.o
cpp.o: In function `gettok':
/usr/src/dev86-0.16.7/cpp/cpp.c:126: undefined reference to `is_ckey'
cpp.o: In function `get_onetok':
/usr/src/dev86-0.16.7/cpp/cpp.c:422: undefined reference to `is_ctok'
collect2: ld returned 1 exit status
make[3]: *** [bcc-cpp] Error 1
make[3]: Leaving directory `/usr/src/dev86-0.16.7/cpp'
make[2]: *** [cpp] Error 2
------------------------ snip -------------------------------------
Ken
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: More dev86 changes (0.16.7)
2002-08-03 5:21 Ken Martwick
@ 2002-08-03 6:12 ` Robert de Bath
0 siblings, 0 replies; 9+ messages in thread
From: Robert de Bath @ 2002-08-03 6:12 UTC (permalink / raw)
To: Ken Martwick; +Cc: Linux-8086
[-- Attachment #1: Type: TEXT/PLAIN, Size: 1341 bytes --]
On Fri, 2 Aug 2002, Ken Martwick wrote:
> Robert de Bath wrote (in part):
> > Rather than joining in this discussion I've been adding about a
> > thousand lines of new code (and another of old) to dev86. The
> > result is a nice shiny new CPP. My problem now is that I've run
> > out of bugs in it and need your help to find some more. ;-)
>
> Hi Rob,
> I tried to compile bcc v.0.16.7 and got the following errors:
>
> ------------------------ snip -------------------------------------
> cc -Wall -Wstrict-prototypes -O2 -g -o bcc-cpp main.o cpp.o hash.o
> token1.o token2.o
> cpp.o: In function `gettok':
> /usr/src/dev86-0.16.7/cpp/cpp.c:126: undefined reference to `is_ckey'
> cpp.o: In function `get_onetok':
> /usr/src/dev86-0.16.7/cpp/cpp.c:422: undefined reference to `is_ctok'
> collect2: ld returned 1 exit status
> make[3]: *** [bcc-cpp] Error 1
> make[3]: Leaving directory `/usr/src/dev86-0.16.7/cpp'
> make[2]: *** [cpp] Error 2
> ------------------------ snip -------------------------------------
Install gperf.
I have altered the Makefile so it doesn't delete the files tho, that
file and the generated token*.h files are attached, they go in the
linux-86/cpp directory.
--
Rob. (Robert de Bath <robert$ @ debath.co.uk>)
<http://www.cix.co.uk/~mayday>
[-- Attachment #2: Type: APPLICATION/X-GZIP, Size: 1722 bytes --]
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: More dev86 changes (0.16.7)
@ 2002-08-03 17:07 Ken Martwick
2002-08-03 17:14 ` Paul Nasrat
0 siblings, 1 reply; 9+ messages in thread
From: Ken Martwick @ 2002-08-03 17:07 UTC (permalink / raw)
To: Robert de Bath; +Cc: Linux-8086
Robert de Bath wrote:
>
> Install gperf.
> I have altered the Makefile so it doesn't delete the files tho, that
> file and the generated token*.h files are attached, they go in the
> linux-86/cpp directory.
Hi Rob,
Neither the presence of gperf nor of the files you sent change
the error messages in the least. I am using egcs-2.90.29; could that
be a problem?
Ken
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: More dev86 changes (0.16.7)
2002-08-03 17:07 More dev86 changes (0.16.7) Ken Martwick
@ 2002-08-03 17:14 ` Paul Nasrat
0 siblings, 0 replies; 9+ messages in thread
From: Paul Nasrat @ 2002-08-03 17:14 UTC (permalink / raw)
To: Linux-8086
On Sat, Aug 03, 2002 at 10:07:52AM -0700, Ken Martwick wrote:
> Neither the presence of gperf nor of the files you sent change
> the error messages in the least. I am using egcs-2.90.29; could that
> be a problem?
Worked for me on:
gcc -v
Reading specs from /usr/lib/gcc-lib/i386-redhat-linux/egcs-2.91.66/specs
gcc version egcs-2.91.66 19990314/Linux (egcs-1.1.2 release)
But I found I had to rm -rf dev86-0.16.7 after failure, installed gperf,
and untarred the tar ball then it compiled fine.
You might want to try that if you haven't already.
HTH
Paul
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: More dev86 changes (0.16.7)
2002-08-02 20:18 Robert de Bath
2002-08-02 20:24 ` Manuel Novoa III
@ 2002-08-10 19:36 ` Manuel Novoa III
2002-08-10 20:28 ` Robert de Bath
1 sibling, 1 reply; 9+ messages in thread
From: Manuel Novoa III @ 2002-08-10 19:36 UTC (permalink / raw)
To: Robert de Bath; +Cc: Linux-8086
Hello Robert,
Sorry it took so long to do some testing, but I've been swamped.
Tried to build some of my uClibc stuff and found a bug with the new cpp
that is illustrated with the following test case.
test.c:
#define X (1UL)
#if X == 0
#error this shouldn't happen
#endif
With the new cpp, what shouldn't happen... does.
Here's the output for "ncc -ansi -E test.c".
test.c:3: warning: Unexpected text following preprocessor command
test.c:5: error: #error this shouldn't happen
# 1 "test.c"
Output without -ansi is:
# 1 "test.c"
test.c:3: warning: Unexpected text following preprocessor command
test.c:5: error: #error this shouldn't happen
Also, with the old cpp one could use "-I" to not include the default
include dirs. This feature seems to be lacking in the new version.
Manuel
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: More dev86 changes (0.16.7)
2002-08-10 19:36 ` Manuel Novoa III
@ 2002-08-10 20:28 ` Robert de Bath
2002-08-11 1:06 ` Manuel Novoa III
0 siblings, 1 reply; 9+ messages in thread
From: Robert de Bath @ 2002-08-10 20:28 UTC (permalink / raw)
To: Manuel Novoa III; +Cc: Linux-8086
On Sat, 10 Aug 2002, Manuel Novoa III wrote:
> Hello Robert,
>
> Sorry it took so long to do some testing, but I've been swamped.
>
> Tried to build some of my uClibc stuff and found a bug with the new cpp
> that is illustrated with the following test case.
>
> test.c:
>
> #define X (1UL)
>
> #if X == 0
> #error this shouldn't happen
Oops, you _really_ shouldn't put that "single quote" there, ansi preprocessors
that follow the standard explicitly will whinge.
> #endif
>
> With the new cpp, what shouldn't happen... does.
> Here's the output for "ncc -ansi -E test.c".
>
> test.c:3: warning: Unexpected text following preprocessor command
> test.c:5: error: #error this shouldn't happen
> # 1 "test.c"
>
> Output without -ansi is:
>
> # 1 "test.c"
> test.c:3: warning: Unexpected text following preprocessor command
> test.c:5: error: #error this shouldn't happen
Okay, "UL" is now added as a valid type specifier for integers.
However specifing the type will make no difference as the integer
type for preprocessor expressions is supposed to be the largest
available integer however you express it.
I'm not even sure specifing a type is actually legal, but I think it's
covered by the phrase "identifier-nondigit" in the syntax table.
> Also, with the old cpp one could use "-I" to not include the default
> include dirs. This feature seems to be lacking in the new version.
That is a bug in the new bcc.c that's been there since it first appeared,
(Errm, 0.16.2) ho hum nobody noticed before. (Including me!!!)
Okay fixed, and I'll be uploading a new version tomorrow with those
and a few other changes.
--
Rob. (Robert de Bath <robert$ @ debath.co.uk>)
<http://www.cix.co.uk/~mayday>
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: More dev86 changes (0.16.7)
2002-08-10 20:28 ` Robert de Bath
@ 2002-08-11 1:06 ` Manuel Novoa III
0 siblings, 0 replies; 9+ messages in thread
From: Manuel Novoa III @ 2002-08-11 1:06 UTC (permalink / raw)
To: Robert de Bath; +Cc: Linux-8086
Robert,
On Sat, Aug 10, 2002 at 09:28:14PM +0100, Robert de Bath wrote:
>
> Okay, "UL" is now added as a valid type specifier for integers.
> However specifing the type will make no difference as the integer
> type for preprocessor expressions is supposed to be the largest
> available integer however you express it.
>
> I'm not even sure specifing a type is actually legal, but I think it's
> covered by the phrase "identifier-nondigit" in the syntax table.
ANSI/ISO C99 seems to allow an integer suffix on integer constants
in the constant expressions following an #if. At least, I don't
see anything indicating otherwise.
> > Also, with the old cpp one could use "-I" to not include the default
> > include dirs. This feature seems to be lacking in the new version.
>
> That is a bug in the new bcc.c that's been there since it first appeared,
> (Errm, 0.16.2) ho hum nobody noticed before. (Including me!!!)
>
> Okay fixed, and I'll be uploading a new version tomorrow with those
> and a few other changes.
Great. I should have time tomorrow to download it and run some more
tests.
Manuel
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2002-08-11 1:06 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2002-08-03 17:07 More dev86 changes (0.16.7) Ken Martwick
2002-08-03 17:14 ` Paul Nasrat
-- strict thread matches above, loose matches on Subject: below --
2002-08-03 5:21 Ken Martwick
2002-08-03 6:12 ` Robert de Bath
2002-08-02 20:18 Robert de Bath
2002-08-02 20:24 ` Manuel Novoa III
2002-08-10 19:36 ` Manuel Novoa III
2002-08-10 20:28 ` Robert de Bath
2002-08-11 1:06 ` Manuel Novoa III
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox