* Re: GCC/EGCS parser bug
[not found] <36BB0832.BF24375C@front.se>
@ 1999-02-06 11:08 ` Zack Weinberg
[not found] ` < 199902061908.OAA02689@blastula.phys.columbia.edu >
1999-02-28 22:53 ` Zack Weinberg
0 siblings, 2 replies; 20+ messages in thread
From: Zack Weinberg @ 1999-02-06 11:08 UTC (permalink / raw)
To: Joachim Hollman; +Cc: egcs
On Fri, 05 Feb 1999 16:03:14 +0100, Joachim Hollman wrote:
>I read that section, and the wording is the same in the old standard
>if I remember correctly.
>
>The reason for this clause is to disambiguate cases like
>
>typedef int a;
>void f(int (a));
>
>However, because of the '*' in front of "func" in
>
>typedef void (*func)(int);
>void f(int i1, void (*func)(void *, void *), int i2)
> ^
>the construct (*func) is a direct-declarator, *not* an
>abstract-declarator,
>and "func" can *only* be parsed as an identifier.
So you get past that clause, func is parsed as an identifier, and
then you hit the rules in section 6.2.3:
[#1] ...Thus, there are separate name spaces for various categories
of identifiers, as follows:
-- label names (disambiguated by the syntax of the label
declaration and use);
-- the tags of structures, unions, and enumerations
(disambiguated by following any22) of the keywords
struct, union, or enum);
-- the members of structures or unions; each structure or
union has a separate name space for its members
(disambiguated by the type of the expression used to
access the member via the . or -> operator);
-- all other identifiers, called ordinary identifiers
(declared in ordinary declarators or as enumeration
constants).
The `ordinary identifiers' bucket catches typedef names and prototype
parameter names, and you have a clash.
zw
>
>Zack Weinberg wrote:
>>
>> On Fri, 05 Feb 1999 14:03:55 +0100, Joachim Hollman wrote:
>> >I disagree, but I also realize that you get many bug reports and that
>> >you don't have time to give a detailed response to each one.
>> >
>> >As I see it, one of us misinterpret the ANSI standard.
>> >
>> >Don't you think it would be a good idea to ask somebody else on the
>> >egcs/gcc
>> >team to take a close look at this to make sure that it isn't a bug?
>>
>> Go ahead and repost to egcs-bugs. However, may I quote a bit of the
>> standard?
>>
>> C9x CD2, section 6.7.5.3:
>>
>> [#7] If, in a parameter declaration, an identifier can be
>> treated as a typedef name or as a parameter name, it shall
>> be taken as a typedef name.
>>
>> zw
>
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: GCC/EGCS parser bug
[not found] ` < 199902061908.OAA02689@blastula.phys.columbia.edu >
@ 1999-02-14 1:33 ` Martin v. Loewis
[not found] ` < 199902140926.KAA00403@mira.isdn.cs.tu-berlin.de >
1999-02-28 22:53 ` Martin v. Loewis
0 siblings, 2 replies; 20+ messages in thread
From: Martin v. Loewis @ 1999-02-14 1:33 UTC (permalink / raw)
To: zack; +Cc: Joachim.Hollman, egcs
> [#1] ...Thus, there are separate name spaces for various categories
> of identifiers, as follows:
[...]
> -- all other identifiers, called ordinary identifiers
> (declared in ordinary declarators or as enumeration
> constants).
>
> The `ordinary identifiers' bucket catches typedef names and prototype
> parameter names, and you have a clash.
If your interpretation was correct, the following program should be
ill-formed:
void foo(int X);
void bar(int X);
since the identifier X is defined twice. However, gcc does not reject
this code. Then why does it reject Joachim's example?
Martin
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: GCC/EGCS parser bug
[not found] ` < 199902140926.KAA00403@mira.isdn.cs.tu-berlin.de >
@ 1999-02-14 10:27 ` Zack Weinberg
[not found] ` < 199902141827.NAA19403@blastula.phys.columbia.edu >
1999-02-28 22:53 ` Zack Weinberg
0 siblings, 2 replies; 20+ messages in thread
From: Zack Weinberg @ 1999-02-14 10:27 UTC (permalink / raw)
To: Martin v. Loewis; +Cc: Joachim.Hollman, egcs
On Sun, 14 Feb 1999 10:26:33 +0100, "Martin v. Loewis" wrote:
>> [#1] ...Thus, there are separate name spaces for various categories
>> of identifiers, as follows:
>[...]
>> -- all other identifiers, called ordinary identifiers
>> (declared in ordinary declarators or as enumeration
>> constants).
>>
>> The `ordinary identifiers' bucket catches typedef names and prototype
>> parameter names, and you have a clash.
>
>If your interpretation was correct, the following program should be
>ill-formed:
>
>void foo(int X);
>void bar(int X);
>
>since the identifier X is defined twice. However, gcc does not reject
>this code. Then why does it reject Joachim's example?
X in this example is a prototype parameter both times, but in
Joachim's example it's a typedef name once and a prototype parameter
once.
Like doing
int x;
int x;
versus
int x;
double x;
zw
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: GCC/EGCS parser bug
[not found] ` < 199902141827.NAA19403@blastula.phys.columbia.edu >
@ 1999-02-14 13:30 ` Joern Rennecke
[not found] ` < 199902142129.VAA02537@phal.cygnus.co.uk >
1999-02-28 22:53 ` Joern Rennecke
0 siblings, 2 replies; 20+ messages in thread
From: Joern Rennecke @ 1999-02-14 13:30 UTC (permalink / raw)
To: Zack Weinberg; +Cc: martin, Joachim.Hollman, egcs
> >If your interpretation was correct, the following program should be
> >ill-formed:
> >
> >void foo(int X);
> >void bar(int X);
> >
> >since the identifier X is defined twice. However, gcc does not reject
> >this code. Then why does it reject Joachim's example?
>
> X in this example is a prototype parameter both times, but in
> Joachim's example it's a typedef name once and a prototype parameter
> once.
The scope of X is inside the function parameter list. Thus, when X is used
the second time, the first use is out of scope, hence no clash.
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: GCC/EGCS parser bug
[not found] ` < 199902142129.VAA02537@phal.cygnus.co.uk >
@ 1999-02-15 16:24 ` Martin v. Loewis
1999-02-16 3:21 ` Joachim Hollman
` (2 more replies)
0 siblings, 3 replies; 20+ messages in thread
From: Martin v. Loewis @ 1999-02-15 16:24 UTC (permalink / raw)
To: amylaar; +Cc: zack, Joachim.Hollman, egcs
> The scope of X is inside the function parameter list. Thus, when X is used
> the second time, the first use is out of scope, hence no clash.
This is what I thought. Then what about the original example?
typedef void (*func)(int);
void f(int i1, void (*func)(void *, void *), int i2);
Shouldn't the prototype of f open a new scope, shadowing the previous
(global) definition of func? Shouldn't that happen regardless of whether
the previous definition was a typedef or an object?
Martin
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: GCC/EGCS parser bug
1999-02-15 16:24 ` Martin v. Loewis
@ 1999-02-16 3:21 ` Joachim Hollman
[not found] ` < 36C954D9.B37353F3@front.se >
1999-02-28 22:53 ` Joachim Hollman
[not found] ` < 199902160018.BAA00887@mira.isdn.cs.tu-berlin.de >
1999-02-28 22:53 ` Martin v. Loewis
2 siblings, 2 replies; 20+ messages in thread
From: Joachim Hollman @ 1999-02-16 3:21 UTC (permalink / raw)
To: Martin v. Loewis; +Cc: amylaar, zack, egcs, Joern Rennecke
After Zack told me that my code wasn't legal C, I posted a
question to comp.lang.c (now also in comp.std.c) with the
subject "typedef name/argument [Is this legal C?]" (started 2/3/99).
Some of the replies were quite good, so why not take a look?
-- Joachim Hollman
"Martin v. Loewis" wrote:
>
> > The scope of X is inside the function parameter list. Thus, when X is used
> > the second time, the first use is out of scope, hence no clash.
>
> This is what I thought. Then what about the original example?
>
> typedef void (*func)(int);
> void f(int i1, void (*func)(void *, void *), int i2);
>
> Shouldn't the prototype of f open a new scope, shadowing the previous
> (global) definition of func? Shouldn't that happen regardless of whether
> the previous definition was a typedef or an object?
>
> Martin
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: GCC/EGCS parser bug
[not found] ` < 199902160018.BAA00887@mira.isdn.cs.tu-berlin.de >
@ 1999-02-16 12:53 ` Joern Rennecke
[not found] ` < 199902162053.UAA07300@phal.cygnus.co.uk >
1999-02-28 22:53 ` Joern Rennecke
0 siblings, 2 replies; 20+ messages in thread
From: Joern Rennecke @ 1999-02-16 12:53 UTC (permalink / raw)
To: Martin v. Loewis; +Cc: amylaar, zack, Joachim.Hollman, egcs
> This is what I thought. Then what about the original example?
>
> typedef void (*func)(int);
> void f(int i1, void (*func)(void *, void *), int i2);
>
> Shouldn't the prototype of f open a new scope, shadowing the previous
> (global) definition of func? Shouldn't that happen regardless of whether
> the previous definition was a typedef or an object?
No, because a typedef changes the type of lexical token of the affected
symbol.
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: GCC/EGCS parser bug
[not found] ` < 199902162053.UAA07300@phal.cygnus.co.uk >
@ 1999-02-16 14:10 ` Martin v. Loewis
[not found] ` < 199902162205.XAA00736@mira.isdn.cs.tu-berlin.de >
1999-02-28 22:53 ` Martin v. Loewis
0 siblings, 2 replies; 20+ messages in thread
From: Martin v. Loewis @ 1999-02-16 14:10 UTC (permalink / raw)
To: amylaar; +Cc: amylaar, zack, Joachim.Hollman, egcs
> > This is what I thought. Then what about the original example?
> >
> > typedef void (*func)(int);
> > void f(int i1, void (*func)(void *, void *), int i2);
> >
> > Shouldn't the prototype of f open a new scope, shadowing the previous
> > (global) definition of func? Shouldn't that happen regardless of whether
> > the previous definition was a typedef or an object?
>
> No, because a typedef changes the type of lexical token of the affected
> symbol.
I'm lost. Why doesn't it 'change the type of lexical token' in
typedef void (*func)(int);
void f()
{
void (*func)(void*,void*);
func(0,0);
}
And I thought I understood C...
Martin
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: GCC/EGCS parser bug
[not found] ` < 36C954D9.B37353F3@front.se >
@ 1999-02-16 14:30 ` Martin v. Loewis
1999-02-28 22:53 ` Martin v. Loewis
0 siblings, 1 reply; 20+ messages in thread
From: Martin v. Loewis @ 1999-02-16 14:30 UTC (permalink / raw)
To: Joachim.Hollman; +Cc: amylaar, zack, egcs, amylaar
> Some of the replies were quite good, so why not take a look?
So it seems the general consensus is that your example is valid C, and
that the comittee specifically tried to address similar cases, and
failed. Back to egcs-bugs.
Regards,
Martin
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: GCC/EGCS parser bug
[not found] ` < 199902162205.XAA00736@mira.isdn.cs.tu-berlin.de >
@ 1999-02-16 14:43 ` Joe Buck
1999-02-28 22:53 ` Joe Buck
0 siblings, 1 reply; 20+ messages in thread
From: Joe Buck @ 1999-02-16 14:43 UTC (permalink / raw)
To: Martin v. Loewis; +Cc: amylaar, zack, Joachim.Hollman, egcs
Joern:
> > No, because a typedef changes the type of lexical token of the affected
> > symbol.
Martin:
> I'm lost. Why doesn't it 'change the type of lexical token' in
>
> typedef void (*func)(int);
>
> void f()
> {
> void (*func)(void*,void*);
> func(0,0);
> }
Stroustrup's 3rd edition (I know, it is not the standard) says that
for scoping purposes, function argument names are considered declared
in the outermost block of a function. So if
void f()
{
void (*func)(void*,void*);
func(0,0);
}
succeeds in saying that func is a pointer to a function that takes two
arguments, so does
void f(void (*func)(void*,void*))
{
func(0,0);
}
regardless of the presence of a typedef.
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: GCC/EGCS parser bug
1999-02-16 12:53 ` Joern Rennecke
[not found] ` < 199902162053.UAA07300@phal.cygnus.co.uk >
@ 1999-02-28 22:53 ` Joern Rennecke
1 sibling, 0 replies; 20+ messages in thread
From: Joern Rennecke @ 1999-02-28 22:53 UTC (permalink / raw)
To: Martin v. Loewis; +Cc: amylaar, zack, Joachim.Hollman, egcs
> This is what I thought. Then what about the original example?
>
> typedef void (*func)(int);
> void f(int i1, void (*func)(void *, void *), int i2);
>
> Shouldn't the prototype of f open a new scope, shadowing the previous
> (global) definition of func? Shouldn't that happen regardless of whether
> the previous definition was a typedef or an object?
No, because a typedef changes the type of lexical token of the affected
symbol.
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: GCC/EGCS parser bug
1999-02-16 14:10 ` Martin v. Loewis
[not found] ` < 199902162205.XAA00736@mira.isdn.cs.tu-berlin.de >
@ 1999-02-28 22:53 ` Martin v. Loewis
1 sibling, 0 replies; 20+ messages in thread
From: Martin v. Loewis @ 1999-02-28 22:53 UTC (permalink / raw)
To: amylaar; +Cc: amylaar, zack, Joachim.Hollman, egcs
> > This is what I thought. Then what about the original example?
> >
> > typedef void (*func)(int);
> > void f(int i1, void (*func)(void *, void *), int i2);
> >
> > Shouldn't the prototype of f open a new scope, shadowing the previous
> > (global) definition of func? Shouldn't that happen regardless of whether
> > the previous definition was a typedef or an object?
>
> No, because a typedef changes the type of lexical token of the affected
> symbol.
I'm lost. Why doesn't it 'change the type of lexical token' in
typedef void (*func)(int);
void f()
{
void (*func)(void*,void*);
func(0,0);
}
And I thought I understood C...
Martin
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: GCC/EGCS parser bug
1999-02-15 16:24 ` Martin v. Loewis
1999-02-16 3:21 ` Joachim Hollman
[not found] ` < 199902160018.BAA00887@mira.isdn.cs.tu-berlin.de >
@ 1999-02-28 22:53 ` Martin v. Loewis
2 siblings, 0 replies; 20+ messages in thread
From: Martin v. Loewis @ 1999-02-28 22:53 UTC (permalink / raw)
To: amylaar; +Cc: zack, Joachim.Hollman, egcs
> The scope of X is inside the function parameter list. Thus, when X is used
> the second time, the first use is out of scope, hence no clash.
This is what I thought. Then what about the original example?
typedef void (*func)(int);
void f(int i1, void (*func)(void *, void *), int i2);
Shouldn't the prototype of f open a new scope, shadowing the previous
(global) definition of func? Shouldn't that happen regardless of whether
the previous definition was a typedef or an object?
Martin
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: GCC/EGCS parser bug
1999-02-14 10:27 ` Zack Weinberg
[not found] ` < 199902141827.NAA19403@blastula.phys.columbia.edu >
@ 1999-02-28 22:53 ` Zack Weinberg
1 sibling, 0 replies; 20+ messages in thread
From: Zack Weinberg @ 1999-02-28 22:53 UTC (permalink / raw)
To: Martin v. Loewis; +Cc: Joachim.Hollman, egcs
On Sun, 14 Feb 1999 10:26:33 +0100, "Martin v. Loewis" wrote:
>> [#1] ...Thus, there are separate name spaces for various categories
>> of identifiers, as follows:
>[...]
>> -- all other identifiers, called ordinary identifiers
>> (declared in ordinary declarators or as enumeration
>> constants).
>>
>> The `ordinary identifiers' bucket catches typedef names and prototype
>> parameter names, and you have a clash.
>
>If your interpretation was correct, the following program should be
>ill-formed:
>
>void foo(int X);
>void bar(int X);
>
>since the identifier X is defined twice. However, gcc does not reject
>this code. Then why does it reject Joachim's example?
X in this example is a prototype parameter both times, but in
Joachim's example it's a typedef name once and a prototype parameter
once.
Like doing
int x;
int x;
versus
int x;
double x;
zw
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: GCC/EGCS parser bug
1999-02-14 1:33 ` Martin v. Loewis
[not found] ` < 199902140926.KAA00403@mira.isdn.cs.tu-berlin.de >
@ 1999-02-28 22:53 ` Martin v. Loewis
1 sibling, 0 replies; 20+ messages in thread
From: Martin v. Loewis @ 1999-02-28 22:53 UTC (permalink / raw)
To: zack; +Cc: Joachim.Hollman, egcs
> [#1] ...Thus, there are separate name spaces for various categories
> of identifiers, as follows:
[...]
> -- all other identifiers, called ordinary identifiers
> (declared in ordinary declarators or as enumeration
> constants).
>
> The `ordinary identifiers' bucket catches typedef names and prototype
> parameter names, and you have a clash.
If your interpretation was correct, the following program should be
ill-formed:
void foo(int X);
void bar(int X);
since the identifier X is defined twice. However, gcc does not reject
this code. Then why does it reject Joachim's example?
Martin
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: GCC/EGCS parser bug
1999-02-16 14:30 ` Martin v. Loewis
@ 1999-02-28 22:53 ` Martin v. Loewis
0 siblings, 0 replies; 20+ messages in thread
From: Martin v. Loewis @ 1999-02-28 22:53 UTC (permalink / raw)
To: Joachim.Hollman; +Cc: amylaar, zack, egcs, amylaar
> Some of the replies were quite good, so why not take a look?
So it seems the general consensus is that your example is valid C, and
that the comittee specifically tried to address similar cases, and
failed. Back to egcs-bugs.
Regards,
Martin
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: GCC/EGCS parser bug
1999-02-16 14:43 ` Joe Buck
@ 1999-02-28 22:53 ` Joe Buck
0 siblings, 0 replies; 20+ messages in thread
From: Joe Buck @ 1999-02-28 22:53 UTC (permalink / raw)
To: Martin v. Loewis; +Cc: amylaar, zack, Joachim.Hollman, egcs
Joern:
> > No, because a typedef changes the type of lexical token of the affected
> > symbol.
Martin:
> I'm lost. Why doesn't it 'change the type of lexical token' in
>
> typedef void (*func)(int);
>
> void f()
> {
> void (*func)(void*,void*);
> func(0,0);
> }
Stroustrup's 3rd edition (I know, it is not the standard) says that
for scoping purposes, function argument names are considered declared
in the outermost block of a function. So if
void f()
{
void (*func)(void*,void*);
func(0,0);
}
succeeds in saying that func is a pointer to a function that takes two
arguments, so does
void f(void (*func)(void*,void*))
{
func(0,0);
}
regardless of the presence of a typedef.
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: GCC/EGCS parser bug
1999-02-16 3:21 ` Joachim Hollman
[not found] ` < 36C954D9.B37353F3@front.se >
@ 1999-02-28 22:53 ` Joachim Hollman
1 sibling, 0 replies; 20+ messages in thread
From: Joachim Hollman @ 1999-02-28 22:53 UTC (permalink / raw)
To: Martin v. Loewis; +Cc: amylaar, zack, egcs, Joern Rennecke
After Zack told me that my code wasn't legal C, I posted a
question to comp.lang.c (now also in comp.std.c) with the
subject "typedef name/argument [Is this legal C?]" (started 2/3/99).
Some of the replies were quite good, so why not take a look?
-- Joachim Hollman
"Martin v. Loewis" wrote:
>
> > The scope of X is inside the function parameter list. Thus, when X is used
> > the second time, the first use is out of scope, hence no clash.
>
> This is what I thought. Then what about the original example?
>
> typedef void (*func)(int);
> void f(int i1, void (*func)(void *, void *), int i2);
>
> Shouldn't the prototype of f open a new scope, shadowing the previous
> (global) definition of func? Shouldn't that happen regardless of whether
> the previous definition was a typedef or an object?
>
> Martin
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: GCC/EGCS parser bug
1999-02-14 13:30 ` Joern Rennecke
[not found] ` < 199902142129.VAA02537@phal.cygnus.co.uk >
@ 1999-02-28 22:53 ` Joern Rennecke
1 sibling, 0 replies; 20+ messages in thread
From: Joern Rennecke @ 1999-02-28 22:53 UTC (permalink / raw)
To: Zack Weinberg; +Cc: martin, Joachim.Hollman, egcs
> >If your interpretation was correct, the following program should be
> >ill-formed:
> >
> >void foo(int X);
> >void bar(int X);
> >
> >since the identifier X is defined twice. However, gcc does not reject
> >this code. Then why does it reject Joachim's example?
>
> X in this example is a prototype parameter both times, but in
> Joachim's example it's a typedef name once and a prototype parameter
> once.
The scope of X is inside the function parameter list. Thus, when X is used
the second time, the first use is out of scope, hence no clash.
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: GCC/EGCS parser bug
1999-02-06 11:08 ` GCC/EGCS parser bug Zack Weinberg
[not found] ` < 199902061908.OAA02689@blastula.phys.columbia.edu >
@ 1999-02-28 22:53 ` Zack Weinberg
1 sibling, 0 replies; 20+ messages in thread
From: Zack Weinberg @ 1999-02-28 22:53 UTC (permalink / raw)
To: Joachim Hollman; +Cc: egcs
On Fri, 05 Feb 1999 16:03:14 +0100, Joachim Hollman wrote:
>I read that section, and the wording is the same in the old standard
>if I remember correctly.
>
>The reason for this clause is to disambiguate cases like
>
>typedef int a;
>void f(int (a));
>
>However, because of the '*' in front of "func" in
>
>typedef void (*func)(int);
>void f(int i1, void (*func)(void *, void *), int i2)
> ^
>the construct (*func) is a direct-declarator, *not* an
>abstract-declarator,
>and "func" can *only* be parsed as an identifier.
So you get past that clause, func is parsed as an identifier, and
then you hit the rules in section 6.2.3:
[#1] ...Thus, there are separate name spaces for various categories
of identifiers, as follows:
-- label names (disambiguated by the syntax of the label
declaration and use);
-- the tags of structures, unions, and enumerations
(disambiguated by following any22) of the keywords
struct, union, or enum);
-- the members of structures or unions; each structure or
union has a separate name space for its members
(disambiguated by the type of the expression used to
access the member via the . or -> operator);
-- all other identifiers, called ordinary identifiers
(declared in ordinary declarators or as enumeration
constants).
The `ordinary identifiers' bucket catches typedef names and prototype
parameter names, and you have a clash.
zw
>
>Zack Weinberg wrote:
>>
>> On Fri, 05 Feb 1999 14:03:55 +0100, Joachim Hollman wrote:
>> >I disagree, but I also realize that you get many bug reports and that
>> >you don't have time to give a detailed response to each one.
>> >
>> >As I see it, one of us misinterpret the ANSI standard.
>> >
>> >Don't you think it would be a good idea to ask somebody else on the
>> >egcs/gcc
>> >team to take a close look at this to make sure that it isn't a bug?
>>
>> Go ahead and repost to egcs-bugs. However, may I quote a bit of the
>> standard?
>>
>> C9x CD2, section 6.7.5.3:
>>
>> [#7] If, in a parameter declaration, an identifier can be
>> treated as a typedef name or as a parameter name, it shall
>> be taken as a typedef name.
>>
>> zw
>
^ permalink raw reply [flat|nested] 20+ messages in thread
end of thread, other threads:[~1999-02-28 22:53 UTC | newest]
Thread overview: 20+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
[not found] <36BB0832.BF24375C@front.se>
1999-02-06 11:08 ` GCC/EGCS parser bug Zack Weinberg
[not found] ` < 199902061908.OAA02689@blastula.phys.columbia.edu >
1999-02-14 1:33 ` Martin v. Loewis
[not found] ` < 199902140926.KAA00403@mira.isdn.cs.tu-berlin.de >
1999-02-14 10:27 ` Zack Weinberg
[not found] ` < 199902141827.NAA19403@blastula.phys.columbia.edu >
1999-02-14 13:30 ` Joern Rennecke
[not found] ` < 199902142129.VAA02537@phal.cygnus.co.uk >
1999-02-15 16:24 ` Martin v. Loewis
1999-02-16 3:21 ` Joachim Hollman
[not found] ` < 36C954D9.B37353F3@front.se >
1999-02-16 14:30 ` Martin v. Loewis
1999-02-28 22:53 ` Martin v. Loewis
1999-02-28 22:53 ` Joachim Hollman
[not found] ` < 199902160018.BAA00887@mira.isdn.cs.tu-berlin.de >
1999-02-16 12:53 ` Joern Rennecke
[not found] ` < 199902162053.UAA07300@phal.cygnus.co.uk >
1999-02-16 14:10 ` Martin v. Loewis
[not found] ` < 199902162205.XAA00736@mira.isdn.cs.tu-berlin.de >
1999-02-16 14:43 ` Joe Buck
1999-02-28 22:53 ` Joe Buck
1999-02-28 22:53 ` Martin v. Loewis
1999-02-28 22:53 ` Joern Rennecke
1999-02-28 22:53 ` Martin v. Loewis
1999-02-28 22:53 ` Joern Rennecke
1999-02-28 22:53 ` Zack Weinberg
1999-02-28 22:53 ` Martin v. Loewis
1999-02-28 22:53 ` Zack Weinberg
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).