A function that dereferences an absolute address in memory, e.g.:
int test (void)
{
return * (volatile int *) 0x1234;
}
Is incorrectly identified by the ipa-pure-const pass as being pure, resulting
in invalid optimizations
being performed.
This can be seen in the ipa-pure-const dump
/testsuite : ChangeLog
Added files:
gcc/testsuite/gcc.c-torture/execute: 20050826-1.c
Log message:
PR rtl-optimization/23561
* builtins.c (get_memory_rtx): Add LEN argument. If MEM_EXPR is
a COMPONENT_REF, remove all COMPONENT_REF from MEM_EXPR unless
at
--- Additional Comments From pinskia at gcc dot gnu dot org 2005-08-26
22:03 ---
hmm, pure functions can read. I think Can fix this quickly.
--
What|Removed |Added
--- Additional Comments From pinskia at gcc dot gnu dot org 2005-08-26
22:06 ---
Testcase which shows we eliminate the function call:
int test (void)
{
return * (volatile int *) 0x1234;
}
int f(void)
{
return test()+test();
}
--
What|Removed
--- Additional Comments From pinskia at gcc dot gnu dot org 2005-08-26
22:09 ---
Oh, you already posted a patch:
http://gcc.gnu.org/ml/gcc-patches/2005-08/msg01598.html
--
What|Removed |Added
---
The following code (definitions of mem_fun* taken from ) works fine
when compiled with -O1, but causes a bus error crash when compiled with -O2.
// Templates taken from
template
class const_mem_fun_t
{
public:
explicit
const_mem_fun_t(_Ret (_Tp::*__pf)() const)
: _M_
--- Additional Comments From pinskia at gcc dot gnu dot org 2005-08-26
22:14 ---
I think this has already been fixed in 4.0.2 but I have not tested it.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23585
--- Additional Comments From rth at gcc dot gnu dot org 2005-08-26 22:16
---
Fixed.
--
What|Removed |Added
Status|ASSIGNED|RESOLVED
For an invalid code snippet like
int i;
namespace N = i;
we issue the error message
bug.cc:2: error: expected namespace-name before ';' token
bug.cc:2: error: unknown namespace ''
with the not very helpful ''.
The situation for the code snippet
int i;
using namespace i;
is simila
--- Additional Comments From reichelt at gcc dot gnu dot org 2005-08-26
22:21 ---
Btw, the problem is related to PR13377.
The problem there is twofold: The compiler fails to report which
name is not a namespace-name (N2) and why (because it's ambiguous).
The patch would only fix the fir
--- Additional Comments From pinskia at gcc dot gnu dot org 2005-08-26
22:20 ---
Confirmed.
--
What|Removed |Added
Severity|normal |minor
--- Additional Comments From dcorbit at connx dot com 2005-08-26 22:37
---
Subject: RE: Build failure on MINGW for gcc-4.1-20050819
> -Original Message-
> From: pinskia at gcc dot gnu dot org [mailto:[EMAIL PROTECTED]
> Sent: Friday, August 26, 2005 12:56 PM
> To: Dann Corbit
--- Additional Comments From cvs-commit at gcc dot gnu dot org 2005-08-26
22:42 ---
Subject: Bug 23584
CVSROOT:/cvs/gcc
Module name:gcc
Changes by: [EMAIL PROTECTED] 2005-08-26 22:42:45
Modified files:
gcc: ChangeLog ipa-pure-const.c
Log mess
--- Additional Comments From dje at gcc dot gnu dot org 2005-08-26 23:55
---
Confirmed.
--
What|Removed |Added
Status|UNCONFIRMED |NEW
Ever
--- Additional Comments From dje at gcc dot gnu dot org 2005-08-26 23:55
---
rs6000.c:expand_block_move() is losing the alignment because of a typo/thinko in
the decision tree.
--
What|Removed |Added
---
The following test warns about the comparison being always true only for two of
the six tests:
#include
void a (unsigned char x)
{
if (x < 0)
abort ();
}
void b (unsigned short x)
{
if (x < 0)
abort ();
}
void c (unsigned int x)
{
if (x < 0)
abort ();
}
void d (unsigned lon
--
What|Removed |Added
Component|c++ |c
Keywords||diagnostic
Known to work||2
--
What|Removed |Added
Known to fail||2.95.3 3.2.3 3.4.0 4.0.0
||4.1.0
Known to work|2.95.3 3.2.3
Consider
int main(int a, int b, int c, int d)
{
d = -1;
int e = (a | b) | (c | d);
int f = (c | a) | (b | d);
return e | f;
}
Because d == -1, the whole thing folds to return -1;
CCP doesn't do this however.
It takes:
# BLOCK 0
# PRED: ENTRY (fallthru)
d_1 = -1;
D.1285_4 = a_2 | b_
--- Additional Comments From pinskia at gcc dot gnu dot org 2005-08-27
03:31 ---
Confirmed. The same thing happens with s/-1/0/ s/|/&/ .
--
What|Removed |Added
This code works with the previous cygwin compiler that was based on gcc 3.3.3.
Thank you for looking at this.
"gcc -v" gives:
Reading specs from /usr/lib/gcc/i686-pc-cygwin/3.4.4/specs
Configured with: /gcc/gcc-3.4.4/gcc-3.4.4-1/configure --verbose --prefix=/usr
--exec-prefix=/usr --sysconfdir=/e
--
What|Removed |Added
Component|c++ |target
Keywords||ice-on-valid-code
http://gcc.gnu.org/bugzilla/show_bug
--
What|Removed |Added
Severity|critical|normal
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23589
--- Additional Comments From pinskia at gcc dot gnu dot org 2005-08-27
03:35 ---
Fixed.
--
What|Removed |Added
Status|NEW |RESOLVED
This code works with the previous cygwin compiler that was based on gcc 3.3.3.
Thank you for looking at this.
"gcc -v" gives:
Reading specs from /usr/lib/gcc/i686-pc-cygwin/3.4.4/specs
Configured with: /gcc/gcc-3.4.4/gcc-3.4.4-1/configure --verbose --prefix=/usr
--exec-prefix=/usr --sysconfdir=/e
--- Additional Comments From pinskia at gcc dot gnu dot org 2005-08-27
03:37 ---
*** This bug has been marked as a duplicate of 23589 ***
--
What|Removed |Added
--- Additional Comments From pinskia at gcc dot gnu dot org 2005-08-27
03:37 ---
*** Bug 23590 has been marked as a duplicate of this bug. ***
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23589
--
What|Removed |Added
Status|REOPENED|ASSIGNED
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13761
libstdc++ registers some handlers with pthreads in conjunction
with throw statements. Those handlers are not properly removed
when libstdc++ is unloaded, causing pthread_join to jump to a
bad address.
gcc -ldl -lpthread main.c -o main
g++ -shared -lstdc++ -lc -lm plug.cc \
-o plug.so
./main
In p
--- Additional Comments From dannysmith at users dot sourceforge dot net
2005-08-27 04:44 ---
Thisis a dllimport bug. In this case the template member
template
Point::Point(pointIterator ptStart, pointIterator ptStop)
is being marked as dllimport. Later it is instantiated and the defin
jakub at gcc dot gnu dot org wrote:-
>
> --- Additional Comments From jakub at gcc dot gnu dot org 2005-08-26
> 15:57 ---
> This got broken by the libcpp/files.c part of
> http://gcc.gnu.org/ml/gcc-patches/2004-06/msg00272.html
> My understanding of the change was that this was just a p
--- Additional Comments From neil at daikokuya dot co dot uk 2005-08-27
05:44 ---
Subject: Re: [4.0/4.1 Regression] File not included when file with same name
is included before
jakub at gcc dot gnu dot org wrote:-
>
> --- Additional Comments From jakub at gcc dot gnu dot org 2
--- Additional Comments From amodra at bigpond dot net dot au 2005-08-27
06:18 ---
bootstrapped and regression tested powerpc-linux, all languages except ada.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23463
101 - 133 of 133 matches
Mail list logo