[Bug driver/53883] GCC 4.7.1 doesn't build on Mac OS X 10.4.11 Tiger/PowerPC (32-bit), at least with MacPorts

2012-07-10 Thread sch...@linux-m68k.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53883

--- Comment #6 from Andreas Schwab sch...@linux-m68k.org 2012-07-10 06:36:03 
UTC ---
*-darwin8 assumes ppc64 multilib, try --disable-multilib.


[Bug c++/53910] New: use -std=c++11 by default

2012-07-10 Thread wbrana at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53910

 Bug #: 53910
   Summary: use -std=c++11 by default
Classification: Unclassified
   Product: gcc
   Version: 4.7.1
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: wbr...@gmail.com


g++ could use -std=c++11 by default


[Bug c++/53549] [4.7/4.8 Regression] g++ and armadillo 3.2.0, operator() is inaccessible

2012-07-10 Thread conradsand.arma at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53549

--- Comment #10 from Conrad conradsand.arma at gmail dot com 2012-07-10 
07:22:00 UTC ---
Created attachment 27769
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=27769
arma323.ii.gz

Retested with gcc 4.7.1 and Armadillo 3.2.3 (latest upstream version).

This time a related but different bug in GCC is exposed.
arma323.ii.gz is the attached pre-processed source.

Code compiles fine on gcc 4.4.6 and clang 3.0.

/usr/local/bin/g++ arma323.cpp -o arma323 -O2 -Wall -pedantic

In file included from /usr/include/armadillo:141:0,
 from arma323.cpp:2:
/usr/include/armadillo_bits/Mat_bones.hpp:545:26: error: no members matching
‘arma::MateT::operator=’ in ‘class arma::MateT’
/usr/include/armadillo_bits/Mat_bones.hpp:546:27: error: no members matching
‘arma::MateT::operator()’ in ‘class arma::MateT’
In file included from /usr/include/armadillo:142:0,
 from arma323.cpp:2:
/usr/include/armadillo_bits/Col_bones.hpp:175:27: error: no members matching
‘arma::ColeT::operator()’ in ‘class arma::ColeT’
In file included from /usr/include/armadillo:143:0,
 from arma323.cpp:2:
/usr/include/armadillo_bits/Row_bones.hpp:173:27: error: no members matching
‘arma::RoweT::operator()’ in ‘class arma::RoweT’


GCC 4.7.1 was compiled directly from sources, using GCC 4.7.0 on a Fedora 17
machine.

/usr/local/bin/g++ -v

Using built-in specs.
COLLECT_GCC=/usr/local/bin/g++
COLLECT_LTO_WRAPPER=/usr/local/libexec/gcc/x86_64-unknown-linux-gnu/4.7.1/lto-wrapper
Target: x86_64-unknown-linux-gnu
Configured with: ./configure
Thread model: posix
gcc version 4.7.1 (GCC)


[Bug target/53911] New: [SH] Improve displacement addressing

2012-07-10 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53911

 Bug #: 53911
   Summary: [SH] Improve displacement addressing
Classification: Unclassified
   Product: gcc
   Version: 4.8.0
Status: UNCONFIRMED
  Severity: enhancement
  Priority: P3
 Component: target
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: olege...@gcc.gnu.org
Target: sh*-*-*


The address re-basing for displacement addresses could be improved by looking
at all the required displacements in a function.
The current approach re-bases an address on certain alignments and just hopes
that the new base address will be useful and that CSE will eliminate redundant
address re-base calculations.
Probably a target specific RTL pass is required to accomplish this.
Since address re-base calculations require additional registers it has an
impact on register allocation.  Thus the pass should be ran sometime after
combine and before reload.  On the other hand, reload itself might generate
displacement addresses to access pseudos on the stack, which also produces
displacement addressings.  Probably it would be useful to run the pass again
after reload, too.


[Bug c/53871] Please warn about endless loops if they are obvious

2012-07-10 Thread tim.ruehsen at gmx dot de
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53871

--- Comment #4 from Tim Ruehsen tim.ruehsen at gmx dot de 2012-07-10 07:58:26 
UTC ---
(In reply to comment #3)
 I have thought a lot how to attract more and new developers to GCC who will be
 willing to develop things that are not a priority for current developers, but 
 I
 don't have any solution to offer.

There is not one solution, but a mixture of approaches may attract some
developers.
What about these Summer of Code things, why not writing articles for
developer magazins. There is a need for good and easy tutorials about GIMPLE
and gcc plugins.

After your last post, I read about gcc plugins - very interesting indeed.
A quick search revealed some articles/tutorials, but non of them gave me an
instant kick to rush into. As far as I could see, you have to be an GIMPLE
expert, before you start reading one of these articles. That might discourage
some potential plugin developers.


 However, in terms of human resources, there is simply no one interested in
 working on this, ...

I am a senior developer, and I use gcc every day. But I wasn't aware of gcc's
plugin feature. Just spread the word and you might get some interested people.


[Bug bootstrap/53912] New: bootstrap fails at stage 2 with error: cast from 'void*' to 'long int' loses precision in ggc-common.c

2012-07-10 Thread rai...@emrich-ebersheim.de
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53912

 Bug #: 53912
   Summary: bootstrap fails at stage 2 with error: cast from
'void*' to 'long int' loses precision in ggc-common.c
Classification: Unclassified
   Product: gcc
   Version: 4.7.2
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: bootstrap
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: rai...@emrich-ebersheim.de


bootstrap native x86_64-w64-mingw32 fails at stage 2:

/SCRATCH/tmp.pBPKMqodMC/gcc-4.7.2/gcc-4.7.2/./prev-gcc/g++
-B/SCRATCH/tmp.pBPKMqodMC/gcc-4.7.2/gcc-4.7.2/./prev-gcc/
-B/opt/devel/gnu/gcc/MINGW_NT/x86_64-w64-mingw32/mingw-w64-runtime-trunk-svn/gcc-4.7.2/x86_64-w64-mingw32/bin/
-nostdinc++
-B/SCRATCH/tmp.pBPKMqodMC/gcc-4.7.2/gcc-4.7.2/prev-x86_64-w64-mingw32/libstdc++-v3/src/.libs
-B/SCRATCH/tmp.pBPKMqodMC/gcc-4.7.2/gcc-4.7.2/prev-x86_64-w64-mingw32/libstdc++-v3/libsupc++/.libs
-I/SCRATCH/tmp.pBPKMqodMC/gcc-4.7.2/gcc-4.7.2/prev-x86_64-w64-mingw32/libstdc++-v3/include/x86_64-w64-mingw32
-I/SCRATCH/tmp.pBPKMqodMC/gcc-4.7.2/gcc-4.7.2/prev-x86_64-w64-mingw32/libstdc++-v3/include
-I/SCRATCH/tmp.pBPKMqodMC/src/gcc-4.7.2/libstdc++-v3/libsupc++
-L/SCRATCH/tmp.pBPKMqodMC/gcc-4.7.2/gcc-4.7.2/prev-x86_64-w64-mingw32/libstdc++-v3/src/.libs
-L/SCRATCH/tmp.pBPKMqodMC/gcc-4.7.2/gcc-4.7.2/prev-x86_64-w64-mingw32/libstdc++-v3/libsupc++/.libs
-c   -g -O2 -D__USE_MINGW_ACCESS -Wno-pedantic-ms-format -gtoggle -DIN_GCC  
-fno-exceptions -fno-rtti -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual
-Wmissing-format-attribute -pedantic -Wno-long-long -Wno-variadic-macros
-Wno-overlength-strings   -DHAVE_CONFIG_H -I. -I. -I../../../src/gcc-4.7.2/gcc
-I../../../src/gcc-4.7.2/gcc/. -I../../../src/gcc-4.7.2/gcc/../include
-I./../intl -I../../../src/gcc-4.7.2/gcc/../libcpp/include
-I/SCRATCH/tmp.pBPKMqodMC/install/include
-I/SCRATCH/tmp.pBPKMqodMC/install/include
-I/SCRATCH/tmp.pBPKMqodMC/install/include 
-I../../../src/gcc-4.7.2/gcc/../libdecnumber
-I../../../src/gcc-4.7.2/gcc/../libdecnumber/bid -I../libdecnumber
-I/SCRATCH/tmp.pBPKMqodMC/install/include 
-I/SCRATCH/tmp.pBPKMqodMC/install/include 
../../../src/gcc-4.7.2/gcc/ggc-common.c -o ggc-common.o
../../../src/gcc-4.7.2/gcc/ggc-common.c: In function 'int
gt_pch_note_object(void*, void*, gt_note_pointers, gt_types_enum)':
../../../src/gcc-4.7.2/gcc/ggc-common.c:326:49: error: cast from 'void*' to
'long int' loses precision [-fpermissive]
../../../src/gcc-4.7.2/gcc/ggc-common.c: In function 'void
gt_pch_note_reorder(void*, void*, gt_handle_reorder)':
../../../src/gcc-4.7.2/gcc/ggc-common.c:359:44: error: cast from 'void*' to
'long int' loses precision [-fpermissive]
../../../src/gcc-4.7.2/gcc/ggc-common.c: In function 'hashval_t
saving_htab_hash(const void*)':
../../../src/gcc-4.7.2/gcc/ggc-common.c:370:10: error: cast from 'void*' to
'long int' loses precision [-fpermissive]
../../../src/gcc-4.7.2/gcc/ggc-common.c: In function 'void relocate_ptrs(void*,
void*)':
../../../src/gcc-4.7.2/gcc/ggc-common.c:443:45: error: cast from 'void*' to
'long int' loses precision [-fpermissive]
../../../src/gcc-4.7.2/gcc/ggc-common.c: In function 'void
write_pch_globals(const ggc_root_tab* const*, traversal_state*)':
../../../src/gcc-4.7.2/gcc/ggc-common.c:472:42: error: cast from 'void*' to
'long int' loses precision [-fpermissive]
make[3]: *** [ggc-common.o] Error 1
make[3]: Leaving directory `/SCRATCH/tmp.pBPKMqodMC/gcc-4.7.2/gcc-4.7.2/gcc'
make[2]: *** [all-stage2-gcc] Error 2
make[2]: Leaving directory `/SCRATCH/tmp.pBPKMqodMC/gcc-4.7.2/gcc-4.7.2'
make[1]: *** [stage2-bubble] Error 2
make[1]: Leaving directory `/SCRATCH/tmp.pBPKMqodMC/gcc-4.7.2/gcc-4.7.2'
make: *** [all] Error 2



If configured with --disable-build-poststage1-with-cxx bootstrap succeeds.


[Bug target/53854] ICE in find_constant_pool_ref

2012-07-10 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53854

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

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

--- Comment #3 from Jakub Jelinek jakub at gcc dot gnu.org 2012-07-10 
08:23:33 UTC ---
It is true that asm can occupy even zero bytes (or some bytes just in other
sections, but not in text section), so even allowing a single constant pool
reference in an inline asm might be too much (if you have thousands of such
inline asms next to each other).  No idea where would you reject the constant
pool references for the asm, inline asm can use any kind of constraints.


[Bug bootstrap/53913] New: [4.8 regression] resource.c:1179:5: error: 'current_function_decl' undeclared broke m68k bootstrap

2012-07-10 Thread mikpe at it dot uu.se
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53913

 Bug #: 53913
   Summary: [4.8 regression] resource.c:1179:5: error:
'current_function_decl' undeclared broke m68k
bootstrap
Classification: Unclassified
   Product: gcc
   Version: 4.8.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: bootstrap
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: mi...@it.uu.se


Attempting to build gcc-4.8-20120708 for m68k-linux fails with:

gcc -c   -g -O2 -DIN_GCC -DCROSS_DIRECTORY_STRUCTURE  -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   -DHAVE_CONFIG_H -I. -I.
-I/tmp/gcc-4.8-20120708/gcc -I/tmp/gcc-4.8-20120708/gcc/.
-I/tmp/gcc-4.8-20120708/gcc/../include
-I/tmp/gcc-4.8-20120708/gcc/../libcpp/include
-I/home/mikpe/pkgs/linux-x86_64/gmp-5.0.5/include
-I/home/mikpe/pkgs/linux-x86_64/mpfr-3.1.1/include
-I/home/mikpe/pkgs/linux-x86_64/mpc-0.9/include 
-I/tmp/gcc-4.8-20120708/gcc/../libdecnumber
-I/tmp/gcc-4.8-20120708/gcc/../libdecnumber/dpd -I../libdecnumber   
/tmp/gcc-4.8-20120708/gcc/resource.c -o resource.o
/tmp/gcc-4.8-20120708/gcc/resource.c: In function 'init_resource_info':
/tmp/gcc-4.8-20120708/gcc/resource.c:1179:5: error: 'current_function_decl'
undeclared (first use in this function)
/tmp/gcc-4.8-20120708/gcc/resource.c:1179:5: note: each undeclared identifier
is reported only once for each function it appears in
make[2]: *** [resource.o] Error 1
make[2]: Leaving directory `/tmp/objdir/gcc'
make[1]: *** [all-gcc] Error 2
make[1]: Leaving directory `/tmp/objdir'
make: *** [all] Error 2

Line 1175 is the conditional occurrence of EPILOGUE_USES(i).  The m68k
definition of EPILOGUE_USES references current_function_decl, and apparently
nothing brings in the needed header (tree.h) to resource.c any more.

4.8-20120701 builds fine, so this is a recent regression.

Appending an #include tree.h to the include block at the start of resource.c
makes a cross-build work, but that may not be the preferred fix.


[Bug target/53659] ARM: Using -mcpu=cortex-a9 option results in bad performance for Cortex-A9 processor in C-Ray phoronix benchmark

2012-07-10 Thread rearnsha at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53659

Richard Earnshaw rearnsha at gcc dot gnu.org changed:

   What|Removed |Added

 Target||arm

--- Comment #1 from Richard Earnshaw rearnsha at gcc dot gnu.org 2012-07-10 
08:48:24 UTC ---
What platform are you running on (GCC configuration)?

Please can you do some profiling and try to identify where the slowdown is
coming from.  We need more information if we are to progress this.


[Bug target/53283] [4.8 Regression] Many failures on x86_64-apple-darwin10 after revision 186789

2012-07-10 Thread iains at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53283

Iain Sandoe iains at gcc dot gnu.org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED

--- Comment #14 from Iain Sandoe iains at gcc dot gnu.org 2012-07-10 08:52:47 
UTC ---
fixed on trunk, remaining CFString errors are a different problem, needs a new
PR.


[Bug java/16132] Invalid double calculations on ARM (FPA)

2012-07-10 Thread rearnsha at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16132

Richard Earnshaw rearnsha at gcc dot gnu.org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||WONTFIX
   Target Milestone|--- |4.8.0

--- Comment #3 from Richard Earnshaw rearnsha at gcc dot gnu.org 2012-07-10 
08:59:10 UTC ---
FPA support has now been dropped in GCC.


[Bug c++/53882] [4.7/4.8 Regression] ICE in type_contains_placeholder_1, at tree.c:3015

2012-07-10 Thread jason at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53882

Jason Merrill jason at gcc dot gnu.org changed:

   What|Removed |Added

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

--- Comment #6 from Jason Merrill jason at gcc dot gnu.org 2012-07-10 
09:02:25 UTC ---
Fixed for 4.7.2.


[Bug target/38692] ep9312/maverick code generation is broken

2012-07-10 Thread rearnsha at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38692

Richard Earnshaw rearnsha at gcc dot gnu.org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||WONTFIX
   Target Milestone|--- |4.8.0

--- Comment #5 from Richard Earnshaw rearnsha at gcc dot gnu.org 2012-07-10 
09:03:07 UTC ---
Maverick support has now been dropped from GCC.


[Bug rtl-optimization/53908] [4.7 Regression] csa removes needed memory load

2012-07-10 Thread mikpe at it dot uu.se
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53908

Mikael Pettersson mikpe at it dot uu.se changed:

   What|Removed |Added

 CC||mikpe at it dot uu.se

--- Comment #1 from Mikael Pettersson mikpe at it dot uu.se 2012-07-10 
09:04:58 UTC ---
I can reproduce on sparc64-linux: gcc 4.4, 4.5, and 4.8 generate working code,
but 4.6 and 4.7 generate code that SEGVs.  I wasn't able to reproduce on ARMv5
or m68k.


[Bug c/53904] trunk has valgrind errors for c-c++-common/torture/complex-sign-mul.c on x86-64.

2012-07-10 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53904

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||INVALID

--- Comment #1 from Richard Guenther rguenth at gcc dot gnu.org 2012-07-10 
09:06:29 UTC ---
It's an optimization.


[Bug target/53907] gcc uses unaligned load when aligned load was requested

2012-07-10 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53907

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |ASSIGNED
   Last reconfirmed||2012-07-10
 AssignedTo|unassigned at gcc dot   |rguenth at gcc dot gnu.org
   |gnu.org |
 Ever Confirmed|0   |1

--- Comment #1 from Richard Guenther rguenth at gcc dot gnu.org 2012-07-10 
09:08:17 UTC ---
I will look at this.  It seems that CCP does not properly figure out alignment
here.


[Bug target/14352] New FP code not compiled for non-arm-elf targets

2012-07-10 Thread rearnsha at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14352

Richard Earnshaw rearnsha at gcc dot gnu.org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||WONTFIX
   Target Milestone|--- |4.8.0

--- Comment #7 from Richard Earnshaw rearnsha at gcc dot gnu.org 2012-07-10 
09:08:27 UTC ---
The none EABI configuration of arm-linux is no longer supported.


[Bug rtl-optimization/53908] [4.7 Regression] csa removes needed memory load

2012-07-10 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53908

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

   Target Milestone|--- |4.7.2


[Bug bootstrap/53912] [4.7 Regression] bootstrap fails at stage 2 with error: cast from 'void*' to 'long int' loses precision in ggc-common.c

2012-07-10 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53912

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

   Target Milestone|--- |4.7.2


[Bug bootstrap/53913] [4.8 regression] resource.c:1179:5: error: 'current_function_decl' undeclared broke m68k bootstrap

2012-07-10 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53913

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

   Target Milestone|--- |4.8.0


[Bug target/16314] EP9312 gcc: undefined reference to __divdf3

2012-07-10 Thread rearnsha at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16314

Richard Earnshaw rearnsha at gcc dot gnu.org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||WONTFIX
   Target Milestone|--- |4.8.0

--- Comment #14 from Richard Earnshaw rearnsha at gcc dot gnu.org 2012-07-10 
09:10:18 UTC ---
Maverick support has now been dropped from GCC.


[Bug target/53907] gcc uses unaligned load when aligned load was requested

2012-07-10 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53907

--- Comment #2 from Richard Guenther rguenth at gcc dot gnu.org 2012-07-10 
09:16:29 UTC ---
  s.0_2 = (sizetype) s_1(D);
  D.4303_3 = s.0_2  15;
  D.4304_4 = -D.4303_3;
  s_5 = s_1(D) + D.4304_4;
  sz_6 = MEM[(const __m128i * {ref-all})s_5];
  return sz_6;

it's hard to see for GCC that s_5 is aligned because of the way it is computed.
If I change the source to use

#include emmintrin.h
__m128i x(char *s){
__m128i sz,z,mvec;
s=(char *)(((unsigned long) s) -16);
sz=_mm_load_si128(s);
return sz;
}

then GCC sees that s is aligned.  The code generated for the re-alignment
is also simpler, thus we should do this transform somewhere.

I'll prepare a patch.


[Bug rtl-optimization/53908] [4.7 Regression] csa removes needed memory load

2012-07-10 Thread mikpe at it dot uu.se
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53908

--- Comment #2 from Mikael Pettersson mikpe at it dot uu.se 2012-07-10 
10:11:15 UTC ---
I can't reproduce on x86_64-linux, nor with a cross to sparc64-linux (only
natively on sparc64-linux so far).

HP: are you sure it fails on x86_64?

I'll try to bisect natively on sparc64, but that will take ages...


[Bug rtl-optimization/3507] appalling optimisation with sub/cmp on multiple targets

2012-07-10 Thread daniel.santos at pobox dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=3507

Daniel Santos daniel.santos at pobox dot com changed:

   What|Removed |Added

 CC||daniel.santos at pobox dot
   ||com

--- Comment #13 from Daniel Santos daniel.santos at pobox dot com 2012-07-10 
10:23:08 UTC ---
Well here's another test case for the same problem:

extern print_gt(void);
extern print_lt(void);
extern print_eq(void);

void cmp_and_branch(long a, long b)
{
long diff = a - b;

if (diff  0) {
print_gt();
} else if (diff  0) {
print_lt();
} else {
print_eq();
}
}

In this case, the result of the subtraction is directly used in the branch
code.  However, gcc -O2 -S still generates this output:

.filegcc_cmp_and_branch_test2.c
.text
.p2align 4,,15
.globlcmp_and_branch
.typecmp_and_branch, @function
cmp_and_branch:
.LFB0:
.cfi_startproc
subq%rsi, %rdi
cmpq$0, %rdi
jg.L5
jne.L6
jmpprint_eq
.p2align 4,,10
.p2align 3
.L5:
jmpprint_gt
.p2align 4,,10
.p2align 3
.L6:
jmpprint_lt
.cfi_endproc
.LFE0:
.sizecmp_and_branch, .-cmp_and_branch
.identGCC: (Gentoo 4.7.1) 4.7.1
.section.note.GNU-stack,,@progbits

I'm using Gentoo x86_64:

Using built-in specs.
COLLECT_GCC=/usr/x86_64-pc-linux-gnu/gcc-bin/4.7.1/gcc
COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-pc-linux-gnu/4.7.1/lto-wrapper
Target: x86_64-pc-linux-gnu
Configured with: /tmp/portage/sys-devel/gcc-4.7.1/work/gcc-4.7.1/configure
--prefix=/usr --bindir=/usr/x86_64-pc-linux-gnu/gcc-bin/4.7.1
--includedir=/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.1/include
--datadir=/usr/share/gcc-data/x86_64-pc-linux-gnu/4.7.1
--mandir=/usr/share/gcc-data/x86_64-pc-linux-gnu/4.7.1/man
--infodir=/usr/share/gcc-data/x86_64-pc-linux-gnu/4.7.1/info
--with-gxx-include-dir=/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.1/include/g++-v4
--host=x86_64-pc-linux-gnu --build=x86_64-pc-linux-gnu --disable-altivec
--disable-fixed-point --with-ppl --with-cloog --disable-ppl-version-check
--with-cloog-include=/usr/include/cloog-ppl --enable-lto --enable-nls
--without-included-gettext --with-system-zlib --enable-obsolete
--disable-werror --enable-secureplt --enable-multilib
--with-multilib-list=m32,m64 --enable-libmudflap --disable-libssp
--enable-libgomp
--with-python-dir=/share/gcc-data/x86_64-pc-linux-gnu/4.7.1/python
--enable-checking=release --enable-java-awt=gtk --enable-objc-gc
--enable-languages=c,c++,java,objc,obj-c++,fortran --enable-shared
--enable-threads=posix --enable-__cxa_atexit --enable-clocale=gnu
--enable-targets=all --with-bugurl=http://bugs.gentoo.org/
--with-pkgversion='Gentoo 4.7.1'
Thread model: posix
gcc version 4.7.1 (Gentoo 4.7.1) 

I do hope this can be addressed sometime soon.  Thanks.


[Bug c++/53531] ,,,, accepted as template arguments for variadic template

2012-07-10 Thread niels at penneman dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53531

Niels Penneman niels at penneman dot org changed:

   What|Removed |Added

 CC||niels at penneman dot org

--- Comment #1 from Niels Penneman niels at penneman dot org 2012-07-10 
10:37:34 UTC ---
Exactly the same behavior with both 4.6.3 and 4.7.1

Similar test case below. Adding a trailing comma to a list of template
arguments breaks the code but compiles successfully and without warnings. A
trailing comma in a template list of for instance boost::mpl::vector will make
the vector empty.

#
template typename ... Ts
struct S;

template typename T, typename ... Ts
struct ST, Ts ... { static constexpr int count = STs ...::count + 1; };

template typename T
struct ST { static constexpr int count = 1; };

int main()
{
  return Schar, int, long,::count;
}
#
$ g++ -v
Using built-in specs.
COLLECT_GCC=/usr/x86_64-pc-linux-gnu/gcc-bin/4.6.3/g++
COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-pc-linux-gnu/4.6.3/lto-wrapper
Target: x86_64-pc-linux-gnu
Configured with: /var/tmp/portage/sys-devel/gcc-4.6.3/work/gcc-4.6.3/configure
--prefix=/usr --bindir=/usr/x86_64-pc-linux-gnu/gcc-bin/4.6.3
--includedir=/usr/lib/gcc/x86_64-pc-linux-gnu/4.6.3/include
--datadir=/usr/share/gcc-data/x86_64-pc-linux-gnu/4.6.3
--mandir=/usr/share/gcc-data/x86_64-pc-linux-gnu/4.6.3/man
--infodir=/usr/share/gcc-data/x86_64-pc-linux-gnu/4.6.3/info
--with-gxx-include-dir=/usr/lib/gcc/x86_64-pc-linux-gnu/4.6.3/include/g++-v4
--host=x86_64-pc-linux-gnu --build=x86_64-pc-linux-gnu --disable-altivec
--disable-fixed-point --with-ppl --with-cloog --disable-ppl-version-check
--with-cloog-include=/usr/include/cloog-ppl --enable-lto --enable-nls
--without-included-gettext --with-system-zlib --enable-obsolete
--disable-werror --enable-secureplt --enable-multilib --disable-libmudflap
--disable-libssp --enable-libgomp
--with-python-dir=/share/gcc-data/x86_64-pc-linux-gnu/4.6.3/python
--enable-checking=release --disable-libgcj --disable-libquadmath
--enable-languages=c,c++ --enable-shared --enable-threads=posix
--enable-__cxa_atexit --enable-clocale=gnu --enable-targets=all
--with-bugurl=http://bugs.gentoo.org/ --with-pkgversion='Gentoo 4.6.3 p1.3,
pie-0.5.2'
Thread model: posix
gcc version 4.6.3 (Gentoo 4.6.3 p1.3, pie-0.5.2) 

$ g++ -v
Using built-in specs.
COLLECT_GCC=/usr/x86_64-pc-linux-gnu/gcc-bin/4.7.1/g++
COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-pc-linux-gnu/4.7.1/lto-wrapper
Target: x86_64-pc-linux-gnu
Configured with: /var/tmp/portage/sys-devel/gcc-4.7.1/work/gcc-4.7.1/configure
--prefix=/usr --bindir=/usr/x86_64-pc-linux-gnu/gcc-bin/4.7.1
--includedir=/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.1/include
--datadir=/usr/share/gcc-data/x86_64-pc-linux-gnu/4.7.1
--mandir=/usr/share/gcc-data/x86_64-pc-linux-gnu/4.7.1/man
--infodir=/usr/share/gcc-data/x86_64-pc-linux-gnu/4.7.1/info
--with-gxx-include-dir=/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.1/include/g++-v4
--host=x86_64-pc-linux-gnu --build=x86_64-pc-linux-gnu --disable-altivec
--disable-fixed-point --with-ppl --with-cloog --disable-ppl-version-check
--with-cloog-include=/usr/include/cloog-ppl --enable-lto --enable-nls
--without-included-gettext --with-system-zlib --enable-obsolete
--disable-werror --enable-secureplt --enable-multilib
--with-multilib-list=m32,m64 --disable-libmudflap --disable-libssp
--enable-libgomp
--with-python-dir=/share/gcc-data/x86_64-pc-linux-gnu/4.7.1/python
--enable-checking=release --disable-libgcj --disable-libquadmath
--enable-languages=c,c++ --enable-shared --enable-threads=posix
--enable-__cxa_atexit --enable-clocale=gnu --enable-targets=all
--with-bugurl=http://bugs.gentoo.org/ --with-pkgversion='Gentoo 4.7.1 p1.0,
pie-0.5.3'
Thread model: posix
gcc version 4.7.1 (Gentoo 4.7.1 p1.0, pie-0.5.3) 
#

Command: g++ -Wall -Wextra -std=c++0x undef.cpp
Output: none, completes succesfully

Command: ./a.out ; echo $?
Output: 0

When omitting the trailing comma, return status of compiled application is 3 as
expected.


[Bug rtl-optimization/3507] appalling optimisation with sub/cmp on multiple targets

2012-07-10 Thread owner at bugs dot debian.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=3507

--- Comment #14 from owner at bugs dot debian.org 2012-07-10 10:54:26 UTC ---
Thank you for the additional information you have supplied regarding
this Bug report.

This is an automatically generated reply to let you know your message
has been received.

Your message has not been forwarded to the package maintainers or
other interested parties; you should ensure that the developers are
aware of the problem you have entered into the system - preferably
quoting the Bug reference number, #75773.

If you wish to submit further information on this problem, please
send it to 75773-qu...@bugs.debian.org.

Please do not send mail to ow...@bugs.debian.org unless you wish
to report a problem with the Bug-tracking system.


[Bug c++/53531] ,,,, accepted as template arguments for variadic template

2012-07-10 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53531

Jonathan Wakely redi at gcc dot gnu.org changed:

   What|Removed |Added

 CC||jason at gcc dot gnu.org

--- Comment #2 from Jonathan Wakely redi at gcc dot gnu.org 2012-07-10 
11:01:40 UTC ---
It's now rejected on trunk:

c.cc:3:15: error: template argument 1 is invalid
 int i = S::undefined;
   ^
c.cc:3:15: error: template argument 2 is invalid
c.cc:3:15: error: template argument 3 is invalid
c.cc:3:15: error: template argument 4 is invalid
c.cc:3:15: error: template argument 5 is invalid

(I might have been using an older 4.8 snapshot when I reported the bug, not
sure now.)

Jason, any idea which patch fixed these cases and if we need anything in the
testsuite to prevent regressions before closing it?


[Bug c++/53900] [regression] Too optimistic on a alignment assert

2012-07-10 Thread gael.guennebaud at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53900

--- Comment #4 from Gael Guennebaud gael.guennebaud at gmail dot com 
2012-07-10 11:09:16 UTC ---
Created attachment 27770
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=27770
Another demonstration of the issue using std::vector

Note that when we declare:

__attribute__((aligned(16))) float array[4];

we request GCC to give us an aligned array, and we are not telling gcc that
array is aligned that is slightly different. I attached another example
demonstrating the problem:

a simple declaration like:

 std::vectorFoo vec(5);

generates unaligned arrays that are not caught by assertion because it has been
removed by gcc 4.7. Outputs are as follow:

$ g++-4.7 -m32 alignedassert.cpp  ./a.out
ctor 0xffdc58f0
copy 0x9f72008
copy 0x9f72018
copy 0x9f72028
copy 0x9f72038
copy 0x9f72048
ctor 0xffdc5900

g++-4.6  -m32 alignedassert.cpp  ./a.out
ctor 0xff8e19e0
copy 0x98e2008
a.out: alignedassert.cpp:18: Foo::Foo(const Foo): Assertion
`(std::ptrdiff_t(array) % std::ptrdiff_t(16))==0' failed.
Aborted


[Bug gcov-profile/53546] gcc ICEs when using -fripa at varpool.c:45

2012-07-10 Thread asharif at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53546

--- Comment #2 from asharif at gcc dot gnu.org 2012-07-10 11:43:31 UTC ---
-fripa is the IPA optimizer in the google/* branches of gcc. It does
lightweight IPO based on PGO/FDO.


[Bug bootstrap/53913] [4.8 regression] resource.c:1179:5: error: 'current_function_decl' undeclared broke m68k bootstrap

2012-07-10 Thread schwab at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53913

--- Comment #1 from Andreas Schwab schwab at gcc dot gnu.org 2012-07-10 
11:48:07 UTC ---
Author: schwab
Date: Tue Jul 10 11:48:00 2012
New Revision: 189410

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=189410
Log:
PR bootstrap/53913
* config/m68k/m68k.c (m68k_epilogue_uses): New.
* config/m68k/m68k.h (EPILOGUE_USES): Use it.
* config/m68k/m68k-protos.h (m68k_epilogue_uses): Add prototype.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/m68k/m68k-protos.h
trunk/gcc/config/m68k/m68k.c
trunk/gcc/config/m68k/m68k.h


[Bug bootstrap/53913] [4.8 regression] resource.c:1179:5: error: 'current_function_decl' undeclared broke m68k bootstrap

2012-07-10 Thread sch...@linux-m68k.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53913

Andreas Schwab sch...@linux-m68k.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||FIXED

--- Comment #2 from Andreas Schwab sch...@linux-m68k.org 2012-07-10 11:53:10 
UTC ---
Fixed.


[Bug gcov-profile/53547] Changing the source file between -fprofile-generate and -fprofile-use can lead to performance degradation

2012-07-10 Thread asharif at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53547

--- Comment #3 from asharif at gcc dot gnu.org 2012-07-10 12:00:21 UTC ---
+cc: Jan Hubicka

The use case here represents what happened as we were deploying for Chrome (the
browser). Chrome is a moving source base and they did not want to integrate PGO
into their build system. Doing so would require their nightly builders to run
instrumented Chrome binaries on various devices (example, x86- and arm- based
devices), get the PGO data and rebuild the optimized binary.

Instead they wanted to generate PGO data offline and use it for slightly newer
code. That way they could decouple the generation of PGO data from their build
system. That is understandable because changing the build systems for large
projects is a tedious task.

Currently there are problems with offline PGO:

1. gcc can ICE in certain situations when the profile is out of date.
2. gcc thinks that the mismatched functions execute exactly 0 times and still
considers the program summary of PGO to be valid (that includes run_max,
sum_max, etc.). This misleads gcc into believing that the hot functions are
cold (if they have mismatches).

gcc should distinguish the case where the edge counts are truly 0, vs. the case
where there is a profile mismatch. My patch addresses that.

In general, I think PGO will get higher adoption if we make it resilient to
slight changes in source code. That way developers can generate good PGO data
independently of their nightly builds.

Right now the situation is such that gcc's profile files have function ids with
checksums instead of function names. If we add a single dummy function to the
compilation unit, all the function ids are different and the entire profile
file has checksum mismatches. My patch just addresses a part of the problem. If
gcc uses function names instead of ids, gcc will be able to tolerate more
source changes and I think PGO adoption will increase.


[Bug target/47066] HOST=i386-unknown-freebsd6.2, TARGET=arm--elf, cpu=arm7tdmi

2012-07-10 Thread rearnsha at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47066

Richard Earnshaw rearnsha at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||WONTFIX
   Target Milestone|--- |4.8.0

--- Comment #2 from Richard Earnshaw rearnsha at gcc dot gnu.org 2012-07-10 
12:16:06 UTC ---
This problem was specific to pre-eabi ports (and the way they failed to
correctly tag some object files).  Now these have been obsoleted, this is now a
non-issue.


[Bug target/47091] non-elf arm targets fail to build

2012-07-10 Thread rearnsha at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47091

Richard Earnshaw rearnsha at gcc dot gnu.org changed:

   What|Removed |Added

 Target|arm-netbsd, arm-pe, |arm-netbsd
   |arm-wince-pe|

--- Comment #7 from Richard Earnshaw rearnsha at gcc dot gnu.org 2012-07-10 
12:25:01 UTC ---
arm-pe and arm-wince-pe targets have now been removed from GCC.


[Bug target/53859] ICE when calculate insn latency for armv7e-m arch in O2 level

2012-07-10 Thread gretay at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53859

gretay at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |ASSIGNED
   Last reconfirmed||2012-07-10
 CC||gretay at gcc dot gnu.org
 AssignedTo|unassigned at gcc dot   |gretay at gcc dot gnu.org
   |gnu.org |
 Ever Confirmed|0   |1

--- Comment #2 from gretay at gcc dot gnu.org 2012-07-10 12:25:36 UTC ---
Here is a patch that should fix it:
http://gcc.gnu.org/ml/gcc-patches/2012-07/msg00380.html

It would be great if you could try this patch in your setting and let me know
if it solves the problem.

Thank you,
Greta


[Bug target/47088] arm-freebsd6 fails to build

2012-07-10 Thread rearnsha at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47088

Richard Earnshaw rearnsha at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||WONTFIX
   Target Milestone|--- |4.8.0

--- Comment #1 from Richard Earnshaw rearnsha at gcc dot gnu.org 2012-07-10 
12:27:25 UTC ---
Arm-FreeBSD port was unmaintained and has been removed.


[Bug c++/53531] ,,,, accepted as template arguments for variadic template

2012-07-10 Thread jason at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53531

--- Comment #3 from Jason Merrill jason at gcc dot gnu.org 2012-07-10 
12:58:25 UTC ---
(In reply to comment #2)
 Jason, any idea which patch fixed these cases and if we need anything in the
 testsuite to prevent regressions before closing it?

Nothing springs to mind.  grep ,, variadic* doesn't get any hits, so adding a
testcase wouldn't hurt.


[Bug c++/53531] ,,,, accepted as template arguments for variadic template

2012-07-10 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53531

Jonathan Wakely redi at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |ASSIGNED
   Last reconfirmed||2012-07-10
 AssignedTo|unassigned at gcc dot   |redi at gcc dot gnu.org
   |gnu.org |
 Ever Confirmed|0   |1

--- Comment #4 from Jonathan Wakely redi at gcc dot gnu.org 2012-07-10 
13:03:09 UTC ---
OK, thanks, I'll do that.

I tried reverting the patch for PR 47220 but that wasn't it, and I didn't look
any further.


[Bug target/53914] New: poor code generated for offset addressing on ppc32

2012-07-10 Thread amodra at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53914

 Bug #: 53914
   Summary: poor code generated for offset addressing on ppc32
Classification: Unclassified
   Product: gcc
   Version: 4.8.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: target
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: amo...@gmail.com


/* -m32 -O2 code for f5 thru f12 store y to a stack slot, load that to
   a fpr, then store the fpr.  The other function store y directly
   from the input r5 and r6 as expected.  */
void f1 (void *x, long long y) { *(long long *) (x + 32767) = y; }
void f2 (void *x, long long y) { *(long long *) (x + 32766) = y; }
void f3 (void *x, long long y) { *(long long *) (x + 32765) = y; }
void f4 (void *x, long long y) { *(long long *) (x + 32764) = y; }
void f5 (void *x, long long y) { *(long long *) (x + 32763) = y; }
void f6 (void *x, long long y) { *(long long *) (x + 32762) = y; }
void f7 (void *x, long long y) { *(long long *) (x + 32761) = y; }
void f8 (void *x, long long y) { *(long long *) (x + 32760) = y; }
void f9 (void *x, long long y) { *(long long *) (x + 32759) = y; }
void f10 (void *x, long long y) { *(long long *) (x + 32758) = y; }
void f11 (void *x, long long y) { *(long long *) (x + 32757) = y; }
void f12 (void *x, long long y) { *(long long *) (x + 32756) = y; }
void f13 (void *x, long long y) { *(long long *) (x + 32755) = y; }
void f14 (void *x, long long y) { *(long long *) (x + 32754) = y; }
void f15 (void *x, long long y) { *(long long *) (x + 32753) = y; }
void f16 (void *x, long long y) { *(long long *) (x + 32752) = y; }
void f17 (void *x, long long y) { *(long long *) (x + 32751) = y; }
void f18 (void *x, long long y) { *(long long *) (x + 32750) = y; }
void f19 (void *x, long long y) { *(long long *) (x + 32749) = y; }
void f20 (void *x, long long y) { *(long long *) (x + 32748) = y; }


[Bug target/43703] Unexpected floating point precision loss due to ARM NEON autovectorization

2012-07-10 Thread rearnsha at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43703

Richard Earnshaw rearnsha at gcc dot gnu.org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED
   Target Milestone|--- |4.6.0
  Known to fail||

--- Comment #9 from Richard Earnshaw rearnsha at gcc dot gnu.org 2012-07-10 
13:22:33 UTC ---
Fixed in 4.6.0.  4.5 is no-longer being maintained.


[Bug gcov-profile/53915] New: gcov -f rounding problem

2012-07-10 Thread vincent-gcc at vinc17 dot net
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53915

 Bug #: 53915
   Summary: gcov -f rounding problem
Classification: Unclassified
   Product: gcc
   Version: 4.7.1
Status: UNCONFIRMED
  Severity: minor
  Priority: P3
 Component: gcov-profile
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: vincent-...@vinc17.net


I have the following problem with gcov 4.7.1 under Debian:

ypig:/tmp/ompfr-gcov/src gcov -f round_prec.c
Function 'mpfr_can_round_raw'
Lines executed:100.00% of 44

Function 'mpfr_can_round'
Lines executed:100.00% of 4

Function 'mpfr_prec_round'
Lines executed:100.00% of 31

Function 'mpfr_round_raw_4'
Lines executed:95.00% of 60

Function 'mpfr_round_raw_2'
Lines executed:99.99% of 9

Function 'mpfr_round_raw'
Lines executed:100.00% of 7

File 'round_prec.c'
Lines executed:100.00% of 79
Creating 'round_prec.c.gcov'

File 'round_raw_generic.c'
Lines executed:97.37% of 76
Creating 'round_raw_generic.c.gcov'

File '/usr/include/gmp-x86_64.h'
No executable lines
Removing 'gmp-x86_64.h.gcov'

See the result for Function 'mpfr_round_raw_2': 99.99% of 9. This is not
possible! Either all the lines are executed, in which case one should get 100%,
or at most 8 lines of 9 are executed, in which case one should get 88.89% at
most.

This is reproducible on a Debian/unstable amd64 machine with MPFR trunk r8346
by running the tools/coverage script.

I've also reported with bug on the Debian BTS:

  http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=681076


[Bug target/53914] poor code generated for offset addressing on ppc32

2012-07-10 Thread amodra at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53914

Alan Modra amodra at gmail dot com changed:

   What|Removed |Added

 Target||powerpc-linux

--- Comment #1 from Alan Modra amodra at gmail dot com 2012-07-10 13:32:47 
UTC ---
Appears to be caused by o constraint in movdi_internal32 used for gpr-mem
disallowing offsets larger than 32k-12 due to rs6000_mode_dependent_address. 
m is used for fpr-mem, so reload chooses a fpr.


[Bug target/53914] poor code generated for offset addressing on ppc32

2012-07-10 Thread amodra at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53914

Alan Modra amodra at gmail dot com changed:

   What|Removed |Added

 Status|UNCONFIRMED |ASSIGNED
   Last reconfirmed||2012-07-10
 AssignedTo|unassigned at gcc dot   |amodra at gmail dot com
   |gnu.org |
 Ever Confirmed|0   |1


[Bug target/43047] internal compiler error: in extract_insn, at recog.c:2048

2012-07-10 Thread rearnsha at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43047

Richard Earnshaw rearnsha at gcc dot gnu.org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||WONTFIX
   Target Milestone|--- |4.8.0

--- Comment #14 from Richard Earnshaw rearnsha at gcc dot gnu.org 2012-07-10 
14:14:52 UTC ---
Wince support has been dropped in GCC-4.8


[Bug gcov-profile/53915] gcov -f rounding problem

2012-07-10 Thread vincent-gcc at vinc17 dot net
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53915

--- Comment #1 from Vincent Lefèvre vincent-gcc at vinc17 dot net 2012-07-10 
14:27:28 UTC ---
The problem is probably in gcc/gcov.c, function format_gcov, which has:

  float ratio = bottom ? (float)top / bottom : 0;
  int ix;
  unsigned limit = 100;
  unsigned percent;

  for (ix = dp; ix--; )
limit *= 10;

  percent = (unsigned) (ratio * limit + (float)0.5);

Using double instead of float would be a first improvement (2 occurrences in
the first line, cast to be removed in the last line). Also, multiplying top by
limit (after a cast to double) before dividing by bottom should be better, as
the first operation (the multiplication) would be done exactly in practice.
Something like that:

  percent = (unsigned) ((double) top * limit / bottom + 0.5);

or even:

  percent = (unsigned) (((double) top * limit + (double) bottom / 2) / bottom);


[Bug gcov-profile/53915] gcov -f rounding problem

2012-07-10 Thread vincent-gcc at vinc17 dot net
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53915

--- Comment #2 from Vincent Lefèvre vincent-gcc at vinc17 dot net 2012-07-10 
14:46:28 UTC ---
Actually this should not be the problem, because if top = bottom = 9, then the
division is done exactly anyway; moreover percent = limit - 1; won't be
executed in this case due to the condition top != bottom. Now, I can't explain
the result.


[Bug gcov-profile/53915] gcov can call format_gcov with top bottom, which is unexpected

2012-07-10 Thread vincent-gcc at vinc17 dot net
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53915

Vincent Lefèvre vincent-gcc at vinc17 dot net changed:

   What|Removed |Added

Summary|gcov -f rounding problem|gcov can call format_gcov
   ||with top  bottom, which is
   ||unexpected
   Severity|minor   |normal

--- Comment #3 from Vincent Lefèvre vincent-gcc at vinc17 dot net 2012-07-10 
15:19:20 UTC ---
After recompiling gcov with the -g option and testing with gdb:

Function 'mpfr_round_raw_2'

Breakpoint 1, format_gcov (top=10, bottom=9, dp=2) at ../../src/gcc/gcov.c:1651

and obviously the format_gcov function doesn't handle this case.


[Bug lto/53831] [4.7/4.8 Regression] Virtuals missing in LTO symtab

2012-07-10 Thread tetra2005 at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53831

--- Comment #23 from Yuri Gribov tetra2005 at gmail dot com 2012-07-10 
15:34:02 UTC ---
The C++ Standard says that an inline function shall be defined in every
translation unit in which it is used (n1905, 7.1.2). The test in question
violates this rule: definition for C::f() is present only in impl.cpp.

Should we consider the test invalid?


[Bug rtl-optimization/53916] New: [mips16] divide operation compiled result incorrect with GCC-4.6.3 '-O2' option

2012-07-10 Thread anmin_deng at yahoo dot com.tw
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53916

 Bug #: 53916
   Summary: [mips16] divide operation compiled result incorrect
with GCC-4.6.3 '-O2' option
Classification: Unclassified
   Product: gcc
   Version: 4.6.3
Status: UNCONFIRMED
  Severity: major
  Priority: P3
 Component: rtl-optimization
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: anmin_d...@yahoo.com.tw


A simple C code with a simple divide operation to have incorrect compile result
with '-O2' option (hence incorrect run time execution result).

The very same C code compile result is OK with '-Os' option.

I have not tested with other version of GCC, the compiler in question is a
cross compiler GCC-4.6.3, target: mips-elf, host/build: i686-pc-cygwin.
Here is the details...


=== full command line options =
$ /cygdrive/c/Progra~1/vendor/tool-chain4/bin/mipsel-vendor-elf-gcc -mips16
-mips4 -msym32 -membedded-data -muninit-const-in-rodata -mcode-readable=pcrel
-fno-common -msoft-float -EL -ansi -Wall -Wextra -G 0 -O2 -S afvals.c -o
afvals.O2.S -v -save-temps

=== full console output messages =
Using built-in specs.
COLLECT_GCC=/cygdrive/c/Progra~1/vendor/tool-chain4/bin/mipsel-vendor-elf-gcc
COLLECT_LTO_WRAPPER=/cygdrive/c/Progra~1/vendor/tool-chain4/libexec/gcc/mipsel-vendor-elf/4.6.3/lto-wrapper.exe
Target: mipsel-vendor-elf
Configured with: ../gcc-4.6.3/configure NEWLIB_CFLAGS=-D_R3000 LDFLAGS=--static
--prefix='/cygdrive/c/Progra~1/vendor/tool-chain4' --target=mipsel-vendor-elf
--build=i686-pc-cygwin --host=i686-pc-cygwin
--with-sysroot='/cygdrive/c/Progra~1/vendor/tool-chain4' --with-gnu-as
--with-gnu-ld --with-float=hard --disable-threads --with-stabs --disable-nls
--disable-shared --with-newlib --without-headers --disable-biendian
--with-divide=breaks --without-llsc --without-synci --disable-initfini-array
--enable-version-specific-runtime-libs --enable-languages=c,c++
--disable-libssp --disable-libquadmath --disable-libgomp --disable-lto
--disable-add-ons --enable-target-optspace --disable-profile
--disable-nss-crypt --disable-nss --enable-cloog-backend=isl
--with-host-libstdcxx=-Wl,-Bstatic,-lstdc++
Thread model: single
gcc version 4.6.3
COLLECT_GCC_OPTIONS='-mips16' '-mips4' '-msym32' '-membedded-data'
'-muninit-const-in-rodata' '-mcode-readable=pcrel' '-fno-common' '-msoft-float'
'-EL' '-ansi' '-Wall' '-Wextra' '-G' '0' '-O2' '-S' '-o' 'afvals.O2.S' '-v'
'-save-temps' '-mdivide-breaks' '-mno-llsc' '-mno-synci'

/cygdrive/c/Progra~1/vendor/tool-chain4/libexec/gcc/mipsel-vendor-elf/4.6.3/cc1.exe
-E -quiet -v -imultilib soft-float afvals.c -G 0 -mel -mips16 -mips4 -msym32
-membedded-data -muninit-const-in-rodata -mcode-readable=pcrel -msoft-float
-mdivide-breaks -mno-llsc -mno-synci -ansi -Wall -Wextra -fno-common -O2
-fpch-preprocess -o afvals.i
ignoring nonexistent directory
/cygdrive/c/Progra~1/vendor/tool-chain4/usr/local/include
ignoring nonexistent directory
/cygdrive/c/Progra~1/vendor/tool-chain4/usr/include
#include ... search starts here:
#include ... search starts here:

/cygdrive/c/Progra~1/vendor/tool-chain4/lib/gcc/mipsel-vendor-elf/4.6.3/include

/cygdrive/c/Progra~1/vendor/tool-chain4/lib/gcc/mipsel-vendor-elf/4.6.3/include-fixed

/cygdrive/c/Progra~1/vendor/tool-chain4/lib/gcc/mipsel-vendor-elf/4.6.3/../../../../mipsel-vendor-elf/include
End of search list.
COLLECT_GCC_OPTIONS='-mips16' '-mips4' '-msym32' '-membedded-data'
'-muninit-const-in-rodata' '-mcode-readable=pcrel' '-fno-common' '-msoft-float'
'-EL' '-ansi' '-Wall' '-Wextra' '-G' '0' '-O2' '-S' '-o' 'afvals.O2.S' '-v'
'-save-temps' '-mdivide-breaks' '-mno-llsc' '-mno-synci'
/cygdrive/c/Progra~1/vendor/tool-chain4/libexec/gcc/mipsel-vendor-elf/4.6.3/cc1.exe
-fpreprocessed afvals.i -G 0 -mel -quiet -dumpbase afvals.c -mips16 -mips4
-msym32 -membedded-data -muninit-const-in-rodata -mcode-readable=pcrel
-msoft-float -mdivide-breaks -mno-llsc -mno-synci -auxbase-strip afvals.O2.S
-O2 -Wall -Wextra -ansi -version -fno-common -o afvals.O2.S
GNU C version 4.6.3 (mipsel-vendor-elf)
compiled by GNU C version 4.5.3, GMP version 5.0.4, MPFR version
3.1.0-p7, MPC version 0.9
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
GNU C version 4.6.3 (mipsel-vendor-elf)
compiled by GNU C version 4.5.3, GMP version 5.0.4, MPFR version
3.1.0-p7, MPC version 0.9
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
Compiler executable checksum: 301b4a641126d25934d363679c94e6be

[Bug middle-end/53917] New: Warning message line about variable points to place where variable doesn't occur

2012-07-10 Thread Paulo.Matos at csr dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53917

 Bug #: 53917
   Summary: Warning message line about variable points to place
where variable doesn't occur
Classification: Unclassified
   Product: gcc
   Version: 4.6.3
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: middle-end
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: paulo.ma...@csr.com


Created attachment 27771
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=27771
Testcase

Hi,

I have noticed that when compiling the following test case (will attach to the
bug):

test1.c:
int a, b;
void fn1 ();
typedef enum
{
READ_WRITE
} TAG_STATE;
TAG_STATE fn2 ();
void
fn3 ()
{
int c;
if (a)
c = 0;
else
switch (fn2 ())
case 0:
c = 1;
b = c;
if (b)
fn1 ();
}

gcc says:
$  gcc -Os -S -Wall test1.c
test1.c: In function 'fn3':
test1.c:19:8: warning: 'c' may be used uninitialized in this function
[-Wuninitialized]

However line 19 is 'if (b)'.

Used gcc46 but also reproducible with gcc47.


[Bug middle-end/53917] Warning message line about variable points to place where variable doesn't occur

2012-07-10 Thread Paulo.Matos at csr dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53917

--- Comment #1 from Paulo J. Matos Paulo.Matos at csr dot com 2012-07-10 
16:37:20 UTC ---
Here's another example:
void fn1 ();
typedef struct
{
int hdr[0];
} foo;
typedef enum
{
READ_WRITE
} bar;
typedef struct
{
struct
{
foo t1;
} mp;
} foobar;
bar fn2 ();
typedef struct
{
foobar tag_mem_config;
} tag;
static int
fn3 (foobar * p1)
{
int valid;
if (p1-mp.t1.hdr[0])
valid = 0;
else
switch (fn2 ())
case 0:
valid = 1;
return valid;
}
void
fn4 ()
{
tag p_t1_rw_fsm_data;
if (fn3 (p_t1_rw_fsm_data.tag_mem_config))
fn1 ();
}

GCC says:
test.c: In function 'fn4':
test.c:38:8: warning: 'valid' may be used uninitialized in this function
[-Wuninitialized]


Again, line 38 is: if (fn3 (p_t1_rw_fsm_data.tag_mem_config))
In this case this looks like it's related to inlining.


[Bug other/53918] New: Incorrect version for cloog-ppl listed in prerequisites.html

2012-07-10 Thread schnetter at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53918

 Bug #: 53918
   Summary: Incorrect version for cloog-ppl listed in
prerequisites.html
Classification: Unclassified
   Product: gcc
   Version: 4.7.1
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: other
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: schnet...@gmail.com


The file INSTALL/prerequisites.html lists the file cloog-ppl-0.15.tar.gz as
prerequisite. This is incorrect:
(1) a file with this exact name does not exist at the location
ftp://gcc.gnu.org/pub/gcc/infrastructure/
(2) e.g. the file cloog-ppl-0.15.9.tar.gz does not work, as it requires
ppl-0.10, but the prerequisites explicitly require ppl-0.11

I believe that pointing to the file cloog-ppl-0.15.11.tar.gz instead would be
correct.


[Bug middle-end/53917] Warning message line about variable points to place where variable doesn't occur

2012-07-10 Thread Paulo.Matos at csr dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53917

--- Comment #2 from Paulo J. Matos Paulo.Matos at csr dot com 2012-07-10 
16:38:22 UTC ---
Created attachment 27772
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=27772
Another testcase (inlining issue)


[Bug rtl-optimization/53908] [4.7 Regression] csa removes needed memory load

2012-07-10 Thread hp at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53908

--- Comment #3 from Hans-Peter Nilsson hp at gcc dot gnu.org 2012-07-10 
17:03:14 UTC ---
(In reply to comment #2)
 I can't reproduce on x86_64-linux, 

Odd.  What does valgrind say / did you check the generated code?

 HP: are you sure it fails on x86_64?

Yes, as written.  N.B.: I used --disable-bootstrap, but that shouldn't have any
significance modulo bugs.  Host (native) compiler was the mentioned Debian
4.4.5-8 x86_64 gcc, but not for all targets and only for pristine FSF code
checks.  Are you sure you used the gcc 4.7 branch for x86_64? ;)

It can't be ruled out of course that there's some address hash thing clouding
the issue, but the reproducibility seems stable (same gcc binary on different
targets; different host gcc).


[Bug web/53919] New: Version-specific install instructions not available

2012-07-10 Thread schnetter at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53919

 Bug #: 53919
   Summary: Version-specific install instructions not available
Classification: Unclassified
   Product: gcc
   Version: 4.7.1
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: web
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: schnet...@gmail.com


The gcc web site does not seem to list version-specific install instructions.
This is inconvenient, since e.g. prerequisites or other details may differ
significantly between different versions.

http://gcc.gnu.org/install/ shows install instructions, but these seem to
pertain to the (unreleased) trunk. Unfortunately, this fact is not even
mentioned.

http://gcc.gnu.org/onlinedocs/ only has the manual, not the install
instructions.

The online install instructions should prominently mention that they are not
valid for any released version, and that one should download the release and
read those install instructions instead. Alternatively, the version-specific
install instructions should be added next to the online manual.


[Bug web/53919] Version-specific install instructions not available

2012-07-10 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53919

--- Comment #1 from Jonathan Wakely redi at gcc dot gnu.org 2012-07-10 
17:41:19 UTC ---
(In reply to comment #0)
 The online install instructions should prominently mention that they are not
 valid for any released version

They generally are valid.


[Bug preprocessor/53920] New: gcc -E does not honor #pragma GCC diagnostic ignored -Wunused-macro

2012-07-10 Thread naesten at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53920

 Bug #: 53920
   Summary: gcc -E does not honor #pragma GCC diagnostic ignored
-Wunused-macro
Classification: Unclassified
   Product: gcc
   Version: 4.7.1
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: preprocessor
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: naes...@gmail.com


iMac:gcc-bugs user$ cat cpp-pragma-GCC-diagnostic.c

#pragma GCC diagnostic ignored -Wunused-macros
#define FOO

iMac:gcc-bugs user$ gcc-fsf-4.7 -Wunused-macros cpp-pragma-GCC-diagnostic.c -E
# 1 cpp-pragma-GCC-diagnostic.c
# 1 command-line
# 1 cpp-pragma-GCC-diagnostic.c

#pragma GCC diagnostic ignored -Wunused-macros
cpp-pragma-GCC-diagnostic.c:3:0: warning: macro FOO is not used
[-Wunused-macros]
iMac:gcc-bugs user$ gcc-fsf-4.7 --version
gcc-fsf-4.7 (GCC) 4.7.1
Copyright (C) 2012 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.


[Bug target/53811] ICE: in insn_default_length, at config/i386/i386.md:529 (unrecognizable insn) with -mcmodel=large

2012-07-10 Thread uros at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53811

--- Comment #9 from uros at gcc dot gnu.org 2012-07-10 17:53:53 UTC ---
Author: uros
Date: Tue Jul 10 17:53:48 2012
New Revision: 189412

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=189412
Log:
Backport from mainline
2012-07-03  Uros Bizjak  ubiz...@gmail.com

PR target/53811
* config/i386/i386.c (x86_output_mi_thunk): Check if fnaddr satisfies
sibcall_insn_operand.  Move it to a temporary register if not.

2012-07-06  Uros Bizjak  ubiz...@gmail.com

PR target/53853
* config/i386/i386.c (x86_output_mi_thunk): For CM_LARGE_PIC model,
emit PIC sequence for fnaddr symbol reference in advance.

testsuite/ChangeLog:

Backport from mainline
2012-07-03  Uros Bizjak  ubiz...@gmail.com

PR target/53811
* g++.dg/other/pr53811.C: New test.


Added:
branches/gcc-4_7-branch/gcc/testsuite/g++.dg/other/pr53811.C
Modified:
branches/gcc-4_7-branch/gcc/ChangeLog
branches/gcc-4_7-branch/gcc/config/i386/i386.c
branches/gcc-4_7-branch/gcc/testsuite/ChangeLog


[Bug target/53853] FAIL: g++.dg/other/pr53811.C -std=gnu++* (internal compiler error)

2012-07-10 Thread uros at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53853

--- Comment #7 from uros at gcc dot gnu.org 2012-07-10 17:53:56 UTC ---
Author: uros
Date: Tue Jul 10 17:53:48 2012
New Revision: 189412

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=189412
Log:
Backport from mainline
2012-07-03  Uros Bizjak  ubiz...@gmail.com

PR target/53811
* config/i386/i386.c (x86_output_mi_thunk): Check if fnaddr satisfies
sibcall_insn_operand.  Move it to a temporary register if not.

2012-07-06  Uros Bizjak  ubiz...@gmail.com

PR target/53853
* config/i386/i386.c (x86_output_mi_thunk): For CM_LARGE_PIC model,
emit PIC sequence for fnaddr symbol reference in advance.

testsuite/ChangeLog:

Backport from mainline
2012-07-03  Uros Bizjak  ubiz...@gmail.com

PR target/53811
* g++.dg/other/pr53811.C: New test.


Added:
branches/gcc-4_7-branch/gcc/testsuite/g++.dg/other/pr53811.C
Modified:
branches/gcc-4_7-branch/gcc/ChangeLog
branches/gcc-4_7-branch/gcc/config/i386/i386.c
branches/gcc-4_7-branch/gcc/testsuite/ChangeLog


[Bug target/53811] ICE: in insn_default_length, at config/i386/i386.md:529 (unrecognizable insn) with -mcmodel=large

2012-07-10 Thread ubizjak at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53811

Uros Bizjak ubizjak at gmail dot com changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED

--- Comment #10 from Uros Bizjak ubizjak at gmail dot com 2012-07-10 17:56:05 
UTC ---
Fixed.


[Bug target/53853] FAIL: g++.dg/other/pr53811.C -std=gnu++* (internal compiler error)

2012-07-10 Thread ubizjak at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53853

Uros Bizjak ubizjak at gmail dot com changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED

--- Comment #8 from Uros Bizjak ubizjak at gmail dot com 2012-07-10 17:56:32 
UTC ---
Fixed.


[Bug preprocessor/50387] Doesn't process _Pragma when expanding a token sequence for #include

2012-07-10 Thread naesten at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50387

Samuel Bronson naesten at gmail dot com changed:

   What|Removed |Added

 CC||naesten at gmail dot com

--- Comment #1 from Samuel Bronson naesten at gmail dot com 2012-07-10 
18:18:20 UTC ---
I think you forgot the GCC  at the beginning of the pragma text?

Also, you forgot to show what happens when you attempt to do this, preferably
using a test header constructed for the purpose (to keep the testcase small and
self-contained).  But perhaps adding GCC  is all you need?


[Bug web/53919] Version-specific install instructions not available

2012-07-10 Thread schnetter at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53919

--- Comment #2 from Erik Schnetter schnetter at gmail dot com 2012-07-10 
18:26:53 UTC ---
I am currently installing gcc 4.7.1, and and dealing with the prerequisites.
gmp 5.x was not recognised as valid version; I had to install gmp 4.x instead.
Finding a valid combination of ppl/cloog/isl versions was another issue: after
downloading and installing isl, I found that gcc 4.7.1 doesn't even offer the
respective configuration option.

These may just be details in the prerequisites, but it is just these details
that I am looking for in the install instructions.

I appreciate that the instructions generally don't change that much between
versions, but the same can probably be said about the manual -- new options,
new optimisations, and new architectures tend to be few among a large bulk of
things that remain the same. Yet, the web site makes a clear distinctions
between manuals for different versions, and doesn't even seem to offer an
online manual for the trunk.


[Bug web/53919] Version-specific install instructions not available

2012-07-10 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53919

--- Comment #3 from Jonathan Wakely redi at gcc dot gnu.org 2012-07-10 
18:36:34 UTC ---
(In reply to comment #2)
 between manuals for different versions, and doesn't even seem to offer an
 online manual for the trunk.

Yes it does, at the bottom of the page:
http://gcc.gnu.org/onlinedocs/


[Bug web/53919] Version-specific install instructions not available

2012-07-10 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53919

--- Comment #4 from Jonathan Wakely redi at gcc dot gnu.org 2012-07-10 
18:45:54 UTC ---
... and I was using gmp 5.0.1 with gcc 4.6 over a year ago:
http://advogato.org/person/redi/diary/240.html

If it doesn't work with 4.7 you did something wrong, it's not a problem with
the install docs.

The isl configury has just changed, so that might be invalid for anything but
trunk.


[Bug web/53919] Version-specific install instructions not available

2012-07-10 Thread schnetter at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53919

--- Comment #5 from Erik Schnetter schnetter at gmail dot com 2012-07-10 
19:05:01 UTC ---
Yes, the isl changes are part of what I mean. Since the version-specific
install instructions are already there, they may as well be available on the
web, and/or the web could warn about such possible differences.


[Bug preprocessor/53920] gcc -E does not honor #pragma GCC diagnostic ignored -Wunused-macro

2012-07-10 Thread naesten at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53920

--- Comment #1 from Samuel Bronson naesten at gmail dot com 2012-07-10 
19:07:26 UTC ---
Oh, I suppose I should mention that I ran into this because I was using ccache
to compile Emacs with --enable-gcc-warnings, and by default ccache runs the
preprocessor and the compiler in separate passes (so that it can skip the
compilation proper if it has cached output for a given preprocessor output),
and then pastes together the diagnostic output from the two passes.

(Thankfully, setting the environment variable CCACHE_CPP2 causes ccache to
throw out the preprocessor output after hashing, which is a quite effective
workaround for this sort of thing, though preprocessing the source twice does
make things a bit slower on cache misses.)


[Bug rtl-optimization/53908] [4.7 Regression] csa removes needed memory load

2012-07-10 Thread mikpe at it dot uu.se
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53908

--- Comment #4 from Mikael Pettersson mikpe at it dot uu.se 2012-07-10 
19:55:25 UTC ---
My mistake, I can now reproduce the runtime SEGV on x86_64-linux with vanilla
gcc-4.7-20120707.


[Bug target/53911] [SH] Improve displacement addressing

2012-07-10 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53911

--- Comment #1 from Oleg Endo olegendo at gcc dot gnu.org 2012-07-10 22:01:53 
UTC ---
Author: olegendo
Date: Tue Jul 10 22:01:44 2012
New Revision: 189416

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=189416
Log:
PR target/53911
* config/sh/sh.md: Remove displacement addresssing related splits.


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


[Bug target/53886] Seg fault in sh_insn_length_adjustment

2012-07-10 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53886

--- Comment #9 from Oleg Endo olegendo at gcc dot gnu.org 2012-07-10 22:07:36 
UTC ---
Author: olegendo
Date: Tue Jul 10 22:07:29 2012
New Revision: 189417

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=189417
Log:
PR target/53886
* gcc.c-torture/compile/pr53886.c: New.


Added:
trunk/gcc/testsuite/gcc.c-torture/compile/pr53886.c
Modified:
trunk/gcc/testsuite/ChangeLog


[Bug target/53886] Seg fault in sh_insn_length_adjustment

2012-07-10 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53886

Oleg Endo olegendo at gcc dot gnu.org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED

--- Comment #10 from Oleg Endo olegendo at gcc dot gnu.org 2012-07-10 
22:12:08 UTC ---
Should be OK now.


[Bug rtl-optimization/53908] [4.6/4.7 Regression] csa removes needed memory load

2012-07-10 Thread mikpe at it dot uu.se
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53908

--- Comment #5 from Mikael Pettersson mikpe at it dot uu.se 2012-07-10 
22:50:24 UTC ---
On x86_64-linux the SEGV went away on trunk with r186159:
http://gcc.gnu.org/ml/gcc-cvs/2012-04/msg00108.html
http://gcc.gnu.org/ml/gcc-patches/2012-04/msg00202.html

The patch description makes it sound more like a cleanup than fixing actual
bugs, but when I diff the assembly code for the test case with r186158 and
r186159 I see:

--- pr53908.s-r186158   2012-07-11 00:28:57.0 +0200
+++ pr53908.s-r186159   2012-07-11 00:34:32.0 +0200
...
callis_basic
testl   %eax, %eax
-   movq8(%rsp), %rbp
-   js  .L68
-.L29:
+   js  .L29
+.L33:
movqusers(%rip), %rbx
+   movq8(%rsp), %rbp
testq   %rbx, %rbx
...

That is, a load is being moved across a control flow insn.  All other diffs
seem to just be changed label numbers.

I'll give it some more testing tomorrow.


[Bug target/53859] ICE when calculate insn latency for armv7e-m arch in O2 level

2012-07-10 Thread zhuolin.liu at arm dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53859

zhuolin liu zhuolin.liu at arm dot com changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED

--- Comment #3 from zhuolin liu zhuolin.liu at arm dot com 2012-07-11 
01:03:38 UTC ---
Thanks.The patch worked.


[Bug c++/53921] New: [C++0x] ICE on lambda inside method of class template

2012-07-10 Thread philip.pronin at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53921

 Bug #: 53921
   Summary: [C++0x] ICE on lambda inside method of class template
Classification: Unclassified
   Product: gcc
   Version: 4.7.1
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: philip.pro...@gmail.com


$ g++ -std=c++0x -Wall -Wextra bug.cpp
bug.cpp: In lambda function:
bug.cpp:6:34: internal compiler error: Segmentation fault
Please submit a full bug report,
with preprocessed source if appropriate.
See http://gcc.gnu.org/bugs.html for instructions.

g++ --version
g++ (GCC) 4.7.1
Copyright (C) 2012 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

void bar(int) { }

template class X
struct B {
  void foo() {
auto c = [this]() { bar(value); };
  }
  int value;
};


Additional info: not reproducible using gcc 4.6.2. Successfully compiles if you
access 'value' using 'this' (this-value).