public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
* Re: Huh?
@ 1997-08-22 19:23 Peter Gerwinski
  1997-08-22 19:23 ` egcs-ss-970821 is available Jeffrey A Law
  0 siblings, 1 reply; 7+ messages in thread
From: Peter Gerwinski @ 1997-08-22 19:23 UTC (permalink / raw)
  To: egcs

According to Peter Seebach:
> 
> I submitted some patches, some time ago, to add warnings for non-int-main.
> 
> They have all been changed to "pedwarn".
> 
> All of my belief that "-pedantic" should be the default aside, this is
> Just Plain Wrong.
> 
> Why?
> 
> Because, it is a flat out *bug* that
> 	gcc -Wmain
> will not warn for suspicious declarations of main.
> 
> These are *NOT* pedantic warnings, they are plain old warnings, which are
> desirable if warn_main has been set.  My default behavior was to set -Wmain
> if -Wall is set, unless one has selected a freestanding environment; this
> may or may not be correct, but as long as there is a warn_main, it is a
> bug for the warnings to be under pedwarn.

Without knowing the details of these changes:  `pedwarn()' is something
*stronger* than just `warning()'.  It does warn *without* `-pedantic',
but in contrast to just `warning()' it converts to an error message if
somebody specifies `-pedantic-errors'.

> If anyone knows when or why this was changed, I'd like to know, because I
> am vaguely miffed that some code I put some real effort into (mostly
> because I'd never even looked at gcc internals before :) ) has been,
> AFAIK, gratuitously broken.

I only can guess, but I suspect that the person who changed this thought
that your warnings are more important than you thought.

> N.B.:  If reverting pedwarn to warn, *DO NOT* do this to the warning for the
> 3rd argument if it is (char **), this is intentionally only a pedwarn, because
> envp used to be The Right Thing, and is specifically documented as a common
> extension in C89.

Then do something like

    if (pedantic)
      pedwarn ("whatever");

because without the `if' you will always get that warning - with or
without `-pedantic'.

Greetings,

    Peter

 Dipl.-Phys. Peter Gerwinski, Essen, Germany, free physicist and programmer
peter.gerwinski@uni-essen.de - http://home.pages.de/~peter.gerwinski/ [970201]
 maintainer GNU Pascal [970714] - http://home.pages.de/~gnu-pascal/ [970125]

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: egcs-ss-970821 is available
  1997-08-22 19:23 Huh? Peter Gerwinski
@ 1997-08-22 19:23 ` Jeffrey A Law
  0 siblings, 0 replies; 7+ messages in thread
From: Jeffrey A Law @ 1997-08-22 19:23 UTC (permalink / raw)
  To: egcs

  In message <m0x1y5t-0004ecC@ocean.lucon.org>you write:
  > > We're still making changes to the egcs tree layout and snapshot packaging
  > ,
  > > so expect things to change in the next snapshot (hopefully by 8/24).  The
  > > next snapshot will include an integrated libstdc++ distribution, texinfo
  > > and maybe other stuff.
  > > 
  > 
  > Could someone please get my libg++ patch at
  > 
  > ftp://ftp.yggdrasil.com/private/hjl/libg++-2.8.0b6-glibc.6.diff.gz
The libgstdc++ distribution will _not_ be libg++-2.8.0b6 based,
so you patch is not appropriate.

jeff

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: egcs-ss-970821 is available
  1997-08-22 19:23 i386 optimizer bug? djohnson
@ 1997-08-22 19:23 ` H.J. Lu
  0 siblings, 0 replies; 7+ messages in thread
From: H.J. Lu @ 1997-08-22 19:23 UTC (permalink / raw)
  To: egcs

>   > ftp://ftp.yggdrasil.com/private/hjl/libg++-2.8.0b6-glibc.6.diff.gz
> The libgstdc++ distribution will _not_ be libg++-2.8.0b6 based,
> so you patch is not appropriate.
> 

Ok. I will take a look when it is available. I am concerned about
iostream.

-- 
H.J. Lu (hjl@gnu.ai.mit.edu)

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: egcs-ss-970821 is available
@ 1997-08-22 17:58 H.J. Lu
  0 siblings, 0 replies; 7+ messages in thread
From: H.J. Lu @ 1997-08-22 17:58 UTC (permalink / raw)
  To: egcs

> We're still making changes to the egcs tree layout and snapshot packaging,
> so expect things to change in the next snapshot (hopefully by 8/24).  The
> next snapshot will include an integrated libstdc++ distribution, texinfo
> and maybe other stuff.
> 

Could someone please get my libg++ patch at

ftp://ftp.yggdrasil.com/private/hjl/libg++-2.8.0b6-glibc.6.diff.gz

I have tested it on Linux/libc5, Linux/glibc2 and Solaris.

Thanks.


-- 
H.J. Lu (hjl@gnu.ai.mit.edu)

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: egcs-ss-970821 is available
@ 1997-08-22 17:55 David S. Miller
  0 siblings, 0 replies; 7+ messages in thread
From: David S. Miller @ 1997-08-22 17:55 UTC (permalink / raw)
  To: egcs

This passed full boostrap and compare, both with and without haifa
enabled, on the sparc-linux-gnulibc1 target.  The testsuite results
were also the same with and without haifa enabled, they are appended
below.

The loop-2f.c failure is very old.  It's a bug in loop invariants
wrt. to comparison operation signedness.  It will crop up on any
target where the stack pointer is a signed negative integer value,
this happens to be the case on 32-bit sparcs.

f (int s, char *p)
{
  int i;
  for (i = s; i >= 0 && &p[i] < &p[40]; i++)
    {
      p[i] = -2;
    }
}

gives:


f:
        !#PROLOGUE# 0
        !#PROLOGUE# 1
        cmp %o0,0
        bl .LL27
        add %o1,40,%g2
        mov -2,%g3
        add %o0,%o1,%o0
        cmp %o0,%g2
.LL32:
        bgeu .LL27
        nop
        stb %g3,[%o0]
        add %o0,1,%o0
        cmp %o0,%o1
        bge .LL32
        cmp %o0,%g2
.LL27:
        retl
        nop

Note how the loop entry test is done (properly) using a signed
conditional branch, however the other test (which is still now on the
integer value, before transformation it was a pointer comparison) uses
an unsigned branch.

I remember the first time I began to hit this with gcc2 snapshots
(about 3/4 of a year ago), I sifted through the loop code in question.
I couldn't for the life of me figure out how gcc made sure that such
transformation made sure that the signedness of comparison and branch
instructions got changed properly.  Can somebody with that code more
fresh in their head tell me how that is supposed to end up happening?

Running /usr/src/sparc64/egcs-ss-970821/testsuite/gcc.c-torture/compile/compile.exp ...
FAIL: gcc.c-torture/compile/961203-1.c,  -O0  
FAIL: gcc.c-torture/compile/961203-1.c,  -O1  
FAIL: gcc.c-torture/compile/961203-1.c,  -O2  
FAIL: gcc.c-torture/compile/961203-1.c,  -O2 -fomit-frame-pointer -finline-functions  
Running /usr/src/sparc64/egcs-ss-970821/testsuite/gcc.c-torture/execute/execute.exp ...
FAIL: gcc.c-torture/execute/loop-2f.c execution,  -O2 
FAIL: gcc.c-torture/execute/loop-2f.c execution,  -O2 -fomit-frame-pointer -finline-functions 
FAIL: gcc.c-torture/execute/loop-2f.c execution,  -O2 -fomit-frame-pointer -finline-functions -funroll-loops 
FAIL: gcc.c-torture/execute/loop-2f.c execution,  -O2 -fomit-frame-pointer -finline-functions -funroll-all-loops 
...
		=== gcc Summary ===

# of expected passes		4860
# of unexpected failures	8
# of expected failures		4
# of unsupported tests		8
/usr/src/sparc64/egcs-ss-970821/xgcc version egcs-2.90.01 970821 (gcc2-970802 experimental)

Running /usr/src/sparc64/egcs-ss-970821/testsuite/g++.old-deja/old-deja.exp ...
FAIL: g++.brendan/copy9.C (test for excess errors)
FAIL: g++.brendan/crash15.C (test for excess errors)
FAIL: g++.brendan/crash20.C (test for excess errors)
FAIL: g++.brendan/crash30.C (test for excess errors)
FAIL: g++.brendan/crash38.C (test for excess errors)
FAIL: g++.brendan/crash49.C (test for excess errors)
FAIL: g++.brendan/crash52.C (test for excess errors)
FAIL: g++.brendan/crash62.C (test for excess errors)
FAIL: g++.brendan/cvt1.C (test for excess errors)
FAIL: g++.brendan/err-msg3.C (test for excess errors)
FAIL: g++.brendan/nest21.C (test for excess errors)
FAIL: g++.brendan/ptolemy2.C (test for excess errors)
XPASS: g++.brendan/scope4.C (test for excess errors)
FAIL: g++.brendan/template9.C (test for excess errors)
FAIL: g++.jason/template24.C (test for excess errors)
FAIL: g++.jason/template31.C (test for excess errors)
FAIL: g++.jason/typeid1.C (test for excess errors)
FAIL: g++.law/arg1.C (test for excess errors)
FAIL: g++.law/arg8.C (test for excess errors)
FAIL: g++.law/arm12.C (test for excess errors)
FAIL: g++.law/arm9.C (test for excess errors)
FAIL: g++.law/bad-error7.C (test for excess errors)
FAIL: g++.law/ctors10.C (test for excess errors)
FAIL: g++.law/ctors13.C (test for excess errors)
FAIL: g++.law/ctors17.C (test for excess errors)
FAIL: g++.law/ctors6.C (test for excess errors)
FAIL: g++.law/cvt16.C (test for excess errors)
FAIL: g++.law/cvt7.C (test for excess errors)
FAIL: g++.law/missed-error2.C (test for excess errors)
FAIL: g++.law/nest3.C (test for excess errors)
FAIL: g++.law/operators32.C (test for excess errors)
FAIL: g++.law/operators33.C (test for excess errors)
FAIL: g++.law/operators4.C (test for excess errors)
FAIL: g++.law/refs1.C (test for excess errors)
FAIL: g++.law/vbase1.C (test for excess errors)
FAIL: g++.law/virtual3.C (test for excess errors)
FAIL: g++.law/visibility10.C (test for excess errors)
FAIL: g++.law/visibility13.C (test for excess errors)
FAIL: g++.law/visibility17.C (test for excess errors)
FAIL: g++.law/visibility25.C (test for excess errors)
FAIL: g++.law/visibility7.C (test for excess errors)
FAIL: g++.mike/dyncast7.C (test for excess errors)
FAIL: g++.mike/eh12.C  Execution test
FAIL: g++.mike/eh14.C  Execution test
FAIL: g++.mike/eh18.C  Execution test
FAIL: g++.mike/eh2.C  Execution test
FAIL: g++.mike/eh23.C  Execution test
FAIL: g++.mike/eh25.C  Execution test
FAIL: g++.mike/eh26.C  Execution test
FAIL: g++.mike/eh27.C  Execution test
FAIL: g++.mike/eh28.C  Execution test
FAIL: g++.mike/eh3.C  Execution test
FAIL: g++.mike/eh31.C  Execution test
FAIL: g++.mike/eh47.C  Execution test
FAIL: g++.mike/eh55.C  Execution test
FAIL: g++.mike/net34.C (test for excess errors)
FAIL: g++.mike/net46.C (test for excess errors)
FAIL: g++.mike/p658.C (test for excess errors)
XPASS: g++.mike/p7325.C *-*-* Execution test
FAIL: g++.mike/p7912.C  Execution test
FAIL: g++.mike/p9706.C  Execution test
FAIL: g++.mike/rtti1.C (test for excess errors)

		=== g++ Summary ===

# of expected passes		3187
# of unexpected failures	60
# of unexpected successes	2
# of expected failures		96
# of untested testcases		10
/usr/src/sparc64/egcs-ss-970821/testsuite/../xgcc version egcs-2.90.01 970821 (gcc2-970802 experimental)

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: egcs-ss-970821 is available
@ 1997-08-22  6:44 Jason Molenda
  0 siblings, 0 replies; 7+ messages in thread
From: Jason Molenda @ 1997-08-22  6:44 UTC (permalink / raw)
  To: egcs

> egcs-ss-970821 is now available in ftp.cygnus.com:/pub/egcs/snapshots.


And as another reminder, there are bunches of mirrors around the world,
they will pick these files up within the next 24 hours or so.  See the
home page (www.cygnus.com/egcs) for details.

Jason

^ permalink raw reply	[flat|nested] 7+ messages in thread

* egcs-ss-970821 is available
  1997-08-22  2:19 libstdc++ Jason Merrill
@ 1997-08-22  6:32 ` Jeffrey A Law
  0 siblings, 0 replies; 7+ messages in thread
From: Jeffrey A Law @ 1997-08-22  6:32 UTC (permalink / raw)
  To: egcs

egcs-ss-970821 is now available in ftp.cygnus.com:/pub/egcs/snapshots.

You'll find:

  egcs-ss-970821.tar.gz 		The full egcs snapshot, including all
					languages and testsuites.

  egcs-core-ss-970821.tar.gz 		The egcs snapshot with all languages,
					but without the testsuites.

  egcs-tests-ss-970821.tar.gz		The egcs testsuite snapshot.

  egcs-ss-970814-970821.diff.gz		Diffs to bring egcs-ss-970814 in
					sync with egcs-ss-970821.  Note that
					this does not include the testsuite!


We're still making changes to the egcs tree layout and snapshot packaging,
so expect things to change in the next snapshot (hopefully by 8/24).  The
next snapshot will include an integrated libstdc++ distribution, texinfo
and maybe other stuff.

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~1997-08-22 19:23 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
1997-08-22 19:23 Huh? Peter Gerwinski
1997-08-22 19:23 ` egcs-ss-970821 is available Jeffrey A Law
  -- strict thread matches above, loose matches on Subject: below --
1997-08-22 19:23 i386 optimizer bug? djohnson
1997-08-22 19:23 ` egcs-ss-970821 is available H.J. Lu
1997-08-22 17:58 H.J. Lu
1997-08-22 17:55 David S. Miller
1997-08-22  6:44 Jason Molenda
1997-08-22  2:19 libstdc++ Jason Merrill
1997-08-22  6:32 ` egcs-ss-970821 is available Jeffrey A Law

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).