|
From: Christophe Prud'h. <pru...@MI...> - 2000-08-23 14:25:32
|
with g++ 2.96 lots of bugs and warning can be found you can have the RPM at http://www.codesourcery.com/gcc-snapshots/ don't forget to check the Testsuite results for g++ and gcc and look at the number of unexpected failures !! in the 23/08 snapshot there are 895 unexpected failures and in the 22/08 only 4 !! so always take the one with the lowest number of unexpected errors!! C. -- Christophe Prud'homme | MIT, 77, Mass Ave, Rm 3-243 | Do nothing unless you must, Cambridge MA 02139 | and when you must act Tel (Office) : (00 1) (617) 253 0229 | -- hesitate. Fax (Office) : (00 1) (617) 258 8559 | http://augustine.mit.edu/~prudhomm | Following the hacker spirit |
|
From: Gabriel D. R. <Gab...@cm...> - 2000-08-23 19:53:30
|
"Christophe Prud'homme" <pru...@MI...> writes: | with g++ 2.96 lots of bugs and warning can be found | you can have the RPM at http://www.codesourcery.com/gcc-snapshots/ | | don't forget to check the Testsuite results for g++ and gcc | and look at the number of unexpected failures !! | in the 23/08 snapshot there are 895 unexpected failures | and in the 22/08 only 4 !! Well, that mess was my fault -- I think the right figure is probably 4. By now, most the testsuite failures should have gone. -- Gaby |
|
From: Christophe Prud'h. <pru...@MI...> - 2000-08-23 20:11:50
|
> Well, that mess was my fault -- I think the right figure is probably 4.
> By now, most the testsuite failures should have gone.
Well g++ 2.96 did a very good job at finding some issues in the code
especially for the exceptions.
one quick question if you don't mind:
- is a class forward declaration sufficient for exception
or is the class interface needed also?
class except;
class A
{
public:
void f() throw(except);
};
or
<full class definition for except via #include for example>
class A
{
public:
void f() throw(except);
};
it seems that g++ 2.96 likes the second one and rejects the first one
It seems that 2.96 now is very good at checking signature correctness !
bravo !
a Note for those who want to use g++ 2.96:
don't forget to add the gcc/g++ libraries path to the /etc/ld.so.conf if you
relocate the gcc tree to an unknow location to the linker (which is
/usr/local by default). Otherwise you will have undefined symbols.
regards
C.
--
Christophe Prud'homme |
MIT, 77, Mass Ave, Rm 3-243 | In theory, theory and practice
Cambridge MA 02139 | are the same. In practice they
Tel (Office) : (00 1) (617) 253 0229 | are different.
Fax (Office) : (00 1) (617) 258 8559 |
http://augustine.mit.edu/~prudhomm |
Following the hacker spirit
|
|
From: Gabriel D. R. <Gab...@cm...> - 2000-08-23 22:29:20
|
[ Excuse me if I appear slow to answer, but I'm busy in fixing bugs I
introduced in current gcc cvs. ]
"Christophe Prud'homme" <pru...@MI...> writes:
| > Well, that mess was my fault -- I think the right figure is probably 4.
| > By now, most the testsuite failures should have gone.
| Well g++ 2.96 did a very good job at finding some issues in the code
| especially for the exceptions.
Hmm, now I'm confused, I'm unsure about the original topic...
Anyway...
| one quick question if you don't mind:
| - is a class forward declaration sufficient for exception
| or is the class interface needed also?
|
| class except;
| class A
| {
| public:
| void f() throw(except);
| };
|
| or
|
| <full class definition for except via #include for example>
| class A
| {
| public:
| void f() throw(except);
| };
|
| it seems that g++ 2.96 likes the second one and rejects the first one
Yes, the first construct is ill-formed since
15.4/1:
[...] A type denoted in an exception-specification shall not be an
incomplte type. A type denoted in an exception-specification shall
not denote a pointer or reference to an incomplte type, other than
void*, const void*, volatile void*, or const volatile const*.
-- Gaby
|
|
From: Frank V. C. <fr...@co...> - 2000-08-23 23:14:41
|
Gabriel Dos Reis wrote:
>
> [ Excuse me if I appear slow to answer, but I'm busy in fixing bugs I
> introduced in current gcc cvs. ]
>
> "Christophe Prud'homme" <pru...@MI...> writes:
>
> | > Well, that mess was my fault -- I think the right figure is probably 4.
> | > By now, most the testsuite failures should have gone.
> | Well g++ 2.96 did a very good job at finding some issues in the code
> | especially for the exceptions.
>
> Hmm, now I'm confused, I'm unsure about the original topic...
> Anyway...
>
> | one quick question if you don't mind:
> | - is a class forward declaration sufficient for exception
> | or is the class interface needed also?
> |
> | class except;
> | class A
> | {
> | public:
> | void f() throw(except);
> | };
> |
> | or
> |
> | <full class definition for except via #include for example>
> | class A
> | {
> | public:
> | void f() throw(except);
> | };
> |
> | it seems that g++ 2.96 likes the second one and rejects the first one
>
> Yes, the first construct is ill-formed since
>
> 15.4/1:
> [...] A type denoted in an exception-specification shall not be an
> incomplte type. A type denoted in an exception-specification shall
> not denote a pointer or reference to an incomplte type, other than
> void*, const void*, volatile void*, or const volatile const*.
>
> -- Gaby
Yes, C. was just pointing out my laziness when I go from quick testing
of interface and definition to releasing and forgetting to replace the
foward declaration.
<grin>
--
Frank V. Castellucci
|