[Bug rtl-optimization/38245] [4.4 Regression] stack corruption when a call is removed but not the outgoing argument pushes

2008-12-19 Thread jakub at gcc dot gnu dot org


--- Comment #16 from jakub at gcc dot gnu dot org  2008-12-19 09:50 ---
Given the sorry state of tree DSE (what we have is a joke), it is actually
trivial to come up with testcases for arbitrary pure/const call elimination
during RTL DCE.  E.g.
/* PR rtl-optimization/38245 */
/* { dg-do run } */
/* { dg-options -O2 } */

extern int bar (long, long, long, long, long, long, long, long,
long, long, long, long, long, long, long, long)
 __attribute__((pure));

struct A { int i, j; union { short s[4]; long long l; }; char pad[512]; } a;

void __attribute__((noinline))
foo (void)
{
  a.s[2] = bar (6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21);
  a.l = 6;
}

int
main (void)
{
  foo ();
  return 0;
}

This segfaults on i386-linux, x86_64-linux, powerpc64-linux (-m64 only, -m32 is
fine), haven't tried other targets.  For ia64-linux and other targets where
return ip is passed in a register I think we'd want to call foo from some
function that has some stuff on the stack and checks that it hasn't been
modified by the foo call.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38245



[Bug c++/38577] New: ICE: tree check: expected call_expr, have compound_expr in build_new_method_call, at cp/call.c:6000

2008-12-19 Thread bero at arklinux dot org
g++ -c -m64 -pipe -fPIC -g -I/usr/include/freetype2 -I/usr/include/pgsql
-I/usr/include/pgsql/server -I/usr/include/mysql -I/usr/include/dbus-1.0
-I/usr/lib64/dbus-1.0/include -m64 -O2 -fomit-frame-pointer -fweb
-frename-registers -D_REENTRANT -Wall -W -DQT_NO_CAST_FROM_ASCII
-DQT_NO_CAST_TO_ASCII -DQFORMINTERNAL_NAMESPACE -DQT_KEYWORDS -DQT_NO_DEBUG
-DQT_XML_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -D_LARGEFILE64_SOURCE
-D_LARGEFILE_SOURCE -DQT_SHARED -I../../../mkspecs/linux-g++-64 -I.
-I../../../include/QtUiTools -I../../../include/QtCore
-I../../../include/QtNetwork -I../../../include/QtGui -I../../../include/QtXml
-I../../../include -I../shared -I../../designer/src/uitools
-I../../designer/src/lib/uilib -I.moc/release-shared -I.uic/release-shared -o
.obj/release-shared/formpreviewview.o formpreviewview.cpp
formpreviewview.cpp: In function 'void highlightWidgetItem(T*, bool)':
formpreviewview.cpp:322: internal compiler error: tree check: expected
call_expr, have compound_expr in build_new_method_call, at cp/call.c:6000
Please submit a full bug report,
with preprocessed source if appropriate.
See http://gcc.gnu.org/bugs.html for instructions.

This happens while compiling Qt 4.5 beta 1.


-- 
   Summary: ICE: tree check: expected call_expr, have compound_expr
in build_new_method_call, at cp/call.c:6000
   Product: gcc
   Version: 4.4.0
Status: UNCONFIRMED
  Severity: blocker
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: bero at arklinux dot org
 GCC build triplet: x86_64-pc-linux-gnu
  GCC host triplet: x86_64-pc-linux-gnu
GCC target triplet: x86_64-pc-linux-gnu


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38577



[Bug c++/38577] ICE: tree check: expected call_expr, have compound_expr in build_new_method_call, at cp/call.c:6000

2008-12-19 Thread bero at arklinux dot org


--- Comment #2 from bero at arklinux dot org  2008-12-19 10:03 ---
Created an attachment (id=16943)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=16943action=view)
gzipped preprocessed source


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38577



[Bug c++/38577] ICE: tree check: expected call_expr, have compound_expr in build_new_method_call, at cp/call.c:6000

2008-12-19 Thread bero at arklinux dot org


--- Comment #1 from bero at arklinux dot org  2008-12-19 10:03 ---
The ICE occurs even at -O0


-- 

bero at arklinux dot org changed:

   What|Removed |Added

   Keywords||ice-on-valid-code
  Known to fail||4.4.0
  Known to work||4.3.2


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38577



[Bug bootstrap/38578] New: fatal warning during bootstrap on arm.c for output_move_double and arm_expand_prologue

2008-12-19 Thread laurent at guerby dot net
At rev 142808 on trunk:

../trunk/configure --prefix=/n/50/guerby/install-trunk-142808
--enable-languages=c,c++ --enable-__cxa_atexit --disable-nls
--enable-threads=posix --with-mpfr=/opt/cfarm/mpfr-2.3.2
--build=arm-linux-gnueabi --host=arm-linux-gnueabi --target=arm-linux-gnueabi
...
make boostrap
...

/home/guerby/build/./prev-gcc/xgcc -B/home/guerby/build/./prev-gcc/
-B/n/50/guerby/install-trunk-142808/arm-linux-gnueabi/bin/ -c  -g -O2 -DIN_GCC 
 -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wcast-qual
-Wold-style-definition -Wc++-compat -Wmissing-format-attribute -pedantic
-Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -Werror -fno-common
 -DHAVE_CONFIG_H -I. -I. -I../../trunk/gcc -I../../trunk/gcc/.
-I../../trunk/gcc/../include -I../../trunk/gcc/../libcpp/include
-I/opt/cfarm/mpfr-2.3.2/include -I../../trunk/gcc/../libdecnumber
-I../../trunk/gcc/../libdecnumber/dpd -I../libdecnumber\
../../trunk/gcc/config/arm/arm.c -o arm.o
cc1: warnings being treated as errors
../../trunk/gcc/config/arm/arm.c: In function 'output_move_double':
../../trunk/gcc/config/arm/arm.c:: error: comparison between signed and
unsigned integer expressions
../../trunk/gcc/config/arm/arm.c:10149: error: comparison between signed and
unsigned integer expressions
../../trunk/gcc/config/arm/arm.c: In function 'arm_expand_prologue':
../../trunk/gcc/config/arm/arm.c:12659: error: ISO C90 forbids mixed
declarations and code
make[3]: *** [arm.o] Error 1
make[3]: *** Waiting for unfinished jobs
rm fsf-funding.pod gcov.pod gfdl.pod cpp.pod gcc.pod
make[3]: Leaving directory `/home/guerby/build/gcc'
make[2]: *** [all-stage2-gcc] Error 2
make[2]: Leaving directory `/home/guerby/build'
make[1]: *** [stage2-bubble] Error 2
make[1]: Leaving directory `/home/guerby/build'
make: *** [bootstrap] Error 2

I assume --disable-werror will workaround this.


-- 
   Summary: fatal warning during bootstrap on arm.c for
output_move_double and arm_expand_prologue
   Product: gcc
   Version: 4.4.0
Status: UNCONFIRMED
  Keywords: build
  Severity: normal
  Priority: P3
 Component: bootstrap
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: laurent at guerby dot net
 GCC build triplet: arm-linux-gnueabi
  GCC host triplet: arm-linux-gnueabi
GCC target triplet: arm-linux-gnueabi


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38578



[Bug bootstrap/38578] fatal warning during bootstrap on arm.c for output_move_double and arm_expand_prologue

2008-12-19 Thread rearnsha at gcc dot gnu dot org


--- Comment #1 from rearnsha at gcc dot gnu dot org  2008-12-19 10:22 
---
I'm already testing fixes for this, but my native arm board is very
sl


-- 

rearnsha at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |rearnsha at gcc dot gnu dot
   |dot org |org
 Status|UNCONFIRMED |ASSIGNED
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2008-12-19 10:22:59
   date||


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38578



[Bug rtl-optimization/38245] [4.4 Regression] stack corruption when a call is removed but not the outgoing argument pushes

2008-12-19 Thread jakub at gcc dot gnu dot org


--- Comment #17 from jakub at gcc dot gnu dot org  2008-12-19 10:41 ---
Better testcase:
/* PR rtl-optimization/38245 */
/* { dg-do run } */
/* { dg-options -O2 } */

extern int bar (long, long, long, long, long, long, long, long,
long, long, long, long, long, long, long, long,
long, long, long, long, long, long, long, long,
long, long, long, long, long, long, long, long)
 __attribute__((pure));

struct A { int i, j; union { short s[4]; long long l; }; char pad[512]; } a;

void __attribute__((noinline))
foo (void)
{
  a.s[2] = bar (6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21);
  a.l = 6;
}

int
main (void)
{
  char buf[256];
  int i;
  for (i = 0; i  (int) sizeof buf; i++)
buf[i] = i;
  asm volatile ( : : r (buf) : memory);
  foo ();
  asm volatile ( : : r (buf) : memory);
  for (i = 0; i  (int) sizeof buf; i++)
if (buf[i] != (char) i)
  __builtin_abort ();
  return 0;
}

BTW, e.g. on powerpc64-linux or ia64-linux the stack arguments aren't in
CALL_INSN_FUNCTION_USAGE at all, only the register arguments.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38245



[Bug libstdc++/1773] __cplusplus defined to 1, should be 199711L

2008-12-19 Thread chris at bubblescope dot net


--- Comment #67 from chris at bubblescope dot net  2008-12-19 11:45 ---
Sorry to come back to this again. With C++0x just around the corner, is there
any chance of getting this fixed, seeing as I expect this should be the
standard way of checking if we are in conforming C++0x mode, when it gets
released?


-- 

chris at bubblescope dot net changed:

   What|Removed |Added

 CC||chris at bubblescope dot net


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=1773



[Bug c++/38577] [4.4 Regression] ICE: tree check: expected call_expr, have compound_expr in build_new_method_call, at cp/call.c:6000

2008-12-19 Thread jakub at gcc dot gnu dot org


--- Comment #3 from jakub at gcc dot gnu dot org  2008-12-19 12:01 ---
The attachment is corrupted, you've only attached first 128KB of the *.gz file.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38577



[Bug bootstrap/38578] fatal warning during bootstrap on arm.c for output_move_double and arm_expand_prologue

2008-12-19 Thread laurent at guerby dot net


--- Comment #2 from laurent at guerby dot net  2008-12-19 12:02 ---
Thanks!

The cfarm machine gcc50 has a 600 Mhz XScale-80219 with 512 MB of RAM,
gcc-4.3.2 release C only bootstrap took 17 hours (and about the same for make
check) - feel free to ask for an account if it's faster than what you have.

If you know a way to purchase qualcomm snapdragon dual core 1.5 GHz arm (or a
contact that might lead to it) I'm interested :).

http://www.umpcportal.com/2008/12/analysis-dual-core-snapdragon-and-netbooks-from-qualcomm


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38578



[Bug c++/38577] [4.4 Regression] ICE: tree check: expected call_expr, have compound_expr in build_new_method_call, at cp/call.c:6000

2008-12-19 Thread bero at arklinux dot org


--- Comment #4 from bero at arklinux dot org  2008-12-19 12:25 ---
Looks like bugzilla doesn't handle attachments  128 kB...

I've uploaded the file to http://arklinux.org/~bero/formpreviewview.ii.gz


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38577



[Bug c++/38579] New: Template: Wrong inherited copy-ctor visibility

2008-12-19 Thread syntheticpp at gmx dot net
The code below compiles, but it should give an error, because the Policy ctor
is not accessible when inheriting protected from Policy 
To have valid C++ code the inheritance must be public.


struct Policy
{
protected:
Policy() {}
Policy(const Policy) {}
};

templateint I, class P
struct BugGcc :
protected P
//public P
{
BugGcc() {}

templateint I, class P
BugGcc(const BugGccI, P t) : P(t) {}
};

void foo()
{
BugGcc0, Policy f1;
BugGcc1, Policy f2(f1);
}


GCC:
gcc-Version 4.3.2 20081105 (Red Hat 4.3.2-7) (GCC)


-- 
   Summary: Template: Wrong inherited copy-ctor visibility
   Product: gcc
   Version: 4.3.2
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: syntheticpp at gmx dot net


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38579



[Bug testsuite/33300] [libstdc++-v3] 27_io/ios_base/storage/2.cc with -m64 kills Darwin

2008-12-19 Thread howarth at nitro dot med dot uc dot edu


--- Comment #1 from howarth at nitro dot med dot uc dot edu  2008-12-19 
14:04 ---
I noticed today that r142822 no longer exhibited the failure of
libstdc++-v3/testsuite/27_io/ios_base/storage/2.cc as...

WARNING: program timed out.
FAIL: 27_io/ios_base/storage/2.cc execution test

at -m64 on i686-apple-darwin9 as it has up to as recently as r142799.
So either the bug went latent or it was fixed by a patch in that range.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33300



[Bug libffi/26048] [4.2/4.3/4.4 Regression] libffi doesn't build on Solaris 10/x86 with native assembler

2008-12-19 Thread ro at gcc dot gnu dot org


-- 

ro at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |ro at gcc dot gnu dot org
   |dot org |
 Status|NEW |ASSIGNED
   Last reconfirmed|2006-09-17 19:32:20 |2008-12-19 14:08:36
   date||


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26048



[Bug rtl-optimization/38245] [4.4 Regression] stack corruption when a call is removed but not the outgoing argument pushes

2008-12-19 Thread jakub at gcc dot gnu dot org


--- Comment #18 from jakub at gcc dot gnu dot org  2008-12-19 14:37 ---
Created an attachment (id=16944)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=16944action=view)
gcc44-pr38245.patch

On x86_64 some more work is needed, because in leaf functions parts of the
outgoing_args_size space might be in red-zone, and as all the left-over stack
pushes are from %rsp upwards, that still clobbers the return pointer.
Perhaps we might in that case just make the red-zone smaller to make sure all
of the outgoing_args_size are is above the red zone.

This patch also fixes powerpc64, though in that case (or for msabi on x86_64
too) if we eliminate a call that has arguments solely in registers, still
outgoing_args_size area is allocated.

I guess we might want to track the size of outgoing args we really pushed for
some call, not considering OUTGOING_REG_PARM_STACK_SPACE, and remember it in a
new crtl- field.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38245



[Bug bootstrap/37739] [4.4 Regression] bootstrap broken with core gcc gcc-4.2.x

2008-12-19 Thread jakub at gcc dot gnu dot org


--- Comment #10 from jakub at gcc dot gnu dot org  2008-12-19 14:57 ---
Subject: Bug 37739

Author: jakub
Date: Fri Dec 19 14:55:42 2008
New Revision: 142833

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=142833
Log:
PR bootstrap/37739
* config.host: For powerpc*-*-linux* host with 32-bit GCC,
use rs6000/x-linux-relax snippet if ld is new enough,
otherwise use rs6000/x-linux-O1.
* config/rs6000/x-linux-relax: New file.
* config/x-cflags-O1: New file.

Added:
trunk/gcc/config/rs6000/x-linux-relax
trunk/gcc/config/x-cflags-O1
Modified:
trunk/gcc/ChangeLog
trunk/gcc/config.host


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37739



[Bug libgcj/38396] [4.4 Regression] libgcj_bc for 4.3 and 4.4 are binary incompatible but have the same SONAME

2008-12-19 Thread jakub at gcc dot gnu dot org


--- Comment #21 from jakub at gcc dot gnu dot org  2008-12-19 14:58 ---
Subject: Bug 38396

Author: jakub
Date: Fri Dec 19 14:57:29 2008
New Revision: 142834

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=142834
Log:
PR libgcj/38396
* configure.ac (use_libgcj_bc): Set to no if not enable_shared.
(LIBGCJ_SPEC): Use -lgcj instead of -lgcj_bc even for -static
or -static-libgcj.
* Makefile.am (ecjx_SOURCES): Add ecjx.cc.
(ecjx_LDADD): Don't add libgcj.la when
NATIVE  USE_LIBBGCJ_BC.
* ecjx.cc: New file.
* Makefile.in: Regenerated.
* configure: Regenerated.

Added:
trunk/libjava/ecjx.cc
Modified:
trunk/libjava/ChangeLog
trunk/libjava/Makefile.am
trunk/libjava/Makefile.in
trunk/libjava/configure
trunk/libjava/configure.ac


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38396



[Bug libffi/26048] [4.2/4.3/4.4 Regression] libffi doesn't build on Solaris 10/x86 with native assembler

2008-12-19 Thread ro at gcc dot gnu dot org


--- Comment #9 from ro at gcc dot gnu dot org  2008-12-19 15:01 ---
Subject: Bug 26048

Author: ro
Date: Fri Dec 19 14:59:42 2008
New Revision: 142835

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=142835
Log:
PR libffi/26048
* configure.ac (HAVE_AS_X86_PCREL): New test.
* configure: Regenerate.
* fficonfig.h.in: Regenerate.
* src/x86/sysv.S [!FFI_NO_RAW_API]: Precalculate
RAW_CLOSURE_CIF_OFFSET, RAW_CLOSURE_FUN_OFFSET,
RAW_CLOSURE_USER_DATA_OFFSET for the Solaris 10/x86 assembler.
(.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
* src/x86/unix64.S (.Lstore_table): Move to .text section.
(.Lload_table): Likewise.
(.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.

Modified:
trunk/libffi/ChangeLog
trunk/libffi/configure
trunk/libffi/configure.ac
trunk/libffi/fficonfig.h.in
trunk/libffi/src/x86/sysv.S
trunk/libffi/src/x86/unix64.S


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26048



[Bug libgcj/38396] [4.3 Regression] ecj1 linked against both -lgcj and -lgcj_bc

2008-12-19 Thread jakub at gcc dot gnu dot org


--- Comment #22 from jakub at gcc dot gnu dot org  2008-12-19 15:02 ---
1) doesn't exist on the trunk, 2) fixed there.
Both 1) and 2) need still fixing on 4.3 branch, a backport of
r142834 should cure 2), 1) needs a separate patch.


-- 

jakub at gcc dot gnu dot org changed:

   What|Removed |Added

  Known to fail||4.3.2
  Known to work||4.4.0
Summary|[4.4 Regression] libgcj_bc  |[4.3 Regression] ecj1 linked
   |for 4.3 and 4.4 are binary  |against both -lgcj and -
   |incompatible but have the   |lgcj_bc
   |same SONAME |


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38396



[Bug bootstrap/37739] [4.4 Regression] bootstrap broken with core gcc gcc-4.2.x

2008-12-19 Thread jakub at gcc dot gnu dot org


--- Comment #11 from jakub at gcc dot gnu dot org  2008-12-19 14:59 ---
Fixed.


-- 

jakub at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37739



[Bug libffi/26048] [4.2/4.3/4.4 Regression] libffi doesn't build on Solaris 10/x86 with native assembler

2008-12-19 Thread ro at gcc dot gnu dot org


--- Comment #10 from ro at gcc dot gnu dot org  2008-12-19 15:01 ---
Fixed for 4.4.0.


-- 

ro at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26048



[Bug c++/38577] [4.4 Regression] ICE: tree check: expected call_expr, have compound_expr in build_new_method_call, at cp/call.c:6000

2008-12-19 Thread jakub at gcc dot gnu dot org


--- Comment #5 from jakub at gcc dot gnu dot org  2008-12-19 15:23 ---
Reduced testcase:
struct A
{
  static A *bar () { return a; }
  static A *a;
};

struct B : public A
{
  static void baz ();
};

template class T
void foo ()
{
  (static_castB * (A::bar ()))-baz ();
}


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38577



[Bug c++/38577] [4.4 Regression] ICE: tree check: expected call_expr, have compound_expr in build_new_method_call, at cp/call.c:6000

2008-12-19 Thread jakub at gcc dot gnu dot org


--- Comment #6 from jakub at gcc dot gnu dot org  2008-12-19 15:56 ---
Caused by http://gcc.gnu.org/viewcvs?root=gccview=revrev=142054
(PR37540).


-- 

jakub at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||jason at gcc dot gnu dot org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38577



[Bug c++/38577] [4.4 Regression] ICE: tree check: expected call_expr, have compound_expr in build_new_method_call, at cp/call.c:6000

2008-12-19 Thread jakub at gcc dot gnu dot org


--- Comment #7 from jakub at gcc dot gnu dot org  2008-12-19 16:09 ---
In build_new_method_call, call at that spot is either error_mark_node (already
checked for), build_over_call returned value (can be a CALL_EXPR or
INDIRECT_REF
on a CALL_EXPR for references; both are handled already), or:
call = build2 (COMPOUND_EXPR, TREE_TYPE (call),
   instance_ptr, call);
or:
call = build_nop (void_type_node, call);
I guess these (COMPOUND_EXPR and NOP_EXPR) need to be handled too.


-- 

jakub at gcc dot gnu dot org changed:

   What|Removed |Added

  GCC build triplet||x86_64-pc-linux-gnu
   GCC host triplet||x86_64-pc-linux-gnu
 GCC target triplet||x86_64-pc-linux-gnu


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38577



[Bug c++/38577] [4.4 Regression] ICE: tree check: expected call_expr, have compound_expr in build_new_method_call, at cp/call.c:6000

2008-12-19 Thread hjl dot tools at gmail dot com


-- 

hjl dot tools at gmail dot com changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
  GCC build triplet|x86_64-pc-linux-gnu |
   GCC host triplet|x86_64-pc-linux-gnu |
 GCC target triplet|x86_64-pc-linux-gnu |
   Last reconfirmed|-00-00 00:00:00 |2008-12-19 16:09:40
   date||


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38577



[Bug c++/38577] [4.4 Regression] ICE: tree check: expected call_expr, have compound_expr in build_new_method_call, at cp/call.c:6000

2008-12-19 Thread jakub at gcc dot gnu dot org


-- 

jakub at gcc dot gnu dot org changed:

   What|Removed |Added

   Target Milestone|--- |4.4.0


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38577



[Bug c++/38577] [4.4 Regression] ICE: tree check: expected call_expr, have compound_expr in build_new_method_call, at cp/call.c:6000

2008-12-19 Thread jakub at gcc dot gnu dot org


--- Comment #8 from jakub at gcc dot gnu dot org  2008-12-19 16:44 ---
Created an attachment (id=16945)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=16945action=view)
gcc44-pr38577.patch

Patch I'm going to test.

Both the COMPOUND_EXPR and NOP_EXPR are inserted again during instantiation
when build_new_method_call is called again.

Another alternative would be not to create the COMPOUND_EXPR or NOP_EXPR
if (processing_template_decl) at all, but for the destructor cast to void
that would mean the type wouldn't be void during template processing.  Before
the PR37540 patch the CALL_EXPR would have void_type_node, which is wrong, but
leaving the type non-void would be IMHO worse.


-- 

jakub at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |jakub at gcc dot gnu dot org
   |dot org |
 Status|NEW |ASSIGNED


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38577



[Bug bootstrap/38546] configure: too many arguments

2008-12-19 Thread rwild at gcc dot gnu dot org


--- Comment #1 from rwild at gcc dot gnu dot org  2008-12-19 17:02 ---
The code in question is

if test -f $gcc_cv_binutils_srcdir/configure.in \
  test -f ../binutils/Makefile \
  test x$build = x$host; then
gcc_cv_nm=../binutils/nm-new$build_exeext
elif test -x nm$build_exeext; then
gcc_cv_nm=./nm$build_exeext
elif test -x $NM_FOR_TARGET; then
gcc_cv_nm=$NM_FOR_TARGET
else
  ...

and the line in question is the one containing
  test -x $NM_FOR_TARGET

This idiom exists in current trunk as well, so presumably also the bug,
and also in a couple of other places in this file.

I'm not sure whether NM_FOR_TARGET is required here to be one word only,
but that would seem like a bug itself to me.


-- 

rwild at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||rwild at gcc dot gnu dot org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38546



[Bug fortran/38538] ICE with elemental character function

2008-12-19 Thread tkoenig at gcc dot gnu dot org


--- Comment #11 from tkoenig at gcc dot gnu dot org  2008-12-19 17:20 
---
(In reply to comment #10)
 Many thanks, Dominique! At least I have something to work on. It's a cursed
 nuisance not having access to a fully functioning system, when I have time to
 work on gfortran. I think that I shall have to take up Tobi's offer of remote
 access to his machine.
 

Hi Paul,

you could apply for an account on the gcc compile farm (I have).  As
long as you have putty, and your private key, you can log on from
just about everywhere.

Very useful, and they have a couple of really fast systems, too!


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38538



[Bug bootstrap/38578] fatal warning during bootstrap on arm.c for output_move_double and arm_expand_prologue

2008-12-19 Thread rearnsha at gcc dot gnu dot org


--- Comment #3 from rearnsha at gcc dot gnu dot org  2008-12-19 17:24 
---
Subject: Bug 38578

Author: rearnsha
Date: Fri Dec 19 17:22:58 2008
New Revision: 142837

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=142837
Log:
PR bootstrap/38578
* arm.c (load_multiple_sequence): Initialize ORDER array.
(store_multiple_sequence): Likewise.
(output_move_double): Make reg0 unsigned.
(arm_output_epilogue): Make amount unsigned.
(arm_expand_prologue): Move declaration of dwarf before block
statements.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/arm/arm.c


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38578



[Bug bootstrap/38578] fatal warning during bootstrap on arm.c for output_move_double and arm_expand_prologue

2008-12-19 Thread rearnsha at gcc dot gnu dot org


--- Comment #4 from rearnsha at gcc dot gnu dot org  2008-12-19 17:25 
---
Fixed


-- 

rearnsha at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED
   Target Milestone|--- |4.4.0


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38578



[Bug c++/38577] [4.4 Regression] ICE: tree check: expected call_expr, have compound_expr in build_new_method_call, at cp/call.c:6000

2008-12-19 Thread jason at redhat dot com


--- Comment #9 from jason at redhat dot com  2008-12-19 17:28 ---
Subject: Re:  [4.4 Regression] ICE: tree check: expected call_expr,
 have compound_expr in build_new_method_call, at cp/call.c:6000

jakub at gcc dot gnu dot org wrote:
 Another alternative would be not to create the COMPOUND_EXPR or NOP_EXPR
 if (processing_template_decl) at all, but for the destructor cast to void
 that would mean the type wouldn't be void during template processing.  Before
 the PR37540 patch the CALL_EXPR would have void_type_node, which is wrong, but
 leaving the type non-void would be IMHO worse.

This patch is OK if it passes testing.  But it makes me wonder if we're 
handling decltype of the COMPOUND_EXPR case properly.

The destructor issue makes me wish again that ARM hadn't decided to mess 
with the ABI.  Sigh.

Jason


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38577



[Bug target/38548] [4.4 Regression] bootstrap broken on arm-linux-gnu (not gnueabi)

2008-12-19 Thread rearnsha at gcc dot gnu dot org


-- 

rearnsha at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |rearnsha at gcc dot gnu dot
   |dot org |org
 Status|UNCONFIRMED |ASSIGNED
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2008-12-19 17:28:02
   date||
   Target Milestone|--- |4.4.0


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38548



[Bug target/38548] [4.4 Regression] bootstrap broken on arm-linux-gnu (not gnueabi)

2008-12-19 Thread rearnsha at gcc dot gnu dot org


--- Comment #1 from rearnsha at gcc dot gnu dot org  2008-12-19 17:32 
---
Subject: Bug 38548

Author: rearnsha
Date: Fri Dec 19 17:31:12 2008
New Revision: 142838

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=142838
Log:
PR target/38548
* arm/t-linux (LIB1ASMFUNCS): Add _arm_addsubdf3 and 
_arm_addsubsf3.
* arm/lib1funcs.asm (clzsi2): Use RET macro for return 
instruction.


Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/arm/lib1funcs.asm
trunk/gcc/config/arm/t-linux


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38548



[Bug target/38548] [4.4 Regression] bootstrap broken on arm-linux-gnu (not gnueabi)

2008-12-19 Thread rearnsha at gcc dot gnu dot org


--- Comment #2 from rearnsha at gcc dot gnu dot org  2008-12-19 17:33 
---
Fixed


-- 

rearnsha at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||rearnsha at gcc dot gnu dot
   ||org
 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38548



[Bug libfortran/24685] real(16) formatted input is broken for huge values (gfortran.dg/default_format_2.f90)

2008-12-19 Thread janis at gcc dot gnu dot org


--- Comment #36 from janis at gcc dot gnu dot org  2008-12-19 17:50 ---
I'll revert the patch that changes the XFAIL.  I noticed yesterday that the
test was failing on powerpc64-linux on a distribution that I hadn't tested on
before, although the new XFAIL had worked on the other distributions I tried.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24685



[Bug bootstrap/38580] New: Bootstrap broken on mingw32

2008-12-19 Thread fxcoudert at gcc dot gnu dot org
Bootstraping on i586-pc-mingw32 (with mingw-3.15.1, the latest version) is
broken by: 

(SHLIB_LINK='ln -s -f @shlib_map_file@ @shlib_map_f...@.def  if [ ! -d
@multilib_dir@/shlib ]; then mkdir @multilib_dir@/shlib else true; fi 
/home/FX/gfortran/ibin/./gcc/xgcc -B/home/FX/gfortran/ibin/./gcc/
-L/home/FX/gfortran/ibin/i586-pc-mingw32/winsup/mingw
-L/home/FX/gfortran/ibin/i586-pc-mingw32/winsup/w32api/lib -isystem
/home/FX/gfortran/gcc-trunk/winsup/mingw/include -isystem
/home/FX/gfortran/gcc-trunk/winsup/w32api/include -B/mingw/i586-pc-mingw32/bin/
-B/mingw/i586-pc-mingw32/lib/ -isystem /mingw/i586-pc-mingw32/include -isystem
/mingw/i586-pc-mingw32/sys-include -O2
-I../../gcc-trunk/gcc/../winsup/w32api/include -g -O2 -DIN_GCC   -W -Wall
-Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wcast-qual
-Wold-style-definition  -isystem ./include   -g -DHAVE_GTHR_DEFAULT
-DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED  -shared -nodefaultlibs
@shlib_map_f...@.def
-Wl,--out-implib,@multilib_dir@/shlib/@shlib_base_n...@.a.tmp -o
@multilib_dir@/shlib/@shlib_base_n...@_1.dll.tmp @multilib_flags@ @shlib_objs@
-lmingw32 -lmingwex -lmoldname -lmsvcrt -luser32 -lkernel32 -ladvapi32
-lshell32  if [ -f @multilib_dir@/shlib/@shlib_base_n...@_1.dll ]; then mv -f
@multilib_dir@/shlib/@shlib_base_n...@_1.dll
@multilib_dir@/shlib/@shlib_base_n...@_1.dll.backup; else true; fi  mv
@multilib_dir@/shlib/@shlib_base_n...@_1.dll.tmp
@multilib_dir@/shlib/@shlib_base_n...@_1.dll  mv
@multilib_dir@/shlib/@shlib_base_n...@.a.tmp
@multilib_dir@/shlib/@shlib_base_n...@.a'; \
/home/FX/gfortran/ibin/./prev-gcc/xgcc
-B/home/FX/gfortran/ibin/./prev-gcc/ -B/mingw/i586-pc-mingw32/bin/  -g -O2
-D__USE_MINGW_ACCESS -Wno-pedantic-ms-format -DIN_GCC   -W -Wall
-Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wcast-qual
-Wold-style-definition -Wc++-compat -Wmissing-format-attribute -pedantic
-Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -Werror -fno-common
 -DHAVE_CONFIG_H -I. -I. -I../../gcc-trunk/gcc -I../../gcc-trunk/gcc/.
-I../../gcc-trunk/gcc/../include -I../../gcc-trunk/gcc/../libcpp/include
-I/home/FX/gfortran/dependencies/include  -I../../gcc-trunk/gcc/../libdecnumber
-I../../gcc-trunk/gcc/../libdecnumber/dpd -I../libdecnumber\
  -DSTANDARD_STARTFILE_PREFIX=\../../../\
-DSTANDARD_EXEC_PREFIX=\/mingw/lib/gcc/\
-DSTANDARD_LIBEXEC_PREFIX=\/mingw/libexec/gcc/\
-DDEFAULT_TARGET_VERSION=\4.4.0\ -DDEFAULT_TARGET_MACHINE=\i586-pc-mingw32\
-DSTANDARD_BINDIR_PREFIX=\/mingw/bin/\ -DTOOLDIR_BASE_PREFIX=\../../../../\
 `test X${SHLIB_LINK} = X || test yes != yes || echo
-DENABLE_SHARED_LIBGCC` \
  -c ../../gcc-trunk/gcc/gcc.c -o gcc.o)
cc1.exe: warnings being treated as errors
../../gcc-trunk/gcc/gcc.c: In function 'process_command':
../../gcc-trunk/gcc/gcc.c:3423: error: passing argument 2 of 'execvp' from
incompatible pointer type
c:/MinGW/include/process.h:120: note: expected 'const char * const*' but
argument is of type 'char **'


This same error happens at stage 2 and 3. Working around it by compiling gcc.c
(and only gcc.c) without -Werror, I can confirm that the rest of the bootstrap
then goes fine.


-- 
   Summary: Bootstrap broken on mingw32
   Product: gcc
   Version: 4.4.0
Status: UNCONFIRMED
  Keywords: build
  Severity: critical
  Priority: P3
 Component: bootstrap
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: fxcoudert at gcc dot gnu dot org
 GCC build triplet: i586-pc-mingw32
  GCC host triplet: i586-pc-mingw32
GCC target triplet: i586-pc-mingw32


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38580



[Bug libfortran/24685] real(16) formatted input is broken for huge values (gfortran.dg/default_format_2.f90)

2008-12-19 Thread janis at gcc dot gnu dot org


--- Comment #37 from janis at gcc dot gnu dot org  2008-12-19 18:14 ---
Subject: Bug 24685

Author: janis
Date: Fri Dec 19 18:12:40 2008
New Revision: 142840

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=142840
Log:
Revert:
2008-12-12  Janis Johnson  janis...@us.ibm.com
PR libgfortran/24685
* gfortran.dg/default_format_denormal_2.f90: Change XFAIL to check
for size of long double.

Modified:
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/gfortran.dg/default_format_denormal_2.f90


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24685



[Bug middle-end/38510] Matrix.c from pymol 1.1r2 fails to compile with -O2 -fgraphite

2008-12-19 Thread hjagasia at gcc dot gnu dot org


--- Comment #4 from hjagasia at gcc dot gnu dot org  2008-12-19 18:20 
---
Created an attachment (id=16946)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=16946action=view)
Fixed changes suggested by Sebastian Pop.

2008-12-19  Harsha Jagasia  harsha.jaga...@amd.com

PR tree-optimization/38510
* gcc.dg/graphite/pr38510.c: New.
* graphite.c (recompute_all_dominators): Call mark_irreducible_loops.
  (translate_clast): Call recompute_all_dominators before 
  graphite_verify.
  (gloog): Call recompute_all_dominators before graphite_verify.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38510



[Bug libfortran/24685] real(16) formatted input is broken for huge values (gfortran.dg/default_format_2.f90)

2008-12-19 Thread janis at gcc dot gnu dot org


--- Comment #38 from janis at gcc dot gnu dot org  2008-12-19 18:22 ---
Subject: Bug 24685

Author: janis
Date: Fri Dec 19 18:20:41 2008
New Revision: 142841

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=142841
Log:
Revert:
2008-12-12  Janis Johnson  janis...@us.ibm.com
PR libgfortran/24685
* gfortran.dg/default_format_denormal_2.f90: Change XFAIL to check
for size of long double.

Modified:
branches/gcc-4_3-branch/gcc/testsuite/ChangeLog
   
branches/gcc-4_3-branch/gcc/testsuite/gfortran.dg/default_format_denormal_2.f90


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24685



[Bug c++/38577] [4.4 Regression] ICE: tree check: expected call_expr, have compound_expr in build_new_method_call, at cp/call.c:6000

2008-12-19 Thread jakub at gcc dot gnu dot org


--- Comment #10 from jakub at gcc dot gnu dot org  2008-12-19 19:34 ---
Subject: Bug 38577

Author: jakub
Date: Fri Dec 19 19:33:28 2008
New Revision: 142842

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=142842
Log:
PR c++/38577
* call.c (build_new_method_call): Handle call being COMPOUND_EXPR
or NOP_EXPR.

* g++.dg/template/call6.C: New test.

Added:
trunk/gcc/testsuite/g++.dg/template/call6.C
Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/call.c
trunk/gcc/testsuite/ChangeLog


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38577



[Bug libgomp/38270] libgomp test failures due to missing memory barrier

2008-12-19 Thread janis at gcc dot gnu dot org


--- Comment #6 from janis at gcc dot gnu dot org  2008-12-19 19:43 ---
Created an attachment (id=16947)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=16947action=view)
final patch

This was the final patch; it wasn't submitted to gcc-patches, but was written
based on a suggestion from Jakub.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38270



[Bug c++/38577] [4.4 Regression] ICE: tree check: expected call_expr, have compound_expr in build_new_method_call, at cp/call.c:6000

2008-12-19 Thread jakub at gcc dot gnu dot org


--- Comment #11 from jakub at gcc dot gnu dot org  2008-12-19 20:05 ---
With COMPOUND_EXPR, finish_decltype_type doesn't ICE, but as you note, probably
doesn't do the right thing.

Say on:
struct A
{
  static A *bar ();
};

struct B : public A
{
  static int baz ();
};

template class T
void foo ()
{
  __decltype ((static_castB * (A::bar ()))-baz ()) i;
}

void blah ()
{
  __decltype ((static_castB * (A::bar ()))-baz ()) i;
}

void
bar ()
{
  fooint ();
}

in foo finish_decltype_type is called just with CALL_EXPR and does the right
thing, but in blah is called with COMPOUND_EXPR and doesn't handle it as
CALL_EXPR, but just returns TREE_TYPE.  Not sure how would a testcase where
this would make a difference look though.


-- 

jakub at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38577



[Bug c++/38581] New: Tru64 outputs non-virtual thunks as non-weak symbols

2008-12-19 Thread bugzilla-gcc at thewrittenword dot com
When building qt-3.3.8 and wxGTk on Tru64 UNIX 5.1
(alphaev67-dec-osf5.1) with gcc-4.2.4, we got linker failures about
duplicate non-virtual thunks, e.g. from qt:
/usr/ccs/bin/ld:
.obj/release-shared-mt/qmotifdnd_x11.o: non-virtual thunk to
QDragMoveEvent::~QDragMoveEvent(): multiply defined
.obj/release-shared-mt/qmotifdnd_x11.o: non-virtual thunk to
QDragMoveEvent::~QDragMoveEvent(): multiply defined
.obj/release-shared-mt/qmotifdnd_x11.o: non-virtual thunk to
QDragEnterEvent::~QDragEnterEvent(): multiply defined
.obj/release-shared-mt/qmotifdnd_x11.o: non-virtual thunk to
QDragEnterEvent::~QDragEnterEvent(): multiply defined

This appears to be because the non-virtual thunks are not output weak on this
platform, so, those that appear in multiple objects will cause linker errors
like this (in the above case, there are _ZThn16_N14QDragMoveEventD0Ev and
_ZThn16_N14QDragMoveEventD1Ev in both qdnd_x11.o and qmotifdnd_x11.o).

This is easily reproducible, for example, compiling a slightly modified version
of dllexport-MI1.C from the g++ testsuite.

With gcc-4.2.4:
% g++ -c -o dllexport-MI1.o dllexport-MI1.C; nm -wB dllexport-MI1.o | grep Thn
0x00 N  $_ZThn8_N3MI1D0Ev..ng
0x00 N  $_ZThn8_N3MI1D1Ev..ng
0x00 N  $_ZThn8_NK3MI12vfEv..ng
0x000854 T  _ZThn8_N3MI1D0Ev
0x000910 T  _ZThn8_N3MI1D1Ev
0x000208 T  _ZThn8_NK3MI12vfEv

When compared to gcc-3.4.3:
g++ -c -o dllexport-MI1.o dllexport-MI1.C; nm -wB dllexport-MI1.o | grep Thn
0x00 N  $_ZThn8_N3MI1D0Ev..ng
0x00 N  $_ZThn8_N3MI1D1Ev..ng
0x00 N  $_ZThn8_NK3MI12vfEv..ng
0x000344 T* _ZThn8_N3MI1D0Ev
0x000548 T* _ZThn8_N3MI1D1Ev
0x0001f0 T* _ZThn8_NK3MI12vfEv

The '*' in the nm output indicates a weak symbol.


-- 
   Summary: Tru64 outputs non-virtual thunks as non-weak symbols
   Product: gcc
   Version: 4.2.4
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: bugzilla-gcc at thewrittenword dot com
  GCC host triplet: alphaev67-dec-osf5.1


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38581



[Bug c++/38581] Tru64 outputs non-virtual thunks as non-weak symbols

2008-12-19 Thread bugzilla-gcc at thewrittenword dot com


--- Comment #1 from bugzilla-gcc at thewrittenword dot com  2008-12-19 
22:30 ---
Created an attachment (id=16948)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=16948action=view)
preprocessed file to demonstrate the problem

The slightly modified version of dllexport-MI1.C (really just removed the
__attribute__ ((dllexport)), as they caused warnings).


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38581



[Bug bootstrap/38580] Bootstrap broken on mingw32

2008-12-19 Thread dannysmith at users dot sourceforge dot net


--- Comment #1 from dannysmith at users dot sourceforge dot net  2008-12-19 
23:01 ---
Patch for this was submitted 4 months ago:

http://gcc.gnu.org/ml/gcc-patches/2008-08/msg01143.html
Danny


-- 

dannysmith at users dot sourceforge dot net changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2008-12-19 23:01:36
   date||


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38580



[Bug bootstrap/38580] Bootstrap broken on mingw32

2008-12-19 Thread fxcoudert at gcc dot gnu dot org


--- Comment #2 from fxcoudert at gcc dot gnu dot org  2008-12-19 23:11 
---
I'm adding Kai to the CC list. As he's now maintainer, he may want to help
here.


-- 

fxcoudert at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||kai dot tietz at onevision
   ||dot de


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38580



[Bug rtl-optimization/38495] [4.4 Regression] ACATS tests cxa4004 cxa4005 cxa4026 fail

2008-12-19 Thread vmakarov at redhat dot com


--- Comment #5 from vmakarov at redhat dot com  2008-12-19 23:30 ---
Eric, thanks for analysis.  It saved a lot of my time.

The problem was in wrong final live ranges of a379r452 therefore the conflicts
was not recognized and the pseudos were coalesced.  One pseudo is a temporary
pseudo used for breaking register shuffle cycle (it is actually a rare case) on
a CFG edge (loop exit).  And another pseudo is destination of removed store
insn on the loop exit.  In normal case it should not conflict with the
temporary pseudo because the temporary lives only on the edge and another
pseudo lives only after the edge destination.  But it should conflict with the
temporary in this case because we removed the store and another pseudo lives
through all loop.  The suspicious code looks like 

  EXECUTE_IF_SET_IN_BITMAP (live_through, FIRST_PSEUDO_REGISTER, regno, bi)
{
  a = node-regno_allocno_map[regno];
  if (ALLOCNO_MEM_OPTIMIZED_DEST (a) == NULL)
{
  ALLOCNO_LIVE_RANGES (a)
= ira_create_allocno_live_range (a, start, ira_max_point - 1,
 ALLOCNO_LIVE_RANGES (a));
  if (internal_flag_ira_verbose  2  ira_dump_file != NULL)
fprintf
  (ira_dump_file,
   Adding range [%d..%d] to live through allocno a%dr%d\n,
   start, ira_max_point - 1, ALLOCNO_NUM (a),
   REGNO (ALLOCNO_REG (a)));
}

I'll send a patch solving the problem after its testing.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38495



[Bug middle-end/38500] [graphite] ICE : in verify_loop_structure, at cfgloop.c:1569

2008-12-19 Thread howarth at nitro dot med dot uc dot edu


--- Comment #7 from howarth at nitro dot med dot uc dot edu  2008-12-19 
23:32 ---
The approved patch doesn't seem to be checked into gcc trunk yet.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38500



[Bug fortran/38538] ICE with elemental character function

2008-12-19 Thread pault at gcc dot gnu dot org


--- Comment #12 from pault at gcc dot gnu dot org  2008-12-19 23:59 ---
Created an attachment (id=16949)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=16949action=view)
a not quite patch for the PR

I'm down to one regression now - the last test of char_length_7.f90.

Pah! That was tough in the first place

Cheers

Paul


-- 

pault at gcc dot gnu dot org changed:

   What|Removed |Added

  Attachment #16928|0   |1
is obsolete||
  Attachment #16929|0   |1
is obsolete||


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38538



[Bug target/9703] [arm] Accessing data through constant pool more times could be solved in less instructions

2008-12-19 Thread pinskia at gcc dot gnu dot org


--- Comment #10 from pinskia at gcc dot gnu dot org  2008-12-20 00:26 
---
This might have been implemented for 4.4 already.  Section anchors now have
been enabled for ARM.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=9703



[Bug middle-end/38510] Matrix.c from pymol 1.1r2 fails to compile with -O2 -fgraphite

2008-12-19 Thread howarth at nitro dot med dot uc dot edu


--- Comment #5 from howarth at nitro dot med dot uc dot edu  2008-12-20 
03:18 ---
I can confirm that current (r142846)  gcc trunk, with the changes from r142728,
r142722 and proposed patch in Comment 4 applied, builds pymol 1.1r2 completely
under either -O3 or -O2 and -fgraphite-identity -funroll-loops
-fomit-frame-pointer -ffast-math. The resulting pymol runs fine.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38510



[Bug middle-end/38510] Matrix.c from pymol 1.1r2 fails to compile with -O2 -fgraphite

2008-12-19 Thread spop at gcc dot gnu dot org


--- Comment #6 from spop at gcc dot gnu dot org  2008-12-20 07:43 ---
Subject: Re:  Matrix.c from pymol 1.1r2 fails to compile with -O2 -fgraphite

 --- Comment #4 from hjagasia at gcc dot gnu dot org  2008-12-19 18:20 
 ---
 Created an attachment (id=16946)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=16946action=view)
  -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=16946action=view)
 Fixed changes suggested by Sebastian Pop.


Why did you introduced all these calls of recompute_all_dominators
before the graphite_verify functions?  Are all these calls needed?
I don't think so.  For instance, here:

+  recompute_all_dominators ();
   graphite_verify ();
   cleanup_tree_cfg ();
   recompute_all_dominators ();

recompute_all_dominators is called twice with just cleanup_tree_cfg in
between.  I do not like the recompute_all_dominators calls: in the
long run we should have all this information correctly updated during
code generation, and not rely at all on recompute_all_dominators.

If you can minimize the number of calls to recompute_all_dominators it
would be nice, otherwise the patch is ok.

Thanks,
Sebastian


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38510