[Bug middle-end/51994] [4.6/4.7 Regression] git-1.7.8.3 miscompiled due to negative bitpos from get_inner_reference

2012-01-26 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51994

--- Comment #17 from Jakub Jelinek jakub at gcc dot gnu.org 2012-01-26 
08:02:50 UTC ---
Doing it in get_inner_reference sounds like a risky change though.
E.g. Richard's PR51750 change would need to be adjusted to match it.


[Bug middle-end/51994] [4.6/4.7 Regression] git-1.7.8.3 miscompiled due to negative bitpos from get_inner_reference

2012-01-26 Thread ubizjak at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51994

Uros Bizjak ubizjak at gmail dot com changed:

   What|Removed |Added

 CC||rguenth at gcc dot gnu.org

--- Comment #18 from Uros Bizjak ubizjak at gmail dot com 2012-01-26 08:20:27 
UTC ---
Adding richi to CC.


[Bug target/52006] New: [4.7 Regression] ARM ICE on

2012-01-26 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52006

 Bug #: 52006
   Summary: [4.7 Regression] ARM ICE on
Classification: Unclassified
   Product: gcc
   Version: 4.7.0
Status: UNCONFIRMED
  Keywords: ice-on-valid-code
  Severity: normal
  Priority: P3
 Component: target
AssignedTo: ja...@gcc.gnu.org
ReportedBy: ja...@gcc.gnu.org
CC: ram...@gcc.gnu.org
Target: arm*-linux-gnueabi


/* { dg-do compile } */
/* { dg-options -march=armv7-a -mfloat-abi=hard -O2 -fPIC } */

unsigned long a;
static int b;

void
foo (void)
{
  asm volatile ( : =r (b));
}

void
bar (float f)
{
  if (f  b / 100.0)
a = 1;
}

ICEs on arm with:
error: insn does not satisfy its constraints:
(insn 69 64 10 2 (set (reg:SI 77 s14 [orig:143 b ] [143])
(mem:SI (unspec:SI [
(reg/f:SI 2 r2 [141])
(const_int 8 [0x8])
(const_int 1 [0x1])
] UNSPEC_PIC_BASE) [0 S4 A32])) rh784748.i:17 188
{tls_load_dot_plus_eight}
 (nil))
rh784748.i:19:1: internal compiler error: in copyprop_hardreg_forward_1, at
regcprop.c:767


[Bug target/52006] [4.7 Regression] ARM ICE with incorrectly peepholed tls_load_dot_plus_eight

2012-01-26 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52006

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |ASSIGNED
   Last reconfirmed||2012-01-26
Summary|[4.7 Regression] ARM ICE on |[4.7 Regression] ARM ICE
   ||with incorrectly peepholed
   ||tls_load_dot_plus_eight
 Ever Confirmed|0   |1


[Bug target/52006] [4.7 Regression] ARM ICE with incorrectly peepholed tls_load_dot_plus_eight

2012-01-26 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52006

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

  Known to work||4.6.3
   Target Milestone|--- |4.7.0
  Known to fail||4.7.0


[Bug target/52006] [4.7 Regression] ARM ICE with incorrectly peepholed tls_load_dot_plus_eight

2012-01-26 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52006

--- Comment #1 from Jakub Jelinek jakub at gcc dot gnu.org 2012-01-26 
09:35:30 UTC ---
Created attachment 26471
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=26471
gcc47-pr52006.patch

Untested fix.


[Bug middle-end/51994] [4.6/4.7 Regression] git-1.7.8.3 miscompiled due to negative bitpos from get_inner_reference

2012-01-26 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51994

--- Comment #19 from Richard Guenther rguenth at gcc dot gnu.org 2012-01-26 
10:01:23 UTC ---
I agree, all callers of get_inner_reference need to cope with a negative
bitpos.  Those that forward it unchecked to functions that expect an
unsigned bitpos are broken.

Thus I think fixing the prototypes is correct.  If that exposes other
issues we have to fix them.  The issue in extract_split_bit_field
is obviously the same - unsigned prototype and unsigned offset in

  while (bitsdone  bitsize)
{
  unsigned HOST_WIDE_INT thissize;
  rtx part, word;
  unsigned HOST_WIDE_INT thispos;
  unsigned HOST_WIDE_INT offset;

  offset = (bitpos + bitsdone) / unit;

also

  thispos = (bitpos + bitsdone) % unit;

might not be correct with a negative (bitpos + bitsdone).

extract_fixed_bit_field has the same prototype issue, so eventually we
want to simply account for them in the callers (if there are less).
Only memory operands may have a negative bitpos and those we should be
able to adjust via adjust_address (but by what amount?) to make bitpos
positive.

So you could say already the routines called from the get_inner_reference
callers should do that.

Eric, you should know this area the best - what do you recommend here?
[we could assert in the unsigned bitpos taking functions that the MSB
is not set on bitpos]


[Bug c/52007] New: configure: error: installation or configuration problem: C compiler cannot create executables

2012-01-26 Thread chilakaravikumar at yahoo dot co.in
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52007

 Bug #: 52007
   Summary: configure: error: installation or configuration
problem: C compiler cannot create executables
Classification: Unclassified
   Product: gcc
   Version: 4.2.4
Status: UNCONFIRMED
  Severity: critical
  Priority: P3
 Component: c
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: chilakaraviku...@yahoo.co.in


While installing gcc on a IA64 rhel5 box, I am facing the below problem.


/root/gcc/gcc-4.2.4
[root@colt102d gcc-4.2.4]# CC=gcc
[root@colt102d gcc-4.2.4]# export CC
[root@colt102d gcc-4.2.4]# ./configure 
loading cache ./config.cache
checking host system type... ia64-unknown-linux-gnu
checking target system type... ia64-unknown-linux-gnu
checking build system type... ia64-unknown-linux-gnu
checking for a BSD compatible install... /usr/bin/install -c
checking whether ln works... yes
checking whether ln -s works... yes
checking for gcc... gcc
checking whether the C compiler (gcc  ) works... no
configure: error: installation or configuration problem: C compiler cannot
create executables.
[root@colt102d gcc-4.2.4]# uname -m
ia64
[root@colt102d gcc-4.2.4]# uname -a
Linux colt102d.fchst.usa.hp.com 2.6.18-274.el5 #1 SMP Fri Jul 8 17:41:07 EDT
2011 ia64 ia64 ia64 GNU/Linux

Thanks
Ravi


[Bug bootstrap/52007] configure: error: installation or configuration problem: C compiler cannot create executables

2012-01-26 Thread pinskia at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52007

Andrew Pinski pinskia at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |WAITING
   Last reconfirmed||2012-01-26
  Component|c   |bootstrap
 Ever Confirmed|0   |1

--- Comment #1 from Andrew Pinski pinskia at gcc dot gnu.org 2012-01-26 
10:24:37 UTC ---
You should look into config.log to find out why it fails.  Also don't build in
the source directory.  I bet you don't have all the right packages installed to
use gcc.


[Bug bootstrap/52007] configure: error: installation or configuration problem: C compiler cannot create executables

2012-01-26 Thread pinskia at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52007

Andrew Pinski pinskia at gcc dot gnu.org changed:

   What|Removed |Added

   Severity|critical|normal


[Bug bootstrap/52007] configure: error: installation or configuration problem: C compiler cannot create executables

2012-01-26 Thread chilakaravikumar at yahoo dot co.in
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52007

--- Comment #2 from chilaka chilakaravikumar at yahoo dot co.in 2012-01-26 
10:28:52 UTC ---
(In reply to comment #1)
 You should look into config.log to find out why it fails.  Also don't build in
 the source directory.  I bet you don't have all the right packages installed 
 to
 use gcc.

config.log content

configure:630: checking host system type
configure:651: checking target system type
configure:669: checking build system type
configure:724: checking for a BSD compatible install
configure:777: checking whether ln works
configure:801: checking whether ln -s works
configure:1866: checking for gcc
configure:1979: checking whether the C compiler (gcc  ) works
configure:1995: gcc -o conftestconftest.c  15
./configure: line 1994: gcc: command not found
configure: failed program was:

#line 1990 configure
#include confdefs.h


[Bug c++/52008] New: [C++0x] ICE when adding partial specialization for variadic-templated structure

2012-01-26 Thread ethouris at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52008

 Bug #: 52008
   Summary: [C++0x] ICE when adding partial specialization for
variadic-templated structure
Classification: Unclassified
   Product: gcc
   Version: 4.7.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: ethou...@gmail.com


I found this with the following code:

template size_t B, typename Type1, typename... Types
struct tuple_sliced
{
typedef typename tuple_slicedB-1, Types...::type type;
};

templatetypename... Types
struct tuple_sliced0, Types...  // -- line 18
{
typedef tupleTypes... type;
};

gcc 4.6 says that it's not implemented to expand Types... in the first
structure. With gcc 4.7 I got a message:

tuple.cc:18:8: internal compiler error: in process_partial_specialization, at
cp/pt.c:4398

The master declaration of tuple_sliced passes correctly - however any use of it
will result in infinite recursion when there's no terminal version.


[Bug bootstrap/52007] configure: error: installation or configuration problem: C compiler cannot create executables

2012-01-26 Thread chilakaravikumar at yahoo dot co.in
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52007

--- Comment #3 from chilaka chilakaravikumar at yahoo dot co.in 2012-01-26 
10:39:37 UTC ---
(In reply to comment #2)
 (In reply to comment #1)
  You should look into config.log to find out why it fails.  Also don't build 
  in
  the source directory.  I bet you don't have all the right packages 
  installed to
  use gcc.
 
 config.log content
 
 configure:630: checking host system type
 configure:651: checking target system type
 configure:669: checking build system type
 configure:724: checking for a BSD compatible install
 configure:777: checking whether ln works
 configure:801: checking whether ln -s works
 configure:1866: checking for gcc
 configure:1979: checking whether the C compiler (gcc  ) works
 configure:1995: gcc -o conftestconftest.c  15
 ./configure: line 1994: gcc: command not found
 configure: failed program was:
 
 #line 1990 configure
 #include confdefs.h

Now I have ran autoconf and then ./configure. Here is content of config.log

#/usr/local/bin/autoconf -v
# ./configure 
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.

It was created by configure, which was
generated by GNU Autoconf 2.59.  Invocation command line was

  $ ./configure 

## - ##
## Platform. ##
## - ##

hostname = colt102d.fchst.usa.hp.com
uname -m = ia64
uname -r = 2.6.18-274.el5
uname -s = Linux
uname -v = #1 SMP Fri Jul 8 17:41:07 EDT 2011

/usr/bin/uname -p = unknown
/bin/uname -X = unknown

/bin/arch  = ia64
/usr/bin/arch -k   = unknown
/usr/convex/getsysinfo = unknown
hostinfo   = unknown
/bin/machine   = unknown
/usr/bin/oslevel   = unknown
/bin/universe  = unknown

PATH: /usr/kerberos/sbin
PATH: /usr/kerberos/bin
PATH: /usr/local/sbin
PATH: /usr/local/bin
PATH: /sbin
PATH: /bin
PATH: /usr/sbin 
PATH: /usr/bin
PATH: /root/bin 


## --- ##
## Core tests. ##
## --- ##

configure:1330: checking build system type
configure:1348: result: ia64-unknown-linux-gnu
configure:1356: checking host system type
configure:1370: result: ia64-unknown-linux-gnu
configure:1378: checking target system type
configure:1392: result: ia64-unknown-linux-gnu
configure:1434: checking for a BSD-compatible install
configure:1489: result: /usr/bin/install -c
configure:1500: checking whether ln works
configure:1522: result: yes
configure:1526: checking whether ln -s works
configure:1530: result: yes
configure:2623: checking for gcc
configure:2649: result: gcc
configure:2893: checking for C compiler version
configure:2896: gcc --version /dev/null 5
./configure: line 2897: gcc: command not found
configure:2899: $? = 127
configure:2901: gcc -v /dev/null 5
./configure: line 2902: gcc: command not found
configure:2904: $? = 127
configure:2906: gcc -V /dev/null 5
./configure: line 2907: gcc: command not found
configure:2909: $? = 127
configure:2932: checking for C compiler default output file name
configure:2935: gccconftest.c  5
./configure: line 2936: gcc: command not found
configure:2938: $? = 127
configure: failed program was:
| /* confdefs.h.  */
|
| #define PACKAGE_NAME 
| #define PACKAGE_TARNAME 
| #define PACKAGE_VERSION 
| #define PACKAGE_STRING 
| #define PACKAGE_BUGREPORT 
| /* end confdefs.h.  */
|
| int
| main ()
| {
|
|   ;
|   return 0;
| }
configure:2977: error: C compiler cannot create executables
See `config.log' for more details.

##  ##
## Cache variables. ##
##  ##

ac_cv_build=ia64-unknown-linux-gnu
ac_cv_build_alias=ia64-unknown-linux-gnu
ac_cv_env_CC_set=set
ac_cv_env_CC_value=gcc
ac_cv_env_CFLAGS_set=
ac_cv_env_CFLAGS_value=
ac_cv_env_CPPFLAGS_set=
ac_cv_env_CPPFLAGS_value=
ac_cv_env_LDFLAGS_set=
ac_cv_env_LDFLAGS_value=
ac_cv_env_build_alias_set=
ac_cv_env_build_alias_value=
ac_cv_env_host_alias_set=
ac_cv_env_host_alias_value=
ac_cv_env_target_alias_set=
ac_cv_env_target_alias_value=
ac_cv_host=ia64-unknown-linux-gnu
ac_cv_host_alias=ia64-unknown-linux-gnu
ac_cv_path_install='/usr/bin/install -c'
ac_cv_prog_ac_ct_CC=gcc
ac_cv_target=ia64-unknown-linux-gnu
ac_cv_target_alias=ia64-unknown-linux-gnu
acx_cv_prog_LN=ln

## - ##
## Output variables. ##
## - ##

AR=''
AR_FOR_TARGET=''
AS=''
AS_FOR_TARGET=''
BISON=''
CC='gcc'
CC_FOR_BUILD='$(CC)'
CC_FOR_TARGET=''
CFLAGS=''
CFLAGS_FOR_BUILD=''
COMPILER_AS_FOR_TARGET=''
COMPILER_LD_FOR_TARGET=''
COMPILER_NM_FOR_TARGET=''
CONFIGURE_GDB_TK=''
CPPFLAGS=''
CXX=''
CXXFLAGS=''
CXX_FOR_TARGET=''
DEFS=''
DLLTOOL=''
DLLTOOL_FOR_TARGET=''
ECHO_C=''
ECHO_N='-n'
ECHO_T=''
EXEEXT=''
EXPECT=''
FLAGS_FOR_TARGET=''
FLEX=''
GCC_FOR_TARGET=''
GCJ_FOR_TARGET=''
GDB_TK=''
GFORTRAN_FOR_TARGET=''
GNATBIND=''
INSTALL_DATA='${INSTALL} -m 644'
INSTALL_GDB_TK=''
INSTALL_PROGRAM='${INSTALL}'
INSTALL_SCRIPT='${INSTALL}'
LD=''
LDFLAGS=''
LD_FOR_TARGET=''
LEX=''
LIBOBJS=''
LIBS=''
LIPO=''
LIPO_FOR_TARGET=''
LN='ln'
LN_S='ln -s'

[Bug bootstrap/52007] configure: error: installation or configuration problem: C compiler cannot create executables

2012-01-26 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52007

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

 Status|WAITING |RESOLVED
 CC||jakub at gcc dot gnu.org
 Resolution||INVALID

--- Comment #4 from Jakub Jelinek jakub at gcc dot gnu.org 2012-01-26 
10:40:52 UTC ---
gcc: command not found
is a user error, if you don't have a compiler installed, obviously you can't
compile anything.  yum install gcc should cure it (but to build gcc you'll need
some other packages too, like gmp-devel, mpfr-devel etc.).


[Bug bootstrap/52007] configure: error: installation or configuration problem: C compiler cannot create executables

2012-01-26 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52007

--- Comment #5 from Jonathan Wakely redi at gcc dot gnu.org 2012-01-26 
10:41:20 UTC ---
The problem you're facing is that you didn't read the documentation on
installing GCC, starting at http://gcc.gnu.org/install/ and summarised at
http://gcc.gnu.org/wiki/InstallingGCC

We can't really help you if you don't read the documentation.

The first prerequisite for compiling GCC is a working compiler.  You've told
configure to use CC=gcc but apparently you don't have gcc installed.  That's
not going to work.

If it's a rhel5 box then install the gcc rpm.


[Bug bootstrap/51985] [4.7 Regression] Bootstrap failure due to revision 183457

2012-01-26 Thread ramana at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51985

Ramana Radhakrishnan ramana at gcc dot gnu.org changed:

   What|Removed |Added

 CC||ramana at gcc dot gnu.org

--- Comment #9 from Ramana Radhakrishnan ramana at gcc dot gnu.org 2012-01-26 
10:42:30 UTC ---
(In reply to comment #5)
 Created attachment 26460 [details]
 gcc47-pr51985.patch
 
 Untested fix.
 The problem was I think that $(inst_sources) was included there twice, once
 in libc__98convenience_la_SOURCES = $(sources)  $(inst_sources) (and for
 libc__98_la_SOURCES too), and once as part of $(host_sources_extra), which is
 included in $(sources).  This occurred even on x86_64-linux, but wasn't fatal
 there, libstdc++.a was just much larger than it would have to be (contained
 additional lt*-*.o objects) and libstdc++.so.6, while it had the same list of
 exported symbols, was much larger too.

bootstrap on arm-linux-gnueabi succeeded. Tests are still running.

Ramana


[Bug bootstrap/52007] configure: error: installation or configuration problem: C compiler cannot create executables

2012-01-26 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52007

--- Comment #6 from Jonathan Wakely redi at gcc dot gnu.org 2012-01-26 
10:44:35 UTC ---
(In reply to comment #3)
 
 Now I have ran autoconf and then ./configure. Here is content of config.log
 
 #/usr/local/bin/autoconf -v
 # ./configure 

Why have you done that?  Where in the GCC installation docs does it say to run
autoconf?  It doesn't, and it explicitly tells you not to run ./configure, and
Andrew also told you not to build in the source directory. Read the docs.
Building a compiler is not like building other software, don't assume you know
how to do it.


[Bug bootstrap/52007] configure: error: installation or configuration problem: C compiler cannot create executables

2012-01-26 Thread chilakaravikumar at yahoo dot co.in
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52007

--- Comment #7 from chilaka chilakaravikumar at yahoo dot co.in 2012-01-26 
10:49:12 UTC ---
Thanks for the inputs.


[Bug bootstrap/51985] [4.7 Regression] Bootstrap failure due to revision 183457

2012-01-26 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51985

--- Comment #10 from Jakub Jelinek jakub at gcc dot gnu.org 2012-01-26 
10:55:20 UTC ---
Author: jakub
Date: Thu Jan 26 10:55:12 2012
New Revision: 183556

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=183556
Log:
PR bootstrap/51985
* src/c++98/Makefile.am (libc__98_la_SOURCES,
libc__98convenience_la_SOURCES): Remove $(inst_sources).
* src/c++98/Makefile.in: Regenerated.

Modified:
trunk/libstdc++-v3/ChangeLog
trunk/libstdc++-v3/src/c++98/Makefile.am
trunk/libstdc++-v3/src/c++98/Makefile.in


[Bug bootstrap/51985] [4.7 Regression] Bootstrap failure due to revision 183457

2012-01-26 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51985

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED

--- Comment #11 from Jakub Jelinek jakub at gcc dot gnu.org 2012-01-26 
10:57:23 UTC ---
Fixed.


[Bug middle-end/51994] [4.6/4.7 Regression] git-1.7.8.3 miscompiled due to negative bitpos from get_inner_reference

2012-01-26 Thread ebotcazou at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51994

--- Comment #20 from Eric Botcazou ebotcazou at gcc dot gnu.org 2012-01-26 
11:00:33 UTC ---
 Eric, you should know this area the best - what do you recommend here?
 [we could assert in the unsigned bitpos taking functions that the MSB
 is not set on bitpos]

I agree that making get_inner_reference artificially return a non-zero poffset
would most certainly be problematic as this would change the semantics.  But
it's also clear that the lower level bit-field manipulation routines aren't
really prepared to deal with negative stuff.  So I think that we shouldn't
change the prototypes of these routines, but instead patch up callers that
forward the values returned by get_inner_reference to these routines.

Adding assertions in these routines could indeed help.


[Bug c++/52008] [C++0x] ICE when adding partial specialization for variadic-templated structure

2012-01-26 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52008

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2012-01-26
 Ever Confirmed|0   |1
  Known to fail||4.7.0

--- Comment #1 from Richard Guenther rguenth at gcc dot gnu.org 2012-01-26 
11:14:14 UTC ---
Confirmed.


[Bug c++/52003] warning about (un)existing return statement in the main function declared 'noreturn'

2012-01-26 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52003

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2012-01-26
 Ever Confirmed|0   |1

--- Comment #3 from Richard Guenther rguenth at gcc dot gnu.org 2012-01-26 
11:19:02 UTC ---
(In reply to comment #2)
 main has an implicit return 0 if it follows through to the end according to 
 the
 C++ standard IIRC.

Indeed it does.  GCC simply tells you that putting 'noreturn' on main
is not good.

If we don't want this warning maybe the C++ FE should mark that return
stmt with TREE_NO_WARNING and we should honor that flag.


[Bug rtl-optimization/52000] cross-jumping drops MEM attributes even when it makes no changes to the code

2012-01-26 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52000

--- Comment #2 from Richard Guenther rguenth at gcc dot gnu.org 2012-01-26 
11:21:33 UTC ---
It also calls merge_notes (so I suppose might drop REG_EQUAL notes).

Both should be delayed to commit time.


[Bug c++/51641] Lookup finds enclosing class member instead of template parameter

2012-01-26 Thread dodji at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51641

--- Comment #1 from Dodji Seketeli dodji at gcc dot gnu.org 2012-01-26 
12:36:25 UTC ---
I candidate patch was sent to
http://gcc.gnu.org/ml/gcc-patches/2012-01/msg01371.html


[Bug libstdc++/51798] [4.7 regression] libstdc++ atomicity performance regression due to __sync_fetch_and_add

2012-01-26 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51798

--- Comment #11 from Jakub Jelinek jakub at gcc dot gnu.org 2012-01-26 
13:01:58 UTC ---
What about the other files that use __sync_* in libstdc++?
include/tr1/shared_ptr.h, include/bits/shared_ptr_base.h,
include/profile/impl/profiler_state.h, libsupc++/guard.cc and parts of
include/parallel/compatibility.h use __sync_*compare_and_swap or
__sync_lock_test_and_set, so I assume that we have the same code for those on
ppc* as before, but in
include/parallel/compatibility.h, libsupc++/eh_tm.cc, libsupc++/eh_ptr.cc and
libsupc++/eh_throw.cc __sync_*fetch* is used.  Should we change all those to
use acq_rel semantics __atomic* counterparts in addition to
include/ext/atomicity.h and config/cpu/generic/atomicity_builtins/atomicity.h?


[Bug tree-optimization/52009] New: Another missed tail merging opportunity

2012-01-26 Thread vries at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52009

 Bug #: 52009
   Summary: Another missed tail merging opportunity
Classification: Unclassified
   Product: gcc
   Version: 4.7.0
Status: UNCONFIRMED
  Severity: minor
  Priority: P3
 Component: tree-optimization
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: vr...@gcc.gnu.org


test-case pr51879-7.c:
...
int bar (int);
void baz (int);

int z;

void
foo (int y)
{
  int a;
  if (y == 6)
{
  z = 5;
  a = bar (7);
}
  else
{
  z = 5;
  a = bar (7);
}
  baz (a);
}
...

compile:
...
$ gcc -O2 -fdump-tree-all-all pr51879-7.c -S
...

representation at pr51879-7.c.094t.pre:
...
  # BLOCK 3 freq:1991
  # PRED: 2 [19.9%]  (true,exec)
  # .MEMD.1717_7 = VDEF .MEMD.1717_6(D)
  zD.1708 = 5;
  # .MEMD.1717_8 = VDEF .MEMD.1717_7
  # USE = nonlocal 
  # CLB = nonlocal 
  aD.1712_3 = barD.1703 (7);
  goto bb 5;
  # SUCC: 5 [100.0%]  (fallthru,exec)

  # BLOCK 4 freq:8009
  # PRED: 2 [80.1%]  (false,exec)
  # .MEMD.1717_9 = VDEF .MEMD.1717_6(D)
  zD.1708 = 5;
  # .MEMD.1717_10 = VDEF .MEMD.1717_9
  # USE = nonlocal 
  # CLB = nonlocal 
  aD.1712_4 = barD.1703 (7);
  # SUCC: 5 [100.0%]  (fallthru,exec)

  # BLOCK 5 freq:1
  # PRED: 3 [100.0%]  (fallthru,exec) 4 [100.0%]  (fallthru,exec)
  # aD.1712_1 = PHI aD.1712_3(3), aD.1712_4(4)
  # .MEMD.1717_5 = PHI .MEMD.1717_8(3), .MEMD.1717_10(4)
  # .MEMD.1717_11 = VDEF .MEMD.1717_5
  # USE = nonlocal 
  # CLB = nonlocal 
  bazD.1705 (aD.1712_1);
  # VUSE .MEMD.1717_11
  return;
...

Blocks 3 and 4 are not merged, because .MEMD.1717_7 and .MEMD.1717_9 are not
value numbered the same:
...
SCC consists of: .MEM_7 
Value numbering .MEM_7 stmt = z = 5;
RHS 5 simplified to 5
No store match
Value numbering store z to 5
Setting value number of .MEM_7 to .MEM_7 (changed)
...
SCC consists of: .MEM_9 
Value numbering .MEM_9 stmt = z = 5;
RHS 5 simplified to 5
No store match
Value numbering store z to 5
Setting value number of .MEM_9 to .MEM_9 (changed)
...


[Bug tree-optimization/48794] [4.7 Regression] ICE: SIGSEGV in remap_eh_region_nr (tree-inline.c:1194) with -Os -fopenmp -fexceptions -fno-tree-ccp -fno-tree-copy-prop

2012-01-26 Thread matz at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48794

--- Comment #9 from Michael Matz matz at gcc dot gnu.org 2012-01-26 13:25:06 
UTC ---
Author: matz
Date: Thu Jan 26 13:24:58 2012
New Revision: 183559

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=183559
Log:
PR tree-optimization/48794
* tree-eh.c (remove_unreachable_handlers_no_lp): Don't remove
regions referenced from RESX/EH_DISPATCH.

testsuite/
* gfortran.dg/gomp/pr48794-2.f90: New testcase.

Added:
trunk/gcc/testsuite/gfortran.dg/gomp/pr48794-2.f90
Modified:
trunk/gcc/ChangeLog
trunk/gcc/testsuite/ChangeLog
trunk/gcc/tree-eh.c


[Bug middle-end/51959] [4.7 Regression] ICE in set_mem_alias_set, at emit-rtl.c:1884

2012-01-26 Thread ebotcazou at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51959

Eric Botcazou ebotcazou at gcc dot gnu.org changed:

   What|Removed |Added

  Component|target  |middle-end

--- Comment #5 from Eric Botcazou ebotcazou at gcc dot gnu.org 2012-01-26 
13:30:43 UTC ---
Recategorizing.


[Bug tree-optimization/48794] [4.7 Regression] ICE: SIGSEGV in remap_eh_region_nr (tree-inline.c:1194) with -Os -fopenmp -fexceptions -fno-tree-ccp -fno-tree-copy-prop

2012-01-26 Thread matz at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48794

Michael Matz matz at gcc dot gnu.org changed:

   What|Removed |Added

 Status|REOPENED|RESOLVED
 Resolution||FIXED

--- Comment #10 from Michael Matz matz at gcc dot gnu.org 2012-01-26 13:52:15 
UTC ---
Fixed some more.


[Bug libstdc++/51798] [4.7 regression] libstdc++ atomicity performance regression due to __sync_fetch_and_add

2012-01-26 Thread amacleod at redhat dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51798

--- Comment #12 from Andrew Macleod amacleod at redhat dot com 2012-01-26 
13:57:56 UTC ---
(In reply to comment #11)
 What about the other files that use __sync_* in libstdc++?

I would change the bare minimum... Every change is a risk of some sort this
late n the game.   The only reason to consider this change was the unacceptable
performance regression on power which was reported.   If it hasn't been
reported, I'd leave it alone personally :-)

I hope to replace *all* __sync calls everywhere in the toolchain with __atomic
for 4.8. That way there is also time to evaluate the proper model for each one
and test it.


[Bug middle-end/51895] [4.7 Regression] ICE in simplify_subreg

2012-01-26 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51895

--- Comment #18 from Jakub Jelinek jakub at gcc dot gnu.org 2012-01-26 
14:09:34 UTC ---
Author: jakub
Date: Thu Jan 26 14:09:29 2012
New Revision: 183560

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=183560
Log:
PR middle-end/51895
* expr.c (expand_expr_real_1): Handle BLKmode MEM_REF of
non-addressable non-BLKmode base correctly.

* g++.dg/opt/pr51895.C: New test.

Added:
trunk/gcc/testsuite/g++.dg/opt/pr51895.C
Modified:
trunk/gcc/ChangeLog
trunk/gcc/expr.c
trunk/gcc/testsuite/ChangeLog


[Bug middle-end/51895] [4.7 Regression] ICE in simplify_subreg

2012-01-26 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51895

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED

--- Comment #19 from Jakub Jelinek jakub at gcc dot gnu.org 2012-01-26 
14:11:24 UTC ---
Fixed.


[Bug middle-end/51998] compiler hangs on self-recursive alias attribute

2012-01-26 Thread hubicka at ucw dot cz
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51998

--- Comment #5 from Jan Hubicka hubicka at ucw dot cz 2012-01-26 14:23:21 UTC 
---
 I think remove_attribute would be desirable too.  But I wonder if it can't be
 detected earlier than here.  In any case, I'd like to hear Honza on this.

I was under impression that varasm code on aliases should already detect
cycles.
I guess best time to detect cycle is when alias node is created, I will prepare
patch
for this.

Honza


[Bug bootstrap/44173] configure -disable-fixincludes doesn't work

2012-01-26 Thread ariel.burton at roguewave dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44173

Ariel Burton ariel.burton at roguewave dot com changed:

   What|Removed |Added

 CC||ariel.burton at roguewave
   ||dot com

--- Comment #2 from Ariel Burton ariel.burton at roguewave dot com 2012-01-26 
14:37:51 UTC ---
Isn't -disable-fixincludes desirable if you want gcc to always
use the system files on the platform on which it is running,
rather than that on which it was compiled?


[Bug bootstrap/51999] gcc-4.7-20120114 v. AIX 6.1

2012-01-26 Thread dje at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51999

--- Comment #2 from David Edelsohn dje at gcc dot gnu.org 2012-01-26 14:58:09 
UTC ---
You seem to have applied a lot of random changes to your system and then
reported a GCC bootstrap bug.  Do not use GNU Binutils on AIX 6.1.


[Bug libstdc++/51798] [4.7 regression] libstdc++ atomicity performance regression due to __sync_fetch_and_add

2012-01-26 Thread dje at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51798

--- Comment #13 from David Edelsohn dje at gcc dot gnu.org 2012-01-26 
15:02:14 UTC ---
If libstdc++-v3 does not consistently use its own atomicity.h everywhere, then
it is even more broken.  Any code that explicitly calls __sync_* in
libstdc++-v3 has introduced a performance regression.


[Bug target/51974] [4.7 Regression] GCC fails to bootstrap with --enable-checking=release on opensuse

2012-01-26 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51974

--- Comment #2 from Richard Guenther rguenth at gcc dot gnu.org 2012-01-26 
15:14:23 UTC ---
I can reproduce random comparison failures as well, even with checking enabled,
on openSUSE Factory x86_64.  I wasn't yet able to reproduce them locally
though.
I'm trying again.


[Bug libstdc++/51798] [4.7 regression] libstdc++ atomicity performance regression due to __sync_fetch_and_add

2012-01-26 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51798

--- Comment #14 from Jonathan Wakely redi at gcc dot gnu.org 2012-01-26 
15:25:11 UTC ---
(In reply to comment #13)
 If libstdc++-v3 does not consistently use its own atomicity.h everywhere, then
 it is even more broken.

calm down, a few places in libstdc++ use __sync_compare_and_swap directly
because there is no CAS in atomicity.h


[Bug fortran/52010] New: Intrinsic assignment involving CLASS/TYPE

2012-01-26 Thread fmartinez at gmv dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52010

 Bug #: 52010
   Summary: Intrinsic assignment involving CLASS/TYPE
Classification: Unclassified
   Product: gcc
   Version: 4.7.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: fortran
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: fmarti...@gmv.com


The attached examle generates a compiler error about not being able to convert
from CLASS to TYPE being the object of the same declared type.

Reported bug 41719 addresses partially this issue although looking at the
standard (7.4.1) I cannot really see that this assignment is incorrect.
The Intel compiler does not complain about this even with the stardard 2003
flags activated.


[Bug debug/52001] [4.7 Regression] Huge compile-time regression with var-tracking

2012-01-26 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52001

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

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

--- Comment #2 from Jakub Jelinek jakub at gcc dot gnu.org 2012-01-26 
15:50:20 UTC ---
Created attachment 26472
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=26472
gcc47-pr52001.patch

Untested fix.  It doesn't make any sense to insert any reverse ops when V is
already known to have a location which is certainly simpler than that and
permanently available through the entire function.


[Bug tree-optimization/46590] [4.5/4.6/4.7 Regression] long compile time with -O2 and many loops

2012-01-26 Thread matz at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46590

--- Comment #20 from Michael Matz matz at gcc dot gnu.org 2012-01-26 15:50:43 
UTC ---
Author: matz
Date: Thu Jan 26 15:50:33 2012
New Revision: 183566

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=183566
Log:
PR tree-optimization/46590
* cfgexpand.c: Revert last change (r183305).
* gimplify.c (gimplify_bind_expr): Add clobbers for all non-gimple
regs.
* tree-eh.c (cleanup_empty_eh): Try to optimize clobbers before
checking for emptiness.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/cfgexpand.c
trunk/gcc/gimplify.c
trunk/gcc/tree-eh.c


[Bug rtl-optimization/51978] ext-elim-1.c ICE on powerpc64

2012-01-26 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51978

--- Comment #3 from Jakub Jelinek jakub at gcc dot gnu.org 2012-01-26 
15:53:03 UTC ---
Author: jakub
Date: Thu Jan 26 15:52:55 2012
New Revision: 183567

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=183567
Log:
PR rtl-optimization/51978
* ree.c (make_defs_and_copies_lists): Change set_pat type
to const_rtx.
(combine_reaching_defs): Likewise.
(struct re_info): Remove.
(add_removable_extension): Remove x and data arguments,
add insn, insn_list and def_map.  Use the arguments directly
instead of using struct re_info.
(find_removable_extensions): Don't call add_removable_extension
through note_stores, instead just call it with single_set
result if non-NULL.
(find_and_remove_re): Pass curr_cand-expr instead of
PATTERN (curr_cand-insn) as set_pat argument to
combine_reaching_defs.

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


[Bug rtl-optimization/51978] ext-elim-1.c ICE on powerpc64

2012-01-26 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51978

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED

--- Comment #4 from Jakub Jelinek jakub at gcc dot gnu.org 2012-01-26 
15:54:47 UTC ---
Fixed.


[Bug fortran/50981] [4.4/4.5/4.6 Regression] Wrong-code for scalarizing ELEMENTAL call with absent OPTIONAL argument

2012-01-26 Thread dominiq at lps dot ens.fr
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50981

--- Comment #30 from Dominique d'Humieres dominiq at lps dot ens.fr 
2012-01-26 16:12:13 UTC ---
(In reply to comment #28)
 Created attachment 26468 [details]
 better patch
 
 This one should work.

It does;-) 

I have applied the patch on revision 183541 on top of the Paul's patch at
http://gcc.gnu.org/ml/fortran/2012-01/msg00214.html (pr51870) and Tobias' ones
for pr51970 and pr51434 comment #12. 

It regtested without regression and all the failures reported in comments #25
and #26 are gone. It  passes the full comment #13 test fixed as in comment #22
(I blindly trust that it is the right thing to do) and it fixes pr51514 and
the test in pr41587 comment #1 (at least part of it: it now prints   0
  0  42 while I'ld expect  42  42 
42(?); without the patch I get an ICE
pr41587_db.f90:10:0: internal compiler error: in gfc_conv_descriptor_data_get,
at fortran/trans-array.c:147).

The test in comment #23 gives an ICE with/without the patch:

pr50981_4.f90: In function 'MAIN__':
pr50981_4.f90:16:0: internal compiler error: in fold_convert_loc, at
fold-const.c:2016

i.e., the same ICE as for pr51977 (I did not tested the patchlet in comment
#27).

Thanks for the work!


[Bug fortran/52010] Intrinsic assignment involving CLASS/TYPE

2012-01-26 Thread dominiq at lps dot ens.fr
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52010

--- Comment #1 from Dominique d'Humieres dominiq at lps dot ens.fr 2012-01-26 
16:22:51 UTC ---
 The attached examle generates a compiler error about not being able to convert
 from CLASS to TYPE being the object of the same declared type.

There is no attachment!-(


[Bug fortran/52010] Intrinsic assignment involving CLASS/TYPE

2012-01-26 Thread fmartinez at gmv dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52010

--- Comment #2 from Fran Martinez Fadrique fmartinez at gmv dot com 
2012-01-26 16:25:41 UTC ---
Created attachment 26473
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=26473
Test sample


[Bug testsuite/52011] New: FAIL: gcc.dg/lto/trans-mem-* c_lto_trans-mem-*.o assemble, -flto -fgnu-tm in 32 bit mode

2012-01-26 Thread dominiq at lps dot ens.fr
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52011

 Bug #: 52011
   Summary: FAIL: gcc.dg/lto/trans-mem-* c_lto_trans-mem-*.o
assemble, -flto -fgnu-tm in 32 bit mode
Classification: Unclassified
   Product: gcc
   Version: 4.7.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: testsuite
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: domi...@lps.ens.fr
CC: al...@gcc.gnu.org, hjl.to...@gmail.com


The following tests fail in 32 bit mode

FAIL: gcc.dg/lto/trans-mem-1 c_lto_trans-mem-1_1.o assemble, -flto -fgnu-tm
FAIL: gcc.dg/lto/trans-mem-2 c_lto_trans-mem-2_0.o assemble, -flto -fgnu-tm
FAIL: gcc.dg/lto/trans-mem-3 c_lto_trans-mem-3_1.o assemble, -flto
FAIL: gcc.dg/lto/trans-mem-4 c_lto_trans-mem-4_1.o assemble, -flto -fgnu-tm
FAIL: gcc.dg/lto/trans-mem-4 c_lto_trans-mem-4_0.o-c_lto_trans-mem-4_1.o link,
-flto -fgnu-tm
UNRESOLVED: gcc.dg/lto/trans-mem-4 c_lto_trans-mem-4_0.o-c_lto_trans-mem-4_1.o
execute -flto -fgnu-tm

(see http://gcc.gnu.org/ml/gcc-testresults/2012-01/msg02599.html through the
guality mess). The errors are (from
http://glutton.geoffk.org/HEAD/native-logsum/gcc/testsuite/gcc/gcc.log.gzip )

Executing on host: /home/regress/tbox/native/build/gcc/xgcc
-B/home/regress/tbox/native/build/gcc/   -flto -fgnu-tm  -c  -o
c_lto_trans-mem-1_0.o
/home/regress/tbox/svn-gcc/gcc/testsuite/gcc.dg/lto/trans-mem-1_0.c(timeout
= 300)
PASS: gcc.dg/lto/trans-mem-1 c_lto_trans-mem-1_0.o assemble, -flto -fgnu-tm
Executing on host: /home/regress/tbox/native/build/gcc/xgcc
-B/home/regress/tbox/native/build/gcc/   -flto -fgnu-tm  -c  -o
c_lto_trans-mem-1_1.o
/home/regress/tbox/svn-gcc/gcc/testsuite/gcc.dg/lto/trans-mem-1_1.c(timeout
= 300)
/home/regress/tbox/svn-gcc/gcc/testsuite/gcc.dg/lto/trans-mem-1_1.c:5:19:
warning: conflicting types for built-in function '_ITM_beginTransaction'
[enabled by default]
/home/regress/tbox/svn-gcc/gcc/testsuite/gcc.dg/lto/trans-mem-1_1.c:6:15:
warning: conflicting types for built-in function '_ITM_commitTransaction'
[enabled by default]
/home/regress/tbox/svn-gcc/gcc/testsuite/gcc.dg/lto/trans-mem-1_1.c:7:15:
warning: conflicting types for built-in function '_ITM_WU4' [enabled by
default]
/home/regress/tbox/svn-gcc/gcc/testsuite/gcc.dg/lto/trans-mem-1_1.c:8:15:
warning: conflicting types for built-in function '_ITM_WU8' [enabled by
default]
output is:
/home/regress/tbox/svn-gcc/gcc/testsuite/gcc.dg/lto/trans-mem-1_1.c:5:19:
warning: conflicting types for built-in function '_ITM_beginTransaction'
[enabled by default]
/home/regress/tbox/svn-gcc/gcc/testsuite/gcc.dg/lto/trans-mem-1_1.c:6:15:
warning: conflicting types for built-in function '_ITM_commitTransaction'
[enabled by default]
/home/regress/tbox/svn-gcc/gcc/testsuite/gcc.dg/lto/trans-mem-1_1.c:7:15:
warning: conflicting types for built-in function '_ITM_WU4' [enabled by
default]
/home/regress/tbox/svn-gcc/gcc/testsuite/gcc.dg/lto/trans-mem-1_1.c:8:15:
warning: conflicting types for built-in function '_ITM_WU8' [enabled by
default]

FAIL: gcc.dg/lto/trans-mem-1 c_lto_trans-mem-1_1.o assemble, -flto -fgnu-tm
Executing on host: /home/regress/tbox/native/build/gcc/xgcc
-B/home/regress/tbox/native/build/gcc/ c_lto_trans-mem-1_0.o
c_lto_trans-mem-1_1.o   -flto -fgnu-tm   -o gcc-dg-lto-trans-mem-1-01.exe  
 (timeout = 300)
PASS: gcc.dg/lto/trans-mem-1 c_lto_trans-mem-1_0.o-c_lto_trans-mem-1_1.o link,
-flto -fgnu-tm
Executing on host: /home/regress/tbox/native/build/gcc/xgcc
-B/home/regress/tbox/native/build/gcc/   -flto -fgnu-tm  -c  -o
c_lto_trans-mem-2_0.o
/home/regress/tbox/svn-gcc/gcc/testsuite/gcc.dg/lto/trans-mem-2_0.c(timeout
= 300)
/home/regress/tbox/svn-gcc/gcc/testsuite/gcc.dg/lto/trans-mem-2_0.c:11:19:
warning: conflicting types for built-in function '_ITM_beginTransaction'
[enabled by default]
/home/regress/tbox/svn-gcc/gcc/testsuite/gcc.dg/lto/trans-mem-2_0.c:12:15:
warning: conflicting types for built-in function '_ITM_commitTransaction'
[enabled by default]
/home/regress/tbox/svn-gcc/gcc/testsuite/gcc.dg/lto/trans-mem-2_0.c:13:15:
warning: conflicting types for built-in function '_ITM_WU4' [enabled by
default]
/home/regress/tbox/svn-gcc/gcc/testsuite/gcc.dg/lto/trans-mem-2_0.c:14:15:
warning: conflicting types for built-in function '_ITM_WU8' [enabled by
default]
output is:
/home/regress/tbox/svn-gcc/gcc/testsuite/gcc.dg/lto/trans-mem-2_0.c:11:19:
warning: conflicting types for built-in function '_ITM_beginTransaction'
[enabled by default]
/home/regress/tbox/svn-gcc/gcc/testsuite/gcc.dg/lto/trans-mem-2_0.c:12:15:
warning: conflicting types for built-in function '_ITM_commitTransaction'
[enabled by default]
/home/regress/tbox/svn-gcc/gcc/testsuite/gcc.dg/lto/trans-mem-2_0.c:13:15:
warning: conflicting types for built-in function '_ITM_WU4' [enabled by
default]
/home/regress/tbox/svn-gcc/gcc/testsuite/gcc.dg/lto/trans-mem-2_0.c:14:15:
warning: conflicting types 

[Bug bootstrap/49829] [4.7 Regression] --disable-static --enable-shared regression: cannot find -lstdc++

2012-01-26 Thread bkoz at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49829

Benjamin Kosnik bkoz at gcc dot gnu.org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot   |bkoz at gcc dot gnu.org
   |gnu.org |

--- Comment #24 from Benjamin Kosnik bkoz at gcc dot gnu.org 2012-01-26 
16:42:14 UTC ---
Mine.

Still remaining are

1) update libstdc++ maintainer docs
2) --enable-debug fix


[Bug middle-end/51994] [4.6/4.7 Regression] git-1.7.8.3 miscompiled due to negative bitpos from get_inner_reference

2012-01-26 Thread ubizjak at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51994

Uros Bizjak ubizjak at gmail dot com changed:

   What|Removed |Added

  Attachment #26466|0   |1
is obsolete||

--- Comment #21 from Uros Bizjak ubizjak at gmail dot com 2012-01-26 18:40:24 
UTC ---
Created attachment 26474
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=26474
Patch that adds asserts to {extract,store}_bit_field

This patch regressed following tests on x86_64-linux (gcc-46):

FAIL: gcc.dg/pr48335-8.c (internal compiler error)
FAIL: gcc.dg/pr48335-8.c (test for excess errors)

This shows that x86_64 is also not immune to negative bitpos problem.


[Bug middle-end/51994] [4.6/4.7 Regression] git-1.7.8.3 miscompiled due to negative bitpos from get_inner_reference

2012-01-26 Thread ubizjak at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51994

--- Comment #22 from Uros Bizjak ubizjak at gmail dot com 2012-01-26 18:41:57 
UTC ---
(In reply to comment #20)

 I agree that making get_inner_reference artificially return a non-zero poffset
 would most certainly be problematic as this would change the semantics.  But
 it's also clear that the lower level bit-field manipulation routines aren't
 really prepared to deal with negative stuff.  So I think that we shouldn't
 change the prototypes of these routines, but instead patch up callers that
 forward the values returned by get_inner_reference to these routines.
 
 Adding assertions in these routines could indeed help.

I have added these. But.. could you please take the fix to this problem
further?


[Bug middle-end/51994] [4.6/4.7 Regression] git-1.7.8.3 miscompiled due to negative bitpos from get_inner_reference

2012-01-26 Thread ubizjak at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51994

--- Comment #23 from Uros Bizjak ubizjak at gmail dot com 2012-01-26 18:51:00 
UTC ---
With a crosscompiler to alpha-linux-gnu, we can trigger both problems, one with
preprocessed source, another with the testcase in latest attached patch:

[uros@localhost testalpha]$ ~/gcc-build-alpha-46/gcc/cc1 -O2 -quiet pr51994.c
pr51994.c: In function ‘test’:
pr51994.c:17:3: internal compiler error: in extract_bit_field, at expmed.c:1701
Please submit a full bug report,
with preprocessed source if appropriate.
See http://gcc.gnu.org/bugs.html for instructions.

[uros@localhost testalpha]$ ~/gcc-build-alpha-46/gcc/cc1 -O2 -quiet config.i
config.c: In function ‘git_config_rename_section’:
config.c:1533:16: internal compiler error: in store_bit_field, at expmed.c:839
Please submit a full bug report,
with preprocessed source if appropriate.
See http://gcc.gnu.org/bugs.html for instructions.


[Bug c++/51199] [C++11][DR 547] gcc forms impossible types derived from function types with cv-qualifier-seq

2012-01-26 Thread daniel.kruegler at googlemail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51199

--- Comment #1 from Daniel Krügler daniel.kruegler at googlemail dot com 
2012-01-26 19:32:03 UTC ---
Related to this bug:

http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1417


[Bug libstdc++/51798] [4.7 regression] libstdc++ atomicity performance regression due to __sync_fetch_and_add

2012-01-26 Thread dje at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51798

--- Comment #15 from David Edelsohn dje at gcc dot gnu.org 2012-01-26 
19:42:47 UTC ---
 calm down, a few places in libstdc++ use __sync_compare_and_swap directly
 because there is no CAS in atomicity.h

Jonathan,

I do not know what you are reading into my comment.  This has nothing to do
with calmness, it is a statement of fact.  If more places in libstdc++ use
__sync intrinsics directly, then more places have regressed. It is unfortunate
that the current implementation of libstdc++ did not localize the use of those
intrinsics.


[Bug libstdc++/51798] [4.7 regression] libstdc++ atomicity performance regression due to __sync_fetch_and_add

2012-01-26 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51798

--- Comment #16 from Jonathan Wakely redi at gcc dot gnu.org 2012-01-26 
20:39:40 UTC ---
Apologies for my phrasing.  What I meant is that it's not a matter of
consistency.

Localising all uses of __sync_bool_compare_and_swap by adding an unnecessary
additional layer of indirection in atomicity.h would not have been appropriate.
 GCC already abstracts the required CAS operation with
__sync_bool_compare_and_swap, so that is used directly when needed.  One of the
main reasons for the wrappers in atomicity.h is to fall back to non-atomic ops
in non-threaded code, rather than just to localize the use of intrinisics.
Having a fall back for non-threaded code isn't necessary for the places where
__sync_bool_compare_and_swap is used in shared_ptr and parallel mode. Our
shared_ptr has a partial specialization for the non-threaded case, which
doesn't use CAS, and using parallel mode in non-threaded code doesn't make
sense.  So __sync_bool_compare_and_swap is used directly. It's own
atomicity.h doesn't include a CAS operation, and I see no benefit to adding
CAS to that file.


[Bug middle-end/51994] [4.6/4.7 Regression] git-1.7.8.3 miscompiled due to negative bitpos from get_inner_reference

2012-01-26 Thread ebotcazou at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51994

Eric Botcazou ebotcazou at gcc dot gnu.org changed:

   What|Removed |Added

 Status|NEW |ASSIGNED
 AssignedTo|unassigned at gcc dot   |ebotcazou at gcc dot
   |gnu.org |gnu.org

--- Comment #24 from Eric Botcazou ebotcazou at gcc dot gnu.org 2012-01-26 
21:01:12 UTC ---
Investigating.


[Bug c++/51852] [regression] [c++11] tree check: expected tree_list, have HßèMÕþÿøtxøtsø

2012-01-26 Thread zeratul976 at hotmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51852

--- Comment #11 from Nathan Ridge zeratul976 at hotmail dot com 2012-01-26 
21:48:09 UTC ---
I bisected the SVN history between the snapshot that worked and the snapshot
that gave the error - it appears at r182668.


[Bug fortran/52012] New: [4.6/4.7 Regression] Wrong-code with RESHAPE

2012-01-26 Thread burnus at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52012

 Bug #: 52012
   Summary: [4.6/4.7 Regression] Wrong-code with RESHAPE
Classification: Unclassified
   Product: gcc
   Version: 4.7.0
Status: UNCONFIRMED
  Keywords: wrong-code
  Severity: critical
  Priority: P3
 Component: fortran
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: bur...@gcc.gnu.org
CC: pa...@gcc.gnu.org


The following program prints with GCC 4.6 and 4.7:

   0.   0.   1.   0.   0.
   0.   0.   0.

Expected: The following result - as with GCC 4.5:

   0.   0.   1.   0.   0.
   0.   0.   1.

Doing a simple   print '(10f3.0)', a  shows the correct result. Thus, depending
how one accesses an array element, the result is correct or wrong.


The issue was reported by Reinhold Bader; I added the abort checks (both fail).


program gf
  implicit none
  real, allocatable :: a(:,:,:)
!  real :: a(5,4,3)
  real :: b(3,4,5) = 0.0
  b(1,2,3) = 1.0
  allocate(a(size(b,3),size(b,2),size(b,1)))
  a = reshape(b,shape(a),order=[3,2,1])
  write(*,*) a(:,2,1)
! the following line prints an incorrect value of a(3,2,1)
! even though the above one works correctly
  write(*,*) a(1,2,1), a(2,2,1), a(3,2,1)
  if (a(3,2,1) /= 1) call abort()
  if (sum(abs(a)) /= 1.0) call abort()
end program


[Bug tree-optimization/52005] tree-ssa-combineif does not work with some cfgs

2012-01-26 Thread pinskia at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52005

--- Comment #2 from Andrew Pinski pinskia at gcc dot gnu.org 2012-01-26 
22:08:05 UTC ---
Here is another testcase:
int f(int x, int a, int b)
{
  int t = 0;
  int c = 1  a;
  if (!(x  1))
t = 0;
  else
if (x  (1  2))
  t = g();
else
  t = 0;
  return t;
}

The original testcase is not currently optimized with current patch but the
above one is.  I am still on the case of the original testcase.


[Bug c++/51908] [C++11] ICE in cp_parser_abort_tentative_parse with decltype and variable template arguments

2012-01-26 Thread pinskia at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51908

Andrew Pinski pinskia at gcc dot gnu.org changed:

   What|Removed |Added

 CC||jason at gcc dot gnu.org
Summary|ICE in  |[C++11] ICE in
   |cp_parser_abort_tentative_p |cp_parser_abort_tentative_p
   |arse,   |arse with decltype and
   ||variable template arguments

--- Comment #2 from Andrew Pinski pinskia at gcc dot gnu.org 2012-01-26 
22:27:42 UTC ---
This still fails on the trunk:
GNU C++ (GCC) version 4.7.0 20120126 (experimental) [trunk revision 183553]
(mips64-linux-gnu)
compiled by GNU C version 4.7.0 20120126 (experimental) [trunk revision
183553], GMP version 4.3.2, MPFR version 3.0.0, MPC version 0.8.2
GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096
Compiler executable checksum: 56535e31bb34ae0381b37def6782a84b
t.cc:4:54: internal compiler error: in cp_parser_abort_tentative_parse, at
cp/parser.c:22867
Please submit a full bug report,
with preprocessed source if appropriate.
See http://gcc.gnu.org/bugs.html for instructions.


[Bug target/42240] [4.3/4.4 Regression] wrong epilogue on naked function

2012-01-26 Thread gjl at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42240

Georg-Johann Lay gjl at gcc dot gnu.org changed:

   What|Removed |Added

   Keywords||wrong-code
   Target Milestone|4.3.6   |4.5.3


[Bug fortran/52012] [4.6/4.7 Regression] Wrong-code with RESHAPE

2012-01-26 Thread burnus at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52012

Tobias Burnus burnus at gcc dot gnu.org changed:

   What|Removed |Added

 CC||burnus at gcc dot gnu.org
  Known to work||4.5.4
   Target Milestone|--- |4.7.0
  Known to fail||4.6.3, 4.7.0

--- Comment #1 from Tobias Burnus burnus at gcc dot gnu.org 2012-01-26 
23:14:42 UTC ---
Works: 4.6.0 2010-09-28 rev. 164677 (trunk)
Fails: 4.6.0 2010-12-31 rev. 168366 (trunk)


[Bug fortran/52013] New: [OOP] Polymorphism and coarrays: Support as class container

2012-01-26 Thread burnus at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52013

 Bug #: 52013
   Summary: [OOP] Polymorphism and coarrays: Support as class
container
Classification: Unclassified
   Product: gcc
   Version: 4.7.0
Status: UNCONFIRMED
  Keywords: accepts-invalid
  Severity: normal
  Priority: P3
 Component: fortran
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: bur...@gcc.gnu.org


Currently, the codimension is ignored in the class container.

Result: accepts-invalid, wrong-code, and ICE.


Example for the former; using coarray dummies in elemental procs is invalid:

type t
end type t
contains
  elemental subroutine f(x) 
class(t), intent(inout) :: x ! Valid
  end subroutine
  elemental subroutine g(y)
class(t), intent(inout) :: y[*] ! Invalid, but not diagnosed
  end subroutine
end


[Bug fortran/52012] [4.6/4.7 Regression] Wrong-code with RESHAPE

2012-01-26 Thread dominiq at lps dot ens.fr
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52012

Dominique d'Humieres dominiq at lps dot ens.fr changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2012-01-26
 Ever Confirmed|0   |1

--- Comment #2 from Dominique d'Humieres dominiq at lps dot ens.fr 2012-01-26 
23:34:05 UTC ---
Reduced range

Works: 4.6.0 2010-11-26 rev. 167173 (trunk)
Fails: 4.6.0 2010-12-02 rev. 167380 (trunk)


[Bug fortran/52012] [4.6/4.7 Regression] Wrong-code with realloc on assignment

2012-01-26 Thread burnus at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52012

Tobias Burnus burnus at gcc dot gnu.org changed:

   What|Removed |Added

Summary|[4.6/4.7 Regression]|[4.6/4.7 Regression]
   |Wrong-code with RESHAPE |Wrong-code with realloc on
   ||assignment

--- Comment #3 from Tobias Burnus burnus at gcc dot gnu.org 2012-01-26 
23:43:35 UTC ---
Workaround: -fno-realloc-lhs

Thus, I assume that the culprit is Paul's patch for PR 35810 (Rev. 167220,
2010-11-28). http://gcc.gnu.org/viewcvs?view=revisionrevision=167220


[Bug c++/51370] [4.6/4.7 Regression] ICE with invalid template parameter

2012-01-26 Thread paolo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51370

--- Comment #4 from paolo at gcc dot gnu.org paolo at gcc dot gnu.org 
2012-01-27 00:12:48 UTC ---
Author: paolo
Date: Fri Jan 27 00:12:41 2012
New Revision: 183593

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=183593
Log:
/cp
2012-01-26  Paolo Carlini  paolo.carl...@oracle.com

PR c++/51370
* error.c (dump_decl, [TEMPLATE_ID_EXPR]): Handle error_mark_node
as TREE_OPERAND (t, 1).

/testsuite
2012-01-26  Paolo Carlini  paolo.carl...@oracle.com

PR c++/51370
* g++.dg/template/crash112.C: New.

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


[Bug c++/51370] [4.6/4.7 Regression] ICE with invalid template parameter

2012-01-26 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51370

Paolo Carlini paolo.carlini at oracle dot com changed:

   What|Removed |Added

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

--- Comment #5 from Paolo Carlini paolo.carlini at oracle dot com 2012-01-27 
00:13:58 UTC ---
Fixed for 4.7.0.


[Bug c++/51852] [regression] [c++11] tree check: expected tree_list, have HßèMÕþÿøtxøtsø

2012-01-26 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51852

Jonathan Wakely redi at gcc dot gnu.org changed:

   What|Removed |Added

 CC||jason at gcc dot gnu.org

--- Comment #12 from Jonathan Wakely redi at gcc dot gnu.org 2012-01-27 
00:21:43 UTC ---
Jason, the fix for PR 51507 might have caused a memory corruption problem,
although there's no testcase to reproduce it


[Bug c++/51852] [regression] [c++11] tree check: expected tree_list, have HßèMÕþÿøtxøtsø

2012-01-26 Thread pinskia at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51852

Andrew Pinski pinskia at gcc dot gnu.org changed:

   What|Removed |Added

   Keywords||GC

--- Comment #13 from Andrew Pinski pinskia at gcc dot gnu.org 2012-01-27 
00:25:54 UTC ---
One thing to do is to use --param ggc-min-expand=1 --param ggc-min-heapsize=1
and try to reduce it from there.  And then when you get down use 0's instead of
1.  That should help with GC issues.


[Bug c++/52003] warning about (un)existing return statement in the main function declared 'noreturn'

2012-01-26 Thread gnumaurorusso at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52003

--- Comment #4 from mauro gnumaurorusso at gmail dot com 2012-01-27 00:27:43 
UTC ---
(In reply to comment #2)
 main has an implicit return 0 if it follows through to the end according to 
 the
 C++ standard IIRC.

Ok, I thought it was something like that.
Thanks for answer.


[Bug libstdc++/51795] linear_congruential_engine doesn't work correctly

2012-01-26 Thread 3dw4rd at verizon dot net
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51795

--- Comment #1 from Ed Smith-Rowland 3dw4rd at verizon dot net 2012-01-27 
04:48:39 UTC ---
I random.tcc in _Mod
__x = 1103527590
__m = 2147483648
__a = 1103515245
__c = 12345
  static const _Tp __q = __m / __a; // 1
  static const _Tp __r = __m % __a; // 1043968403

  _Tp __t1 = __a * (__x % __q); // 0
  _Tp __t2 = __r * (__x / __q); // 1152047935798738770
  if (__t1 = __t2)
__x = __t1 - __t2;  // 
  else
__x = __m - __t2 + __t1;// 17294696140058296494 !!!

  if (__c != 0)
{
  const _Tp __d = __m - __x;// 1152047935798738770
  if (__d  __c)
__x += __c; // 17294696140058308839
  else
__x = __c - __d;
}


[Bug c++/51852] [regression] [c++11] tree check: expected tree_list, have HßèMÕþÿøtxøtsø

2012-01-26 Thread zeratul976 at hotmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51852

--- Comment #14 from Nathan Ridge zeratul976 at hotmail dot com 2012-01-27 
05:37:21 UTC ---
(In reply to comment #13)
 One thing to do is to use --param ggc-min-expand=1 --param ggc-min-heapsize=1
 and try to reduce it from there.  And then when you get down use 0's instead 
 of
 1.  That should help with GC issues.

The error goes away when I add those options! Is that expected?


[Bug c++/51852] [regression] [c++11] tree check: expected tree_list, have HßèMÕþÿøtxøtsø

2012-01-26 Thread zeratul976 at hotmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51852

--- Comment #15 from Nathan Ridge zeratul976 at hotmail dot com 2012-01-27 
06:29:07 UTC ---
(In reply to comment #14)
 (In reply to comment #13)
  One thing to do is to use --param ggc-min-expand=1 --param 
  ggc-min-heapsize=1
  and try to reduce it from there.  And then when you get down use 0's 
  instead of
  1.  That should help with GC issues.
 
 The error goes away when I add those options! Is that expected?

On the other hand, if I add only --param gcc-min-expand=1, there error is still
there, and it seems to be much more stable now with respect to small changes in
the code. There may be hope for a reduction after all...


[Bug c++/51852] [regression] [c++11] tree check: expected tree_list, have HßèMÕþÿøtxøtsø

2012-01-26 Thread jason at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51852

Jason Merrill jason at gcc dot gnu.org changed:

   What|Removed |Added

 Status|WAITING |NEW

--- Comment #16 from Jason Merrill jason at gcc dot gnu.org 2012-01-27 
06:43:06 UTC ---
make check-g++-strict-gc finds failures on several variadic template tests,
including variadic99.C, so I don't think reducing your testcase is necessary.


[Bug c++/52014] New: [c++0x] g++: Segfault When `decltype` Used in Nested Lambda Function Defined in Class Member Function

2012-01-26 Thread cheesear at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52014

 Bug #: 52014
   Summary: [c++0x] g++: Segfault When `decltype` Used in Nested
Lambda Function Defined in Class Member Function
Classification: Unclassified
   Product: gcc
   Version: 4.6.1
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: chees...@gmail.com


Created attachment 26475
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=26475
File containing code sample with offending bug.

Hello everyone,

When I try to compile the attached C++ file using the following command, g++
undergoes an internal segmentation fault.

$ g++ -Wall -std=c++0x nested_lambda.cpp
nested_lambda.cpp: In lambda function:
nested_lambda.cpp:42:56: internal compiler error: Segmentation fault
Please submit a full bug report,
with preprocessed source if appropriate.
See file:///usr/share/doc/gcc-4.6/README.Bugs for instructions.
Preprocessed source stored into /tmp/ccqYohFA.out file, please attach this to
your bugreport.

I'm using g++ version 4.6.1, running on Linux Mint 12 64-bit, obtained from the
Ubuntu repository.


[Bug c++/52014] [c++0x] g++: Segfault When `decltype` Used in Nested Lambda Function Defined in Class Member Function

2012-01-26 Thread cheesear at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52014

--- Comment #1 from cheesear at gmail dot com 2012-01-27 07:05:26 UTC ---
Sorry, accidentally hit return before I was ready. The code sample fails to
compile because of the use of decltype in the parameter-list of the nested
lambda function defined in bar.test(). Using a typedef in advance will
circumvent this issue.


[Bug c++/51852] [regression] [c++11] tree check: expected tree_list, have HßèMÕþÿøtxøtsø

2012-01-26 Thread zeratul976 at hotmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51852

--- Comment #17 from Nathan Ridge zeratul976 at hotmail dot com 2012-01-27 
07:30:00 UTC ---
(In reply to comment #16)
 make check-g++-strict-gc finds failures on several variadic template tests,
 including variadic99.C, so I don't think reducing your testcase is necessary.

Already reduced it :) 
It was quite straightforward after using --param gcc-min-heapsize=0 - thanks
Andrew!


Testcase:

template typename, typename
class transformed {};

template class R, class F
transformedF, R transform(R r, F f);

template typename, typename
class joined {};

template typename T, typename U
joinedT, U join(T t, U u);  

template typename T, typename U, typename V, typename... Rest
auto join(T t, U u, V v, Rest... rest) - decltype(join(join(t, u), v,
rest...));  

template typename F, typename... Rs
auto polymorphic_transform(F f, Rs... rs) - decltype(join((transform(rs,
f))...));

int main()
{
polymorphic_transform(0, 0, 0);   
}


Compile with:

g++ -c --std=c++0x --param ggc-min-heapsize=0 test.cpp


Output:

'
tree check: expected tree_list, have Hßfè÷þÿø
ÐÝÿÿ¸l in eq_local_specializations, at cp/pt.c:1687