--- Comment #7 from ayers at gcc dot gnu dot org 2009-03-19 07:07 ---
For the record: the official RFA was posted here:
http://gcc.gnu.org/ml/gcc-patches/2009-03/msg00666.html
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27377
--- Comment #5 from andreasmeier80 at gmx dot de 2009-03-19 07:47 ---
With revision 144946 everything is okay.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39498
--- Comment #6 from jakub at gcc dot gnu dot org 2009-03-19 07:58 ---
Created an attachment (id=17491)
--> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=17491&action=view)
gcc44-pr39496.patch
&& optimize, not !optimize.
Here is what I'm going to bootstrap/regtest.
--
jakub at gcc
--- Comment #9 from n dot pinhao at netvisao dot pt 2009-03-19 08:24
---
Created an attachment (id=17492)
--> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=17492&action=view)
Streamlined module files reproducing the error (2)
A file was missing on this test.
--
http://gcc.gnu.or
--- Comment #6 from rguenth at gcc dot gnu dot org 2009-03-19 10:11 ---
Closed then.
--
rguenth at gcc dot gnu dot org changed:
What|Removed |Added
Status|UNC
--- Comment #7 from jakub at gcc dot gnu dot org 2009-03-19 10:25 ---
Subject: Bug 39496
Author: jakub
Date: Thu Mar 19 10:25:43 2009
New Revision: 144955
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=144955
Log:
PR target/39496
* config/i386/i386.c (ix86_functi
--- Comment #8 from jakub at gcc dot gnu dot org 2009-03-19 12:02 ---
Fixed on the trunk so far.
--
jakub at gcc dot gnu dot org changed:
What|Removed |Added
Known t
--- Comment #7 from gpderetta at gmail dot com 2009-03-19 12:14 ---
Hi, I'm the author of Boost.Coroutine (not yet part of boost, but one day...).
I have the exact same problem: gcc caches the address of TLS variables across
function calls which breaks when coroutines move from one thre
--- Comment #5 from sam at gcc dot gnu dot org 2009-03-19 10:15 ---
Matthias,
I think Laurent was asking for an executable test case, which fails before your
test and succeeds after, so that it can enter the regression suite.
--
sam at gcc dot gnu dot org changed:
What
--- Comment #3 from gerald at gcc dot gnu dot org 2009-03-19 10:40 ---
Subject: Bug 39063
Author: gerald
Date: Thu Mar 19 10:40:32 2009
New Revision: 144957
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=144957
Log:
PR target/39063
* libgcc2.c (mprotect): Do not
The following fragment when compiled -O -ffinite-math-only on arm-linux-gnueabi
should print 0.00 but with gcc-4.1.2, 4.2.4, 4.3.3 it prints 9.00
#include
#define test_min(x,y) ((x) > (y) ? (y) : (x))
int
main (void)
{
static float data [1];
float min = 9.0 ;
By compiling the attached files I get a warning like this:
./some_package-some_seperate_package.adb: In function
'SOME_PACKAGE.SOME_SEPERATE_PACKAGE.GET_STATE':
./some_package-some_seperate_package.adb:22: warning:
'state_infos.current_state' is used uninitialized in this function
but I think ther
--- Comment #1 from alex at segv dot de 2009-03-19 13:46 ---
Created an attachment (id=17493)
--> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=17493&action=view)
spec file
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39502
--- Comment #2 from alex at segv dot de 2009-03-19 13:46 ---
Created an attachment (id=17494)
--> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=17494&action=view)
Body to spec
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39502
--- Comment #3 from alex at segv dot de 2009-03-19 13:47 ---
Created an attachment (id=17495)
--> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=17495&action=view)
seperate body with code triggering the warning
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39502
--- Comment #4 from alex at segv dot de 2009-03-19 13:47 ---
Created an attachment (id=17496)
--> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=17496&action=view)
Makefile to compile the sample code
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39502
--- Comment #5 from alex at segv dot de 2009-03-19 14:02 ---
Created an attachment (id=17497)
--> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=17497&action=view)
Similar code, not sure if same or different bug.
This sample code is closer to our original finding of the bug. Not sure i
--- Comment #10 from ktietz at gcc dot gnu dot org 2009-03-19 14:33 ---
(In reply to comment #9)
Patch sent. See http://gcc.gnu.org/ml/gcc-patches/2009-03/msg00914.html
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39356
--- Comment #4 from hjl dot tools at gmail dot com 2009-03-19 14:52 ---
The fix may have broken cross compiling:
http://gcc.gnu.org/ml/gcc/2009-03/msg00525.html
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39063
When trying to generate a cross-compiler targeting arm-wince-pe I have noticed
that libgcc2.c was not compiling anymore because of the following function :
int
mprotect (char *addr, int len, int prot)
{
DWORD np, op;
if (prot == 7)
np = 0x40;
else if (prot == 5)
np = 0x20;
else if
--- Comment #2 from jakub at gcc dot gnu dot org 2009-03-19 15:34 ---
Subject: Bug 39495
Author: jakub
Date: Thu Mar 19 15:34:00 2009
New Revision: 144965
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=144965
Log:
PR c/39495
* c-omp.c (c_finish_omp_for): Allow NE
The attached test program -- which I extracted and simplified from the
'176.gcc'
SPEC2000 benchmark -- is compiled incorrectly at -O2 and -O3. The code is
correct at -O1 and -O0.
The bad code I am reporting here is produced by a MIPS gcc-4.3.3
cross-compiler.
However, I see the same problem with
--- Comment #1 from jk500500 at yahoo dot com 2009-03-19 15:40 ---
Created an attachment (id=17498)
--> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=17498&action=view)
Testcase (self-contained C file)
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39504
--- Comment #2 from jk500500 at yahoo dot com 2009-03-19 15:44 ---
Created an attachment (id=17499)
--> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=17499&action=view)
gcc -v output
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39504
--- Comment #1 from forumer at smartmobili dot com 2009-03-19 15:45 ---
Hum maybe there is a problem in my defines because libgcc2 is using some
windows functions and in particular mprotect so maybe I should try to find why
DWORD is not defined in my case.
--
http://gcc.gnu.org/bugz
--- Comment #3 from jakub at gcc dot gnu dot org 2009-03-19 15:52 ---
Fixed.
--
jakub at gcc dot gnu dot org changed:
What|Removed |Added
Status|NEW
--- Comment #1 from ramana dot r at gmail dot com 2009-03-19 15:53 ---
Adding self to CC list -
mainline is also broken. The only difference in mainline is that we generate a
movle instead of movgt.
It should indeed be a moveq instead of a movle.
cheers
Ramana
--
ramana dot r at
Sent from my iPhone
On Mar 19, 2009, at 8:38 AM, "jk500500 at yahoo dot com" > wrote:
The attached test program -- which I extracted and simplified from the
'176.gcc'
SPEC2000 benchmark -- is compiled incorrectly at -O2 and -O3. The
code is
correct at -O1 and -O0.
The bad code I am rep
--- Comment #4 from pinskia at gmail dot com 2009-03-19 16:01 ---
Subject: Re: New: Incorrect code at -O2 and -O3
Sent from my iPhone
On Mar 19, 2009, at 8:38 AM, "jk500500 at yahoo dot com"
wrote:
> The attached test program -- which I extracted and simplified from the
> '176.gc
--- Comment #3 from jk500500 at yahoo dot com 2009-03-19 16:01 ---
Sorry, forgot to mention that the gcc command line is just:
mipsisa32-unknown-elf-gcc -O2 -S gcc0.c
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39504
--- Comment #2 from ramana dot r at gmail dot com 2009-03-19 16:05 ---
Or get rid of the cmp. The Runtime ABI suggests that the Z,N,C flags are set
for the result of the comparison. If that is true then the second cmp is
unnecessary.
Table 5 section 4.1.2 of the ARM Runtime ABI suggests
--- Comment #5 from jakub at gcc dot gnu dot org 2009-03-19 16:07 ---
Yeah. In GCC this has been fixed by:
http://gcc.gnu.org/ml/gcc-patches/1999-01/msg00206.html
but SPEC2k contains older copy of GCC source code.
You need to either patch it, or use -fno-strict-aliasing to compile the b
--- Comment #6 from jk500500 at yahoo dot com 2009-03-19 16:11 ---
Thanks for the info. I had assumed the SPEC code would not have issues like
this; guess not :-)
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39504
--- Comment #2 from rguenth at gcc dot gnu dot org 2009-03-19 16:19 ---
Btw, this was recently changed by
PR target/39063
* libgcc2.c (mprotect): Do not use signed arguments for
VirtualProtect, use DWORD arguments. Also fix the 'may
be used uninitialized
--
rguenth at gcc dot gnu dot org changed:
What|Removed |Added
GCC target triplet||arm-wince-pe
Keywords||build
--- Comment #3 from martinwguy at yahoo dot it 2009-03-19 16:29 ---
ramana:
I think you'll find the flags are only set for the 3-way comparisons.
__aeabi_cmple just returns 0 or 1
"Use for C <=" in the table means the C language, not the carry flag.
If you can find where the error is in
A few compilers support a 'no arg check' compiler directive which tells the
compiler to ignore type/kind/rank checking on specified arguments. This is
useful when routines have 'generic' arguments which are simply passed on to
other routines. Two compilers which support this feature are ifort, wi
--- Comment #1 from etienne_lorrain at yahoo dot fr 2009-03-19 16:33
---
Also, you cannot put function in another section and then
use -ffunction-sections, i.e.:
etie...@gujin:~$ gcc --version
gcc (Debian 4.3.3-3) 4.3.3
Copyright (C) 2008 Free Software Foundation, Inc.
This is free s
--- Comment #4 from ramana dot r at gmail dot com 2009-03-19 16:49 ---
(In reply to comment #3)
> ramana:
> I think you'll find the flags are only set for the 3-way comparisons.
> __aeabi_cmple just returns 0 or 1
> "Use for C <=" in the table means the C language, not the carry flag.
>
--- Comment #5 from rearnsha at gcc dot gnu dot org 2009-03-19 16:53
---
Also affects all other EABI target builds.
THe bug is in movsfcc (and movdfcc) which have not been corrected to account
for the libcall comparisons returning a bool value in the EABI.
I'm currently testing a fix
int i;
int foo (int *p, int b)
{
if (b)
p = &i;
i = 1;
*p = 0;
return i;
}
at -O2 -fargument-noalias-global shows
# p_1 = PHI
# i_7 = VDEF
i = 1;
# PARM_NOALIAS.10_9 = VDEF
*p_1 = 0;
# VUSE
D.1596_5 = i;
even though *p_1 aliases i.
--
Summary: PTA TBAA
--- Comment #1 from rguenth at gcc dot gnu dot org 2009-03-19 16:58 ---
Mine.
--
rguenth at gcc dot gnu dot org changed:
What|Removed |Added
AssignedTo|unassigned
--- Comment #2 from rguenth at gcc dot gnu dot org 2009-03-19 17:00 ---
int i;
int __attribute__((noinline))
foo (int *p, int b)
{
if (b)
p = &i;
i = 1;
*p = 0;
return i;
}
extern void abort (void);
int main()
{
if (foo((void *)0, 1) != 0)
abort ();
return 0;
}
--
--- Comment #12 from janis at gcc dot gnu dot org 2009-03-19 17:00 ---
I tested this patch, which I assume is what was described in comment #11:
Index: gcc/config/rs6000/rs6000.c
===
--- gcc/config/rs6000/rs6000.c (revisio
--- Comment #6 from rearnsha at gcc dot gnu dot org 2009-03-19 17:02
---
Correction: it doesn't affect movdfcc since that only matches on hard-float
targets.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39501
--- Comment #3 from pinskia at gcc dot gnu dot org 2009-03-19 17:02 ---
> int foo (int *p, int b)
> {
> if (b)
>p = &i;
I think this is invalid for -fargument-noalias-*. I don't think you can assign
to another pointer to p with this option turned on with defined results because
i
--- Comment #4 from pinskia at gcc dot gnu dot org 2009-03-19 17:03 ---
-fargument-noalias- is not flow sensitive at all and not supposed to be.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39506
--- Comment #5 from dberlin at gcc dot gnu dot org 2009-03-19 17:10 ---
I agree with pinskia, and think this should be closed as invalid.
fargument-noalias-* is an assertion by you, the user, that these things will
never alias.
You are telling the compiler it is allowed to assume it is a
--- Comment #6 from dnovillo at gcc dot gnu dot org 2009-03-19 17:12
---
(In reply to comment #5)
> I agree with pinskia, and think this should be closed as invalid.
Likewise. At most we could emit a warning when we see p = &i.
Diego.
--
http://gcc.gnu.org/bugzilla/show_bug.cg
--- Comment #5 from sezeroz at gmail dot com 2009-03-19 17:49 ---
The prototype for VirtualProtect() is known but the definition of DWORD is
not??
Hrmph. In any case, it should be fixed easily by changing DWORD into unsigned
int
which is what a DWORD is always defined as.
--
http://
--- Comment #1 from pinskia at gcc dot gnu dot org 2009-03-19 18:08 ---
Really I think this is a bad idea.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39505
Hi,
vorbis is creating wrong output on armel when using -ffast-math and -O1 or
higher. It's the option -ffinith-math-only that cause the problems.
I tried and can reproduce this problem with gcc versions 4.1.3, 4.2.4 and
4.3.3.
I've tried this test on various arches without problem, including i
--- Comment #1 from kurt at roeckx dot be 2009-03-19 18:17 ---
Created an attachment (id=17500)
--> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=17500&action=view)
testcase showing the problem
/*
** This file is in the Public Domain.
**
** This program demonstrates a bug in
--- Comment #2 from pinskia at gcc dot gnu dot org 2009-03-19 18:17 ---
*** This bug has been marked as a duplicate of 39501 ***
*** This bug has been marked as a duplicate of 39501 ***
--
pinskia at gcc dot gnu dot org changed:
What|Removed |Ad
--- Comment #7 from pinskia at gcc dot gnu dot org 2009-03-19 18:17 ---
*** Bug 39507 has been marked as a duplicate of this bug. ***
--
pinskia at gcc dot gnu dot org changed:
What|Removed |Added
---
--- Comment #1 from pinskia at gcc dot gnu dot org 2009-03-19 18:47 ---
Confirmed, I saw this too while doing GCC work.
--
pinskia at gcc dot gnu dot org changed:
What|Removed |Added
-
--- Comment #6 from leo at marco dot de 2009-03-19 19:08 ---
Subject: Re: gcc generates incorrect trampoline code in
thumb mode
sam at gcc dot gnu dot org wrote:
> --- Comment #5 from sam at gcc dot gnu dot org 2009-03-19 10:15 ---
> Matthias,
>
> I think Laurent was asking f
--- Comment #9 from jimb at red-bean dot com 2009-03-19 19:51 ---
Fixed for me in r144969. Thank you all!
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39496
--- Comment #1 from amylaar at gcc dot gnu dot org 2009-03-19 19:55 ---
Due to having numerous subtargets and the close interaction between
branch shortening, alignment calculation, conditional execution and
instruction scheduling, and idiosyncrasies of the zero-overhead loop
implementat
--- Comment #1 from amylaar at gcc dot gnu dot org 2009-03-19 19:59 ---
This port would be of rather limited use without an ARCompact port
(See PR39303).
It is doubtful that the mxp port will ever be properly finished.
Moreover, due to the lack of overall design and instability of the
in
--- Comment #5 from swagiaal at redhat dot com 2009-03-19 20:07 ---
Hmm.. compiling the testcase from comment #2
with gcc from http://koji.fedoraproject.org/koji/buildinfo?buildID=94544 still
produces import statements only at the global level:
...
<1><42>: Abbrev Number: 4 (DW_TAG_imp
--- Comment #2 from burnus at gcc dot gnu dot org 2009-03-19 21:37 ---
(In reply to comment #0)
> The alternative to this is to do as OpenMPI does and generate dozens of
> specific 'glue' routines, and tie them together under a generic name.
Or to use "TYPE(*),DIMENSION(..)" as propose
With the latest gcc-4.3.4-branch and gcc-4.3.3 branches checked out as of
2008-02-26, built with "vanilla options" with binutils 2.19.51.20090224
and glibc-2.9.90 of 2009-03-17, under Linux kernel 2.6.29-rc8, on an
originally Gentoo based system but with pretty much everything rebuilt
from latest
--- Comment #3 from gerald at pfeifer dot com 2009-03-19 21:45 ---
Ian, Ozkan, would you mind having a look on how to best solve this?
--
gerald at pfeifer dot com changed:
What|Removed |Added
---
--- Comment #1 from hjl dot tools at gmail dot com 2009-03-19 22:24 ---
Please provide all linker input files so that I can reproduce it.
--
hjl dot tools at gmail dot com changed:
What|Removed |Added
---
--- Comment #2 from hjl dot tools at gmail dot com 2009-03-19 22:35 ---
I think it may be the same as
http://www.sourceware.org/bugzilla/show_bug.cgi?id=9938
Please try the current binutils in CVS.
--
hjl dot tools at gmail dot com changed:
What|Removed
--- Comment #3 from jason dot vas dot dias at gmail dot com 2009-03-19
23:22 ---
RE: Comment #1 :
Sorry, the linker input files contain proprietary software of my employer that
I am legally prohibited from sharing - if the new binutils doesn't fix it,
I'll
try to get permission tomor
--- Comment #4 from sezeroz at gmail dot com 2009-03-19 23:27 ---
Regarding that the former type was int instead of DWORD, my suggest would be
replacing DWORD by unsigned int, like:
--- gcc/gcc/libgcc2.c.orig
+++ gcc/gcc/libgcc2.c
@@ -2068,7 +2068,7 @@ getpagesize (void)
int
mprotect
--- Comment #29 from dave at hiauly1 dot hia dot nrc dot ca 2009-03-20
01:30 ---
Subject: Re: [4.4 Regression] Revision 144529 miscompiled libcpp/expr.c
> I'd say first try to add noinline attribute on all callers of num_positive, if
> it fails even with those, add also __attribute__(
--- Comment #3 from w6ws at earthlink dot net 2009-03-20 02:13 ---
Subject: Re: Consider a 'no arg check' directive
Gents,
I was unaware of Bills TR proposal for a TYPE(*). This is good
news, and would totally solve the problem.
BTW, the no_arg_check directive actually works pretty
--- Comment #1 from bje at gcc dot gnu dot org 2009-03-20 02:46 ---
Reproduced today with current tip of the 4.3 branch.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31418
When attached code is compiled with "g++ -01 -x c++ main.i" the result executes
file. When compiled with -O2 it segfaults with "pure virtual function call".
This may be a case of an overeager optimization.
--
Summary: bad optimization(?) pure virtual function call with -O2
--- Comment #1 from eric dot niebler at gmail dot com 2009-03-20 03:03
---
Created an attachment (id=17501)
--> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=17501&action=view)
tarred, gzipped preprocessed c++ source file
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39509
Code:
#include
register uint8_t test asm("r2");
int main(void)
{
test = TCNT0;
}
Compiled with -Os results in the following instruction sequence:
0092 :
92: 82 b7 in r24, 0x32 ; 50
94: 28 2e mov r2, r24
96: 08 95 ret
This is pa
--- Comment #2 from eric dot niebler at gmail dot com 2009-03-20 04:04
---
Additional information: adding "__attribute__((noinline))" to the constructor
for xpression_adaptor (line 82452) makes the problem go away. Definitely looks
like an optimization problem to me.
--
http://gcc.
--- Comment #2 from bje at gcc dot gnu dot org 2009-03-20 04:06 ---
You should not be using --target=powerpc-405-linux-gnu, as this is not a valid
triplet. You should be using --target=powerpc-linux-gnu.
--
bje at gcc dot gnu dot org changed:
What|Removed
--- Comment #3 from bje at gcc dot gnu dot org 2009-03-20 04:45 ---
The first test case (t.c) now works correctly on mainline. The second still
does not work correctly.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15767
--- Comment #5 from bje at gcc dot gnu dot org 2009-03-20 04:59 ---
Closing as this has been fixed in numerous releases for some time.
--
bje at gcc dot gnu dot org changed:
What|Removed |Added
--
--- Comment #11 from nightstrike at gmail dot com 2009-03-20 05:28 ---
I can confirm that our 4.3 release worked, and that this is a 4.4 regression.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39356
I have:
main.cpp: In function 'QString parityToString(ParityType)':
main.cpp:312: warning: control reaches end of non-void function
When:
enum ParityType
{
PAR_NONE,
PAR_ODD,
PAR_EVEN,
PAR_MARK, //WINDOWS ONLY
PAR_SPACE
};
And my function:
QString parityToString(P
80 matches
Mail list logo