[Bug preprocessor/42669] libcpp: five redundant tests

2013-05-13 Thread skannan at redhat dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42669

Shakthi Kannan skannan at redhat dot com changed:

   What|Removed |Added

 CC||skannan at redhat dot com

--- Comment #2 from Shakthi Kannan skannan at redhat dot com ---
With cppcheck-1.59 on Fedora 18 (x86_64) and gcc-4.8.0, the Redundant
condition is not present.


[Bug c/57260] New: Generated R_MIPS_GOT_MIPS relocation for direct function call while compiling with -O2 on MIPS N64

2013-05-13 Thread lee.duhem at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57260

Bug ID: 57260
   Summary: Generated R_MIPS_GOT_MIPS relocation for direct
function call while compiling with -O2 on MIPS N64
   Product: gcc
   Version: unknown
Status: UNCONFIRMED
  Severity: major
  Priority: P3
 Component: c
  Assignee: unassigned at gcc dot gnu.org
  Reporter: lee.duhem at gmail dot com

Created attachment 30101
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=30101action=edit
includes glxdri.c, glxdri.xgcc.O0.s and glxdri.xgcc.O2.s

If glxdri.c, which is part of Xorg source, is compiled by 
gcc with -O2, R_MIPS_GOT_DISP relocations will be generated 
for two direct function calls, DRIBlockHandler and DRIWakeupHandler.
While Xorg loads the libglx.so that is generated by using glxdri.o
and other object files, dlopen will give error message which says
'undefined symbol: DRIBlockHandler'. 

If glxdri.c is compiled by gcc with -O0, all the relocations
for both DRIBlockHandler and DRIWakeupHandler are R_MIPS_CALL16,
this time the libglx.so will be loaded correctly by dlopen.

In the -O2 case, is the relocation type for DRIBlockHandler and
DRIWakeupHandler correct?

Just for your information, here is the glxdir.c compiling command
(default ABI is MIPS N64):

~/gcc/build0/gcc/xgcc -B ~/gcc/build0/gcc/ -std=gnu99 -DHAVE_CONFIG_H -I.
-I../include -I../hw/xfree86/os-support -I../hw/xfree86/os-support/bus
-I../hw/xfree86/common -I../hw/xfree86/dri -I../mi -I../hw/xfree86/dri2
-DHAVE_DIX_CONFIG_H -Wall -Wpointer-arith -Wstrict-prototypes
-Wmissing-prototypes -Wmissing-declarations -Wnested-externs
-fno-strict-aliasing -Wbad-function-cast -Wformat=2 -Wold-style-definition
-Wdeclaration-after-statement -D_BSD_SOURCE -DHAS_FCHOWN -DHAS_STICKY_DIR_BIT
-I/usr/include/freetype2 -I/usr/include/pixman-1 -I../include -I../include
-I../Xext -I../composite -I../damageext -I../xfixes -I../Xi -I../mi
-I../miext/sync -I../miext/shadow -I../miext/damage -I../render -I../randr
-I../fb -fvisibility=hidden -I/usr/include/libdrm -I/usr/include/libdrm
-I/usr/include/libdrm -I/usr/include/X11/dri -DXFree86Server -DGLX_USE_TLS
-DPTHREADS -O2 -g -Wl,-z,relro -fno-strict-aliasing -MT glxdri.lo -MD -MP -MF
.deps/glxdri.Tpo -S glxdri.c  -fPIC -DPIC -o .libs/glxdri.xgcc.O2.s


[Bug target/57261] New: [4.9 regression] libgcc_s.so always linked on Solaris

2013-05-13 Thread ebotcazou at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57261

Bug ID: 57261
   Summary: [4.9 regression] libgcc_s.so always linked on Solaris
   Product: gcc
   Version: 4.9.0
Status: UNCONFIRMED
  Keywords: build
  Severity: critical
  Priority: P3
 Component: target
  Assignee: unassigned at gcc dot gnu.org
  Reporter: ebotcazou at gcc dot gnu.org
CC: ro at gcc dot gnu.org
Target: *-*-solaris2.10

The new HAVE_LD_AS_NEEDED support doesn't seem to work on Solaris 9 and 10:

(botcazou@ob) /nile.build/botcazou/gcc-head/sparc-sun-solaris2.10 $ cat t.c
int main (void) { return 0; }
(botcazou@ob) /nile.build/botcazou/gcc-head/sparc-sun-solaris2.10 $ gcc/xgcc
-Bgcc -o t t.c 
(botcazou@ob) /nile.build/botcazou/gcc-head/sparc-sun-solaris2.10 $ ldd t
libgcc_s.so.1 = /usr/local/gnatpro/6.4.2/lib/libgcc_s.so.1
libc.so.1 = /lib/libc.so.1
libm.so.2 = /lib/libm.so.2
/platform/SUNW,Sun-Fire-V240/lib/libc_psr.so.1

The dependency on libgcc_s.so.1 for a dummy program is new.  This is critical
because this breaks bootstrap:

make[1]: *** [all] Error 2
make[1]: Leaving directory
`/nfs/nile/nile.build/botcazou/gcc-head/sparc-sun-solaris2.10/sparc-sun-solaris2.10/libquadmath'
make: *** [all-target-libquadmath] Error 2

configure:3386: checking whether the C compiler works
configure:3395: ./a.out
ld.so.1: ./a.out: fatal:
/nile.build/botcazou/gcc-head/sparc-sun-solaris2.10/./gcc/libgcc_s.so.1: wrong
ELF class: ELFCLASS32
/nile.build/botcazou/gcc-head/src/libquadmath/configure: line 1: 10727 Killed  
   ./$ac_file
configure:3399: $? = 137
configure:3406: error: in
`/nile.build/botcazou/gcc-head/sparc-sun-solaris2.10/sparc-sun-solaris2.10/sparcv9/libquadmath':
configure:3410: error: cannot run C compiled programs.
If you meant to cross compile, use `--host'.
See `config.log' for more details.


Re: [Bug ada/57188] [4.9 regression] Ada bootstrap broken on Solaris/x64: No_Implicit_Dynamic_Code violation

2013-05-13 Thread Arnaud Charlet
  * gcc-interface/Makefile.in (targ): Fix target name check.
  
  Having to deal with the target_alias instead of the canonical form found
  in target seems rather counterintuitive and fragile to me.
 
  The ChangeLog entry is misleading, neither Pascal nor I have anything to
  do
  with the change.  Yes, this is very fragile and has already caused various
  issues.
 
 This seems to argue for reverting or at least reworking the change.  I
 suppose I'll withhold my patch until it's decided how to proceed.

This change is useful for many cross configurations which have similar
names, so I would suggest you post your patch to gcc-patches@.
Your patch is pre-approved FWIW, so feel free to apply it.

Arno


[Bug ada/57188] [4.9 regression] Ada bootstrap broken on Solaris/x64: No_Implicit_Dynamic_Code violation

2013-05-13 Thread charlet at adacore dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57188

--- Comment #7 from charlet at adacore dot com charlet at adacore dot com ---
  * gcc-interface/Makefile.in (targ): Fix target name check.
  
  Having to deal with the target_alias instead of the canonical form found
  in target seems rather counterintuitive and fragile to me.
 
  The ChangeLog entry is misleading, neither Pascal nor I have anything to
  do
  with the change.  Yes, this is very fragile and has already caused various
  issues.
 
 This seems to argue for reverting or at least reworking the change.  I
 suppose I'll withhold my patch until it's decided how to proceed.

This change is useful for many cross configurations which have similar
names, so I would suggest you post your patch to gcc-patches@.
Your patch is pre-approved FWIW, so feel free to apply it.

Arno


[Bug c/57260] Generated R_MIPS_GOT_MIPS relocation for direct function call while compiling with -O2 on MIPS N64

2013-05-13 Thread lee.duhem at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57260

--- Comment #1 from Lee Duhem lee.duhem at gmail dot com ---
Created attachment 30102
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=30102action=edit
the preprocessed glxdri.c


[Bug c/57260] Generated R_MIPS_GOT_MIPS relocation for direct function call while compiling with -O2 on MIPS N64

2013-05-13 Thread lee.duhem at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57260

Lee Duhem lee.duhem at gmail dot com changed:

   What|Removed |Added

Version|unknown |4.9.0

--- Comment #2 from Lee Duhem lee.duhem at gmail dot com ---
$ ~/gcc/build0/gcc/xgcc -B ~/gcc/build0/gcc/ -v
Reading specs from /home/libin/gcc/build0/gcc/specs
COLLECT_GCC=/home/libin/gcc/build0/gcc/xgcc
COLLECT_LTO_WRAPPER=/home/libin/gcc/build0/gcc/lto-wrapper
Target: mips64el-neokylin-linux-gnu
Configured with: ../gcc/configure --prefix=/usr --mandir=/usr/share/man
--infodir=/usr/share/info --enable-shared --enable-threads=posix
--enable-checking=release --with-system-zlib --enable-__cxa_atexit
--disable-libunwind-exceptions --enable-gnu-unique-object --enable-languages=c
--disable-fixed-point --without-ppl --without-cloog --disable-checking
--disable-werror --host=mips64el-neokylin-linux-gnu
--build=mips64el-neokylin-linux-gnu --target=mips64el-neokylin-linux-gnu
--with-abi=64 --disable-bootstrap
Thread model: posix
gcc version 4.9.0 20130509 (experimental) (GCC)


[Bug tree-optimization/57251] [4.8/4.9 Regression] ICE in optab_handler, at optabs.h:258

2013-05-13 Thread mpolacek at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57251

Marek Polacek mpolacek at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2013-05-13
 CC||mpolacek at gcc dot gnu.org
  Known to work||4.7.3
   Target Milestone|--- |4.8.1
Summary|ICE in optab_handler, at|[4.8/4.9 Regression] ICE in
   |optabs.h:258|optab_handler, at
   ||optabs.h:258
 Ever confirmed|0   |1
  Known to fail||4.8.0, 4.9.0

--- Comment #1 from Marek Polacek mpolacek at gcc dot gnu.org ---
Confirmed.


[Bug debug/57257] [4.9 Regression]: FAIL: gcc.dg/pr41345.c fails with -fcompare-debug failure (length)

2013-05-13 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57257

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2013-05-13
 CC||jakub at gcc dot gnu.org
   Target Milestone|--- |4.9.0
 Ever confirmed|0   |1

--- Comment #1 from Jakub Jelinek jakub at gcc dot gnu.org ---
Caused by r197995 .


[Bug tree-optimization/57230] [4.7/4.8/4.9 Regression] tree-ssa-strlen incorrectly optimizes a strlen to 0

2013-05-13 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57230

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 ---
Author: jakub
Date: Mon May 13 07:46:53 2013
New Revision: 198813

URL: http://gcc.gnu.org/viewcvs?rev=198813root=gccview=rev
Log:
PR tree-optimization/57230
* tree-ssa-strlen.c (handle_char_store): Add missing integer_zerop
check.

* gcc.dg/strlenopt-23.c: New test.

Added:
trunk/gcc/testsuite/gcc.dg/strlenopt-23.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/testsuite/ChangeLog
trunk/gcc/tree-ssa-strlen.c

Author: jakub
Date: Mon May 13 07:48:39 2013
New Revision: 198814

URL: http://gcc.gnu.org/viewcvs?rev=198814root=gccview=rev
Log:
PR tree-optimization/57230
* tree-ssa-strlen.c (handle_char_store): Add missing integer_zerop
check.

* gcc.dg/strlenopt-23.c: New test.

Added:
branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/strlenopt-23.c
Modified:
branches/gcc-4_8-branch/gcc/ChangeLog
branches/gcc-4_8-branch/gcc/testsuite/ChangeLog
branches/gcc-4_8-branch/gcc/tree-ssa-strlen.c

Author: jakub
Date: Mon May 13 07:50:38 2013
New Revision: 198815

URL: http://gcc.gnu.org/viewcvs?rev=198815root=gccview=rev
Log:
PR tree-optimization/57230
* tree-ssa-strlen.c (handle_char_store): Record length for
array store from STRING_CST.

* gcc.dg/strlenopt-24.c: New test.

Added:
trunk/gcc/testsuite/gcc.dg/strlenopt-24.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/testsuite/ChangeLog
trunk/gcc/tree-ssa-strlen.c


[Bug tree-optimization/57251] [4.8/4.9 Regression] ICE in optab_handler, at optabs.h:258

2013-05-13 Thread mpolacek at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57251

Marek Polacek mpolacek at gcc dot gnu.org changed:

   What|Removed |Added

 CC||rth at gcc dot gnu.org

--- Comment #2 from Marek Polacek mpolacek at gcc dot gnu.org ---
Started with http://gcc.gnu.org/r189821


[Bug c/57258] unused variable warning is emitted for volatile variables

2013-05-13 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57258

Richard Biener rguenth at gcc dot gnu.org changed:

   What|Removed |Added

   Keywords||diagnostic
 Status|UNCONFIRMED |NEW
   Last reconfirmed||2013-05-13
 Ever confirmed|0   |1
  Known to fail||3.3.6, 4.1.2, 4.8.0

--- Comment #1 from Richard Biener rguenth at gcc dot gnu.org ---
Confirmed.


[Bug target/57261] [4.9 regression] libgcc_s.so always linked on Solaris

2013-05-13 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57261

Richard Biener rguenth at gcc dot gnu.org changed:

   What|Removed |Added

   Target Milestone|--- |4.9.0


[Bug c/57259] extra load and store with -fexcess-precision=standard

2013-05-13 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57259

Richard Biener rguenth at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution|--- |WONTFIX

--- Comment #1 from Richard Biener rguenth at gcc dot gnu.org ---
We don't attempt to optimize code using volatile (and you didn't specify
to optimize the code anyway).


[Bug tree-optimization/57249] Unrolling too late for inlining

2013-05-13 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57249

Richard Biener rguenth at gcc dot gnu.org changed:

   What|Removed |Added

   Keywords||missed-optimization
 Status|UNCONFIRMED |NEW
   Last reconfirmed||2013-05-13
 CC||hubicka at gcc dot gnu.org,
   ||rguenth at gcc dot gnu.org
 Ever confirmed|0   |1
   Severity|normal  |enhancement

--- Comment #1 from Richard Biener rguenth at gcc dot gnu.org ---
There is the long-standing idea of moving cunrolli from after IPA inlining
into the early optimization pipeline.  But we'd have to tame it down
quite a bit to make it viable there.  Note that originally cunrolli was
desiged to remove C++ abstraction penalty from code like

template int i
struct S {
  int a[i];
  S() { for (int j = 0; j  i; ++j) a[j] = 0; }
};

for small i (tramp3d has code similar to the above for i == 3 and uses
template metaprogramming to avoid loops and force unrolling by abusing
the inliner ...)

In the mean time cunrolli does more (which is not necessarily good).

Note that I wouldn't unroll loops with calls in them (eventually
special-casing that indirect-call-via-global-constructor-with-initializer...)

For early optimizations unrolling should only be applied if the code size
shrinks by the transform.

Btw, this case could be handled by value-numbering / folding, too, given
that all map[]'s elements have the same value.  But the testcase is very
very artificial so this will never help a real case.


[Bug tree-optimization/57245] Floating-point constant truncation ignores -frounding-math

2013-05-13 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57245

Richard Biener rguenth at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2013-05-13
 Ever confirmed|0   |1

--- Comment #1 from Richard Biener rguenth at gcc dot gnu.org ---
Confirmed.  Note that some callers may expect a constant result anyway
(see the TREE_OVERFLOW setting which seems to be overflow indicating...).
So fixing this may not be easy without fallout.


[Bug pch/57242] precompiled headers ignored unless the .gch and TU's are compiled with certain combinations of -g flag

2013-05-13 Thread rguenth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57242

Richard Biener rguenth at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |WAITING
   Last reconfirmed||2013-05-13
 Ever confirmed|0   |1

--- Comment #5 from Richard Biener rguenth at gcc dot gnu.org ---
(In reply to etherice from comment #4)
 (In reply to Andrew Pinski from comment #1)
  This is by design as -g changes the information produced by the front-end
  and maybe even predefines too.
 
 I created a simpler test to demonstrate the bug. Two files:
 
 --
 pch.hpp
 --
 #ifndef __PCH_HPP__
 #define __PCH_HPP__
   #pragma message [ not using pre-compiled headers ]
   #include iostream
 #endif
 
 --
 test.cpp
 --
 #include pch.hpp
 int main() {
   std::cout  hello world  std::endl;
   return 0;
 }
 
 --
 
 If you run commands [1] and [2] below, you will notice that pch is ignored.
 
 [1]  g++ -I. pch.hpp  -o pch.hpp.gch
 [2]  g++ -I. -c test.cpp  -o test.o
 [3]  g++ -I. -c test.cpp  -o test.o -include pch.hpp

How?  I see

rguenther@murzim:/tmp g++-4.7 -I. pch.hpp  -o pch.hpp.gch
pch.hpp:3:19: note: #pragma message: [ not using pre-compiled headers ]
rguenther@murzim:/tmp g++-4.7 -I. -c test.cpp  -o test.o  
rguenther@murzim:/tmp g++-4.7 -I. -c test.cpp  -o test.o -include pch.hpp

rguenther@murzim:/tmp g++-4.8 -I. pch.hpp  -o pch.hpp.gch
pch.hpp:3:19: note: #pragma message: [ not using pre-compiled headers ]
   #pragma message [ not using pre-compiled headers ]
   ^
rguenther@murzim:/tmp g++-4.8 -I. -c test.cpp  -o test.o 
rguenther@murzim:/tmp g++-4.8 -I. -c test.cpp  -o test.o -include pch.hpp

the issue is probably that there are pre-installed precompiled headers
for libstdc++ which use certain flags.  Maybe in your case this confuses
things?  (disclaimer: I always install gcc built with --disable-libstdcxx-pch)
Try removing them.

[Bug tree-optimization/57124] 254.gap@spec2000 got miscompare after r198413

2013-05-13 Thread izamyatin at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57124

--- Comment #5 from Igor Zamyatin izamyatin at gmail dot com ---
Indeed, -fwrapv helps to run 254.gap successfully


[Bug tree-optimization/57251] [4.8/4.9 Regression] ICE in optab_handler, at optabs.h:258

2013-05-13 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57251

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

 CC||jakub at gcc dot gnu.org

--- Comment #3 from Jakub Jelinek jakub at gcc dot gnu.org ---
The problem seems to be that tracer and widening_mul passes happen very late
and there is no forwprop etc. afterwards.
WIDEN_MULT_EXPR expansion tries to avoid having op0 as constant:
if (TREE_CODE (treeop0) != INTEGER_CST)
but that isn't good enough here, because treeop0 is not INTEGER_CST, but it
expands into const0_rtx, which has VOIDmode and thus isn't really desirable for
expand_widening_mult or I guess the [su]mul_widen_optab expand_binop
OPTAB_LIB_WIDEN with expand_mult_highpart_adjust afterwards.
I guess we'll need to after expand_operands or expand_normal in those ifs check
for VOIDmode op0 and handle those somehow (if op1 isn't VOIDmode, perhaps swap
the operands, if both are VOIDmode, zero or sign extend both into the wider
mode and evaluate at compile time)?  BTW, is
op1 = convert_modes (innermode, mode,
 expand_normal (treeop1), unsignedp);
correct?  I mean, unsignedp is the TYPE_UNSIGNED of the result type, but don't
we want here TYPE_UNSIGNED (TREE_TYPE (treeop1)) instead?


[Bug target/57260] Generated R_MIPS_GOT_MIPS relocation for direct function call while compiling with -O2 on MIPS N64

2013-05-13 Thread pinskia at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57260

--- Comment #3 from Andrew Pinski pinskia at gcc dot gnu.org ---
Looks like sibcalls are incorrectly done.


[Bug target/57260] Generated R_MIPS_GOT_MIPS relocation for direct function call while compiling with -O2 on MIPS N64

2013-05-13 Thread pinskia at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57260

Andrew Pinski pinskia at gcc dot gnu.org changed:

   What|Removed |Added

   Severity|major   |normal

--- Comment #4 from Andrew Pinski pinskia at gcc dot gnu.org ---
(In reply to Andrew Pinski from comment #3)
 Looks like sibcalls are incorrectly done.

Or maybe not since it is no longer a call but rather a sibcall which means it
can never be using call16 here since it is not a real call. 

Smallest testcase:
int shouldbecall16(void);
int g(void) { return shouldbecall16(); }
 CUT ---

lui $3,%hi(%neg(%gp_rel(g)))
daddu   $3,$3,$25
daddiu  $3,$3,%lo(%neg(%gp_rel(g)))
ld  $25,%got_disp(shouldbecall16)($3)
.reloc  1f,R_MIPS_JALR,shouldbecall16
1:  jr  $25
nop


Notice it is a jr rather than a jalr.

I think this is correct behavior either way really.  I think Xorg's sources are
depending on undefined behavior dealing with undefined symbols.


[Bug debug/57257] [4.9 Regression]: FAIL: gcc.dg/pr41345.c fails with -fcompare-debug failure (length)

2013-05-13 Thread ubizjak at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57257

Uros Bizjak ubizjak at gmail dot com changed:

   What|Removed |Added

 CC||steven at gcc dot gnu.org

--- Comment #2 from Uros Bizjak ubizjak at gmail dot com ---
Adding CC.


[Bug debug/57257] [4.9 Regression]: FAIL: gcc.dg/pr41345.c fails with -fcompare-debug failure (length)

2013-05-13 Thread ebotcazou at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57257

Eric Botcazou ebotcazou at gcc dot gnu.org changed:

   What|Removed |Added

 Target|x86, alpha  |x86, alpha,sparc
 CC||ebotcazou at gcc dot gnu.org

--- Comment #3 from Eric Botcazou ebotcazou at gcc dot gnu.org ---
On the SPARC as well.


[Bug target/57260] Generated R_MIPS_GOT_MIPS relocation for direct function call while compiling with -O2 on MIPS N64

2013-05-13 Thread lee.duhem at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57260

--- Comment #5 from Lee Duhem lee.duhem at gmail dot com ---
(In reply to Andrew Pinski from comment #4)
 (In reply to Andrew Pinski from comment #3)
  Looks like sibcalls are incorrectly done.
 
 Or maybe not since it is no longer a call but rather a sibcall which means
 it can never be using call16 here since it is not a real call. 
 
 Smallest testcase:
 int shouldbecall16(void);
 int g(void) { return shouldbecall16(); }

I think the following testcase is closer to my case:
int shouldbecall16(void);
int g(void) { shouldbecall16(); return 0; }

And in this case, I got (with or without -O2):
daddiu$sp,$sp,-16
sd$28,0($sp)
lui$28,%hi(%neg(%gp_rel(g)))
daddu$28,$28,$25
daddiu$28,$28,%lo(%neg(%gp_rel(g)))
ld$25,%call16(shouldbecall16)($28)
sd$31,8($sp)
.reloc1f,R_MIPS_JALR,shouldbecall16
1:jalr$25
nop


Thank you for your time.


[Bug fortran/57262] New: Optimize bound intrinsics with dim=var for rank one arrays

2013-05-13 Thread burnus at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57262

Bug ID: 57262
   Summary: Optimize bound intrinsics with dim=var for rank one
arrays
   Product: gcc
   Version: 4.9.0
Status: UNCONFIRMED
  Keywords: missed-optimization
  Severity: minor
  Priority: P3
 Component: fortran
  Assignee: unassigned at gcc dot gnu.org
  Reporter: burnus at gcc dot gnu.org

I am not really sure whether this really occurs in real-world code, but I
realized that for rank=1 arrays, the following can be compile-time simplified.

! { dg-options -fdump-tree-original }

integer function foo(i)
  implicit none
  integer :: i, a(10)
  foo = lbound (a, dim=i) + 2*ubound(a,dim=i) + 3*size(a,dim=i)
end

! { dg-final { scan-tree-dump __result_bar = 51; original } }

!
! * * *
!
! For the tree version, one could also replace the dim=i by dim=1:

integer function bar(jjj,n)
  implicit none
  integer :: jjj, n, a(n:)
  bar = lbound (a, dim=jjj) + 2*ubound(a,dim=jjj) + 3*size(a,dim=jjj)
end
! { dg-final { scan-tree-dump-not jjj original } }


[Bug tree-optimization/57251] [4.8/4.9 Regression] ICE in optab_handler, at optabs.h:258

2013-05-13 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57251

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

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

--- Comment #4 from Jakub Jelinek jakub at gcc dot gnu.org ---
Created attachment 30103
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=30103action=edit
gcc49-pr57251.patch

Untested fix.


[Bug debug/57257] [4.9 Regression]: FAIL: gcc.dg/pr41345.c fails with -fcompare-debug failure (length)

2013-05-13 Thread steven at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57257

Steven Bosscher steven at gcc dot gnu.org changed:

   What|Removed |Added

 Status|NEW |ASSIGNED
   Assignee|unassigned at gcc dot gnu.org  |steven at gcc dot 
gnu.org


[Bug target/57260] Generated R_MIPS_GOT_MIPS relocation for direct function call while compiling with -O2 on MIPS N64

2013-05-13 Thread pinskia at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57260

--- Comment #6 from Andrew Pinski pinskia at gcc dot gnu.org ---
(In reply to Lee Duhem from comment #5)
 (In reply to Andrew Pinski from comment #4)
  (In reply to Andrew Pinski from comment #3)
   Looks like sibcalls are incorrectly done.
  
  Or maybe not since it is no longer a call but rather a sibcall which means
  it can never be using call16 here since it is not a real call. 
  
  Smallest testcase:
  int shouldbecall16(void);
  int g(void) { return shouldbecall16(); }
 
 I think the following testcase is closer to my case:
 int shouldbecall16(void);
 int g(void) { shouldbecall16(); return 0; }

No it is not; mine is the one which shows the issue:
static void
__glXDRIenterServer(GLboolean rendering)
{

DRIWakeupHandler(((void *)0), 0, ((void *)0));
}


[Bug middle-end/42371] dead code not eliminated during folding with whole-program

2013-05-13 Thread jamborm at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42371

Martin Jambor jamborm at gcc dot gnu.org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |FIXED

--- Comment #17 from Martin Jambor jamborm at gcc dot gnu.org ---
Author: jamborm
Date: Mon May 13 10:16:09 2013
New Revision: 198821

URL: http://gcc.gnu.org/viewcvs?rev=198821root=gccview=rev
Log:
2013-05-13  Martin Jambor  mjam...@suse.cz

PR middle-end/42371
* ipa-prop.h (IPA_UNDESCRIBED_USE): New macro.
(ipa_constant_data): New type.
(ipa_jump_func): Use ipa_constant_data to hold information about
constant jump functions.
(ipa_get_jf_constant): Adjust to jump function type changes.
(ipa_get_jf_constant_rdesc): New function.
(ipa_param_descriptor): New field controlled_uses.
(ipa_get_controlled_uses): New function.
(ipa_set_controlled_uses): Likewise.
* ipa-ref.h (ipa_find_reference): Declare.
* ipa-prop.c (ipa_cst_ref_desc): New type.
(ipa_print_node_jump_functions_for_edge): Adjust for jump function type
changes.
(ipa_set_jf_constant): Likewise.  Also create reference descriptions.
New parameter cs.  Adjust all callers.
(ipa_analyze_params_uses): Detect uncontrolled and controlled uses.
(remove_described_reference): New function.
(jfunc_rdesc_usable): Likewise.
(try_make_edge_direct_simple_call): Decrement controlled use count,
attempt to remove reference if it hits zero.
(combine_controlled_uses_counters): New function.
(propagate_controlled_uses): Likewise.
(ipa_propagate_indirect_call_infos): Call propagate_controlled_uses.
(ipa_edge_duplication_hook): Duplicate reference descriptions.
(ipa_print_node_params): Print described use counter.
(ipa_write_jump_function): Adjust to jump function type changes.
(ipa_read_jump_function): New parameter CS, pass it to
ipa_set_jf_constant.  Adjust caller.
(ipa_write_node_info): Stream controlled use count
(ipa_read_node_info): Likewise.
* cgraph.c (cgraph_mark_address_taken_node): Bail out instead of
asserting.
* ipa-cp.c (ipcp_discover_new_direct_edges): Decrement controlled use
count.  Remove cloning-added reference if it reaches zero.
* ipa-ref.c (ipa_find_reference): New function.

testsuite/
* gcc.dg/ipa/remref-0.c: New test.
* gcc.dg/ipa/remref-1a.c: Likewise.
* gcc.dg/ipa/remref-1b.c: Likewise.
* gcc.dg/ipa/remref-2a.c: Likewise.
* gcc.dg/ipa/remref-2b.c: Likewise.


Added:
trunk/gcc/testsuite/gcc.dg/ipa/remref-0.c
trunk/gcc/testsuite/gcc.dg/ipa/remref-1a.c
trunk/gcc/testsuite/gcc.dg/ipa/remref-1b.c
trunk/gcc/testsuite/gcc.dg/ipa/remref-2a.c
trunk/gcc/testsuite/gcc.dg/ipa/remref-2b.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/cgraph.c
trunk/gcc/ipa-cp.c
trunk/gcc/ipa-prop.c
trunk/gcc/ipa-prop.h
trunk/gcc/ipa-ref.c
trunk/gcc/ipa-ref.h
trunk/gcc/testsuite/ChangeLog


[Bug ada/57188] [4.9 regression] Ada bootstrap broken on Solaris/x64: No_Implicit_Dynamic_Code violation

2013-05-13 Thread ro at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57188

Rainer Orth ro at gcc dot gnu.org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution|--- |FIXED

--- Comment #8 from Rainer Orth ro at gcc dot gnu.org ---
Fixed for 4.9.0.


[Bug tree-optimization/45216] Rotate expressions not recognized at tree level

2013-05-13 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45216

--- Comment #11 from Jakub Jelinek jakub at gcc dot gnu.org ---
Author: jakub
Date: Mon May 13 11:04:26 2013
New Revision: 198823

URL: http://gcc.gnu.org/viewcvs?rev=198823root=gccview=rev
Log:
PR tree-optimization/45216
PR tree-optimization/57157
* tree-ssa-forwprop.c (simplify_rotate): Only recognize
the (-Y)  (B - 1) variant if OP is |.
* expmed.c (expand_shift_1): For rotations by const0_rtx just
return shifted.  Use (-op1)  (prec - 1) as other_amount
instead of prec - op1.

* c-c++-common/rotate-1.c: Add 32 tests with +.
* c-c++-common/rotate-1a.c: Adjust.
* c-c++-common/rotate-2.c: Add 32 tests with +, expect
only 48 rotates.
* c-c++-common/rotate-2b.c: New test.
* c-c++-common/rotate-3.c: Add 32 tests with +.
* c-c++-common/rotate-4.c: Add 32 tests with +, expect
only 48 rotates.
* c-c++-common/rotate-4b.c: New test.
* c-c++-common/rotate-5.c: New test.

Added:
trunk/gcc/testsuite/c-c++-common/rotate-5.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/expmed.c
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/c-c++-common/rotate-1.c
trunk/gcc/testsuite/c-c++-common/rotate-1a.c
trunk/gcc/testsuite/c-c++-common/rotate-2.c
trunk/gcc/testsuite/c-c++-common/rotate-3.c
trunk/gcc/testsuite/c-c++-common/rotate-4.c
trunk/gcc/tree-ssa-forwprop.c


[Bug c/57157] Poor optimization of portable rotate idiom

2013-05-13 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57157

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |FIXED

--- Comment #5 from Jakub Jelinek jakub at gcc dot gnu.org ---
Author: jakub
Date: Fri May 10 08:40:10 2013
New Revision: 198769

URL: http://gcc.gnu.org/viewcvs?rev=198769root=gccview=rev
Log:
PR tree-optimization/45216
PR tree-optimization/57157
* tree-ssa-forwprop.c (simplify_rotate): New function.
(ssa_forward_propagate_and_combine): Call it.

* c-c++-common/rotate-1.c: New test.
* c-c++-common/rotate-1a.c: New test.
* c-c++-common/rotate-2.c: New test.
* c-c++-common/rotate-2a.c: New test.
* c-c++-common/rotate-3.c: New test.
* c-c++-common/rotate-3a.c: New test.
* c-c++-common/rotate-4.c: New test.
* c-c++-common/rotate-4a.c: New test.

Added:
trunk/gcc/testsuite/c-c++-common/rotate-1.c
trunk/gcc/testsuite/c-c++-common/rotate-1a.c
trunk/gcc/testsuite/c-c++-common/rotate-2.c
trunk/gcc/testsuite/c-c++-common/rotate-2a.c
trunk/gcc/testsuite/c-c++-common/rotate-3.c
trunk/gcc/testsuite/c-c++-common/rotate-3a.c
trunk/gcc/testsuite/c-c++-common/rotate-4.c
trunk/gcc/testsuite/c-c++-common/rotate-4a.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/testsuite/ChangeLog
trunk/gcc/tree-ssa-forwprop.c

Author: jakub
Date: Mon May 13 11:04:26 2013
New Revision: 198823

URL: http://gcc.gnu.org/viewcvs?rev=198823root=gccview=rev
Log:
PR tree-optimization/45216
PR tree-optimization/57157
* tree-ssa-forwprop.c (simplify_rotate): Only recognize
the (-Y)  (B - 1) variant if OP is |.
* expmed.c (expand_shift_1): For rotations by const0_rtx just
return shifted.  Use (-op1)  (prec - 1) as other_amount
instead of prec - op1.

* c-c++-common/rotate-1.c: Add 32 tests with +.
* c-c++-common/rotate-1a.c: Adjust.
* c-c++-common/rotate-2.c: Add 32 tests with +, expect
only 48 rotates.
* c-c++-common/rotate-2b.c: New test.
* c-c++-common/rotate-3.c: Add 32 tests with +.
* c-c++-common/rotate-4.c: Add 32 tests with +, expect
only 48 rotates.
* c-c++-common/rotate-4b.c: New test.
* c-c++-common/rotate-5.c: New test.

Added:
trunk/gcc/testsuite/c-c++-common/rotate-5.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/expmed.c
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/c-c++-common/rotate-1.c
trunk/gcc/testsuite/c-c++-common/rotate-1a.c
trunk/gcc/testsuite/c-c++-common/rotate-2.c
trunk/gcc/testsuite/c-c++-common/rotate-3.c
trunk/gcc/testsuite/c-c++-common/rotate-4.c
trunk/gcc/tree-ssa-forwprop.c


[Bug tree-optimization/45216] Rotate expressions not recognized at tree level

2013-05-13 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45216

Bug 45216 depends on bug 57157, which changed state.

Bug 57157 Summary: Poor optimization of portable rotate idiom
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57157

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |FIXED


[Bug libffi/56033] FAIL: libffi.call/cls_struct_va1.c on powerpc-*-* and sparc-sun-solaris2* with -m64

2013-05-13 Thread ro at CeBiTec dot Uni-Bielefeld.DE
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56033

--- Comment #8 from ro at CeBiTec dot Uni-Bielefeld.DE ro at CeBiTec dot 
Uni-Bielefeld.DE ---
 --- Comment #7 from Dominique d'Humieres dominiq at lps dot ens.fr 
 2013-04-22 14:22:15 UTC ---
 Following the recipe in comment #5, the following patch
[...]
 fixes the corresponding failures. Note that I did not find how to apply the
 recipe to libffi.call/cls_uint_va.c.

Same for 64-bit sparc-sun-solaris2.*.  The following snippet fixes the
cls_unit_va.c failure for me:

diff --git a/libffi/testsuite/libffi.call/cls_uint_va.c
b/libffi/testsuite/libffi.call/cls_uint_va.c
--- a/libffi/testsuite/libffi.call/cls_uint_va.c
+++ b/libffi/testsuite/libffi.call/cls_uint_va.c
@@ -13,9 +13,9 @@ typedef unsigned int T;
 static void cls_ret_T_fn(ffi_cif* cif __UNUSED__, void* resp, void** args,
  void* userdata __UNUSED__)
  {
-   *(T *)resp = *(T *)args[0];
+   *(ffi_arg *)resp = *(T *)args[0];

-   printf(%d: %d %d\n, *(T *)resp, *(T *)args[0], *(T *)args[1]);
+   printf(%d: %d %d\n, (int)*(ffi_arg *)resp, *(T *)args[0], *(T *)args[1]);
  }

 typedef T (*cls_ret_T)(T, ...);

I've included the complete patch in i386-pc-solaris2.* bootstraps, too,
and saw no regressions, so I suggest you post the complete patch to
gcc-patches, and Cc: Anthony Green.

Thanks.
Rainer


[Bug fortran/57262] Optimize bound intrinsics with dim=var for rank one arrays

2013-05-13 Thread dominiq at lps dot ens.fr
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57262

--- Comment #1 from Dominique d'Humieres dominiq at lps dot ens.fr ---
What is expected if i (jjj) /= 1?


[Bug libstdc++/57263] New: std::set with user-defined allocator - compile error

2013-05-13 Thread mustrumr97 at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57263

Bug ID: 57263
   Summary: std::set with user-defined allocator - compile error
   Product: gcc
   Version: 4.8.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: libstdc++
  Assignee: unassigned at gcc dot gnu.org
  Reporter: mustrumr97 at gmail dot com

A user-defined allocator's pointer may not be convertible to and from regular
pointers. There is
std::allocator_traitsAllocator::pointer
std::allocator_traitsAllocator::pointer_to(std::allocator_traitsAllocator::value_type);


[Bug c++/57038] Latest libreoffice compilation fails with enabled LTO

2013-05-13 Thread hubicka at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57038

--- Comment #16 from Jan Hubicka hubicka at gcc dot gnu.org ---
OK, I think I found the bug. Weakrefs are considered to be external but they
need to be duplicated.  Does the following fix the problem?
Index: lto-partition.c
===
--- lto-partition.c (revision 198803)
+++ lto-partition.c (working copy)
@@ -59,6 +59,10 @@ get_symbol_class (symtab_node node)
   if (cnode  cnode-global.inlined_to)
 return SYMBOL_DUPLICATE;

+  /* Weakref aliases are always duplicated.  */
+  if (lookup_attribute (weakref, DECL_ATTRIBUTES (node-symbol.decl)))
+return SYMBOL_DUPLICATE;
+
   /* External declarations are external.  */
   if (DECL_EXTERNAL (node-symbol.decl))
 return SYMBOL_EXTERNAL;
@@ -79,10 +83,6 @@ get_symbol_class (symtab_node node)
   else if (!cgraph (node)-analyzed)
 return SYMBOL_EXTERNAL;

-  /* Weakref aliases are always duplicated.  */
-  if (lookup_attribute (weakref, DECL_ATTRIBUTES (node-symbol.decl)))
-return SYMBOL_DUPLICATE;
-
   /* Comdats are duplicated to every use unless they are keyed.
  Those do not need duplication.  */
   if (DECL_COMDAT (node-symbol.decl)

I hav emore involved patch to fix weakrefs in testing, but this may be enough
for this particular bug.

Honza


[Bug libstdc++/57263] std::set with user-defined allocator - compile error

2013-05-13 Thread mustrumr97 at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57263

--- Comment #1 from Hristo Venev mustrumr97 at gmail dot com ---
Created attachment 30104
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=30104action=edit
A nice and short testcase


[Bug libstdc++/57263] std::set with user-defined allocator - compile error

2013-05-13 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57263

Jonathan Wakely redi at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |ASSIGNED
   Last reconfirmed||2013-05-13
   Assignee|unassigned at gcc dot gnu.org  |redi at gcc dot gnu.org
 Ever confirmed|0   |1

--- Comment #2 from Jonathan Wakely redi at gcc dot gnu.org ---
std::set hasn't been updated to use the C++11 allocator requirements yet so
it's unsurprising this doesn't work.

It also fails with std::forward_list though, so there is a bug here.


[Bug libstdc++/57263] std::set with user-defined allocator - compile error

2013-05-13 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57263

--- Comment #3 from Jonathan Wakely redi at gcc dot gnu.org ---
N.B. the function that needs to be used is
std::pointer_traitsstd::allocator_traitsAllocator::pointer::pointer_to


[Bug fortran/57262] Optimize bound intrinsics with dim=var for rank one arrays

2013-05-13 Thread burnus at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57262

--- Comment #2 from Tobias Burnus burnus at gcc dot gnu.org ---
Created attachment 30105
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=30105action=edit
Draft patch (trans-intrinsic.c only, ubound/lbound only, untested)

PATCH: Draft patch for the second case (i.e. after the bound check) - only
handles LBOUND/UBOUND. For SIZE, it only matters with inlining (which is done
on the Fortran-dev branch); thus, this part is left out.

TODO: Testing, test case and simplify.c handling.


(In reply to Dominique d'Humieres from comment #1)
 What is expected if i (jjj) /= 1?

Well, the whole bug is only for rank == 1 array!

Thus, using, e.g., jjj == 2 will be invalid (according to the Fortran standard)
and will access invalid memory. With my (untested!) attached patch, jjj=2
should still give a run-time error for -fcheck=all. (And without, it accesses
the bounds for dim=1 instead of invalid memory.)

For the first test case (patch to be written), you will loose the run-time
bounds check. Sorry!


[Bug target/47333] [4.8/4.9 regression] g++.dg/lto/20091219 FAILs on Solaris 2 with SUN as

2013-05-13 Thread ro at CeBiTec dot Uni-Bielefeld.DE
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47333

--- Comment #34 from ro at CeBiTec dot Uni-Bielefeld.DE ro at CeBiTec dot 
Uni-Bielefeld.DE ---
Within the last week (20130503 to 20150510), the failure has changed
into an ICE:

-FAIL: g++.dg/lto/20091219 cp_lto_20091219_0.o-cp_lto_20091219_0.o link, -O3
-fl
to
+FAIL: g++.dg/lto/20091219 cp_lto_20091219_0.o-cp_lto_20091219_0.o link, -O3
-fl
to (internal compiler error)

/var/gcc/regression/trunk/11-gcc/build/i386-pc-solaris2.11/libstdc++-v3/include/ext/atomicity.h:
In function '_ZN9__gnu_cxxL27__exchange_and_add_dispatchEPii.constprop.1':
/var/gcc/regression/trunk/11-gcc/build/i386-pc-solaris2.11/libstdc++-v3/include/ext/atomicity.h:86:3:
internal compiler error: in ultimate_transparent_alias_target, at varasm.c:2288
0x8cec21b ultimate_transparent_alias_target
/vol/gcc/src/hg/trunk/local/gcc/varasm.c:2288
0x881caa0 ultimate_transparent_alias_target
/vol/gcc/src/hg/trunk/local/gcc/tree.h:3690
0x881caa0 assemble_name(__FILE*, char const*)
/vol/gcc/src/hg/trunk/local/gcc/varasm.c:2331
0x837bf33 output_addr_const(__FILE*, rtx_def*)
/vol/gcc/src/hg/trunk/local/gcc/final.c:3796
0x886702e ix86_print_operand(__FILE*, rtx_def*, int)
/vol/gcc/src/hg/trunk/local/gcc/config/i386/i386.c:14818
0x837ba64 output_operand(rtx_def*, int)
/vol/gcc/src/hg/trunk/local/gcc/final.c:3755
0x837c3f6 output_asm_insn(char const*, rtx_def**)
/vol/gcc/src/hg/trunk/local/gcc/final.c:3653
0x837de2a final_scan_insn(rtx_def*, __FILE*, int, int, int*)
/vol/gcc/src/hg/trunk/local/gcc/final.c:2921
0x837e7f1 final(rtx_def*, __FILE*, int)
/vol/gcc/src/hg/trunk/local/gcc/final.c:1957
0x837ec1e rest_of_handle_final
/vol/gcc/src/hg/trunk/local/gcc/final.c:4362

Jan, could you *please* have a look at this issue?

Thanks.
Rainer


[Bug lto/54095] Unnecessary static variable renaming

2013-05-13 Thread izamyatin at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54095

Igor Zamyatin izamyatin at gmail dot com changed:

   What|Removed |Added

 CC||izamyatin at gmail dot com

--- Comment #18 from Igor Zamyatin izamyatin at gmail dot com ---
Fix seems to break compilation of 176.gcc from spec2000 with -O2 -flto on x86:

`n_occurrences' referenced in section `.text' of
/tmp/ccnjpEMk.ltrans14.ltrans.o: defined in discarded section `.text' of
reload.o (symbol from plugin)
collect2: error: ld returned 1 exit status


[Bug target/57261] [4.9 regression] libgcc_s.so always linked on Solaris

2013-05-13 Thread ro at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57261

Rainer Orth ro at gcc dot gnu.org changed:

   What|Removed |Added

 Target|*-*-solaris2.10 |*-*-solaris2.{9,10}
 Status|UNCONFIRMED |ASSIGNED
   Last reconfirmed||2013-05-13
   Assignee|unassigned at gcc dot gnu.org  |ro at gcc dot gnu.org
 Ever confirmed|0   |1

--- Comment #1 from Rainer Orth ro at gcc dot gnu.org ---
Looking into it.


[Bug c++/15882] Check for return type of overloaded operator new too early

2013-05-13 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15882

Paolo Carlini paolo.carlini at oracle dot com changed:

   What|Removed |Added

 CC|gcc-bugs at gcc dot gnu.org|

--- Comment #11 from Paolo Carlini paolo.carlini at oracle dot com ---
Any idea what happened with this issue? Does exist an actual ISO DR?


[Bug c/57264] New: cld not emitted when string instructions used, and '-mcld' on command line

2013-05-13 Thread thutt at vmware dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57264

Bug ID: 57264
   Summary: cld not emitted when string instructions used, and
'-mcld' on command line
   Product: gcc
   Version: unknown
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
  Assignee: unassigned at gcc dot gnu.org
  Reporter: thutt at vmware dot com

A defect has been found in several versions of gcc with respect to the
'-mcld' option.

  -mcld

 This option instructs GCC to emit a cld instruction in the
 prologue of functions that use string instructions.  String
 instructions depend on the DF flag to select between
 autoincrement or autodecrement mode.  While the ABI specifies the
 DF flag to be cleared on function entry, some operating systems
 violate this specification by not clearing the DF flag in their
 exception dispatchers.  The exception handler can be invoked with
 the DF flag set which leads to wrong direction mode, when string
 instructions are used.  This option can be enabled by default on
 32-bit x86 targets by configuring GCC with the --enable-cld
 configure option.  Generation of cld instructions can be
 suppressed with the -mno-cld compiler option in this case.


Consider the following distillation of the issue (cld.c):

  void test(int x, int **pp)
  {
  while (x) {
  int *ip = *pp;
  int *op = *pp;
  while (*ip) {
 int v = *ip++;
 *op++ = v + 1;
  }
   }
  }

To demonstrate the issue:

  gcc -c -mcld -O1 -m64 -o cld.o cld.c
  objdump --disassemble --reloc cld.o

An example failure case:

  gcc (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3
  Copyright (C) 2011 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.


   test:
 0:  85 ff  test   %edi,%edi
 2:  74 15  je 19 test+0x19
 4:  48 8b 3e   mov(%rsi),%rdi
 7:  8b 07  mov(%rdi),%eax
 9:  85 c0  test   %eax,%eax
 b:  74 f7  je 4 test+0x4
 d:  83 c0 01   add$0x1,%eax
10:  ab stos   %eax,%es:(%rdi)
11:  8b 07  mov(%rdi),%eax
13:  85 c0  test   %eax,%eax
15:  74 ed  je 4 test+0x4
17:  eb f4  jmpd test+0xd
19:  f3 c3  repz retq

For the above sample code, local experimentation has shown than 4.5,
4.6  4.7 emit a string instruction without a 'cld' in the prologue.
Versions 4.4  4.8 do not emit a string instruction.

Most perturbations to the above sample code will change the output so
that no string instruction is emitted when using the defective
versions.

It is expected that a 'cld' instruction will be generated in the
function prolong whenever any string instruction is emitted by gcc when
the '-mcld' option has been provided.


[Bug c++/57038] Latest libreoffice compilation fails with enabled LTO

2013-05-13 Thread marxin.liska at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57038

--- Comment #17 from Martin Liška marxin.liska at gmail dot com ---
I tried to apply suggested patch, but following gcc_assert was thrown:

https://github.com/marxin/gcc/blob/master/gcc/lto/lto-partition.c#L564

Callstack:
[build CXX] store/source/stortree.cxx
lto1: internal compiler error: in lto_balanced_map, at lto/lto-partition.c:566
0x52004f lto_balanced_map()
../../gcc/lto/lto-partition.c:566
0x516c0e do_whole_program_analysis
../../gcc/lto/lto.c:3201
0x516c0e lto_main()
../../gcc/lto/lto.c:3341

lto-partition.c:566 refers to the github link

[Bug c++/56926] Crash (without ICE) while compiling Boost.Math

2013-05-13 Thread vanboxem.ruben at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56926

--- Comment #2 from Ruben Van Boxem vanboxem.ruben at gmail dot com ---
As bugzilla has a file size limit of 1000kB, here's a link to my dropbox
containing a zipped gch file that I believe is responsible for the crash.

https://dl.dropboxusercontent.com/u/58715553/pch.hpp.gch.zip

This file was created with GCC 4.8.1 20130425.

Alternatively (if you have a 64-bit Windows (virtual)box) just download
http://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win64/Personal%20Builds/rubenvb/gcc-4.8-release/x86_64-w64-mingw32-gcc-4.8.0-win64_rubenvb.7z

and Boost
http://sourceforge.net/projects/boost/files/boost/1.53.0/

and add the mingw64/bin extracted directory to PATH, and run
bootstrap toolset=gcc
b2 toolset=gcc

which will slowly compile Boost up to Boost.Math, which will result in several
crashes.


[Bug c++/15882] Check for return type of overloaded operator new too early

2013-05-13 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15882

--- Comment #12 from Jonathan Wakely redi at gcc dot gnu.org ---
Jason sent the issue to the reflector as c++std-core-13788 but I don't see any
indication it made it onto the issues list.


[Bug c++/28107] Incomplete type in struct added to global namespace

2013-05-13 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28107

--- Comment #3 from Paolo Carlini paolo.carlini at oracle dot com ---
Likewise does current ICC and OracleStudio and rather recent clang. I guess
this could use some further triage.


[Bug c++/57252] GCC does not treat ref-qualified overload set as ambiguous

2013-05-13 Thread jason at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57252

Jason Merrill jason at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |ASSIGNED
   Last reconfirmed||2013-05-13
 CC||jason at gcc dot gnu.org
   Assignee|unassigned at gcc dot gnu.org  |jason at gcc dot gnu.org
 Ever confirmed|0   |1


[Bug middle-end/57192] [4.9 Regression] miscompilation at -O3

2013-05-13 Thread Joost.VandeVondele at mat dot ethz.ch
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57192

Joost VandeVondele Joost.VandeVondele at mat dot ethz.ch changed:

   What|Removed |Added

 Status|REOPENED|RESOLVED
 CC||steven at gcc dot gnu.org
 Resolution|--- |FIXED

--- Comment #17 from Joost VandeVondele Joost.VandeVondele at mat dot ethz.ch 
---
So, after some bisection, I find that the valgrind warning appears due to:

r190503 | steven | 2012-08-18 15:44:00 +0200 (Sat, 18 Aug 2012) | 4 lines

* sparseset.c (sparseset_alloc): Use non-clearing allocation.  Tell
valgrind not to worry about reading from unitialized memory.

so, for whatever reason this doesn't work on my setup. 

Steven, what is needed to have these valgrind hints enabled ? Are these
valgrind hints enabled by default ?

BTW, this also clearly shows that at this point this PR is unrelated to SLSR
and fixed.


[Bug target/57264] cld not emitted when string instructions used, and '-mcld' on command line

2013-05-13 Thread ubizjak at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57264

Uros Bizjak ubizjak at gmail dot com changed:

   What|Removed |Added

 Target||x86
 Status|UNCONFIRMED |NEW
Version|unknown |4.7.3
   Last reconfirmed||2013-05-13
  Component|c   |target
 CC||ubizjak at gmail dot com
 Ever confirmed|0   |1
   Target Milestone|--- |4.7.4

--- Comment #1 from Uros Bizjak ubizjak at gmail dot com ---
The stosl insn is created by the combine pass, not via expander, so flag that
triggers the cld insertion is not set. I propose to backport r195381 to disable
unwanted insn combination.

Can you please test the backport?


[Bug target/57264] cld not emitted when string instructions used, and '-mcld' on command line

2013-05-13 Thread ubizjak at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57264

Uros Bizjak ubizjak at gmail dot com changed:

   What|Removed |Added

 Status|NEW |ASSIGNED
   Assignee|unassigned at gcc dot gnu.org  |ubizjak at gmail dot com

--- Comment #2 from Uros Bizjak ubizjak at gmail dot com ---
I am preparing the backport.


[Bug other/56780] --disable-install-libiberty still installs libiberty.a

2013-05-13 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56780

Jonathan Wakely redi at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2013-05-13
 CC||redi at gcc dot gnu.org
 Ever confirmed|0   |1

--- Comment #2 from Jonathan Wakely redi at gcc dot gnu.org ---
Hi, thanks for trying to fix this. I need this switch to work too, otherwise
the non-PIC libiberty.a from my GCC installation conflicts with my distro's PIC
/usr/lib64/libiberty.a and prevents me linking shared libraries with -lbfd

I suggest pinging the gcc-patches list about your patch at
http://gcc.gnu.org/ml/gcc-patches/2013-04/msg00167.html and CC Ian as he is a
maintainer for libiberty and he agreed on the gcc list that this is a bug.


[Bug pch/57242] precompiled headers ignored unless the .gch and TU's are compiled with certain combinations of -g flag

2013-05-13 Thread scottbaldwin at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57242

--- Comment #6 from etherice scottbaldwin at gmail dot com ---
(In reply to Richard Biener from comment #5)
 (In reply to etherice from comment #4)
  (In reply to Andrew Pinski from comment #1)
   This is by design as -g changes the information produced by the front-end
   and maybe even predefines too.
  
  I created a simpler test to demonstrate the bug. Two files:
  
  --
  pch.hpp
  --
  #ifndef __PCH_HPP__
  #define __PCH_HPP__
#pragma message [ not using pre-compiled headers ]
#include iostream
  #endif
  
  --
  test.cpp
  --
  #include pch.hpp
  int main() {
  std::cout  hello world  std::endl;
  return 0;
  }
  
  --
  
  If you run commands [1] and [2] below, you will notice that pch is ignored.
  
  [1]  g++ -I. pch.hpp  -o pch.hpp.gch
  [2]  g++ -I. -c test.cpp  -o test.o
  [3]  g++ -I. -c test.cpp  -o test.o -include pch.hpp
 
 How?  I see
 
 rguenther@murzim:/tmp g++-4.7 -I. pch.hpp  -o pch.hpp.gch
 pch.hpp:3:19: note: #pragma message: [ not using pre-compiled headers ]
 rguenther@murzim:/tmp g++-4.7 -I. -c test.cpp  -o test.o  
 rguenther@murzim:/tmp g++-4.7 -I. -c test.cpp  -o test.o -include pch.hpp
 
 rguenther@murzim:/tmp g++-4.8 -I. pch.hpp  -o pch.hpp.gch
 pch.hpp:3:19: note: #pragma message: [ not using pre-compiled headers ]
#pragma message [ not using pre-compiled headers ]
^
 rguenther@murzim:/tmp g++-4.8 -I. -c test.cpp  -o test.o 
 rguenther@murzim:/tmp g++-4.8 -I. -c test.cpp  -o test.o -include pch.hpp
 
 the issue is probably that there are pre-installed precompiled headers
 for libstdc++ which use certain flags.  Maybe in your case this confuses
 things?  (disclaimer: I always install gcc built with
 --disable-libstdcxx-pch)
 Try removing them.

I did a clean rebuild of 4.8 with --disable-libstdcxx-pch and results were the
same, pch ignored, but... after triple-checking some things I realized ccache
was still being used.

Once ccache was disabled, the issue went away and gcc-pch worked as expected.
So this appears to be a bug with ccache, not gcc.

Fortunately, the workaround is simple (using '-g3' or the '-include' option).

[Bug c++/31952] parameters may be redeclared in a function try-block

2013-05-13 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31952

Paolo Carlini paolo.carlini at oracle dot com changed:

   What|Removed |Added

 Status|NEW |ASSIGNED
   Assignee|unassigned at gcc dot gnu.org  |paolo.carlini at oracle 
dot com

--- Comment #8 from Paolo Carlini paolo.carlini at oracle dot com ---
On it.


[Bug c++/57038] Latest libreoffice compilation fails with enabled LTO

2013-05-13 Thread hubicka at ucw dot cz
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57038

--- Comment #18 from Jan Hubicka hubicka at ucw dot cz ---
 Callstack:
 [build CXX] store/source/stortree.cxx
 lto1: internal compiler error: in lto_balanced_map, at lto/lto-partition.c:566
 0x52004f lto_balanced_map()
 ../../gcc/lto/lto-partition.c:566

My line numbers are out of sync now. Is it
gcc_assert (node-analyzed);
perhaps it is iceing on unanalyzed weakrefs.  I guess that assert is safe to
remove then.
I am testing bigger patch to address the weakrefs problems in Firefox, too, so
hopefully it
will address this problem as well.

Honza


[Bug target/57264] cld not emitted when string instructions used, and '-mcld' on command line

2013-05-13 Thread ubizjak at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57264

--- Comment #3 from Uros Bizjak ubizjak at gmail dot com ---
Author: uros
Date: Mon May 13 17:14:26 2013
New Revision: 198837

URL: http://gcc.gnu.org/viewcvs?rev=198837root=gccview=rev
Log:
PR target/57264
Backport from mainline
2013-01-22  Jakub Jelinek  ja...@redhat.com

PR target/55686
* config/i386/i386.md (UNSPEC_STOS): New.
(strset_singleop, *strsetdi_rex_1, *strsetsi_1, *strsethi_1,
*strsetqi_1): Add UNSPEC_STOS.

testsuite/ChangeLog:

PR target/57264
* gcc.target/i386/pr57264.c: New test.


Added:
branches/gcc-4_7-branch/gcc/testsuite/gcc.target/i386/pr57264.c
Modified:
branches/gcc-4_7-branch/gcc/ChangeLog
branches/gcc-4_7-branch/gcc/config/i386/i386.md
branches/gcc-4_7-branch/gcc/testsuite/ChangeLog


[Bug target/57264] cld not emitted when string instructions used, and '-mcld' on command line

2013-05-13 Thread ubizjak at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57264

Uros Bizjak ubizjak at gmail dot com changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
URL||http://gcc.gnu.org/ml/gcc-p
   ||atches/2013-05/msg00655.htm
   ||l
 Resolution|--- |FIXED

--- Comment #4 from Uros Bizjak ubizjak at gmail dot com ---
Fixed in 4.7 branch by [1]. 4.5 and 4.6 branches are closed.

[1] http://gcc.gnu.org/ml/gcc-patches/2013-05/msg00655.html


[Bug target/57264] cld not emitted when string instructions used, and '-mcld' on command line

2013-05-13 Thread thutt at vmware dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57264

--- Comment #5 from thutt at vmware dot com ---
(In reply to Uros Bizjak from comment #3)
 Author: uros
 Date: Mon May 13 17:14:26 2013
 New Revision: 198837
 
 URL: http://gcc.gnu.org/viewcvs?rev=198837root=gccview=rev
 Log:
   PR target/57264
   Backport from mainline
   2013-01-22  Jakub Jelinek  ja...@redhat.com
 
   PR target/55686
   * config/i386/i386.md (UNSPEC_STOS): New.
   (strset_singleop, *strsetdi_rex_1, *strsetsi_1, *strsethi_1,
   *strsetqi_1): Add UNSPEC_STOS.
 
 testsuite/ChangeLog:
 
   PR target/57264
   * gcc.target/i386/pr57264.c: New test.
 
 
 Added:
 branches/gcc-4_7-branch/gcc/testsuite/gcc.target/i386/pr57264.c
 Modified:
 branches/gcc-4_7-branch/gcc/ChangeLog
 branches/gcc-4_7-branch/gcc/config/i386/i386.md
 branches/gcc-4_7-branch/gcc/testsuite/ChangeLog

Does the same error exist in the 4.8 branch, or any other forward moving
branch?

[Bug bootstrap/57265] New: Bootstrap failure on sparc-sun-solaris2.10 in libquadmath

2013-05-13 Thread ahaas at airmail dot net
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57265

Bug ID: 57265
   Summary: Bootstrap failure on sparc-sun-solaris2.10 in
libquadmath
   Product: gcc
   Version: 4.9.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: bootstrap
  Assignee: unassigned at gcc dot gnu.org
  Reporter: ahaas at airmail dot net

My builds have failed since April 15 when building 'libquadmath' after
completing the stage2/stage3 comparison. My last successful build was on April
14. The error below is taken from the 'config.log' file in  the
'sparc-sun-solaris2.10/sparcv9/libquadmath' directory:

{ ... snip ... }
configure:3386: checking whether the C compiler works
configure:3395: ./a.out
ld.so.1: a.out: fatal: /export/home/arth/src/gcc-0512/./gcc/libgcc_s.so.1:
wrong
 ELF class: ELFCLASS32
/export/home/arth/src/gcc.git/libquadmath/configure: line 3397: 11229 Killed
  ./$ac_file
configure:3399: $? = 137
configure:3406: error: in
`/export/home/arth/src/gcc-0512/sparc-sun-solaris2.10/
sparcv9/libquadmath':
configure:3410: error: cannot run C compiled programs.

A bit of git bisecting leads to this change:

commit 8aaed91dfc5f8fcd17fd6b61de3a6d68e59b5e1e
Author: ro ro@138bc75d-0d04-0410-961f-82ee72b054a4
Date:   Mon Apr 15 10:31:57 2013 +

Use -z ignore instead of --as-needed on Solaris

* configure.ac (gcc_cv_ld_as_needed): Set
gcc_cv_ld_as_needed_option, gcc_cv_no_as_needed_option.
Use -z ignore, -z record on *-*-solaris2*.
(HAVE_LD_AS_NEEDED): Update comment.
(LD_AS_NEEDED_OPTION, LD_NO_AS_NEEDED_OPTION): Define.
* configure: Regenerate.
* config.in: Regenerate.
* gcc.c (init_gcc_specs) [USE_LD_AS_NEEDED]: Use
LD_AS_NEEDED_OPTION, LD_NO_AS_NEEDED_OPTION.
* config/sol2.h [HAVE_LD_AS_NEEDED] (USE_LD_AS_NEEDED): Define.
* doc/tm.texi.in (USE_LD_AS_NEEDED): Allow for --as-needed
equivalents.  Fix markup.
* doc/tm.texi: Regenerate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@197964
138bc75d-0d04-0410-96

I'm able go get a successful build with the previous revision 197963, which is
'98c0d6572c62b325c1e8635df3d6b22003b83619' in my git checkout. In this
revision, the config.log contents from 'sparc-sun-solaris2.10/sparcv9' show
this test succeeding:

configure:3386: checking whether the C compiler works
configure:3395: ./a.out
configure:3399: $? = 0
configure:3414: result: yes

Thanks.

Art Haas


[Bug c++/57038] Latest libreoffice compilation fails with enabled LTO

2013-05-13 Thread hubicka at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57038

--- Comment #19 from Jan Hubicka hubicka at gcc dot gnu.org ---
Ok, I got a self contained testcase for this and indeed, it is safe to remove
that assert.  In fact it is yet another problem with weakrefs: we have weakrefs
that are referring locally defined studd and we have weakrefs that are just
external references.  At LTO merging time we should resolve the second to first
when possible, but we don't.  This is just missed optimization problem.

Just comment out that assert for now.

Honza


[Bug target/57264] cld not emitted when string instructions used, and '-mcld' on command line

2013-05-13 Thread ubizjak at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57264

--- Comment #6 from Uros Bizjak ubizjak at gmail dot com ---
(In reply to thutt from comment #5)
 
 Does the same error exist in the 4.8 branch, or any other forward moving
 branch?

No, 4.8 and newer branches already contain the original patch.


[Bug c++/15882] Check for return type of overloaded operator new too early

2013-05-13 Thread jason at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15882

--- Comment #13 from Jason Merrill jason at gcc dot gnu.org ---
(In reply to Jonathan Wakely from comment #12)
 Jason sent the issue to the reflector as c++std-core-13788 but I don't see
 any indication it made it onto the issues list.

I'll poke Mike about it.


[Bug c++/31952] parameters may be redeclared in a function try-block

2013-05-13 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31952

Paolo Carlini paolo.carlini at oracle dot com changed:

   What|Removed |Added

 CC||jason at gcc dot gnu.org

--- Comment #9 from Paolo Carlini paolo.carlini at oracle dot com ---
Jason, I'm on this issue but I'm not sure how we want to resolve it.

After Janis' patch (see Comment #6) in pushdecl_maybe_friend_1 we issue hard
errors for some kinds of shadowings but not for others. For comparison, clang
issues hard errors for all three testcases here, ICC warnings (like current
GCC). If we wanted, I could tweak the parser to carefully do_pushlevel
(sk_catch) and therefore change to errors only the specific shadowings at issue
in this PR, but I'm also aiming for some consistency.


[Bug c++/57196] [4.8 regression] Bogus aggregate ... has incomplete type and cannot be defined

2013-05-13 Thread jason at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57196

Jason Merrill jason at gcc dot gnu.org changed:

   What|Removed |Added

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

--- Comment #3 from Jason Merrill jason at gcc dot gnu.org ---
Fixed for 4.8.1 as well.


[Bug c++/57041] [4.7/4.8/4.9 Regression] ICE in lookup_field_1, at cp/search.c:376 (with dot-prefixed structure initialisation)

2013-05-13 Thread jason at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57041

Jason Merrill jason at gcc dot gnu.org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |FIXED
   Assignee|unassigned at gcc dot gnu.org  |jason at gcc dot gnu.org
   Target Milestone|4.9.0   |4.8.1

--- Comment #5 from Jason Merrill jason at gcc dot gnu.org ---
Fixed for 4.8.1.


[Bug c++/56998] [4.8 Regression] ICE in value_dependent_expression_p, at cp/pt.c:19598

2013-05-13 Thread jason at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56998

Jason Merrill jason at gcc dot gnu.org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 CC||jason at gcc dot gnu.org
 Resolution|--- |FIXED
   Assignee|unassigned at gcc dot gnu.org  |jason at gcc dot gnu.org

--- Comment #2 from Jason Merrill jason at gcc dot gnu.org ---
Fixed for 4.8.1.


[Bug c++/57253] GCC ignores ref-qualifiers of pseudo-function types in explicit specializations

2013-05-13 Thread jason at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57253

Jason Merrill jason at gcc dot gnu.org changed:

   What|Removed |Added

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

--- Comment #2 from Jason Merrill jason at gcc dot gnu.org ---
Fixed for 4.8.1.


[Bug c++/57255] [meta-bug] ref-qualifiers

2013-05-13 Thread jason at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57255

Bug 57255 depends on bug 57253, which changed state.

Bug 57253 Summary: GCC ignores ref-qualifiers of pseudo-function types in 
explicit specializations
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57253

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |FIXED


[Bug c++/57254] Overload resolution failure when ref-qualified member function templates are defined out-of-line

2013-05-13 Thread jason at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57254

Jason Merrill jason at gcc dot gnu.org changed:

   What|Removed |Added

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

--- Comment #1 from Jason Merrill jason at gcc dot gnu.org ---
Fixed for 4.8.1.


[Bug c++/57255] [meta-bug] ref-qualifiers

2013-05-13 Thread jason at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57255

Bug 57255 depends on bug 57254, which changed state.

Bug 57254 Summary: Overload resolution failure when ref-qualified member 
function templates are defined out-of-line
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57254

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution|--- |FIXED


[Bug c++/57252] GCC does not treat ref-qualified overload set as ambiguous

2013-05-13 Thread jason at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57252

Jason Merrill jason at gcc dot gnu.org changed:

   What|Removed |Added

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

--- Comment #1 from Jason Merrill jason at gcc dot gnu.org ---
Fixed for 4.8.1.


[Bug c++/57255] [meta-bug] ref-qualifiers

2013-05-13 Thread jason at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57255

Bug 57255 depends on bug 57252, which changed state.

Bug 57252 Summary: GCC does not treat ref-qualified overload set as ambiguous
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57252

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution|--- |FIXED


[Bug c++/57038] Latest libreoffice compilation fails with enabled LTO

2013-05-13 Thread marxin.liska at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57038

--- Comment #20 from Martin Liška marxin.liska at gmail dot com ---
Looks like the compilation goes further, but another gcc_assert is reached:

0x51f015 add_symbol_to_partition_1
../../gcc/lto/lto-partition.c:187
0x51f5ba lto_balanced_map()
../../gcc/lto/lto-partition.c:534
0x516c0e do_whole_program_analysis
../../gcc/lto/lto.c:3201
0x516c0e lto_main()
../../gcc/lto/lto.c:3341


https://github.com/marxin/gcc/blob/master/gcc/lto/lto-partition.c#L185-L186

We can either wait for your complex patch or try to debug it.

Martin

[Bug bootstrap/57265] Bootstrap failure on sparc-sun-solaris2.10 in libquadmath

2013-05-13 Thread ebotcazou at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57265

Eric Botcazou ebotcazou at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 CC||ebotcazou at gcc dot gnu.org
 Resolution|--- |DUPLICATE

--- Comment #1 from Eric Botcazou ebotcazou at gcc dot gnu.org ---
-4

*** This bug has been marked as a duplicate of bug 57261 ***


[Bug target/57261] [4.9 regression] libgcc_s.so always linked on Solaris

2013-05-13 Thread ebotcazou at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57261

Eric Botcazou ebotcazou at gcc dot gnu.org changed:

   What|Removed |Added

 CC||ahaas at airmail dot net

--- Comment #2 from Eric Botcazou ebotcazou at gcc dot gnu.org ---
*** Bug 57265 has been marked as a duplicate of this bug. ***


[Bug target/56975] [regression] dllimport broken on i686-pc-cygwin

2013-05-13 Thread ktietz at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56975

Kai Tietz ktietz at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution|--- |FIXED

--- Comment #11 from Kai Tietz ktietz at gcc dot gnu.org ---
Fixed.


[Bug target/48233] [4.6] can't bootstrap with ada, java and go on mingw

2013-05-13 Thread ktietz at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48233

Kai Tietz ktietz at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 CC||ktietz at gcc dot gnu.org
 Resolution|--- |WONTFIX

--- Comment #1 from Kai Tietz ktietz at gcc dot gnu.org ---
go language isn't supported for mingw targets (see PR/47726).
The other languages should work with newer gcc versions.
gcc 4.6 isn't no longer maintained, so I close this bug.


[Bug libstdc++/56332] libstdc++-v3 does not support x86_64-pc-mingw64: No support for this host/target combination

2013-05-13 Thread ktietz at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56332

Kai Tietz ktietz at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 CC||ktietz at gcc dot gnu.org
 Resolution|--- |INVALID

--- Comment #8 from Kai Tietz ktietz at gcc dot gnu.org ---
There is no such triplet x86_64-pc-mingw64 support.


[Bug ada/47163] Failure building target-libada for MingW64

2013-05-13 Thread ktietz at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47163

Kai Tietz ktietz at gcc dot gnu.org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 CC||ktietz at gcc dot gnu.org
 Resolution|--- |FIXED

--- Comment #6 from Kai Tietz ktietz at gcc dot gnu.org ---
The remaining issue about LN -s is also mentioned in PR/52122 report.  So I
close this bug as fixed.


[Bug target/52122] [4.7/4.8/4.9 Regression] incorrect ln -s replacement for mingw like targets in configure files

2013-05-13 Thread ktietz at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52122

Kai Tietz ktietz at gcc dot gnu.org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |FIXED

--- Comment #38 from Kai Tietz ktietz at gcc dot gnu.org ---
Due 4.6 is closed, and bug was fixed for 4.7 and upward, I close this bug. 
Please report issue for DJGPP as separate bug, if problem still exists.


[Bug libstdc++/57263] std::set with user-defined allocator - compile error

2013-05-13 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57263

Jonathan Wakely redi at gcc dot gnu.org changed:

   What|Removed |Added

   Keywords||rejects-valid
   Target Milestone|--- |4.8.2


[Bug c++/57101] [4.8/4.9 Regression] -fcompare-debug failure with type error

2013-05-13 Thread jason at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57101

Jason Merrill jason at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2013-05-13
 CC||hubicka at ucw dot cz,
   ||jason at gcc dot gnu.org
 Ever confirmed|0   |1

--- Comment #1 from Jason Merrill jason at gcc dot gnu.org ---
This difference is caused by varpool_remove_node clobbering the DECL_INITIAL of
integral_constantbool, false::value, and then dump_template_bindings trying
to use the now clobbered value in printing out the name of a function.

It seems to me that varpool_remove_node shouldn't mess with variables that can
still be used for their value in constant expressions.


[Bug bootstrap/57266] New: [4.9 regression] comparison between signed and unsigned integer expressions in fold_binary_loc breaks m68k bootstrap

2013-05-13 Thread mikpe at it dot uu.se
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57266

Bug ID: 57266
   Summary: [4.9 regression] comparison between signed and
unsigned integer expressions in fold_binary_loc breaks
m68k bootstrap
   Product: gcc
   Version: 4.9.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: bootstrap
  Assignee: unassigned at gcc dot gnu.org
  Reporter: mikpe at it dot uu.se

Attempting to bootstrap gcc-4.9-20130512 on m68k-linux fails with:

/mnt/scratch/objdir49/./prev-gcc/xg++ -B/mnt/scratch/objdir49/./prev-gcc/
-B/mnt/scratch/install49/m68k-unknown-linux-gnu/bin/ -nostdinc++
-B/mnt/scratch/objdir49/prev-m68k-unknown-linux-gnu/libstdc++-v3/src/.libs
-B/mnt/scratch/objdir49/prev-m68k-unknown-linux-gnu/libstdc++-v3/libsupc++/.libs
-I/mnt/scratch/objdir49/prev-m68k-unknown-linux-gnu/libstdc++-v3/include/m68k-unknown-linux-gnu
-I/mnt/scratch/objdir49/prev-m68k-unknown-linux-gnu/libstdc++-v3/include
-I/mnt/scratch/gcc-4.9-20130512/libstdc++-v3/libsupc++
-L/mnt/scratch/objdir49/prev-m68k-unknown-linux-gnu/libstdc++-v3/src/.libs
-L/mnt/scratch/objdir49/prev-m68k-unknown-linux-gnu/libstdc++-v3/libsupc++/.libs
-c   -g -O2 -gtoggle -DIN_GCC   -fno-exceptions -fno-rtti
-fasynchronous-unwind-tables -W -Wall -Wno-narrowing -Wwrite-strings
-Wcast-qual -Wmissing-format-attribute -pedantic -Wno-long-long
-Wno-variadic-macros -Wno-overlength-strings -Werror   -DHAVE_CONFIG_H -I. -I.
-I/mnt/scratch/gcc-4.9-20130512/gcc -I/mnt/scratch/gcc-4.9-20130512/gcc/.
-I/mnt/scratch/gcc-4.9-20130512/gcc/../include
-I/mnt/scratch/gcc-4.9-20130512/gcc/../libcpp/include 
-I/mnt/scratch/gcc-4.9-20130512/gcc/../libdecnumber
-I/mnt/scratch/gcc-4.9-20130512/gcc/../libdecnumber/dpd -I../libdecnumber
-I/mnt/scratch/gcc-4.9-20130512/gcc/../libbacktrace   
/mnt/scratch/gcc-4.9-20130512/gcc/fold-const.c -o fold-const.o
/mnt/scratch/gcc-4.9-20130512/gcc/fold-const.c: In function 'tree_node*
fold_binary_loc(location_t, tree_code, tree, tree, tree)':
/mnt/scratch/gcc-4.9-20130512/gcc/fold-const.c:12430:15: error: comparison
between signed and unsigned integer expressions [-Werror=sign-compare]
if (low = prec)
   ^
cc1plus: all warnings being treated as errors
make[3]: *** [fold-const.o] Error 1
make[3]: Leaving directory `/mnt/scratch/objdir49/gcc'
make[2]: *** [all-stage2-gcc] Error 2
make[2]: Leaving directory `/mnt/scratch/objdir49'
make[1]: *** [stage2-bubble] Error 2
make[1]: Leaving directory `/mnt/scratch/objdir49'
make: *** [bootstrap] Error 2

At this point in the source, 'low' is of type HOST_WIDE_INT which is 'long' (32
bits on m68k) while 'prec' is of type 'unsigned int' (also 32 bits).

Caused by r198772.  Before that the code compared 'low' with TYPE_PRECISION (),
which is a smaller-than-int unsigned bitfield, so presumably promoted to int.
Casting prec to HOST_WIDE_INT here seems to work.


[Bug lto/57267] New: [4.9 regression] -flto-partition=none : symbol is already defined

2013-05-13 Thread dimhen at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57267

Bug ID: 57267
   Summary: [4.9 regression] -flto-partition=none : symbol is
already defined
   Product: gcc
   Version: 4.9.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: lto
  Assignee: unassigned at gcc dot gnu.org
  Reporter: dimhen at gmail dot com

198366 PASS
198828 FAIL

$ g++ -fpreprocessed -flto -c a.ii -o a.o
$ g++ -fpreprocessed -flto -c b.ii -o b.o
$ g++ -shared a.o b.o -O -flto -flto-partition=none -o x.so
/tmp/ccozW37q.s: Assembler messages:
/tmp/ccozW37q.s:16: Error: symbol `_ZL28__gthrw___pthread_key_createPjPFvPvE'
is already defined
lto-wrapper: g++ returned 1 exit status
/usr/bin/ld: fatal error: lto-wrapper failed
collect2: error: ld returned 1 exit status

$ cat a.ii
void pthread_key_create (unsigned *, void (void *));
static __typeof pthread_key_create __gthrw___pthread_key_create
__attribute__ ((__weakref__ (__pthread_key_create)));
void *a = (void *) __gthrw___pthread_key_create;

$ cat b.ii
void pthread_key_create (unsigned *, void (void *));
static __typeof pthread_key_create __gthrw___pthread_key_create
__attribute__ ((__weakref__ (__pthread_key_create)));
void *__exchange_and_add_dispatch___gthread_active_ptr =
(void *) __gthrw___pthread_key_create;

$ gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/local/gcc_current/libexec/gcc/x86_64-unknown-linux-gnu/4.9.0/lto-wrapper
Target: x86_64-unknown-linux-gnu
Configured with: /home/dimhen/src/gcc-current/configure
--prefix=/usr/local/gcc_current --with-multilib-list=m64 --enable-__cxa_atexit
--enable-shared --enable-checking=yes,df,fold,rtl,tree
--enable-gnu-unique-object --enable-linker-build-id
--enable-languages=c,c++,lto --enable-plugin --with-tune=native
--with-march=native --enable-version-specific-runtime-libs
Thread model: posix
gcc version 4.9.0 20130513 (experimental) [trunk revision 198828] (GCC)


[Bug lto/57267] [4.9 regression] -flto-partition=none : symbol is already defined

2013-05-13 Thread dimhen at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57267

--- Comment #1 from Dmitry G. Dyachenko dimhen at gmail dot com ---
198815 FAIL


[Bug bootstrap/57266] [4.9 regression] comparison between signed and unsigned integer expressions in fold_binary_loc breaks m68k bootstrap

2013-05-13 Thread glisse at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57266

--- Comment #1 from Marc Glisse glisse at gcc dot gnu.org ---
Ah, sorry. I already had to play a bit with types to avoid similar painful
warnings on x86_64 and didn't check on other platforms. I think making low an
unsigned int would be fine (we have just checked that it is the sum of 2
numbers smaller than a precision). Note that the host_integerp checks are
suspicious, I would have expected true as second argument, especially for the
second one, to ensure it is not negative.


[Bug tree-optimization/57268] New: c nested loops hang compiler

2013-05-13 Thread dhazeghi at yahoo dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57268

Bug ID: 57268
   Summary: c nested loops hang compiler
   Product: gcc
   Version: 4.9.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: tree-optimization
  Assignee: unassigned at gcc dot gnu.org
  Reporter: dhazeghi at yahoo dot com

Created attachment 30106
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=30106action=edit
testcase

The attached testcase causes current gcc trunk to hang on
x86_64-unknown-linux-gnu, when compiled at -O2 or higher optimization levels. 
It compiles successfully with gcc 4.8.  I have not succeeded in reducing the
testcase to a manageable size.

$ gcc-trunk -v
gcc-trunk (GCC) 4.9.0 20130513 (experimental) [trunk revision 198822]
...
$ gcc-trunk -Os -w test.c
$ gcc-4.8 -O2 -w test.c
$ gcc-trunk -O2 -w test.c
hangs


[Bug gcov-profile/57269] New: ICE in gcov_open, at gcov-io.c:82

2013-05-13 Thread dirtyepic at gentoo dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57269

Bug ID: 57269
   Summary: ICE in gcov_open, at gcov-io.c:82
   Product: gcc
   Version: 4.7.4
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: gcov-profile
  Assignee: unassigned at gcc dot gnu.org
  Reporter: dirtyepic at gentoo dot org

Created attachment 30107
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=30107action=edit
poc.i.bz2

$ gcc-4.7.3 -v -O2 poc.i -fprofile-use --coverage -o /dev/null
Using built-in specs.
COLLECT_GCC=gcc-4.7.3
COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-pc-linux-gnu/4.7.3/lto-wrapper
Target: x86_64-pc-linux-gnu
Configured with: /var/tmp/portage/sys-devel/gcc-4.7.3/work/gcc-4.7.3/configure
--prefix=/usr --bindir=/usr/x86_64-pc-linux-gnu/gcc-bin/4.7.3
--includedir=/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include
--datadir=/usr/share/gcc-data/x86_64-pc-linux-gnu/4.7.3
--mandir=/usr/share/gcc-data/x86_64-pc-linux-gnu/4.7.3/man
--infodir=/usr/share/gcc-data/x86_64-pc-linux-gnu/4.7.3/info
--with-gxx-include-dir=/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4
--host=x86_64-pc-linux-gnu --build=x86_64-pc-linux-gnu --disable-altivec
--disable-fixed-point --with-cloog --with-ppl
--with-cloog-include=/usr/include/cloog-ppl --disable-ppl-version-check
--enable-lto --disable-nls --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.3/python
--enable-checking=release --disable-libgcj --enable-libstdcxx-time
--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.3 p1.0, pie-0.5.5'
Thread model: posix
gcc version 4.7.3 (Gentoo 4.7.3 p1.0, pie-0.5.5) 
COLLECT_GCC_OPTIONS='-v' '-O2' '-fprofile-use' '-coverage' '-o' '/dev/null'
'-mtune=generic' '-march=x86-64'
 /usr/libexec/gcc/x86_64-pc-linux-gnu/4.7.3/cc1 -fpreprocessed poc.i -quiet
-dumpbase poc.i -mtune=generic -march=x86-64 -auxbase poc -O2 -version
-fprofile-use -fprofile-arcs -ftest-coverage -o /tmp/cco33h8C.s
GNU C (Gentoo 4.7.3 p1.0, pie-0.5.5) version 4.7.3 (x86_64-pc-linux-gnu)
compiled by GNU C version 4.7.3, GMP version 5.1.1, MPFR version 3.1.2, MPC
version 1.0.1
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
GNU C (Gentoo 4.7.3 p1.0, pie-0.5.5) version 4.7.3 (x86_64-pc-linux-gnu)
compiled by GNU C version 4.7.3, GMP version 5.1.1, MPFR version 3.1.2, MPC
version 1.0.1
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
Compiler executable checksum: 2df2c46e238255eca0f13c5d46fa52c6
poc.c:1:0: internal compiler error: in gcov_open, at gcov-io.c:82
Please submit a full bug report,
with preprocessed source if appropriate.
See http://bugs.gentoo.org/ for instructions.


This also fails with a vanilla build of the 4.7 branch as of May 8.  There is
no error with 4.8.0.


[Bug target/57260] Generated R_MIPS_GOT_MIPS relocation for direct function call while compiling with -O2 on MIPS N64

2013-05-13 Thread lee.duhem at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57260

--- Comment #7 from Lee Duhem lee.duhem at gmail dot com ---
(In reply to Andrew Pinski from comment #6)
  I think the following testcase is closer to my case:
  int shouldbecall16(void);
  int g(void) { shouldbecall16(); return 0; }
 
 No it is not; mine is the one which shows the issue:
 static void
 __glXDRIenterServer(GLboolean rendering)
 {
 
 DRIWakeupHandler(((void *)0), 0, ((void *)0));
 }

There are two symbols that have the R_MIPS_GOT_DISP 
relocation, DRIBlockHandler and DRIWakeupHandler.

The DRIBlockHandler case is

static void
__glXDRIleaveServer(GLboolean rendering)
{
...

DRIBlockHandler(NULL, NULL, NULL);

for (i = 0; rendering  i  screenInfo.numScreens; i++) {
...
}

And the DRIWakeupHandler case is

static void
__glXDRIenterServer(GLboolean rendering)
{
...

DRIWakeupHandler(NULL, 0, NULL);
}

Would you like to check again about the first case? I think
these two case are different.

Thank you for your time.


[Bug target/50962] Additional opportunity for AGU stall avoidance optimization for Atom processor

2013-05-13 Thread dirtyepic at gentoo dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50962

--- Comment #7 from Ryan Hill dirtyepic at gentoo dot org ---
This caused PR56707.


[Bug target/57260] Generated R_MIPS_GOT_MIPS relocation for direct function call while compiling with -O2 on MIPS N64

2013-05-13 Thread pinskia at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57260

--- Comment #8 from Andrew Pinski pinskia at gcc dot gnu.org ---
(In reply to Lee Duhem from comment #7)
 Would you like to check again about the first case? I think
 these two case are different.

No they are both the same case:
ld$25,%got_disp(DRIWakeupHandler)($28)
.loc 1 179 0
ld$28,32($sp)
.loc 1 178 0
move$4,$0
move$5,$0
move$6,$0
.cfi_restore 16
.cfi_restore 17
.cfi_restore 18
.cfi_restore 28
.cfi_restore 31
.reloc1f,R_MIPS_JALR,DRIWakeupHandler
1:jr$25
daddiu$sp,$sp,48

ld$25,%got_disp(DRIBlockHandler)($28)
.loc 1 161 0
ld$28,64($sp)
.loc 1 137 0
move$4,$0
move$5,$0
move$6,$0
.cfi_restore 16
.cfi_restore 17
.cfi_restore 18
.cfi_restore 19
.cfi_restore 20
.cfi_restore 21
.cfi_restore 22
.cfi_restore 28
.cfi_restore 31
.reloc1f,R_MIPS_JALR,DRIBlockHandler
1:jr$25
daddiu$sp,$sp,80


[Bug libstdc++/57270] New: std::is_function ignores function ref-qualifiers

2013-05-13 Thread lucdanton at free dot fr
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57270

Bug ID: 57270
   Summary: std::is_function ignores function ref-qualifiers
   Product: gcc
   Version: unknown
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: libstdc++
  Assignee: unassigned at gcc dot gnu.org
  Reporter: lucdanton at free dot fr

Following the resolution of 57253
(http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57253) it seems worthwhile to
point out that there are missing specializations of std::function such that
e.g.

static_assert( std::is_functionvoid()(),  );

is triggered.