--- Additional Comments From vincent at vinc17 dot org 2004-12-08 15:13
---
I'm wrong. gcc 3.4 (from Debian) still has this problem. So, -ffloat-store is
still needed for C compliance.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14708
--- You are receiving this mail because:
Package: g++-3.4
Version: 3.4.2-2
Severity: important
Hi,
the following (error prone) C++ code triggers an internal compiler error in
uses_template_parms, at cp/pt.c:4860
template
struct Dummy
{
void evil()
{
this->template tester();
}
template
void tester()
{
On Wed, Dec 08, 2004 at 09:17:39PM +0100, Arno Wagner wrote:
> E ~/exp/c/misc>gcc -profile hello.c
> E ~/exp/c/misc>a.out
> Inconsistency detected by ld.so: dl-version.c: 230: _dl_check_map_versions:
> Assertion `needed != ((void *)0)' failed!
> E ~/exp/c/misc>
This has got to be either a GCC or
--- Additional Comments From steven at gcc dot gnu dot org 2004-12-08
22:18 ---
extern int printf (__const char *__restrict __format, ...);
void
divisors_bug(long *t, long e, long P)
{
long j;
long *d, *old_d, *act_d, *tmp;
d = t;
*++d = 5;
old_d = t;
for (j = e;
LAST_UPDATED: Sat Dec 4 07:38:33 UTC 2004
Native configuration is s390-linux (lnxdeb02)
=== gpc tests ===
Running target any
=== gpc Summary ===
# of tests3910
# of expected passes 3905
# of unsupported tests5
/home/ton/gcc-3.3-3.3.5/b
--- Additional Comments From kazu at cs dot umass dot edu 2004-12-09 00:47
---
I took Steven's testcase in comment #12,
fed into GCC,
took its .t13.cfg output,
reformatted into C code,
fed that back into GCC with -O0,
and now I get the "5 5 garbage".
I separated main() to a separate fil
--- Additional Comments From kazu at cs dot umass dot edu 2004-12-09 00:58
---
Forget about comment #13.
My bad.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18694
--- You are receiving this mail because: ---
You are on the CC list for the bug, or are watching someone who
--- Additional Comments From pinskia at gcc dot gnu dot org 2004-12-09
01:01 ---
(In reply to comment #12)
Here is a testcase which might be slightly easy to understand it should do
(removes *a++):
extern int printf (__const char *__restrict __format, ...);
void
divisors_bug(long *t
--- Additional Comments From kazu at cs dot umass dot edu 2004-12-09 01:32
---
Here is a complete testcase that fails at DOM1.
With -O0, this testcase prints "5 5 5".
With -O1, this testcase prints "5 5 0".
I generated this testcase from final_cleanup after disabling DOM[123].
extern i
--- Additional Comments From pinskia at gcc dot gnu dot org 2004-12-09
01:33 ---
And here is a testcase which aborts and it is independent of storing to memory:
extern void abort (void);
void
divisors_bug(long t, long e, long P)
{
long int tmp;
long int act_d;
long int old_d;
--- Additional Comments From pinskia at gcc dot gnu dot org 2004-12-09
01:46 ---
(In reply to comment #16)
> Here is a complete testcase that fails at DOM1.
> With -O0, this testcase prints "5 5 5".
> With -O1, this testcase prints "5 5 0".
>
> I generated this testcase from final_clean
--- Additional Comments From kazu at cs dot umass dot edu 2004-12-09 02:14
---
DOM1 is translating tmp_4 < d_5 (in L2:) into d23_2 < d23_2,
which would be false.
So the threader itself doesn't seem to be broken. Something else is.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18
--- Additional Comments From kazu at cs dot umass dot edu 2004-12-09 02:51
---
Here are the PHI nodes that I am getting at L2 in thread_across_edge
called on edge L23 -> L2.
TMT.0_24 = PHI ;
ivtmp14_6 = PHI <0(1), ivtmp14_14(5)>;
d_5 = PHI ; <- defined
tmp_4 = PHI ; <- used
d23_3
--- Additional Comments From kazu at cs dot umass dot edu 2004-12-09 03:26
---
I meant:
At this point, it's not safe to use SSA_NAME_VALUE for tmp_4.
Maybe we shouldn't add equivalence of tmp_4 and d_5 in the first place
if d_5 is also defined in a PHI node at the same BB.
--
http:
--- Additional Comments From kazu at cs dot umass dot edu 2004-12-09 03:35
---
Created an attachment (id=7710)
--> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=7710&action=view)
a patch
This patch is fixes the bug but maybe a bit too conservative.
If thread_across_edge gets a compar
--- Additional Comments From kazu at cs dot umass dot edu 2004-12-09 05:24
---
Updated the testcase like so:
/* PR tree-optimization/18694
The dominator optimization didn't take the PHI evaluation order
into account when threading an edge. */
extern void abort (void) __attribut
16 matches
Mail list logo