[Bug c/48510] New: Does not vectorize loops involving casts from floating point to integer types

2011-04-08 Thread jeremysalwen at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48510

   Summary: Does not vectorize loops involving casts from floating
point to integer types
   Product: gcc
   Version: 4.5.2
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: jeremysal...@gmail.com


The following code vectorizes with the command line options:

-march=native -mtune=native -ftree-vectorizer-verbose=12 -O3 -std=c99
-ffast-math -funsafe-math-optimizations -lm  main.c

#include 
#include 
int main() {
  double g[1000];
  for(int i=0; i<1000; i++) {
g[i]=2*(g[i]);
  }
  for(int i=0; i<1000; i++) {
   printf("%f\n",g[i]);
  }
}

but the following code does not with the same options:


#include 
#include 
int main() {
  double g[1000];
  for(int i=0; i<1000; i++) {
g[i]=2*((unsigned long)g[i]);
  }
  for(int i=0; i<1000; i++) {
   printf("%f\n",g[i]);
  }
}

If I understand correctly, there are SSE instructions for casting doubles to
long integers on the platform I'm on (Intel Atom) which GCC could use.  (or
perhaps there could be a benefit to vectorizing other parts of the loop, even
if the cast does not utilize SIMD instructions.)


[Bug target/46072] AIX linker chokes on debug info for uninitialized static variables

2011-04-08 Thread michael.haubenwallner at salomon dot at
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46072

--- Comment #21 from Michael Haubenwallner  2011-04-08 07:53:44 UTC ---
(In reply to comment #20)
> mean? Does this mean IBM consider it a GCC bug? I don't find the explanations
> on the page too useful. 

The notification for this APAR also contained this text:
"The record has been closed. A programming error was found. The problem will be
corrected. A fix is pending."


[Bug libfortran/48511] New: Implement Steele-White algorithm for numeric output

2011-04-08 Thread thenlich at users dot sourceforge.net
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48511

   Summary: Implement Steele-White algorithm for numeric output
   Product: gcc
   Version: unknown
Status: UNCONFIRMED
  Severity: enhancement
  Priority: P3
 Component: libfortran
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: thenl...@users.sourceforge.net


Created attachment 23923
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=23923
Demonstration of correct rounding a la Steele-White

In their paper "How to Print Floating-Point Numbers Accurately" [1], Steele &
White describe an algorithm which for a internal binary floating-point number
outputs the shortest external decimal representation of that number which
converts back to the original number.

This should be implemented in libfortran, possibly as a separate I/O rounding
mode.

It would eliminate the problem of getting "odd" numbers, like 0.1776...
when the value 0.1977 is much shorter and represents the same exact binary
value.

Basically, their algorithm does the same as the attached program demonstrates,
only more efficiently.

[1] http://grouper.ieee.org/groups/754/email/pdfq3pavhBfih.pdf


[Bug java/48512] New: [4.6] gcj spec files references incorrectly crtmt.o on i686-w64-mingw32 target

2011-04-08 Thread blakawk at gentooist dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48512

   Summary: [4.6] gcj spec files references incorrectly crtmt.o on
i686-w64-mingw32 target
   Product: gcc
   Version: 4.6.1
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: java
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: blak...@gentooist.com


When cross compiling GCJ with host platform i386-redhat-linux and target
platform i686-w64-mingw32, the GCJ spec file is generated adding crtmt.o to
startfile. The path to this file is not a full path, so it is looked up in the
current directory, resulting in No such file or directory error when compiling
a .exe with GCJ.

Versions used are the following:
# i686-w64-mingw32-gcj -v
Using built-in specs.
Reading specs from
/home/users_csee/parizet/mingw32/root/bin/../lib/gcc/i686-w64-mingw32/4.6.1/../../../../i686-w64-mingw32/lib/libgcj.spec
rename spec startfile to startfileorig
rename spec lib to liborig
COLLECT_GCC=i686-w64-mingw32-gcj
COLLECT_LTO_WRAPPER=/home/users_csee/parizet/mingw32/root/bin/../libexec/gcc/i686-w64-mingw32/4.6.1/lto-wrapper
Target: i686-w64-mingw32
Configured with: ../../sources/gcc-4.6-20110401/configure
--prefix=/users_csee/parizet/mingw32/root
--with-sysroot=/users_csee/parizet/mingw32/root --disable-multilib
--with-mpfr=/users_csee/parizet/mingw32/root
--with-mpc=/users_csee/parizet/mingw32/root
--with-gmp=/users_csee/parizet/mingw32/root
--with-cloog=/users_csee/parizet/mingw32/root
--with-ppl=/users_csee/parizet/mingw32/root --enable-cloog-backend=isl
--disable-shared --enable-threads=win32 --disable-tls --disable-__cxa_atexit
--enable-languages=c,c++,java --enable-libssp --disable-win32-registry
--disable-nls --disable-lto --enable-libgcj --enable-sjlj-exceptions
--target=i686-w64-mingw32 --build=i386-redhat-linux
Thread model: win32
gcc version 4.6.1 20110401 (prerelease) (GCC)

and mingw32 revision 4105 from the trunk.

When removing the crtmt.o from startfile in libgcj.spec file, it works fine.


[Bug middle-end/48377] [4.6/4.7 regression] miscompilation at -O3

2011-04-08 Thread rguenther at suse dot de
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48377

--- Comment #35 from rguenther at suse dot de  
2011-04-08 08:30:26 UTC ---
On Thu, 7 Apr 2011, jakub at gcc dot gnu.org wrote:

> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48377
> 
> --- Comment #34 from Jakub Jelinek  2011-04-07 
> 16:36:04 UTC ---
> While for 4.7 we can certainly do bigger changes, for 4.6 I think a safe fix
> would be:
> 
> --- gcc/tree-vect-data-refs.c2011-03-31 08:51:03.0 +0200
> +++ gcc/tree-vect-data-refs.c2011-04-07 18:32:37.379420938 +0200
> @@ -1110,6 +1110,9 @@ vector_alignment_reachable_p (struct dat
>if (ba)
>  is_packed = contains_packed_reference (ba);
> 
> +  if (compare_tree_int (TYPE_SIZE (type), TYPE_ALIGN (type)) > 0)
> +is_packed = true;
> +
>if (vect_print_dump_info (REPORT_DETAILS))
>  fprintf (vect_dump, "Unknown misalignment, is_packed = %d",is_packed);
>if (targetm.vectorize.vector_alignment_reachable (type, is_packed))
> 
> For scalars GCC ignores packed attribute, so aligned(1) is the only way to
> express unaligned accesses.

Ok if it passes testing.


[Bug bootstrap/48513] New: [4.7 Regression] Revision 172166 breaks bootstrap on x86_64-apple-darwin10

2011-04-08 Thread dominiq at lps dot ens.fr
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48513

   Summary: [4.7 Regression] Revision 172166 breaks bootstrap on
x86_64-apple-darwin10
   Product: gcc
   Version: 4.7.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: bootstrap
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: domi...@lps.ens.fr
CC: ae...@gcc.gnu.org
  Host: x86_64-apple-darwin10
Target: x86_64-apple-darwin10
 Build: x86_64-apple-darwin10


Revision 172166 breaks bootstrap on x86_64-apple-darwin10:

...
gcc   -g -fkeep-inline-functions -DIN_GCC   -W -Wall -Wwrite-strings
-Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wmissing-format-attribute
-pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings
-Wold-style-definition -Wc++-compat -fno-common  -DHAVE_CONFIG_H
-DGENERATOR_FILE  -o build/genenums \
build/genenums.o build/read-md.o build/errors.o
../build-x86_64-apple-darwin10.7.0/libiberty/libiberty.a
gawk -f ../../work/gcc/opt-functions.awk -f ../../work/gcc/optc-gen.awk \
   -v header_name="config.h system.h coretypes.h tm.h" < optionlist >
options.c
build/genhooks -d \
../../work/gcc/doc/tm.texi.in > tmp-tm.texi
case `echo X|tr X '\101'` in \
  A) tr -d '\015' < tmp-tm.texi > tmp2-tm.texi ;; \
  *) tr -d '\r' < tmp-tm.texi > tmp2-tm.texi ;; \
esac
mv tmp2-tm.texi tmp-tm.texi
/bin/sh ../../work/gcc/../move-if-change tmp-tm.texi tm.texi

Verify that you have permission to grant a GFDL license for all
new text in tm.texi, then copy it to ../../work/gcc/doc/tm.texi.
make[3]: *** [s-tm-texi] Error 1
make[3]: *** Waiting for unfinished jobs
rm gcov.pod gfdl.pod cpp.pod fsf-funding.pod gcc.pod
make[2]: *** [all-stage1-gcc] Error 2
make[1]: *** [stage1-bubble] Error 2
make: *** [all] Error 2


[Bug testsuite/48506] ssa-ccp-17.c = g.i fails

2011-04-08 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48506

Richard Guenther  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2011.04.08 08:44:22
 Ever Confirmed|0   |1

--- Comment #4 from Richard Guenther  2011-04-08 
08:44:22 UTC ---
Hmm, it _should_ be able to fold g.i to 0.  It doesn't because
targetm.binds_local_p () returns false on g because its DECL_COMMON.
Maybe not so on darwin?

6779  /* Uninitialized COMMON variable may be unified with symbols
6780 resolved from other modules.  */
6781  else if (DECL_COMMON (exp)
6782   && !resolved_locally
6783   && (DECL_INITIAL (exp) == NULL
6784   || DECL_INITIAL (exp) == error_mark_node))
6785local_p = false;

thus -fno-common makes the testcase fail for me.

I'd say change it to have an explicit initializer,

const struct Foo g = { 0 };

and scan for "return 0;" instead.


[Bug boehm-gc/48514] New: [4.6] boehm gc incorrectly compile using __declspec(dllexport) on i686-w64-mingw32 target

2011-04-08 Thread blakawk at gentooist dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48514

   Summary: [4.6] boehm gc incorrectly compile using
__declspec(dllexport) on i686-w64-mingw32 target
   Product: gcc
   Version: 4.6.1
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: boehm-gc
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: blak...@gentooist.com


When trying to build a cross compiler for i686-w64-mingw32 target, the boehm-gc
library is built with __declspec(dllexport) while --disable-shared was
specified on the command line, which leads to programs linked with resulting
GCJ failing to link with undefined references to ___imp_GC functions.

The build should instead define GC_NOT_DLL when building the GC static library
to avoid theses link failures.

The error encountered was:
# i686-w64-mingw32-gcj -v -o HelloWorldJava.exe HelloWorld.java
--main=HelloWorld
Using built-in specs.
Reading specs from
/home/users_csee/parizet/test/root/bin/../lib/gcc/i686-w64-mingw32/4.6.1/../../../../i686-w64-mingw32/lib/libgcj.spec
rename spec startfile to startfileorig
rename spec lib to liborig
COLLECT_GCC=i686-w64-mingw32-gcj
COLLECT_LTO_WRAPPER=/home/users_csee/parizet/test/root/bin/../libexec/gcc/i686-w64-mingw32/4.6.1/lto-wrapper
Target: i686-w64-mingw32
Configured with: ../../sources/gcc-4.6-20110401/configure
--prefix=/users_csee/parizet/test/root
--with-sysroot=/users_csee/parizet/test/root --disable-multilib
--with-mpfr=/users_csee/parizet/test/root
--with-mpc=/users_csee/parizet/test/root
--with-gmp=/users_csee/parizet/test/root --disable-shared
--enable-threads=win32 --disable-tls --disable-__cxa_atexit
--enable-languages=c,c++,java --enable-libssp --disable-win32-registry
--disable-nls --disable-lto --enable-libgcj --enable-sjlj-exceptions
--target=i686-w64-mingw32 --build=i386-redhat-linux
Thread model: win32
gcc version 4.6.1 20110401 (prerelease) (GCC)
COLLECT_GCC_OPTIONS='-fsaw-java-file' '-v' '-o' 'HelloWorldJava.exe'
'-fbootclasspath=./:/home/users_csee/parizet/test/root/bin/../lib/gcc/../../share/java/libgcj-4.6.1.jar'
'-g1' '-mtune=generic' '-march=pentiumpro'

/home/users_csee/parizet/test/root/bin/../libexec/gcc/i686-w64-mingw32/4.6.1/ecj1
HelloWorld.java -g1
-fbootclasspath=./:/home/users_csee/parizet/test/root/bin/../lib/gcc/../../share/java/libgcj-4.6.1.jar
-g1 -fsource=1.5 -ftarget=1.5 -fzip-dependency /tmp/cckS7y6u.zip -fzip-target
/tmp/ccmUv52P.jar
COLLECT_GCC_OPTIONS='-fsaw-java-file' '-v' '-o' 'HelloWorldJava.exe'
'-fbootclasspath=./:/home/users_csee/parizet/test/root/bin/../lib/gcc/../../share/java/libgcj-4.6.1.jar'
'-g1' '-mtune=generic' '-march=pentiumpro'

/home/users_csee/parizet/test/root/bin/../libexec/gcc/i686-w64-mingw32/4.6.1/jc1
/tmp/ccmUv52P.jar -fsource-filename=HelloWorld.java -fhash-synchronization
-fuse-divide-subroutine -fcheck-references -fuse-boehm-gc -fnon-call-exceptions
-fkeep-inline-functions -quiet -dumpbase HelloWorld.java -mtune=generic
-march=pentiumpro -auxbase HelloWorld -g1 -version -fsaw-java-file
-fbootclasspath=./:/home/users_csee/parizet/test/root/bin/../lib/gcc/../../share/java/libgcj-4.6.1.jar
-faux-classpath /tmp/cckS7y6u.zip -o /tmp/ccJNzi4m.s
GNU Java (GCC) version 4.6.1 20110401 (prerelease) (i686-w64-mingw32)
compiled by GNU C version 4.1.2 20080704 (Red Hat 4.1.2-48), GMP
version 5.0.1, MPFR version 3.0.1, MPC version 0.9
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
GNU Java (GCC) version 4.6.1 20110401 (prerelease) (i686-w64-mingw32)
compiled by GNU C version 4.1.2 20080704 (Red Hat 4.1.2-48), GMP
version 5.0.1, MPFR version 3.0.1, MPC version 0.9
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
Class path starts here:
/tmp/cckS7y6u.zip/ (zip)
./ (system)
   
/home/users_csee/parizet/test/root/bin/../lib/gcc/../../share/java/libgcj-4.6.1.jar/
(system) (zip)
COLLECT_GCC_OPTIONS='-fsaw-java-file' '-v' '-o' 'HelloWorldJava.exe'
'-fbootclasspath=./:/home/users_csee/parizet/test/root/bin/../lib/gcc/../../share/java/libgcj-4.6.1.jar'
'-g1' '-mtune=generic' '-march=pentiumpro'

/home/users_csee/parizet/test/root/bin/../lib/gcc/i686-w64-mingw32/4.6.1/../../../../i686-w64-mingw32/bin/as
-o /tmp/ccqpxrJW.o /tmp/ccJNzi4m.s
COLLECT_GCC_OPTIONS='-fsaw-java-file' '-v' '-o' 'HelloWorldJava.exe'
'-fbootclasspath=./:/home/users_csee/parizet/test/root/bin/../lib/gcc/../../share/java/libgcj-4.6.1.jar'
'-g1' '-mtune=generic' '-march=pentiumpro'

/home/users_csee/parizet/test/root/bin/../libexec/gcc/i686-w64-mingw32/4.6.1/jvgenmain
HelloWorldmain /tmp/ccBkLRxw.i
COLLECT_GCC_OPTIONS= '-v' '-o' 'HelloWorldJava.exe'  '-g1' '-mtune=generic'
'-march=pentiumpro'

/home/users_csee/parizet/test/root/bin/../libexec/gcc/i686-w64-mingw32/4.6.1/cc1
/tmp/ccBkLRxw.i -quiet -dumpbase HelloWorldmain.c -mtune=generic
-march=pentiumpro -g1 -version -fdollars-in-identifiers -o /tmp/ccJNzi4m.s
GNU C (GCC) version 4.6.1 20110401 (prerelea

[Bug boehm-gc/48514] [4.6] boehm gc incorrectly compile using __declspec(dllexport) on i686-w64-mingw32 target

2011-04-08 Thread blakawk at gentooist dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48514

--- Comment #1 from blakawk at gentooist dot com 2011-04-08 08:54:22 UTC ---
Created attachment 23924
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=23924
Proposed patch

This "ugly" patch fixed the problem by defining GC_NOT_DLL for boehm gc build.


[Bug c++/48450] [C++0x][SFINAE] Hard errors with static_cast expressions

2011-04-08 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48450

--- Comment #5 from Jonathan Wakely  2011-04-08 
09:15:37 UTC ---
(In reply to comment #1)
> Author: jason
> Date: Thu Apr  7 21:46:48 2011
> New Revision: 172138
> 
> URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=172138
> Log:
> PR c++/48450
> * c-family/c-common.c (c_common_truthvalue_conversion): Don't ignore
> conversion from C++0x scoped enum.
> * cp/cvt.c (ocp_convert): Handle converting scoped enum to bool.

Does this fix PR 48107 ?

(I should have CC'd you on that, Jason, sorry)


[Bug c++/48106] [C++0x] ICE with scoped enum with fixed underlying type

2011-04-08 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48106

Jonathan Wakely  changed:

   What|Removed |Added

 CC||jason at gcc dot gnu.org

--- Comment #1 from Jonathan Wakely  2011-04-08 
09:16:10 UTC ---
CC Jason


[Bug java/48515] New: [4.6] GCJ fails to compile jni.cc because of reflection errors on i686-w64-mingw32 target

2011-04-08 Thread blakawk at gentooist dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48515

   Summary: [4.6] GCJ fails to compile jni.cc because of
reflection errors on i686-w64-mingw32 target
   Product: gcc
   Version: 4.6.1
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: java
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: blak...@gentooist.com


When building cross gcj compiler for i686-w64-mingw32 target, libjava fails to
compile with following errors:
../../../../sources/gcc-4.6-20110401/libjava/jni.cc: In function
'java::lang::Object* _Jv_JNI_ToReflectedField(JNIEnv*, jclass, jfieldID,
jboolean)':
../../../../sources/gcc-4.6-20110401/libjava/jni.cc:1663:14: error: new
declaration 'java::lang::Object* _Jv_JNI_ToReflectedField(JNIEnv*, jclass,
jfieldID, jboolean)'
../../../../sources/gcc-4.6-20110401/libjava/java/lang/reflect/Field.h:93:19:
error: ambiguates old declaration 'java::lang::Object*
_Jv_JNI_ToReflectedField(_Jv_JNIEnv*, jclass, jfieldID, jboolean)'
../../../../sources/gcc-4.6-20110401/libjava/java/lang/reflect/Field.h:83:105:
error: 'java::lang::Class* java::lang::reflect::Field::declaringClass' is
private
../../../../sources/gcc-4.6-20110401/libjava/jni.cc:1669:14: error: within this
context
../../../../sources/gcc-4.6-20110401/libjava/java/lang/reflect/Field.h:85:8:
error: 'jint java::lang::reflect::Field::offset' is private
../../../../sources/gcc-4.6-20110401/libjava/jni.cc:1670:14: error: within this
context
../../../../sources/gcc-4.6-20110401/libjava/java/lang/Class.h:675:14: error:
'_Jv_Field* java::lang::Class::fields' is private
../../../../sources/gcc-4.6-20110401/libjava/jni.cc:1670:55: error: within this
context
../../../../sources/gcc-4.6-20110401/libjava/java/lang/reflect/Field.h:84:26:
error: 'java::lang::String* java::lang::reflect::Field::name' is private
../../../../sources/gcc-4.6-20110401/libjava/jni.cc:1671:14: error: within this
context
../../../../sources/gcc-4.6-20110401/libjava/jni.cc: In function
'java::lang::Object* _Jv_JNI_ToReflectedMethod(JNIEnv*, jclass, jmethodID,
jboolean)':
../../../../sources/gcc-4.6-20110401/libjava/jni.cc:1694:15: error: new
declaration 'java::lang::Object* _Jv_JNI_ToReflectedMethod(JNIEnv*, jclass,
jmethodID, jboolean)'
../../../../sources/gcc-4.6-20110401/libjava/java/lang/reflect/Method.h:78:19:
error: ambiguates old declaration 'java::lang::Object*
_Jv_JNI_ToReflectedMethod(_Jv_JNIEnv*, jclass, jmethodID, jboolean)'
../../../../sources/gcc-4.6-20110401/libjava/java/lang/reflect/Constructor.h:19:3:
error: 'java::lang::reflect::Constructor::Constructor()' is private
../../../../sources/gcc-4.6-20110401/libjava/jni.cc:1706:41: error: within this
context
../../../../sources/gcc-4.6-20110401/libjava/java/lang/reflect/Constructor.h:56:8:
error: 'jint java::lang::reflect::Constructor::offset' is private
../../../../sources/gcc-4.6-20110401/libjava/jni.cc:1707:10: error: within this
context
../../../../sources/gcc-4.6-20110401/libjava/java/lang/Class.h:666:17: error:
'_Jv_Method* java::lang::Classmethods' is private
../../../../sources/gcc-4.6-20110401/libjava/jni.cc:1707:50: error: within this
context
../../../../sources/gcc-4.6-20110401/libjava/java/lang/reflect/Constructor.h:53:105:
error: 'java::lang::Class* java::lang::reflect::Constructor::declaringClass' is
private
../../../../sources/gcc-4.6-20110401/libjava/jni.cc:1708:10: error: within this
context
../../../../sources/gcc-4.6-20110401/libjava/java/lang/reflect/Method.h:20:3:
error: 'java::lang::reflect::Method::Method()' is private
../../../../sources/gcc-4.6-20110401/libjava/jni.cc:1713:31: error: within this
context
../../../../sources/gcc-4.6-20110401/libjava/java/lang/reflect/Method.h:73:8:
error: 'jint java::lang::reflect::Method::offset' is private
../../../../sources/gcc-4.6-20110401/libjava/jni.cc:1714:10: error: within this
context
../../../../sources/gcc-4.6-20110401/libjava/java/lang/Class.h:666:17: error:
'_Jv_Method* java::lang::Classmethods' is private
../../../../sources/gcc-4.6-20110401/libjava/jni.cc:1714:50: error: within this
context
../../../../sources/gcc-4.6-20110401/libjava/java/lang/reflect/Method.h:64:105:
error: 'java::lang::Class* java::lang::reflect::Method::declaringClass' is
private
../../../../sources/gcc-4.6-20110401/libjava/jni.cc:1715:10: error: within this
context
../../../../sources/gcc-4.6-20110401/libjava/jni.cc: At global scope:
../../../../sources/gcc-4.6-20110401/libjava/jni.cc:2891:1: error: invalid
conversion from 'java::lang::Object* (*)(_Jv_JNIEnv*, jclass, jmethodID,
jboolean)' to 'java::lang::Object* (*)(JNIEnv*, jclass, jmethodID, jboolean)'
[-fpermissive]
../../../../sources/gcc-4.6-20110401/libjava/jni.cc:2891:1: error: invalid
conversion from 'java::lang::Object* (*)(_Jv_JNIEnv*, jclass, jfieldID,
jboolean)' to 'java::lang::Object* (*)(JNIEnv*, jclass, jfieldID, jboolean)'
[-fpermissive]

This is because in jni.cc, _Jv_JNI_ToReflectedField and
_Jv_JN

[Bug libstdc++/48507] Functor Declared In Templated Method Not Recognized By std::sort

2011-04-08 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48507

--- Comment #3 from Jonathan Wakely  2011-04-08 
09:20:12 UTC ---
Yep. The MSVC compiler accepts this as an extension enabled by default, but G++
only accepts it in C++0x mode


[Bug java/48515] [4.6] GCJ fails to compile jni.cc because of reflection errors on i686-w64-mingw32 target

2011-04-08 Thread blakawk at gentooist dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48515

--- Comment #1 from blakawk at gentooist dot com 2011-04-08 09:20:51 UTC ---
Created attachment 23925
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=23925
gcc-4.6.1-20110401-fix-libjava-reflect-build-error

This patch fixes the problem by removing JNICALL from the jni.h declarations of
_Jv_JNI_ToReflectedMethod and _Jv_JNI_ToReflectedField.


[Bug objc/48376] gcc does not create an ivar for properties

2011-04-08 Thread nicola at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48376

Nicola Pero  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2011.04.08 09:28:42
 CC||nicola at gcc dot gnu.org
Version|4.6.0   |4.7.0
 Ever Confirmed|0   |1

--- Comment #1 from Nicola Pero  2011-04-08 09:28:42 
UTC ---
Thanks for reporting this.

You are right that generating instance variables from properties is generally
missing; it requires non-fragile instance variables, which we will only have
(at least for the GNU runtime) in 4.7.

By the way, I believe the instance variable should actually be generated by the 
@synthesize - so, the example you want is probably

@interface Foo : Object
@property (retain) id bar;
@end

@implementation Foo
@synthesize bar;
@end

This also explains why non-fragile ivars are needed for this; the @interface
will be in headers, and visible to subclasses, while the @synthesize (which
actually adds the instance variable) will be in the implementation .m files
and won't be visible to subclasses.  So, subclasses will no longer see the
full list of instance variables of the superclass; this only works if you have
non-fragile instance variables, where the offset is calculated at runtime;
if you access instance variables directly, by calculating the offset at
compile time, you need the full list of instance variables to calculate the
offset.

So, before we can implement this, we have to implement non-fragile instance
variables. ;-)

Btw, the @property declaration itself wouldn't generate the instance variable,
because you can still have a @property with no corresponding instance variable,
for example if you declare your own setter/getter that may store the property
value somewhere else (or maybe have a constant property ?).  You wouldn't
want an instance variable automatically generated in that case.

Thanks


[Bug bootstrap/48513] [4.7 Regression] Revision 172166 breaks bootstrap

2011-04-08 Thread ebotcazou at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48513

Eric Botcazou  changed:

   What|Removed |Added

 Target|x86_64-apple-darwin10   |
 Status|UNCONFIRMED |NEW
   Last reconfirmed||2011.04.08 09:57:13
 CC||ebotcazou at gcc dot
   ||gnu.org
   Host|x86_64-apple-darwin10   |
 Ever Confirmed|0   |1
Summary|[4.7 Regression] Revision   |[4.7 Regression] Revision
   |172166 breaks bootstrap on  |172166 breaks bootstrap
   |x86_64-apple-darwin10   |
   Target Milestone|--- |4.7.0
   Severity|normal  |blocker
  Build|x86_64-apple-darwin10   |

--- Comment #1 from Eric Botcazou  2011-04-08 
09:57:13 UTC ---
Everywhere.


[Bug target/48510] Does not vectorize loops involving casts from floating point to unsigned integer types

2011-04-08 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48510

Richard Guenther  changed:

   What|Removed |Added

 Target||x86_64-*-*, i?86-*-*
 Status|UNCONFIRMED |NEW
   Keywords||missed-optimization
   Last reconfirmed||2011.04.08 10:02:15
  Component|c   |target
 Ever Confirmed|0   |1
Summary|Does not vectorize loops|Does not vectorize loops
   |involving casts from|involving casts from
   |floating point to integer   |floating point to unsigned
   |types   |integer types
   Severity|normal  |enhancement

--- Comment #1 from Richard Guenther  2011-04-08 
10:02:15 UTC ---
There are no conversions to unsigned.  For scalar code we work around this
by biasing the input/output, but there is no vectorized version for this
available (yet).


[Bug c/48509] Fails to Vectorize loop involving doubles which was vectorized in 4.5

2011-04-08 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48509

Richard Guenther  changed:

   What|Removed |Added

 Status|UNCONFIRMED |WAITING
   Last reconfirmed||2011.04.08 10:05:33
 Ever Confirmed|0   |1

--- Comment #1 from Richard Guenther  2011-04-08 
10:05:33 UTC ---
Works for me with just -O3 -ffast-math (on x86_64-linux).  If you run on
an Atom then -mtune=native will disable vectorization of doubles because
it's slow.  So, please provide more details.


[Bug lto/48508] ICE in output_die, at dwarf2out.c:11409

2011-04-08 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48508

--- Comment #2 from Richard Guenther  2011-04-08 
10:09:15 UTC ---
I think I've seen this before ...


[Bug tree-optimization/48499] [4.7 regression] ICE compiling 64-bit gcc.dg/vect/{slp-21.c, no-vfa-pr29145.c} on SPARC

2011-04-08 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48499

Richard Guenther  changed:

   What|Removed |Added

   Target Milestone|--- |4.7.0


[Bug bootstrap/48513] [4.7 Regression] Revision 172166 breaks bootstrap

2011-04-08 Thread dominiq at lps dot ens.fr
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48513

--- Comment #2 from Dominique d'Humieres  2011-04-08 
10:17:44 UTC ---
> Everywhere.

In order to not reproduce the mess of the last week-end, would it be possible
to freeze new commits until this pr is fixed or the revision reverted?


[Bug bootstrap/48513] [4.7 Regression] Revision 172166 breaks bootstrap

2011-04-08 Thread shenders at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48513

Stuart Henderson  changed:

   What|Removed |Added

 CC||shenders at gcc dot gnu.org

--- Comment #3 from Stuart Henderson  2011-04-08 
11:15:21 UTC ---
(In reply to comment #2)
> > Everywhere.
> 
> In order to not reproduce the mess of the last week-end, would it be possible
> to freeze new commits until this pr is fixed or the revision reverted?

The problem is a space at the end of line 6802 of tm.texi.  it gets eaten and
then the comparison fails.


[Bug bootstrap/48513] [4.7 Regression] Revision 172166 breaks bootstrap

2011-04-08 Thread shenders at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48513

--- Comment #4 from Stuart Henderson  2011-04-08 
11:19:45 UTC ---
Created attachment 23926
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=23926
fix.

A fix, FWIW.


[Bug rtl-optimization/48496] [4.7 Regression] 'asm' operand requires impossible reload in libffi/src/ia64/ffi.c

2011-04-08 Thread amonakov at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48496

Alexander Monakov  changed:

   What|Removed |Added

 CC||vmakarov at redhat dot com
  Known to work||4.6.0
  Known to fail||4.7.0

--- Comment #1 from Alexander Monakov  2011-04-08 
11:26:35 UTC ---
This error bisects to svn revision 171649 (big IRA cover classes patch).


[Bug c/48516] New: internal compiler error: in insert_value_copy_on_edge, at tree-outof-ssa.c:242

2011-04-08 Thread tommino at online dot de
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48516

   Summary: internal compiler error: in insert_value_copy_on_edge,
at tree-outof-ssa.c:242
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: tomm...@online.de


Created attachment 23927
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=23927
ci-file with function which crashes the linker

Internal error appears with -flto option only

In file included from :11:0:
library\src\stm32f10x_adc.c: In function
'ADC_GetSoftwareStartInjectedConvCmdStatus':
library\src\stm32f10x_adc.c:930:12: internal compiler error: in
insert_value_copy_on_edge, at tree-outof-ssa.c:242
Please submit a full bug report,
with preprocessed source if appropriate.


cmd line:

arm-none-eabi-g++ *.o -Wl,-cref,-u,Reset_Handler -Wl,-Map=map.map
-Wl,--gc-sections -mthumb -mcpu=cortex-m3 -ffunction-sections -fdata-sections
-Tstm32_flash.ld -static -flto


[Bug bootstrap/48513] [4.7 Regression] Revision 172166 breaks bootstrap

2011-04-08 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48513

--- Comment #5 from Richard Guenther  2011-04-08 
11:28:28 UTC ---
Author: rguenth
Date: Fri Apr  8 11:28:23 2011
New Revision: 172171

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=172171
Log:
2011-04-08  Richard Guenther  

PR bootstrap/48513
* doc/tm.texi: Re-generate.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/doc/tm.texi


[Bug bootstrap/48513] [4.7 Regression] Revision 172166 breaks bootstrap

2011-04-08 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48513

Richard Guenther  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED

--- Comment #6 from Richard Guenther  2011-04-08 
11:29:00 UTC ---
Should be fixed now.


[Bug rtl-optimization/48389] [4.5/4.6/4.7 Regression] ICE: in make_edges, at cfgbuild.c:319 with -mtune=pentiumpro

2011-04-08 Thread matz at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48389

--- Comment #10 from Michael Matz  2011-04-08 11:37:59 
UTC ---
I was asking what specifically doesn't work.  I.e. why the changes to cfgbuild
were necessary.  I'm not so dense to not understand that it doesn't work.


[Bug tree-optimization/48377] [4.6/4.7 regression] miscompilation at -O3

2011-04-08 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48377

--- Comment #36 from Jakub Jelinek  2011-04-08 
11:38:23 UTC ---
Author: jakub
Date: Fri Apr  8 11:38:19 2011
New Revision: 172172

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=172172
Log:
PR tree-optimization/48377
* tree-vect-data-refs.c (vector_alignment_reachable_p): Set
is_packed to true even for types with smaller TYPE_ALIGN than
TYPE_SIZE.

* gcc.dg/vect/pr48377.c: New test.

Added:
trunk/gcc/testsuite/gcc.dg/vect/pr48377.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/testsuite/ChangeLog
trunk/gcc/tree-vect-data-refs.c


[Bug rtl-optimization/48442] ICE: in init_seqno, at sel-sched.c:6767 with -Os -fselective-scheduling2 --param max-sched-extend-regions-iters=100

2011-04-08 Thread amonakov at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48442

--- Comment #4 from Alexander Monakov  2011-04-08 
11:44:54 UTC ---
Author: amonakov
Date: Fri Apr  8 11:44:51 2011
New Revision: 172173

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=172173
Log:
PR rtl-optimization/48442
* sel-sched.c (init_seqno): Remove number_of_insns argument.  Update
all callers.  Adjust assert.

testsuite:
* gcc.dg/pr48442.c: New.


Added:
trunk/gcc/testsuite/gcc.dg/pr48442.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/sel-sched.c
trunk/gcc/testsuite/ChangeLog


[Bug tree-optimization/48377] [4.6/4.7 regression] miscompilation at -O3

2011-04-08 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48377

--- Comment #37 from Jakub Jelinek  2011-04-08 
11:45:31 UTC ---
Author: jakub
Date: Fri Apr  8 11:45:29 2011
New Revision: 172174

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=172174
Log:
PR tree-optimization/48377
* tree-vect-data-refs.c (vector_alignment_reachable_p): Set
is_packed to true even for types with smaller TYPE_ALIGN than
TYPE_SIZE.

* gcc.dg/vect/pr48377.c: New test.

Added:
branches/gcc-4_6-branch/gcc/testsuite/gcc.dg/vect/pr48377.c
Modified:
branches/gcc-4_6-branch/gcc/ChangeLog
branches/gcc-4_6-branch/gcc/testsuite/ChangeLog
branches/gcc-4_6-branch/gcc/tree-vect-data-refs.c


[Bug target/48273] [4.6/4.7 Regression] ICE: in create_copy_of_insn_rtx, at sel-sched-ir.c:5604 with -fsel-sched-pipelining -fselective-scheduling2 -march=core2

2011-04-08 Thread amonakov at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48273

--- Comment #8 from Alexander Monakov  2011-04-08 
11:49:47 UTC ---
Author: amonakov
Date: Fri Apr  8 11:49:43 2011
New Revision: 172175

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=172175
Log:
PR target/48273
* cfgloop.h (loop_has_exit_edges): New helper.
* sel-sched-ir.c (init_global_and_expr_for_insn): Make CALLs
non-clonable.
* sel-sched.c (sel_setup_region_sched_flags): Don't pipeline loops
that have no exit edges.

testsuite:
* g++.dg/opt/pr48273.C: New.


Added:
trunk/gcc/testsuite/g++.dg/opt/pr48273.C
Modified:
trunk/gcc/ChangeLog
trunk/gcc/cfgloop.h
trunk/gcc/sel-sched-ir.c
trunk/gcc/sel-sched.c
trunk/gcc/testsuite/ChangeLog


[Bug tree-optimization/48377] [4.6/4.7 regression] miscompilation at -O3

2011-04-08 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48377

Jakub Jelinek  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED

--- Comment #38 from Jakub Jelinek  2011-04-08 
11:52:06 UTC ---
Fixed (the testcase with aligned(1)).  The original is INVALID.


[Bug rtl-optimization/48302] ICE: SIGSEGV in reposition_prologue_and_epilogue_notes (function.c:5662) with -fcrossjumping -fselective-scheduling2

2011-04-08 Thread amonakov at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48302

--- Comment #2 from Alexander Monakov  2011-04-08 
11:53:28 UTC ---
Author: amonakov
Date: Fri Apr  8 11:53:25 2011
New Revision: 172176

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=172176
Log:
PR rtl-optimization/48302
* sel-sched-ir.h (sel_add_loop_preheaders): Update prototype.
* sel-sched-ir.c (sel_add_loop_preheaders): Add 'bbs' argument.  Use
it to record added preheader blocks.
* sel-sched.c (setup_current_loop_nest): Add 'bbs' argument.  Pass it
on to sel_add_loop_preheaders.
(sel_region_init): Move call to setup_current_loop_nest after
sel_init_bbs.

testsuite:
* g++.dg/opt/pr48302.C: New.


Added:
trunk/gcc/testsuite/g++.dg/opt/pr48302.C
Modified:
trunk/gcc/ChangeLog
trunk/gcc/sel-sched-ir.c
trunk/gcc/sel-sched-ir.h
trunk/gcc/sel-sched.c
trunk/gcc/testsuite/ChangeLog


[Bug rtl-optimization/48235] [4.5/4.6/4.7 Regression] ICE: SIGSEGV in has_dependence_p (sel-sched-ir.c:3263) with -fselective-scheduling2 and custom flags

2011-04-08 Thread amonakov at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48235

--- Comment #2 from Alexander Monakov  2011-04-08 
11:58:25 UTC ---
Author: amonakov
Date: Fri Apr  8 11:58:23 2011
New Revision: 172177

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=172177
Log:
PR rtl-optimization/48235
* sel-sched.c (code_motion_process_successors): Recompute the last
insn in basic block if control flow changed.
(code_motion_path_driver): Ditto.  Recompute the first insn as well.
Update condition for ilist_remove.

testsuite:
* gcc.dg/pr48235.c: New.


Added:
trunk/gcc/testsuite/gcc.dg/pr48235.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/sel-sched.c
trunk/gcc/testsuite/ChangeLog


[Bug ada/40986] [4.3/4.4 regression] Assert_Failure sinfo.adb:360, error detected at a-unccon.ads:23:27

2011-04-08 Thread markus.schoepflin at comsoft dot de
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40986

Markus Schöpflin  changed:

   What|Removed |Added

 CC||markus.schoepflin at
   ||comsoft dot de

--- Comment #3 from Markus Schöpflin  
2011-04-08 12:32:44 UTC ---
Problem still present in 4.6.0


[Bug rtl-optimization/48455] [4.7 Regression] Huge code size regression for all ARM configurations

2011-04-08 Thread rearnsha at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48455

--- Comment #5 from Richard Earnshaw  2011-04-08 
13:01:41 UTC ---
Created attachment 23928
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=23928
second testcase

Compile with -Os -mcpu=arm7tdmi -marm -fno-short-enums

Note, it looks like a common problem in compiling this file is that the
compiler has created a CSE of SP+const which now needs another call-saved reg,
rather than re-materializing the value on each use.


[Bug rtl-optimization/48389] [4.5/4.6/4.7 Regression] ICE: in make_edges, at cfgbuild.c:319 with -mtune=pentiumpro

2011-04-08 Thread matz at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48389

--- Comment #11 from Michael Matz  2011-04-08 13:05:18 
UTC ---
I know what's the problem.  Your patch can't work.  commit_one_edge_insertion
relies on edge splitting to work, which relies on being able to patch jump
insns, which relies on correctly set JUMP_LABEL on those insns, hence
rebuild_jump_labels (which in this case doesn't rebuild but really initializes
JUMP_LABEL for the first time) must be called before inserting insns.

So, no it can't even theoretically work, except if we rewrite how
jumps are patched to redirect edges.

I'd propose to change the interface to rebuild_jump_labels somewhat to
only conditionally run over forced_labels.  Then it can be called on the
insn chains that are to be inserted on edges before insertion.


[Bug lto/48467] [LTO/driver] Anomalous behavior of -save-temps

2011-04-08 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48467

--- Comment #2 from Richard Guenther  2011-04-08 
13:10:31 UTC ---
Author: rguenth
Date: Fri Apr  8 13:10:27 2011
New Revision: 172181

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=172181
Log:
2011-04-08  Richard Guenther  

PR lto/48467
* toplev.c (lang_dependent_init): Do not open asm_out_file
in WPA mode, nor perform debug machinery initialization.
(finalize): Do not unlink asm_out_file in WPA mode.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/toplev.c


[Bug lto/48467] [LTO/driver] Anomalous behavior of -save-temps

2011-04-08 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48467

Richard Guenther  changed:

   What|Removed |Added

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

--- Comment #3 from Richard Guenther  2011-04-08 
13:10:51 UTC ---
Fixed for 4.7.


[Bug rtl-optimization/48272] internal compiler error: in setup_insn_reg_pressure_info, at haifa-sched.c:1124

2011-04-08 Thread abel at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48272

--- Comment #4 from Andrey Belevantsev  2011-04-08 
13:25:35 UTC ---
Author: abel
Date: Fri Apr  8 13:25:29 2011
New Revision: 172183

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=172183
Log:
PR rtl-optimization/48272

* sched-deps.c (setup_insn_reg_pressure_info): Export and rename to
init_insn_reg_pressure_info.  Adjust a caller.
* sched-int.h (init_insn_reg_pressure_info): Declare.
* haifa-sched.c (haifa_init_insn): Call init_insn_reg_pressure_info
when sched-pressure is enabled.

* g++.dg/opt/pr48272.C: New.


Added:
trunk/gcc/testsuite/g++.dg/opt/pr48272.C
Modified:
trunk/gcc/ChangeLog
trunk/gcc/haifa-sched.c
trunk/gcc/sched-deps.c
trunk/gcc/sched-int.h
trunk/gcc/testsuite/ChangeLog


[Bug c/48517] New: ICE in build_unary_op, at c-typeck.c:3786

2011-04-08 Thread etienne_lorrain at yahoo dot fr
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48517

   Summary: ICE in build_unary_op, at c-typeck.c:3786
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: etienne_lorr...@yahoo.fr


Created attachment 23929
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=23929
The file which produces the ICE

If I type (locally generated libmpc and libgmp):
LD_PRELOAD=/home/etienne/projet/toolchain/lib/libmpc.so:/home/etienne/projet/toolchain/lib/libgmp.so
/home/etienne/projet/toolchain/bin/gcc  main.i
with the attached main.i, I get two warnings and:
main.c: In function ‘is_valid_chgmode_keycode’:
main.c:2575:3: internal compiler error: in build_unary_op, at c-typeck.c:3786
Please submit a full bug report,
with preprocessed source if appropriate.
See  for instructions.

I am not sure I have generated perfectly gcc-4.6.0 - first time I generate this
version,
but I used to be able to generate gcc-4.5.* and compile that file.

$
LD_PRELOAD=/home/etienne/projet/toolchain/lib/libmpc.so:/home/etienne/projet/toolchain/lib/libgmp.so
/home/etienne/projet/toolchain/bin/gcc -v
Using built-in specs.
COLLECT_GCC=/home/etienne/projet/toolchain/bin/gcc
COLLECT_LTO_WRAPPER=/home/etienne/projet/toolchain/libexec/gcc/i686-pc-linux-gnu/4.6.0/lto-wrapper
Target: i686-pc-linux-gnu
Configured with: ../configure --prefix=/home/etienne/projet/toolchain
--enable-languages=c --with-gmp=/home/etienne/projet/toolchain
--disable-multilib --disable-threads --enable-tls
Thread model: single
gcc version 4.6.0 (GCC)


[Bug rtl-optimization/48442] ICE: in init_seqno, at sel-sched.c:6767 with -Os -fselective-scheduling2 --param max-sched-extend-regions-iters=100

2011-04-08 Thread amonakov at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48442

Alexander Monakov  changed:

   What|Removed |Added

  Known to work||4.7.0
  Known to fail|4.7.0   |

--- Comment #5 from Alexander Monakov  2011-04-08 
14:35:07 UTC ---
Fixed on the trunk, backports pending (4.5 fails in the same way as 4.6/4.7
after Andrey's backport).


[Bug c/48516] internal compiler error: in insert_value_copy_on_edge, at tree-outof-ssa.c:242

2011-04-08 Thread pinskia at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48516

--- Comment #1 from Andrew Pinski  2011-04-08 
14:58:31 UTC ---
Did you compile the .o files with an optimization level?  If so you also need
to use that optimization level at link time too.


[Bug c/48517] [4.6/4.7 Regression] ICE in build_unary_op, at c-typeck.c:3786

2011-04-08 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48517

Richard Guenther  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Keywords||ice-on-valid-code
   Last reconfirmed||2011.04.08 15:00:00
 Ever Confirmed|0   |1
Summary|ICE in build_unary_op, at   |[4.6/4.7 Regression] ICE in
   |c-typeck.c:3786 |build_unary_op, at
   ||c-typeck.c:3786
   Target Milestone|--- |4.6.1

--- Comment #1 from Richard Guenther  2011-04-08 
15:00:00 UTC ---
Confirmed, reducing.


[Bug c/48517] [4.6/4.7 Regression] ICE in build_unary_op, at c-typeck.c:3786

2011-04-08 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48517

--- Comment #2 from Richard Guenther  2011-04-08 
15:01:34 UTC ---
Reduced testcase:

unsigned is_valid_chgmode_keycode (unsigned short key)
{
  static const unsigned short array[] = (const unsigned short []) { 0x0D2B };
  const unsigned short *ptr = array;
}


[Bug c++/48450] [C++0x][SFINAE] Hard errors with static_cast expressions

2011-04-08 Thread jason at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48450

--- Comment #6 from Jason Merrill  2011-04-08 
15:01:54 UTC ---
Author: jason
Date: Fri Apr  8 15:01:50 2011
New Revision: 172191

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=172191
Log:
PR c++/48450
* c-family/c-common.c (c_common_truthvalue_conversion): Don't ignore
conversion from C++0x scoped enum.
* cp/cvt.c (ocp_convert): Handle converting scoped enum to bool.

Added:
branches/gcc-4_6-branch/gcc/testsuite/g++.dg/cpp0x/enum9.C
Modified:
branches/gcc-4_6-branch/gcc/c-family/ChangeLog
branches/gcc-4_6-branch/gcc/c-family/c-common.c
branches/gcc-4_6-branch/gcc/cp/ChangeLog
branches/gcc-4_6-branch/gcc/cp/cvt.c
branches/gcc-4_6-branch/gcc/testsuite/ChangeLog


[Bug c++/48452] [C++0x][SFINAE] Failures with n-ary initialization expressions (in return type)

2011-04-08 Thread jason at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48452

--- Comment #2 from Jason Merrill  2011-04-08 
15:02:12 UTC ---
Author: jason
Date: Fri Apr  8 15:02:08 2011
New Revision: 172193

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=172193
Log:
PR c++/48452
* typeck.c (build_x_compound_expr_from_list): Return error_mark_node
in SFINAE context.

Added:
branches/gcc-4_6-branch/gcc/testsuite/g++.dg/cpp0x/sfinae10.C
Modified:
branches/gcc-4_6-branch/gcc/cp/ChangeLog
branches/gcc-4_6-branch/gcc/cp/typeck.c
branches/gcc-4_6-branch/gcc/testsuite/ChangeLog


[Bug c++/48468] [C++0x][SFINAE] noexcept operator does not handle function templates well

2011-04-08 Thread jason at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48468

--- Comment #2 from Jason Merrill  2011-04-08 
15:02:22 UTC ---
Author: jason
Date: Fri Apr  8 15:02:16 2011
New Revision: 172194

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=172194
Log:
PR c++/48468
* except.c (build_noexcept_spec): Propagate error_mark_node.
(finish_noexcept_expr): Likewise.

Added:
branches/gcc-4_6-branch/gcc/testsuite/g++.dg/cpp0x/sfinae11.C
Modified:
branches/gcc-4_6-branch/gcc/cp/ChangeLog
branches/gcc-4_6-branch/gcc/cp/except.c
branches/gcc-4_6-branch/gcc/testsuite/ChangeLog
branches/gcc-4_6-branch/gcc/testsuite/g++.dg/cpp0x/noexcept02.C


[Bug c++/48500] Regression: Failing to convert template argument to concrete type, in C++0x mode.

2011-04-08 Thread jason at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48500

--- Comment #2 from Jason Merrill  2011-04-08 
15:02:37 UTC ---
Author: jason
Date: Fri Apr  8 15:02:28 2011
New Revision: 172195

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=172195
Log:
PR c++/48500
* semantics.c (potential_constant_expression_1) [CALL_EXPR]: Check
arguments even if we don't know the function.

Added:
branches/gcc-4_6-branch/gcc/testsuite/g++.dg/cpp0x/regress/call1.C
Modified:
branches/gcc-4_6-branch/gcc/cp/ChangeLog
branches/gcc-4_6-branch/gcc/cp/semantics.c
branches/gcc-4_6-branch/gcc/testsuite/ChangeLog


[Bug c++/48450] [C++0x][SFINAE] Hard errors with static_cast expressions

2011-04-08 Thread jason at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48450

Jason Merrill  changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 CC||jason at gcc dot gnu.org
 Resolution||FIXED
   Target Milestone|--- |4.7.0

--- Comment #7 from Jason Merrill  2011-04-08 
15:11:48 UTC ---
(In reply to comment #5)
> Does this fix PR 48107 ?

Yes, it does.


[Bug c++/48449] [C++0x][SFINAE] Hard errors during value-initialization expressions

2011-04-08 Thread jason at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48449

Jason Merrill  changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 CC||jason at gcc dot gnu.org
 Resolution||FIXED
   Target Milestone|--- |4.7.0

--- Comment #2 from Jason Merrill  2011-04-08 
15:12:36 UTC ---
Fixed.


[Bug c++/48451] [C++0x][SFINAE] Failures with n-ary initialization expressions (with template default argument)

2011-04-08 Thread jason at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48451

Jason Merrill  changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 CC||jason at gcc dot gnu.org
 Resolution||FIXED
   Target Milestone|--- |4.7.0

--- Comment #2 from Jason Merrill  2011-04-08 
15:13:13 UTC ---
Fixed.


[Bug c++/48452] [C++0x][SFINAE] Failures with n-ary initialization expressions (in return type)

2011-04-08 Thread jason at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48452

Jason Merrill  changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 CC||jason at gcc dot gnu.org
 Resolution||FIXED
   Target Milestone|--- |4.6.1

--- Comment #3 from Jason Merrill  2011-04-08 
15:13:41 UTC ---
Fixed for 4.6.1.


[Bug c++/48107] [C++0x] no explicit conversion from scoped enumeration type to bool

2011-04-08 Thread jason at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48107

Jason Merrill  changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 CC||jason at gcc dot gnu.org
 Resolution||FIXED
   Target Milestone|--- |4.6.1

--- Comment #1 from Jason Merrill  2011-04-08 
15:14:57 UTC ---
Fixed by r172138

PR c++/48450
* c-family/c-common.c (c_common_truthvalue_conversion): Don't ignore
conversion from C++0x scoped enum.
* cp/cvt.c (ocp_convert): Handle converting scoped enum to bool.


[Bug c++/48500] Regression: Failing to convert template argument to concrete type, in C++0x mode.

2011-04-08 Thread jason at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48500

Jason Merrill  changed:

   What|Removed |Added

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

--- Comment #3 from Jason Merrill  2011-04-08 
15:16:00 UTC ---
fixed for 4.6.1.


[Bug c++/48107] [C++0x] no explicit conversion from scoped enumeration type to bool

2011-04-08 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48107

--- Comment #2 from Jonathan Wakely  2011-04-08 
15:16:58 UTC ---
excellent, thanks!


[Bug c++/48481] C++ overloading memory hog

2011-04-08 Thread jason at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48481

Jason Merrill  changed:

   What|Removed |Added

 Status|UNCONFIRMED |WAITING
   Last reconfirmed||2011.04.08 15:17:30
 AssignedTo|unassigned at gcc dot   |jason at gcc dot gnu.org
   |gnu.org |
   Target Milestone|--- |4.7.0
 Ever Confirmed|0   |1

--- Comment #8 from Jason Merrill  2011-04-08 
15:17:30 UTC ---
Should be fixed on the trunk.


[Bug lto/48508] ICE in output_die, at dwarf2out.c:11409

2011-04-08 Thread hubicka at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48508

--- Comment #3 from Jan Hubicka  2011-04-08 
15:17:33 UTC ---
To me all those debugging ICEs seems alike, but bugzilla don't seem to find any
other output_die ICE. I didn't had chance to look deeper into what is wrong,
but unlike most of other cases we crash while outputting dwarf, not while
constructing it.


[Bug c++/47513] [C++0x] [SFINAE] compiler rejects valid code

2011-04-08 Thread jason at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47513

Jason Merrill  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 CC||jason at gcc dot gnu.org
 Resolution||FIXED
   Target Milestone|--- |4.7.0

--- Comment #2 from Jason Merrill  2011-04-08 
15:22:20 UTC ---
Fixed for 4.7.0 by patch for PR 48449.


[Bug c++/45114] implement C++0x alias-declaration

2011-04-08 Thread jason at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45114

--- Comment #5 from Jason Merrill  2011-04-08 
15:30:53 UTC ---
I stopped working on it before it was usable at all, it's just here in case
someone wants to use it as a starting point.


[Bug lto/45375] [meta-bug] Issues with building Mozilla with LTO

2011-04-08 Thread markus at trippelsdorf dot de
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45375

--- Comment #76 from Markus Trippelsdorf  
2011-04-08 15:42:23 UTC ---
Created attachment 23930
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=23930
Output of  -Wl,-Map good


[Bug lto/45375] [meta-bug] Issues with building Mozilla with LTO

2011-04-08 Thread markus at trippelsdorf dot de
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45375

--- Comment #77 from Markus Trippelsdorf  
2011-04-08 15:51:09 UTC ---
Created attachment 23931
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=23931
Output of  -Wl,-Map bad

I've attached the output of "-Wl,-Map,map" of both
cases (-Os vs. -O2). 
Please do a vimdiff of both and search for
Elf_Ehdr9serializeERSt14basic_ofstreamIcSt11char_traitsIcEEcc
and you'll see that in the good case it lives in its own ltrans file:
/tmp/cca0jnrX.ltrans9.ltrans.o
while in the bad case it is thrown together with other headers into:
/tmp/ccd8WyNK.ltrans3.ltrans.o 
which then leads to the link error above.


[Bug lto/45375] [meta-bug] Issues with building Mozilla with LTO

2011-04-08 Thread mh+gcc at glandium dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45375

--- Comment #78 from Mike Hommey  2011-04-08 
15:57:14 UTC ---
(In reply to comment #75)
> (In reply to comment #74)
> > Interesting. -O3 makes no difference for me.  I will look into your dumps 
> > if I
> > can spot something useful.
> > ...
> > If GCC fail to link even such a simple program as elfhack is, something 
> > pretty
> > fundamental must go wrong.  Perhaps it is linker bug. I had problems with 
> > older
> > versions of gold.
> 
> The failure only happens with -flto.
> And the reason is that:
> 
> c++ -o host_elf.o -c -fno-rtti -Wall -Wpointer-arith -Woverloaded-virtual
> -Wsynth -Wno-ctor-dtor-privacy -Wno-non-virtual-dtor -Wcast-align
> -Wno-invalid-offsetof -Wno-variadic-macros -Werror=return-type -Wno-long-long
> -march=native -fpermissive -flto=4 -fuse-linker-plugin -fno-strict-aliasing
> -fshort-wchar -pthread -pipe -fexceptions -DNDEBUG -DTRIMMED -Os
> -I/var/tmp/mozilla-central/build/unix/elfhack -I. -I../../../dist/include
> -I../../../dist/include/nsprpub -I/usr/include/nspr -I/usr/include/nss
> -I/usr/include/nspr /var/tmp/mozilla-central/build/unix/elfhack/elf.cpp
> 
> apparently only compiles correctly in the -Os case. All other optimization
> switches (-O(0..3) or without -O) lead to the eventual link failure above.
> And it happens with both gnu-ld and gold (2.21.51.20110402).

What matters is what is used to build/link test.so, not elfhack itself, and
from the look at the command line in comment 70, you're building test.so with
unexpected things. It is not meant to be optimized. So, some more variables
tweaking would apparently be required in build/unix/elfhack/Makefile.in.


[Bug libfortran/48511] Implement Steele-White algorithm for numeric output

2011-04-08 Thread jvdelisle at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48511

--- Comment #1 from Jerry DeLisle  2011-04-08 
15:57:55 UTC ---
I have looked at this before and we have discussed it on the list.  Ok to flag
this as an enhancement.  It would be worth investigating one kind (say kind=8)
and run some timing tests to see if we can get some performance improvement.


[Bug lto/45375] [meta-bug] Issues with building Mozilla with LTO

2011-04-08 Thread markus at trippelsdorf dot de
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45375

--- Comment #79 from Markus Trippelsdorf  
2011-04-08 16:10:01 UTC ---
(In reply to comment #78)

> What matters is what is used to build/link test.so, not elfhack itself, and
> from the look at the command line in comment 70, you're building test.so with
> unexpected things. It is not meant to be optimized. So, some more variables
> tweaking would apparently be required in build/unix/elfhack/Makefile.in.

There are two different issues that we're talking about:

-The link error when you build with --enable-optimize=-O3
This has nothing to do with test.so AFAICS.

-The test failure Jan reported, which only happens _after_ elfhack
is successfully build. And in this case your comment above may apply.


[Bug libfortran/48511] Implement Steele-White algorithm for numeric output

2011-04-08 Thread jvdelisle at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48511

--- Comment #2 from Jerry DeLisle  2011-04-08 
16:10:30 UTC ---
See http://www.cs.indiana.edu/~burger/FP-Printing-PLDI96.pdf

For improved method.


[Bug target/48366] [4.7 Regression] ICE in extract_constrain_insn_cached, at recog.c:2024

2011-04-08 Thread danglin at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48366

--- Comment #9 from John David Anglin  2011-04-08 
16:21:47 UTC ---
Author: danglin
Date: Fri Apr  8 16:21:39 2011
New Revision: 172197

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=172197
Log:
PR target/48366
* config/pa/pa.c (hppa_register_move_cost): Increase to 18 cost of
move from floating point to shift amount register .
(emit_move_sequence): Remove secondary reload support for floating
point to shift amount amount register copies.
(pa_secondary_reload): Return GENERAL_REGS for floating point/shift
amount register copies.
* config/pa/pa32-regs.h (HARD_REGNO_MODE_OK): For shift amount
register, return false if mode isn't a scalar integer mode.
* config/pa/pa64-regs.h (HARD_REGNO_MODE_OK): Likewise.


Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/pa/pa.c
trunk/gcc/config/pa/pa32-regs.h
trunk/gcc/config/pa/pa64-regs.h


[Bug libstdc++/4435] Object file has undefined basic_string symbol as local.

2011-04-08 Thread vmakarov at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4435

--- Comment #8 from Vladimir Makarov  2011-04-08 
17:17:56 UTC ---
Author: vmakarov
Date: Fri Apr  8 17:17:50 2011
New Revision: 172201

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=172201
Log:
2011-04-08  Vladimir Makarov  

PR 4435
* ira-color.c (setup_profitable_hard_regs): Add comments.
Don't take prohibited hard regs into account.
(setup_conflict_profitable_regs): Rename to
get_conflict_profitable_regs.
(check_hard_reg_p): Check prohibited hard regs.


Modified:
trunk/gcc/ChangeLog
trunk/gcc/ira-color.c


[Bug c/48509] Fails to Vectorize loop involving doubles which was vectorized in 4.5

2011-04-08 Thread jeremysalwen at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48509

--- Comment #2 from jeremysalwen at gmail dot com 2011-04-08 17:21:06 UTC ---
I was on an atom CPU, and I can verify that it is vectorized on a non-atom CPU.


[Bug c/48510] Does not vectorize loops involving casts from floating point to unsigned integer types

2011-04-08 Thread jeremysalwen at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48510

jeremysalwen at gmail dot com changed:

   What|Removed |Added

  Component|target  |c
   Severity|enhancement |normal

--- Comment #2 from jeremysalwen at gmail dot com 2011-04-08 17:43:25 UTC ---
As you mentioned, unsigned conversions to int and long int both fail to
vectorize.  However, signed conversions to long int still fail, while they
succeed for signed conversions to int.

I should note that the computer I ran these last tests on is a Phenom II.

Apologies if I'm mistaken, but I believe the intrinsic

__builtin_ia32_cvttsd2si64

should do the conversion to a signed long on my platform.


[Bug inline-asm/48435] [4.7 Regression] Assertion failure during IRA (df_scan)

2011-04-08 Thread vmakarov at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48435

--- Comment #6 from Vladimir Makarov  2011-04-08 
17:48:27 UTC ---
Author: vmakarov
Date: Fri Apr  8 17:48:23 2011
New Revision: 172202

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=172202
Log:
Fix PR # 48435 instead of 4435


Modified:
trunk/gcc/ChangeLog


[Bug c++/48518] New: Inconsistent instantiation behavior depending on operator overloading

2011-04-08 Thread jyasskin at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48518

   Summary: Inconsistent instantiation behavior depending on
operator overloading
   Product: gcc
   Version: 4.7.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: jyass...@gcc.gnu.org


The following program instantiates wrap, but a very similar program
that doesn't call an overloaded operator doesn't:

$ cat test.ii
template  struct scoped_ptr {
  C& operator*() const {
return *ptr_;
  }
  C* ptr_;
};
template struct wrap {
  T must_be_complete;
};
class Undefined;
struct S {
  wrap &content() const {
return *content_;
  }
  scoped_ptr > content_;
};
$ trunk/g++ -c test.ii
test.ii: In instantiation of ‘wrap’:
test.ii:13:13:   instantiated from here
test.ii:8:5: error: ‘wrap::must_be_complete’ has incomplete type
test.ii:10:7: error: forward declaration of ‘struct Undefined’
$ 

However:
$ cat test_works.ii 
template  struct scoped_ptr {
  C& get() const {
return *ptr_;
  }
  C* ptr_;
};
template struct wrap {
  T must_be_complete;
};
class Undefined;
struct S {
  wrap &content() const {
return content_.get();
  }
  scoped_ptr > content_;
};
$ ~/opensource/gcc/git/install/bin/g++ -c test_works.ii
$ 


This was a change from gcc-4.4 to gcc-4.5. Comeau agrees with gcc here, but
clang disagrees.

This is confusing because the operator that makes a difference is on
scoped_ptr>, not on wrap.


[Bug inline-asm/48435] [4.7 Regression] Assertion failure during IRA (df_scan)

2011-04-08 Thread avr at gjlay dot de
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48435

--- Comment #7 from Georg-Johann Lay  2011-04-08 18:22:13 
UTC ---
Proper patch:

Author: vmakarov
Date: Fri Apr  8 17:17:50 2011
New Revision: 172201

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=172201
Log:
2011-04-08  Vladimir Makarov  

PR 4435
* ira-color.c (setup_profitable_hard_regs): Add comments.
Don't take prohibited hard regs into account.
(setup_conflict_profitable_regs): Rename to
get_conflict_profitable_regs.
(check_hard_reg_p): Check prohibited hard regs.


Modified:
trunk/gcc/ChangeLog
trunk/gcc/ira-color.c


[Bug c++/48519] New: wrong return-value, with an if () {} after return

2011-04-08 Thread hilmar.ackermann at googlemail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48519

   Summary: wrong return-value, with an if () {} after return
   Product: gcc
   Version: 4.4.1
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: hilmar.ackerm...@googlemail.com


Created attachment 23932
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=23932
the *.ii created with -save-temps

Hi,

first my bug is: I have a function with a return, but the function is not
returning the right value, when I write the function like in the example given
at the end of the report. I already asked in a forum of help and they say, in
other c++ compilers it works fine. ;)

you wrote some things to have in an error bug, so I will try to report it
correct, I'm sorry if I did something wrong, but I'm not so good in all this 
..

"the exact version of GCC;
the system type;
the options given when GCC was configured/built;"

the ouput of gcc -v:

"Target: mingw32
Configured with: ../../gcc-4.4.1/configure --prefix=/mingw --build=mingw32
--ena
ble-languages=c,ada,c++,fortran,objc,obj-c++ --disable-nls
--disable-win32-regis
try --enable-libgomp --enable-cxx-flags='-fno-function-sections
-fno-data-sectio
ns' --disable-werror --enable-threads --disable-symvers
--enable-version-specifi
c-runtime-libs --enable-fully-dynamic-string --with-pkgversion='TDM-2 mingw32'
-
-enable-sjlj-exceptions --with-bugurl=http://www.tdragon.net/recentgcc/bugs.php
Thread model: win32"

"the complete command line that triggers the bug;"
I'm not sure, I'm using the preconfigured MinGW of Code::Blocks, I think you
mean this command line (?):
mingw32-g++.exe -Wall  -g  -g   -IC:\Programme\wxWidgets-2.8.12\include  -c
"C:\Dateien\projekte\c++ programme\tests\testblub\main.cpp" -o obj\Debug\main.o
mingw32-g++.exe -LC:\Programme\wxWidgets-2.8.12\include  -o
bin\Debug\testblub.exe obj\Debug\main.o   
C:\Programme\CodeBlocks\MinGW\lib\OpenAL32.lib
C:\Programme\CodeBlocks\MinGW\lib\alut.lib
C:\Programme\CodeBlocks\MinGW\lib\corona.lib
C:\Programme\CodeBlocks\MinGW\lib\libpangowin32-1.0.dll.a
C:\Programme\CodeBlocks\MinGW\lib\libSDL.dll.a
C:\Programme\CodeBlocks\MinGW\lib\libSDLmain.a

"the compiler output (error messages, warnings, etc.);"
[...]\main.cpp||In function 'int TestFct()':|
[...]\main.cpp|12|warning: control reaches end of non-void function|
||=== Build finished: 0 errors, 1 warnings ===|

"the preprocessed file (*.i*) that triggers the bug, generated by adding
-save-temps to the complete compilation command, or, in the case of a bug
report for the GNAT front end, a complete set of source files (see below)."
the *.ii is attached..

the whole source-code by the way is:

"#include 
using namespace std;

int test1 = 4;

int TestFct (void)
{
string test2;//if this line will be commented out,
everything works fine
cout << "abc" << endl;   //if this line will be commented out,
everything works fine
return 10;
if (test1 == 3) {}   //if this line will be commented out,
everything works fine
}

int main(void)
{
cout << TestFct() << endl;
}
"


regards


[Bug c++/48519] wrong return-value, with an if () {} after return

2011-04-08 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48519

--- Comment #1 from Jonathan Wakely  2011-04-08 
18:32:28 UTC ---
It prints 10 for me with gcc 4.4.3, what do you see?


[Bug c++/48519] wrong return-value, with an if () {} after return

2011-04-08 Thread hilmar.ackermann at googlemail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48519

--- Comment #2 from Herbert  2011-04-08 
18:34:31 UTC ---
it prints 206000. maybe the bug is already fixed in a newer version!? Which
version have you?

regards


[Bug c++/48519] wrong return-value, with an if () {} after return

2011-04-08 Thread hilmar.ackermann at googlemail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48519

--- Comment #3 from Herbert  2011-04-08 
18:35:35 UTC ---
oh, sorry, you already wrote it o.O


[Bug target/48519] wrong return-value, with an if () {} after return

2011-04-08 Thread pinskia at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48519

Andrew Pinski  changed:

   What|Removed |Added

   Keywords||wrong-code
 Target||mingw32
  Component|c++ |target

--- Comment #4 from Andrew Pinski  2011-04-08 
18:36:24 UTC ---
It might be a bug in --enable-fully-dynamic-string and/or specific to the
mingw32 target.


[Bug target/48510] Does not vectorize loops involving casts from floating point to unsigned integer types

2011-04-08 Thread pinskia at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48510

Andrew Pinski  changed:

   What|Removed |Added

  Component|c   |target
   Severity|normal  |enhancement


[Bug c/48516] internal compiler error: in insert_value_copy_on_edge, at tree-outof-ssa.c:242

2011-04-08 Thread pinskia at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48516

Andrew Pinski  changed:

   What|Removed |Added

 Status|UNCONFIRMED |WAITING
   Last reconfirmed||2011.04.08 18:40:43
 Ever Confirmed|0   |1

--- Comment #2 from Andrew Pinski  2011-04-08 
18:40:43 UTC ---
Can you provide how you compiled the .c file?  Not just how you linked.


[Bug target/48519] wrong return-value, with an if () {} after return

2011-04-08 Thread hilmar.ackermann at googlemail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48519

--- Comment #5 from Herbert  2011-04-08 
18:41:35 UTC ---
by the way, I can replace "string test2;" with "vector  test2;" as
example, and there is the same bug..


[Bug target/48297] Suboptimal optimization of boolean expression addition

2011-04-08 Thread pinskia at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48297

Andrew Pinski  changed:

   What|Removed |Added

   Severity|normal  |enhancement


[Bug c++/48284] [C++0x] incorrect printing of decltype operand in diagnostic

2011-04-08 Thread pinskia at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48284

Andrew Pinski  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2011.04.08 18:49:17
Summary|[C++0x] incorrect   |[C++0x] incorrect printing
   |demangling of decltype  |of decltype operand in
   |operand in diagnostic   |diagnostic
 Ever Confirmed|0   |1

--- Comment #1 from Andrew Pinski  2011-04-08 
18:49:17 UTC ---
Confirmed.


[Bug tree-optimization/48484] [4.7 Regression] ICE: vector VEC(use_pred_info_t,base) index domain error, in pred_chain_length_cmp at tree-ssa-uninit.c:1626 with -Wuninitialized

2011-04-08 Thread xinliangli at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48484

--- Comment #2 from davidxl  2011-04-08 19:33:16 
UTC ---

Reproduced.

David

(In reply to comment #0)
> Created attachment 23902 [details]
> auto-reduced testcase
> 
> Compiler output:
> $ gcc -O -finline-functions -finline-small-functions -Wuninitialized 
> testcase.C
> testcase.C: In member function 'bool SQVM::FOREACH_OP(SQObjectPtr&,
> SQObjectPtr&, SQObjectPtr&, SQObjectPtr&, long int, int, int&)':
> testcase.C:53:19: warning: 'nrefidx' may be used uninitialized in this 
> function
> [-Wuninitialized]
> testcase.C:60:10: warning: 'idx' may be used uninitialized in this function
> [-Wuninitialized]
> testcase.C: In member function 'bool SQVM::Execute(SQObjectPtr&, long int, 
> long
> int, long int, SQObjectPtr&, unsigned int, int)':
> testcase.C:53:19: warning: 'nrefidx' may be used uninitialized in this 
> function
> [-Wuninitialized]
> testcase.C:49:5: note: 'nrefidx' was declared here
> testcase.C:60:10: warning: 'idx' may be used uninitialized in this function
> [-Wuninitialized]
> testcase.C:59:4: note: 'idx' was declared here
> testcase.C:67:3: internal compiler error: vector VEC(use_pred_info_t,base)
> index domain error, in pred_chain_length_cmp at tree-ssa-uninit.c:1626
> Please submit a full bug report,
> with preprocessed source if appropriate.
> See  for instructions.
> 
> #4  0x00bdfa79 in vec_assert_fail (op=0x14b0858 "index",
> struct_name=0x12fd7c7 "VEC(use_pred_info_t,base)", file=Unhandled dwarf
> expression opcode 0xf3) at /mnt/svn/gcc-trunk/gcc/vec.c:524
> #5  0x004bae5c in VEC_use_pred_info_t_base_index (line_=Unhandled 
> dwarf
> expression opcode 0xf3) at /mnt/svn/gcc-trunk/gcc/tree-ssa-uninit.c:326
> #6  0x00b4044b in pred_chain_length_cmp (p1=Unhandled dwarf expression
> opcode 0xf3) at /mnt/svn/gcc-trunk/gcc/tree-ssa-uninit.c:1632
> #7  0x7649f0bb in msort_with_tmp () from /lib/libc.so.6
> #8  0x7649f510 in __GI_qsort_r.clone.0 () from /lib/libc.so.6
> #9  0x00b42195 in normalize_preds (use_stmt=Unhandled dwarf expression
> opcode 0xf3) at /mnt/svn/gcc-trunk/gcc/tree-ssa-uninit.c:1655
> #10 is_use_properly_guarded (use_stmt=Unhandled dwarf expression opcode 0xf3
> ) at /mnt/svn/gcc-trunk/gcc/tree-ssa-uninit.c:1817
> #11 0x00b438a9 in find_uninit_use () at
> /mnt/svn/gcc-trunk/gcc/tree-ssa-uninit.c:1878
> #12 warn_uninitialized_phi () at /mnt/svn/gcc-trunk/gcc/tree-ssa-uninit.c:1950
> #13 execute_late_warn_uninitialized () at
> /mnt/svn/gcc-trunk/gcc/tree-ssa-uninit.c:2022
> #14 0x00934a26 in execute_one_pass (pass=0x17c60a0) at
> /mnt/svn/gcc-trunk/gcc/passes.c:1555
> #15 0x00934d15 in execute_pass_list (pass=0x17c60a0) at
> /mnt/svn/gcc-trunk/gcc/passes.c:1610
> #16 0x00934d27 in execute_pass_list (pass=0x17c4d20) at
> /mnt/svn/gcc-trunk/gcc/passes.c:1611
> #17 0x00a78825 in tree_rest_of_compilation (fndecl=0x759d0900) at
> /mnt/svn/gcc-trunk/gcc/tree-optimize.c:422
> #18 0x00c43c97 in cgraph_expand_function (node=0x759df2c0) at
> /mnt/svn/gcc-trunk/gcc/cgraphunit.c:1580
> #19 0x00c463dc in cgraph_expand_all_functions () at
> /mnt/svn/gcc-trunk/gcc/cgraphunit.c:1639
> #20 cgraph_optimize () at /mnt/svn/gcc-trunk/gcc/cgraphunit.c:1903
> #21 0x00c4696a in cgraph_finalize_compilation_unit () at
> /mnt/svn/gcc-trunk/gcc/cgraphunit.c:1100
> #22 0x005b6aa8 in cp_write_global_declarations () at
> /mnt/svn/gcc-trunk/gcc/cp/decl2.c:4000
> #23 0x00a2184d in compile_file (argc=17, argv=0x7fffdc38) at
> /mnt/svn/gcc-trunk/gcc/toplev.c:591


[Bug target/46072] AIX linker chokes on debug info for uninitialized static variables

2011-04-08 Thread ppryor63 at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46072

--- Comment #22 from Paul Pryor  2011-04-08 19:56:15 
UTC ---
I found an workaround. When I realized that /usr/bin/as was the culprit (from
looking at IZ98134), I tried using as from other AIX box at TL4, and it worked
out just fine. Here is what I did:

Somehow find a copy of /usr/bin/as from older AIX box. Put in your home
directory or anywhere you want. I would not recommend replacing /usr/bin/as
with older copy because AIX may need new as features somewhere.

Dump the specs for gcc to a file as follows:

gcc –dump-specs > myspecs

Edit the myspecs file to force gcc to use your copy of as. Here is an example:

…
*invoke_as:
%{!S:-o %|.s |
  /home/ppryor/bin/as %(asm_options) %m.s %A }
…

Then compile your code using this syntax:

gcc –specs=$HOME/myspecs –g –c file.c -o file

I believe it is very safe alternative. Gcc does not make use of any new
features in /usr/bin/as that I know of. And AIX's as is stand alone with no
dependencies.


[Bug driver/48520] New: "make install" for cross-compile silently clobbers target-gcc

2011-04-08 Thread tim.vanholder at anubex dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48520

   Summary: "make install" for cross-compile silently clobbers
target-gcc
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: driver
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: tim.vanhol...@anubex.com


GCC 4.6.0 (from the svn tag)

configured on i686-pc-linux-gnu with
 --prefix=/opt/experimental --target=mingw32 target_alias=mingw32
 --program-prefix=mingw32- --program-suffix=-4.6.0
 --enable-targets=mingw32,x86_64-w64-mingw32 --enable-multilib
 --disable-lto --disable-shared --enable-languages=c,c++

make all-gcc works fine (after adding w32api and mingwrt to the winsup
subdirectory of the source tree)

make install-gcc also apparently completes successfully
however, mingw32-gcc-4.6.0 is NOT present in /opt/experimental/bin

Looking more closely, make install-gcc does have messages on stderr:

  ln: accessing `mingw32-gcc-4.6.0': No such file or directory
  make: [install-driver] Error 1 (ignored)

but they're buried in the many lines of output produced and apparently make is
instructed not to care if the installation does not succeed...

Looking at the commands run for the C++ driver, things are fine:

rm -f /opt/experimental/bin/mingw32-g++-4.6.0
/usr/bin/install -c g++ /opt/experimental/bin/mingw32-g++-4.6.0
chmod a+x /opt/experimental/bin/mingw32-g++-4.6.0
rm -f /opt/experimental/bin/mingw32-c++-4.6.0
( cd /opt/experimental/bin && \
  ln mingw32-g++-4.6.0 mingw32-c++-4.6.0 )

same goes for the preprocessor:

rm -f /opt/experimental/bin/mingw32-cpp-4.6.0
/usr/bin/install -c -m 755 cpp /opt/experimental/bin/mingw32-cpp-4.6.0

but for the C driver, it goes wrong:

rm -f /opt/experimental/bin/mingw32-gcc-4.6.0
/usr/bin/install -c xgcc /opt/experimental/bin/mingw32-gcc-4.6.0
rm -f /opt/experimental/bin/mingw32-gcc-4.6.0
( cd /opt/experimental/bin && \
   ln mingw32-gcc-4.6.0 mingw32-gcc-4.6.0 )

so first it's installed fine, but then it gets removed and an attempt is made
to hardlink the removed file to itself


[Bug rtl-optimization/48389] [4.5/4.6/4.7 Regression] ICE: in make_edges, at cfgbuild.c:319 with -mtune=pentiumpro

2011-04-08 Thread matz at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48389

--- Comment #12 from Michael Matz  2011-04-08 20:18:14 
UTC ---
Author: matz
Date: Fri Apr  8 20:18:08 2011
New Revision: 172208

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=172208
Log:
PR middle-end/48389
* jump.c (rebuild_jump_labels_1, rebuild_jump_labels_chain): New
functions.
(rebuild_jump_labels): Call rebuild_jump_labels_1.
* rtl.h (rebuild_jump_labels_chain): Declare.
* cfgexpand.c (gimple_expand_cfg): Initialize JUMP_LABEL also on
insns inserted on edges.

testsuite/
* gcc.target/i386/pr48389.c: New test.

Added:
trunk/gcc/testsuite/gcc.target/i386/pr48389.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/cfgexpand.c
trunk/gcc/jump.c
trunk/gcc/rtl.h
trunk/gcc/testsuite/ChangeLog


[Bug rtl-optimization/48389] [4.5/4.6 Regression] ICE: in make_edges, at cfgbuild.c:319 with -mtune=pentiumpro

2011-04-08 Thread matz at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48389

Michael Matz  changed:

   What|Removed |Added

Summary|[4.5/4.6/4.7 Regression]|[4.5/4.6 Regression] ICE:
   |ICE: in make_edges, at  |in make_edges, at
   |cfgbuild.c:319 with |cfgbuild.c:319 with
   |-mtune=pentiumpro   |-mtune=pentiumpro
  Known to fail|4.7.0   |

--- Comment #13 from Michael Matz  2011-04-08 20:19:48 
UTC ---
Fixed for 4.7.


[Bug target/47829] no .eh_frame_hdr table will be created.

2011-04-08 Thread kargl at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47829

--- Comment #1 from kargl at gcc dot gnu.org 2011-04-08 20:57:48 UTC ---
Author: kargl
Date: Fri Apr  8 20:57:44 2011
New Revision: 172211

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=172211
Log:
2011-04-08  Steven G. Kargl  

PR 47829
gcc/config.gcc: disable unwind table generation for crtbegin/crtend
on i386-*-freebsd.

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


[Bug bootstrap/48520] "make install" for cross-compile silently clobbers target-gcc

2011-04-08 Thread pinskia at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48520

Andrew Pinski  changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
  Component|driver  |bootstrap
 Resolution||INVALID

--- Comment #1 from Andrew Pinski  2011-04-08 
21:06:28 UTC ---
This is expected.  You should not use a --program-prefix= which is the same as
the target- as it will always cause a conflict and really for a cross compiler
the target- one will always be installed and the one without the target- will
never be installed.


[Bug rtl-optimization/48496] [4.7 Regression] 'asm' operand requires impossible reload in libffi/src/ia64/ffi.c

2011-04-08 Thread pinskia at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48496

--- Comment #2 from Andrew Pinski  2011-04-08 
21:11:06 UTC ---
Can you try again after:
2011-04-08  Vladimir Makarov  

PR 48435
* ira-color.c (setup_profitable_hard_regs): Add comments.
Don't take prohibited hard regs into account.
(setup_conflict_profitable_regs): Rename to
get_conflict_profitable_regs.
(check_hard_reg_p): Check prohibited hard regs.


[Bug libstdc++/48521] New: [4.5/4.6/4.7 Regression] [C++0x] std::result_of doesn't work with pointer to member

2011-04-08 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48521

   Summary: [4.5/4.6/4.7 Regression] [C++0x] std::result_of
doesn't work with pointer to member
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: libstdc++
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: r...@gcc.gnu.org


This is supposed to work, and did with 4.4:

#include 
struct X
{
  int foo();
};

typedef int (X::*pm)();
std::result_of::type i = 0;

This means we don't accept std::async(X::foo, ...) which is defined in terms of
result_of

I think I intentionally removed support for pointers to members from result_of,
because an earlier C++0x draft said it shouldn't work


[Bug libstdc++/48521] [4.5/4.6/4.7 Regression] [C++0x] std::result_of doesn't work with pointer to member

2011-04-08 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48521

Jonathan Wakely  changed:

   What|Removed |Added

   Keywords||rejects-valid
 Status|UNCONFIRMED |ASSIGNED
   Last reconfirmed||2011.04.08 21:16:52
 AssignedTo|unassigned at gcc dot   |redi at gcc dot gnu.org
   |gnu.org |
 Ever Confirmed|0   |1


[Bug target/46072] AIX linker chokes on debug info for uninitialized static variables

2011-04-08 Thread david.kirkby at onetel dot net
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46072

--- Comment #23 from Dr. David Kirkby  
2011-04-08 21:31:05 UTC ---
(In reply to comment #22)
> I found an workaround. When I realized that /usr/bin/as was the culprit (from
> looking at IZ98134), I tried using as from other AIX box at TL4, and it worked
> out just fine. Here is what I did:
> 
> Somehow find a copy of /usr/bin/as from older AIX box.

That's fine if you have an older AIX box. Mine is already a relic - a 32-bit
system with 332 MHz CPUs! Do you know how to find 'as' from the installation
media? Can you email me a copy from an AIX 5.3 machine? 

david dot kirkby  onetel.net


[Bug c++/48522] New: decltype((object)) with templated classes crashes g++ 4.5.1.

2011-04-08 Thread david at rgmadvisors dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48522

   Summary: decltype((object)) with templated classes crashes g++
4.5.1.
   Product: gcc
   Version: 4.5.1
Status: UNCONFIRMED
  Severity: major
  Priority: P3
 Component: c++
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: da...@rgmadvisors.com


Created attachment 23933
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=23933
Preprocessed broken_decltype.cpp

Hello All,

The following innocent-looking code crashes the compiler:

template 
struct Handle
{
Handle(T& t);
};

template
struct Class {
struct Struct {} data;
void f();
void g();
};

template
void Class::f() {
Handle< decltype((data)) > handle(data);
}

template
void Class::g() {
Handle< decltype((data)) > handle(data);
}

The command line and compiler output were:

g++ -std=g++0x broken_decltype.cpp (see attachment for detailed flags)

broken_decltype.cpp: In member function ‘void Class::g()’:
broken_decltype.cpp:21:30: internal compiler error: Segmentation fault
Please submit a full bug report,
with preprocessed source if appropriate

This fails on multiple distributions including Linux 2.6.35.6-45.fc14.x86_64,
GNU C++ (GCC) version 4.5.1 20100924 (Red Hat 4.5.1-4) (x86_64-redhat-linux)
compiled by GNU C version 4.5.1 20100924 (Red Hat 4.5.1-4), GMP version 4.3.1,
MPFR version 2.4.2, MPC version 0.8.1

Cheers!

David.


[Bug target/47829] no .eh_frame_hdr table will be created.

2011-04-08 Thread kargl at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47829

--- Comment #2 from kargl at gcc dot gnu.org 2011-04-08 21:41:39 UTC ---
Author: kargl
Date: Fri Apr  8 21:41:35 2011
New Revision: 172214

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=172214
Log:
2011-04-08  Steven G. Kargl  

PR target/47829
gcc/config.gcc: disable unwind table generation for crtbegin/crtend
on i386-*-freebsd.

Modified:
branches/gcc-4_6-branch/gcc/ChangeLog
branches/gcc-4_6-branch/gcc/config.gcc


[Bug fortran/48448] Implement -f(no-)frontend-optimization

2011-04-08 Thread tkoenig at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48448

--- Comment #2 from Thomas Koenig  2011-04-08 
21:46:11 UTC ---
Author: tkoenig
Date: Fri Apr  8 21:46:08 2011
New Revision: 172215

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=172215
Log:
2011-04-08  Thomas Koenig  

PR fortran/48448
* gfortran.h (gfc_option_t):  Add warn_function_elimination and
flag_frontend_optimize.
* lang.opt (Wfunction-elimination):  Add.
(ffrontend-optimize):  Add.
* invoke.texi:  Add documentation for -Wfunction-elimination
and -ffrontend-optimize.  Add -faggressive-function-elimination
to list of code generation options.
* frontend-passes.c (gfc_run_passes):  Run optimizations if
flag_frontend_optimize is set.
(warn_function_elimination):  New function.
(cfe_expr_0):  Call it if requested to do so.
* options.c (gfc_init_options):  Initiate warn_function_elimination
and flag_frontend_optimize.
(gfc_post_options):  Set flag_frontend_optimize if not specified
by user, depending on the optimization level.
(gfc_handle_option):  Handle -Wfunction-elimination and
-ffrontend-optimize.

2011-04-08  Thomas Koenig  

PR fortran/48448
* gfortran.dg/function_optimize_5.f90:  New test.


Added:
trunk/gcc/testsuite/gfortran.dg/function_optimize_5.f90
Modified:
trunk/gcc/fortran/ChangeLog
trunk/gcc/fortran/frontend-passes.c
trunk/gcc/fortran/gfortran.h
trunk/gcc/fortran/invoke.texi
trunk/gcc/fortran/lang.opt
trunk/gcc/fortran/options.c
trunk/gcc/testsuite/ChangeLog


[Bug fortran/48448] Implement -f(no-)frontend-optimization

2011-04-08 Thread tkoenig at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48448

Thomas Koenig  changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED

--- Comment #3 from Thomas Koenig  2011-04-08 
21:55:12 UTC ---
Implemented, closing.


[Bug lto/48516] internal compiler error: in insert_value_copy_on_edge, at tree-outof-ssa.c:242

2011-04-08 Thread tommino at online dot de
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48516

--- Comment #3 from tommino at online dot de 2011-04-08 22:08:54 UTC ---
Created attachment 23934
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=23934
Compilation batch file


  1   2   >