[Bug gcov-profile/52376] [4.7 regression] ICE in lto_input_tree_ref, at lto-streamer-in.c:266 while linking LTO-PGO libxul

2012-02-25 Thread markus at trippelsdorf dot de
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52376

--- Comment #2 from Markus Trippelsdorf markus at trippelsdorf dot de 
2012-02-25 08:06:02 UTC ---
Created attachment 26750
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=26750
unreduced testcase

 % c++ -O2 -fprofile-use -c -fPIC -fno-exceptions -std=gnu++0x
nsXMLContentSink.ii
/var/tmp/mozilla-central/content/xml/document/src/nsXMLContentSink.cpp: In
member function ‘virtual nsresult nsXMLContentSink::HandleComment(const
PRUnichar*)’:
/var/tmp/mozilla-central/content/xml/document/src/nsXMLContentSink.cpp:1195:87:
internal compiler error: in emit_move_insn, at expr.c:3435
Please submit a full bug report,
with preprocessed source if appropriate.


[Bug gcov-profile/52376] [4.7 regression] ICE in lto_input_tree_ref, at lto-streamer-in.c:266 while linking LTO-PGO libxul

2012-02-25 Thread markus at trippelsdorf dot de
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52376

Markus Trippelsdorf markus at trippelsdorf dot de changed:

   What|Removed |Added

 CC||jakub at gcc dot gnu.org

--- Comment #3 from Markus Trippelsdorf markus at trippelsdorf dot de 
2012-02-25 08:42:06 UTC ---
Started with:

1a3c6423a47657cd5bd9e5b2c6a2099da37a8dd4 is the first bad commit
commit 1a3c6423a47657cd5bd9e5b2c6a2099da37a8dd4
Author: jakub jakub@138bc75d-0d04-0410-961f-82ee72b054a4
Date:   Thu Feb 23 14:43:43 2012 +

PR tree-optimization/52019
* ipa-split.c (find_return_bb, find_retval, visit_bb): Ignore
CLOBBER stmts.

* gcc.dg/tree-ssa/ipa-split-6.c: New test.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@184508
138bc75d-0d04-0410-961f-82ee72b054a4


[Bug target/52378] Can't build most recent svn version, i.e., trunk 4.7.0

2012-02-25 Thread list at qtrac dot plus.com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52378

Mark Summerfield list at qtrac dot plus.com changed:

   What|Removed |Added

 Status|WAITING |RESOLVED
 Resolution||INVALID

--- Comment #2 from Mark Summerfield list at qtrac dot plus.com 2012-02-25 
09:06:33 UTC ---
I'm v. sorry, I read the instructions carefully but still managed to miss the
point about doing the build out of tree since I don't need to do that for other
things. I've now built it sucessfully.

Thanks!

PS I had to do 'make realclean' in the source directory before it would build.

PPS Thanks also for mentioning flex: maybe it should be moved to the
Tools/packages necessary for building GCC section (currently it is in the
Tools/packages necessary for modifying GCC section) on page
http://gcc.gnu.org/install/prerequisites.html since I only read the former
since I just want to try to use the leading edge version, not modify it.


[Bug target/52378] Can't build most recent svn version, i.e., trunk 4.7.0

2012-02-25 Thread pinskia at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52378

--- Comment #3 from Andrew Pinski pinskia at gcc dot gnu.org 2012-02-25 
09:09:34 UTC ---
(In reply to comment #2)
 PPS Thanks also for mentioning flex: maybe it should be moved to the
 Tools/packages necessary for building GCC section (currently it is in the
 Tools/packages necessary for modifying GCC section) on page
 http://gcc.gnu.org/install/prerequisites.html since I only read the former
 since I just want to try to use the leading edge version, not modify it.

Well there is a reason why it is part of the modifying GCC section.  building
GCC section is for building from releases.  While modifying GCC section is for
building from svn and snapshots.


[Bug middle-end/52372] [4.7 regression] gcc.target/mips/mips16-attributes{,-4}.c SEGV in dwf_regno

2012-02-25 Thread rsandifo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52372

rsand...@gcc.gnu.org rsandifo at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |ASSIGNED
   Last reconfirmed||2012-02-25
  Component|target  |middle-end
 AssignedTo|unassigned at gcc dot   |rsandifo at gcc dot gnu.org
   |gnu.org |
 Ever Confirmed|0   |1

--- Comment #2 from rsandifo at gcc dot gnu.org rsandifo at gcc dot gnu.org 
2012-02-25 09:40:58 UTC ---
Doesn't segfault for me, even with a cross to
mips-sgi-irix6.5, but it would probably show
as an rtl checking failure if rtl checking was
enabled.  Will try that.

Testing a patch.


[Bug c++/52379] New: When inheriting a class X from another namespace, inside the class X will always refer to that one.

2012-02-25 Thread yose at jormy dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52379

 Bug #: 52379
   Summary: When inheriting a class X from another namespace,
inside the class X will always refer to that one.
Classification: Unclassified
   Product: gcc
   Version: 4.6.2
Status: UNCONFIRMED
  Severity: major
  Priority: P3
 Component: c++
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: y...@jormy.com


The attached code should compile, but it does not. GCC thinks a inside
Two::B::B() refers to One::A, but it should actually be Two::A instead.

Making Two::B not inherit from One::A removes the problem, so it seems to be
related to inheritance.

If there was class C in namespace One, having the object C a inside B::B()
will not work on both cases, so it seems to be only affecting that specific
class name.

thanks to _verty for testing this on 4.6.2 as well, but it existed in 4.3.4 as
well (ideone link : http://ideone.com/TpmpM)


[Bug c++/52379] When inheriting a class X from another namespace, inside the class X will always refer to that one.

2012-02-25 Thread yose at jormy dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52379

--- Comment #1 from Boris von Zuckerberg yose at jormy dot com 2012-02-25 
11:02:45 UTC ---
Created attachment 26751
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=26751
This is the example of the problem in action.


[Bug c++/52380] New: [C++11] Number of variadic template arguments wrongly interpreted in class template

2012-02-25 Thread ai.azuma at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52380

 Bug #: 52380
   Summary: [C++11] Number of variadic template arguments wrongly
interpreted in class template
Classification: Unclassified
   Product: gcc
   Version: 4.7.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: ai.az...@gmail.com


Created attachment 26752
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=26752
Output of -v option and preprocessed file

Here is a reproducer;

///
// An enclosing class template is necessary to
// reproduce the bug.
templatetypename T
struct S
{
  templatetypename U
  struct Unary// Line 5
  {};

  templateunsigned, typename... Args
  struct Dispatch // Line 9
: public UnaryArgs...
  {};

  templatetypename... Args
  struct Variadic
: public Dispatchsizeof...(Args), Args...
  {};
};

int main()
{
  Svoid::Variadicvoid z;
}
///

GCC 4.7.0 20120218 (experimental) with -std=c++11 complains about the above
code;

main.cpp: In instantiation of 'struct Svoid::Dispatch1u, void':
main.cpp:14:10:   required from 'struct Svoid::Variadicvoid'
main.cpp:21:27:   required from here
main.cpp:9:10: error: wrong number of template arguments (2, should be 1)
main.cpp:5:10: error: provided for 'templateclass T templateclass U struct
ST::Unary'

Obviously, just one template argument is passed to `Unary'. However, GCC
misinterprets the number of template arguments as two.


[Bug middle-end/52375] [4.7 Regression] internal compiler error: in extract_insn, at recog.c:2123 at -O3 -mfpu=neon

2012-02-25 Thread mikpe at it dot uu.se
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52375

--- Comment #4 from Mikael Pettersson mikpe at it dot uu.se 2012-02-25 
11:51:39 UTC ---
The reduced test case doesn't ICE gcc-4.7 for me.  The original one does.


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

2012-02-25 Thread aoliva at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52001

--- Comment #5 from Alexandre Oliva aoliva at gcc dot gnu.org 2012-02-25 
12:09:33 UTC ---
Author: aoliva
Date: Sat Feb 25 12:09:27 2012
New Revision: 184571

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=184571
Log:
PR debug/52001
* cselib.c (preserve_only_constants): Rename to...
(preserve_constants_and_equivs): ... this.  Split out...
(invariant_or_equiv_p): ... this.  Preserve plus expressions
of other preserved expressions too.
(cselib_reset_table): Adjust.
* var-tracking.c (reverse_op): Use canonical value to build
reverse operation.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/cselib.c
trunk/gcc/var-tracking.c


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

2012-02-25 Thread aoliva at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52001

--- Comment #6 from Alexandre Oliva aoliva at gcc dot gnu.org 2012-02-25 
12:09:48 UTC ---
Author: aoliva
Date: Sat Feb 25 12:09:41 2012
New Revision: 184572

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=184572
Log:
PR debug/52001
* alias.c (refs_newer_value_cb, refs_newer_value_p): New.
(get_addr): Walk canonical value's locs.  Avoid returning VALUEs
and locs that reference values newer than the non-canonical value
at hand.  Return the canonical value as a worst case.
(memrefs_conflict_p): Walk canonical value's locs.

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


[Bug middle-end/52375] [4.7 Regression] internal compiler error: in extract_insn, at recog.c:2123 at -O3 -mfpu=neon

2012-02-25 Thread steven at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52375

--- Comment #5 from Steven Bosscher steven at gcc dot gnu.org 2012-02-25 
12:29:08 UTC ---
The unreduced test case fails for me with options:
-march=armv7-a -mfloat-abi=softfp -mfpu=neon -O -ftree-vectorize

The compiler is trunk r184372, configured for arm-eabi.

Backtrace:
#0  0x00eccd50 in fancy_abort ()
#1  0x009d30b3 in _fatal_insn ()
#2  0x009d30f2 in _fatal_insn_not_found ()
#3  0x009a646e in extract_insn ()
#4  0x008868ec in instantiate_virtual_regs ()
#5  0x00985d39 in execute_one_pass ()
#6  0x009860a5 in execute_pass_list ()
#7  0x009860b7 in execute_pass_list ()
#8  0x00a9c6d8 in tree_rest_of_compilation ()
#9  0x00763e0a in cgraph_expand_function ()
#10 0x0076783a in cgraph_optimize ()
#11 0x00767d95 in cgraph_finalize_compilation_unit ()
#12 0x005871bb in cp_write_global_declarations ()
#13 0x00a2c387 in do_compile ()
#14 0x00a2ca74 in toplev_main ()


[Bug c/52381] New: asm goto output operands

2012-02-25 Thread marc.glisse at normalesup dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52381

 Bug #: 52381
   Summary: asm goto output operands
Classification: Unclassified
   Product: gcc
   Version: 4.7.0
Status: UNCONFIRMED
  Severity: enhancement
  Priority: P3
 Component: c
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: marc.gli...@normalesup.org


Hello,

asm goto doesn't allow output operands (this is documented). I haven't found an
enhancement request about it, but I think it is obvious that it is wanted. What
I would like to ask in the meantime is for a more specific error message than:

ex.c: In function 'h':
ex.c:4:42: error: expected ':' before string constant

or in the case of g++:

ex.cc: In function 'void h(int)':
ex.cc:4:42: error: expected ':' or '::' before string constant
ex.cc:4:74: error: undefined named operand 'g_'

Something like: asm goto doesn't allow output operands would be great. It
took me a while to understand what was wrong by reading the doc, even with the
nice column indication.

silly example (yes, the contraints don't make sense, it doesn't matter) that
gave the messages above:
void f(int);
void g();
void h(int i){
  asm goto( cmpl %1, %0\n\tje %l[g_] : +g (i) : i (42) : cc : g_);
  return f(i);
g_:
  return g();
}


[Bug c++/52379] When inheriting a class X from another namespace, inside the class X will always refer to that one.

2012-02-25 Thread daniel.kruegler at googlemail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52379

Daniel Krügler daniel.kruegler at googlemail dot com changed:

   What|Removed |Added

 CC||daniel.kruegler at
   ||googlemail dot com

--- Comment #2 from Daniel Krügler daniel.kruegler at googlemail dot com 
2012-02-25 13:06:47 UTC ---
The name 'A' within Two::B refers to the base class A (which is One::A), which
again has no what() function. This is essentially the injected-class-name of
the base class as described in the name-lookup of members.

The compiler is correct to reject the code (In addition, the compiler should
also reject the semicolon after the closing brace of the namespaces).


[Bug c++/52377] C++11 non-static initializers in unions are not used

2012-02-25 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52377

Jonathan Wakely redi at gcc dot gnu.org changed:

   What|Removed |Added

   Keywords||wrong-code
 Status|UNCONFIRMED |NEW
   Last reconfirmed||2012-02-25
 Ever Confirmed|0   |1

--- Comment #1 from Jonathan Wakely redi at gcc dot gnu.org 2012-02-25 
13:58:44 UTC ---
confirmed, I think [class.base.init] says a brace-or-equal-initializer should
be used in preference to doing no initialization for a variant-member


[Bug c++/52379] When inheriting a class X from another namespace, inside the class X will always refer to that one.

2012-02-25 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52379

Jonathan Wakely redi at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||INVALID

--- Comment #3 from Jonathan Wakely redi at gcc dot gnu.org 2012-02-25 
14:04:38 UTC ---
(In reply to comment #2)
 (In addition, the compiler should
 also reject the semicolon after the closing brace of the namespaces).

That's a long-standing G++ extension, which -pedantic warns about.

Otherwise, agreed, this is invalid.


[Bug middle-end/52375] [4.7 Regression] internal compiler error: in extract_insn, at recog.c:2123 at -O3 -mfpu=neon

2012-02-25 Thread Bernhard.Rosenkranzer at linaro dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52375

--- Comment #6 from Bernhard Rosenkränzer Bernhard.Rosenkranzer at linaro dot 
org 2012-02-25 14:08:03 UTC ---
Reduced test case fails for me with 184223 (so does the unreduced one):

[bero@localhost ~]$ /opt/android-toolchain-4.7/bin/arm-linux-androideabi-g++ -O
-ftree-vectorize -mfpu=neon -march=armv7-a -mfloat-abi=softfp -o /tmp/test.o
Input.cpp 
Input.cpp: In member function 'void D::something(const B*)':
Input.cpp:41:1: error: unrecognizable insn:
(insn 9 8 10 3 (set (reg:V4SI 158)
(lshiftrt:V4SI (reg:V4SI 159)
(subreg:V4SI (reg:OI 154 [ vect_array.25 ]) 0))) Input.cpp:18 -1
 (nil))
Input.cpp:41:1: internal compiler error: in extract_insn, at recog.c:2123
Please submit a full bug report,
with preprocessed source if appropriate.
See http://gcc.gnu.org/bugs.html for instructions.

If it matters (I don't think it should...), this is an i686-pc-linux-gnu -
arm-linux-androideabi crosscompiler.


[Bug c++/52366] [c++11] static constexpr function cant initialize static constexpr

2012-02-25 Thread trashyankes at wp dot pl
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52366

--- Comment #2 from trashyankes at wp dot pl 2012-02-25 14:46:33 UTC ---
(In reply to comment #1)
 dup of PR 52315 ?

after long thoughts, its indeed, dup of PR 52315.


[Bug target/29910] g++ compiled code SEGFAULTs if regparm(3) virtual destructor is overridden in a template derived class

2012-02-25 Thread massimiliano.ghilardi at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29910

--- Comment #2 from Massimiliano Ghilardi massimiliano.ghilardi at gmail dot 
com 2012-02-25 16:42:52 UTC ---
I checked again several g++ x86 versions against this old bug. The result is:
g++ version 4.2.4 : SEGFAULT
g++ version 4.4.6 : OK
g++ version 4.5.3 : OK
g++ version 4.6.2 : OK

So it seems fixed at least in 4.4.6 and later versions


[Bug c/52382] New: Atomic builtins documentation, page not found

2012-02-25 Thread mib.bugzilla at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52382

 Bug #: 52382
   Summary: Atomic builtins documentation, page not found
Classification: Unclassified
   Product: gcc
   Version: 4.7.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: mib.bugzi...@gmail.com


The link below is referred to from a couple of pages (e.g.
http://gcc.gnu.org/wiki/Atomic#Status), but it's not found

http://gcc.gnu.org/onlinedocs/gcc/Atomic-Builtins.html#Atomic-Builtins


[Bug web/52382] Atomic builtins documentation, page not found

2012-02-25 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52382

Jonathan Wakely redi at gcc dot gnu.org changed:

   What|Removed |Added

  Component|c   |web

--- Comment #1 from Jonathan Wakely redi at gcc dot gnu.org 2012-02-25 
17:33:52 UTC ---
Those were the docs for the __sync builtins, which have moved to:
http://gcc.gnu.org/onlinedocs/gcc/_005f_005fsync-Builtins.html

The docs for the new __atomic builtins are at 
http://gcc.gnu.org/onlinedocs/gcc/_005f_005fatomic-Builtins.html

Maybe we should rename that page to preserve old links.


[Bug web/52382] Atomic builtins documentation, page not found

2012-02-25 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52382

Jonathan Wakely redi at gcc dot gnu.org changed:

   What|Removed |Added

 CC||amacleod at redhat dot com

--- Comment #2 from Jonathan Wakely redi at gcc dot gnu.org 2012-02-25 
17:37:04 UTC ---
Andrew, the wiki page could be easily fixed, but alternatively we could rename
the new page (i.e. the texinfo node) so old links still work, what do you
think?


[Bug middle-end/52375] [4.7 Regression] internal compiler error: in extract_insn, at recog.c:2123 at -O3 -mfpu=neon

2012-02-25 Thread mikpe at it dot uu.se
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52375

--- Comment #7 from Mikael Pettersson mikpe at it dot uu.se 2012-02-25 
18:56:44 UTC ---
If I bisect trunk configured as a cross to arm-linux-gnueabi, then the ICE
starts with r181014:
http://gcc.gnu.org/ml/gcc-cvs/2011-11/msg00300.html

I still can't reproduce with the reduced test case.


[Bug target/47914] __builtin_isunordered(Inf, NaN) doesn't work on linux-m68k/aranym

2012-02-25 Thread sch...@linux-m68k.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47914

--- Comment #2 from Andreas Schwab sch...@linux-m68k.org 2012-02-25 19:18:11 
UTC ---
Try building aranym with --enable-fpe=mpfr.


[Bug testsuite/52201] FAIL: 29_atomics/atomic/operators/51811.cc (test for excess errors)

2012-02-25 Thread danglin at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52201

--- Comment #5 from John David Anglin danglin at gcc dot gnu.org 2012-02-25 
19:36:17 UTC ---
Author: danglin
Date: Sat Feb 25 19:36:11 2012
New Revision: 184576

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=184576
Log:
PR testsuite/52201
* testsuite/29_atomics/atomic/operators/pointer_partial_void.cc: Require   
atomic builtins.
* testsuite/29_atomics/atomic/operators/51811.cc: Likewise.


Modified:
trunk/libstdc++-v3/ChangeLog
trunk/libstdc++-v3/testsuite/29_atomics/atomic/operators/51811.cc
   
trunk/libstdc++-v3/testsuite/29_atomics/atomic/operators/pointer_partial_void.cc


[Bug testsuite/52201] FAIL: 29_atomics/atomic/operators/51811.cc (test for excess errors)

2012-02-25 Thread danglin at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52201

John David Anglin danglin at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||FIXED

--- Comment #6 from John David Anglin danglin at gcc dot gnu.org 2012-02-25 
19:40:58 UTC ---
Fixed.


[Bug web/52382] Atomic builtins documentation, page not found

2012-02-25 Thread pinskia at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52382

--- Comment #3 from Andrew Pinski pinskia at gcc dot gnu.org 2012-02-25 
20:01:09 UTC ---
Note the wiki can be changed by anyone even without write access to GCC.


[Bug target/29910] g++ compiled code SEGFAULTs if regparm(3) virtual destructor is overridden in a template derived class

2012-02-25 Thread pinskia at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29910

Andrew Pinski pinskia at gcc dot gnu.org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED
   Target Milestone|--- |4.4.6

--- Comment #3 from Andrew Pinski pinskia at gcc dot gnu.org 2012-02-25 
20:01:43 UTC ---
Fixed so closing.


[Bug regression/52383] New: gcc-4.6 regression: miscompiles Perl on m68k

2012-02-25 Thread tg at mirbsd dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52383

 Bug #: 52383
   Summary: gcc-4.6 regression: miscompiles Perl on m68k
Classification: Unclassified
   Product: gcc
   Version: 4.6.2
Status: UNCONFIRMED
  Severity: major
  Priority: P3
 Component: regression
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: t...@mirbsd.org


Created attachment 26753
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=26753
gzip’d tarball with preprocessed source and assembler output

Hi,

this was originally reported as:
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=658050

The problem is that Perl misbehaves at runtime due to being miscompiled.
It is not reproducible without a native m68k system thus. Sorry about that.

I’ve tracked the problem down to one file. The failure mode is (“cc” is
gcc-4.6):

[…]
cc -c -DPERL_CORE -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fno-regmove
-fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include
-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -g -Wall -W -Wextra
-Wdeclaration-after-statement -Wendif-labels -Wc++-compat -Wwrite-strings -fPIC
-DPERL_IS_MINIPERL -DPERL_EXTERNAL_GLOB perlmini.c
LD_LIBRARY_PATH=/tmp/buildd/perl-5.14.2 cc -fstack-protector -L/usr/local/lib
-o miniperl gv.o toke.o perly.o pad.o regcomp.o dump.o util.o mg.o reentr.o
mro.o keywords.o hv.o av.o run.o pp_hot.o sv.o pp.o scope.o pp_ctl.o pp_sys.o
doop.o doio.o regexec.o utf8.o taint.o deb.o universal.o globals.o perlio.o
perlapi.o numeric.o mathoms.o locale.o pp_pack.o pp_sort.o miniperlmain.o
opmini.o perlmini.o -ldl -lm -lpthread -lc -lcrypt
LD_LIBRARY_PATH=/tmp/buildd/perl-5.14.2 ./miniperl -Ilib make_patchnum.pl

Failure yields:
Out of memory during list extend at make_patchnum.pl line 126.

Success yields one of these (the first only once):
Updating 'git_version.h' and 'lib/Config_git.pl'
Reusing 'git_version.h' and 'lib/Config_git.pl'

I’ve attached the results of the following commands:
cc -c -DPERL_CORE -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fno-regmove
-fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include
-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -g -Wall -W -Wextra
-Wdeclaration-after-statement -Wendif-labels -Wc++-compat -Wwrite-strings -fPIC
-DPERL_IS_MINIPERL -DPERL_EXTERNAL_GLOB perlmini.c -E -o perlmini.i
gcc-4.6 -S -O1 -fPIC perlmini.i -o perlmini.-O1.s
gcc-4.6 -S -O2 -fPIC perlmini.i -o perlmini.-O2.s
gcc-4.4 -S -O2 -fPIC perlmini.i -o perlmini.4_4.s

The following commands (plus linking and running) will fail:
gcc-4.6 -c -O2 -fPIC perlmini.i

The following commands (plus linking and running) will succeed:
gcc-4.6 -c -O1 -fPIC perlmini.i
gcc-4.4 -c -O2 -fPIC perlmini.i

So this is an optimisation bug (I think) in gcc-4.6 and a regression from
gcc-4.4 (the linking command uses gcc-4.6 in all cases as I’ve not changed it).

Naturally, these are not easily diff’able.

Version information:

gcc-4.6 a.k.a. cc is compiled from Debian 4.6.2-15 sources plus the (second)
bugfix from PR47612:
Using built-in specs.
Target: m68k-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Debian 4.4.6-14'
--with-bugurl=file:///usr/share/doc/gcc-4.4/README.Bugs
--enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr
--program-suffix=-4.4 --enable-shared --enable-linker-build-id
--with-system-zlib --libexecdir=/usr/lib --without-included-gettext
--enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.4
--libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug
--disable-libssp --enable-objc-gc --disable-werror --disable-multilib
--enable-checking=release --build=m68k-linux-gnu --host=m68k-linux-gnu
--target=m68k-linux-gnu
Thread model: posix
gcc version 4.4.6 (Debian 4.4.6-14) 

gcc-4.4 is compiled from unmodified Debian sid sources:
Using built-in specs.
Target: m68k-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Debian 4.4.6-14'
--with-bugurl=file:///usr/share/doc/gcc-4.4/README.Bugs
--enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr
--program-suffix=-4.4 --enable-shared --enable-linker-build-id
--with-system-zlib --libexecdir=/usr/lib --without-included-gettext
--enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.4
--libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug
--disable-libssp --enable-objc-gc --disable-werror --disable-multilib
--enable-checking=release --build=m68k-linux-gnu --host=m68k-linux-gnu
--target=m68k-linux-gnu
Thread model: posix
gcc version 4.4.6 (Debian 4.4.6-14) 


If you need me to copy out any more files from this chroot, or tar it up
entirely, or run tests; sure, can be done.


[Bug regression/52383] gcc-4.6 regression: miscompiles Perl on m68k

2012-02-25 Thread tg at mirbsd dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52383

Thorsten Glaser tg at mirbsd dot org changed:

   What|Removed |Added

   Keywords||wrong-code
 Target||m68k-linux-gnu
URL||http://bugs.debian.org/cgi-
   ||bin/bugreport.cgi?bug=65805
   ||0
  Known to work||4.4.6
   Host||m68k-linux-gnu
  Known to fail||4.6.2
  Build||m68k-linux-gnu

--- Comment #1 from Thorsten Glaser tg at mirbsd dot org 2012-02-25 22:53:50 
UTC ---
Sorry, mis-pasted. This is gcc-4.6 -v:

Using built-in specs.
COLLECT_GCC=gcc-4.6
COLLECT_LTO_WRAPPER=/usr/lib/gcc/m68k-linux-gnu/4.6/lto-wrapper
Target: m68k-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Debian 4.6.2-15+m68k.1'
--with-bugurl=file:///usr/share/doc/gcc-4.6/README.Bugs
--enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr
--program-suffix=-4.6 --enable-shared --enable-linker-build-id
--with-system-zlib --libexecdir=/usr/lib --without-included-gettext
--enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.6
--libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu
--enable-libstdcxx-debug --enable-libstdcxx-time=yes --disable-libssp
--enable-plugin --enable-objc-gc --disable-werror --disable-multilib
--enable-checking=release --build=m68k-linux-gnu --host=m68k-linux-gnu
--target=m68k-linux-gnu
Thread model: posix
gcc version 4.6.2 (Debian 4.6.2-15+m68k.1)


[Bug java/52384] New: PR16923 execution test fails

2012-02-25 Thread howarth at nitro dot med.uc.edu
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52384

 Bug #: 52384
   Summary: PR16923 execution test fails
Classification: Unclassified
   Product: gcc
   Version: 4.7.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: java
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: howa...@nitro.med.uc.edu


The PR16923 execution test has been failing for some time now. In current gcc
trunk it appears as...

Assertion failed: (class_id), function main, file
/sw/src/fink.build/gcc47-4.7.0-1/gcc-4.7-20120224/libjava/testsuite/libjava.jni/invocation/PR16923.c,
line 35.Abort

The test is compiled at -m64 as...

# /sw/src/fink.build/gcc47-4.7.0-1/darwin_objdir/gcc/xgcc
-B/sw/src/fink.build/gcc47-4.7.0-1/darwin_objdir/gcc/
/sw/src/fink.build/gcc47-4.7.0-1/gcc-4.7-20120224/libjava/testsuite/libjava.jni/invocation/PR16923.c
-bind_at_load -multiply_defined suppress -I. -I..
-I/sw/src/fink.build/gcc47-4.7.0-1/gcc-4.7-20120224/libjava/testsuite/libjava.jni
-I/sw/src/fink.build/gcc47-4.7.0-1/gcc-4.7-20120224/libjava/testsuite/../include
-I/sw/src/fink.build/gcc47-4.7.0-1/gcc-4.7-20120224/libjava/testsuite/../classpath/include
-fdollars-in-identifiers
-L/sw/src/fink.build/gcc47-4.7.0-1/darwin_objdir/x86_64-apple-darwin11.3.0/./libjava/.libs
-ljvm -shared-libgcc -lgcj -L/sw/lib -liconv -lm -v -o PR16923
Reading specs from /sw/src/fink.build/gcc47-4.7.0-1/darwin_objdir/gcc/specs
COLLECT_GCC=/sw/src/fink.build/gcc47-4.7.0-1/darwin_objdir/gcc/xgcc
COLLECT_LTO_WRAPPER=/sw/src/fink.build/gcc47-4.7.0-1/darwin_objdir/gcc/lto-wrapper
Target: x86_64-apple-darwin11.3.0
Configured with: ../gcc-4.7-20120224/configure --prefix=/sw
--prefix=/sw/lib/gcc4.7 --mandir=/sw/share/man --infodir=/sw/lib/gcc4.7/info
--enable-languages=c,c++,fortran,lto,objc,obj-c++,java --with-gmp=/sw
--with-libiconv-prefix=/sw --with-ppl=/sw --with-cloog=/sw --with-mpc=/sw
--with-system-zlib --x-includes=/usr/X11R6/include --x-libraries=/usr/X11R6/lib
--program-suffix=-fsf-4.7 --enable-checking=release --enable-cloog-backend=isl
Thread model: posix
gcc version 4.7.0 20120224 (experimental) (GCC) 
COLLECT_GCC_OPTIONS='-mmacosx-version-min=10.7.3' '-B'
'/sw/src/fink.build/gcc47-4.7.0-1/darwin_objdir/gcc/' '-Zbind_at_load'
'-Zmultiply_defined' 'suppress' '-I' '.' '-I' '..' '-I'
'/sw/src/fink.build/gcc47-4.7.0-1/gcc-4.7-20120224/libjava/testsuite/libjava.jni'
'-I'
'/sw/src/fink.build/gcc47-4.7.0-1/gcc-4.7-20120224/libjava/testsuite/../include'
'-I'
'/sw/src/fink.build/gcc47-4.7.0-1/gcc-4.7-20120224/libjava/testsuite/../classpath/include'
'-fdollars-in-identifiers'
'-L/sw/src/fink.build/gcc47-4.7.0-1/darwin_objdir/x86_64-apple-darwin11.3.0/./libjava/.libs'
'-shared-libgcc' '-L/sw/lib' '-v' '-o' 'PR16923' '-mtune=core2'
 /sw/src/fink.build/gcc47-4.7.0-1/darwin_objdir/gcc/cc1 -quiet -v -I . -I .. -I
/sw/src/fink.build/gcc47-4.7.0-1/gcc-4.7-20120224/libjava/testsuite/libjava.jni
-I
/sw/src/fink.build/gcc47-4.7.0-1/gcc-4.7-20120224/libjava/testsuite/../include
-I
/sw/src/fink.build/gcc47-4.7.0-1/gcc-4.7-20120224/libjava/testsuite/../classpath/include
-iprefix
/sw/src/fink.build/gcc47-4.7.0-1/darwin_objdir/gcc/../lib/gcc/x86_64-apple-darwin11.3.0/4.7.0/
-isystem /sw/src/fink.build/gcc47-4.7.0-1/darwin_objdir/gcc/include -isystem
/sw/src/fink.build/gcc47-4.7.0-1/darwin_objdir/gcc/include-fixed -D__DYNAMIC__
/sw/src/fink.build/gcc47-4.7.0-1/gcc-4.7-20120224/libjava/testsuite/libjava.jni/invocation/PR16923.c
-fPIC -quiet -dumpbase PR16923.c -mmacosx-version-min=10.7.3 -mtune=core2
-auxbase PR16923 -version -fdollars-in-identifiers -o /var/tmp//ccFRI8bD.s
GNU C (GCC) version 4.7.0 20120224 (experimental) (x86_64-apple-darwin11.3.0)
compiled by GNU C version 4.7.0 20120224 (experimental), GMP version 5.0.4,
MPFR version 3.1.0, MPC version 0.9
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
ignoring nonexistent directory
/sw/src/fink.build/gcc47-4.7.0-1/darwin_objdir/gcc/../lib/gcc/x86_64-apple-darwin11.3.0/4.7.0/include
ignoring nonexistent directory
/sw/src/fink.build/gcc47-4.7.0-1/darwin_objdir/gcc/../lib/gcc/x86_64-apple-darwin11.3.0/4.7.0/include-fixed
ignoring nonexistent directory
/sw/src/fink.build/gcc47-4.7.0-1/darwin_objdir/gcc/../lib/gcc/x86_64-apple-darwin11.3.0/4.7.0/../../../../x86_64-apple-darwin11.3.0/include
ignoring nonexistent directory
/sw/src/fink.build/gcc47-4.7.0-1/darwin_objdir/gcc/../lib/gcc/../../lib/gcc/x86_64-apple-darwin11.3.0/4.7.0/include
ignoring nonexistent directory /usr/local/include
ignoring nonexistent directory
/sw/src/fink.build/gcc47-4.7.0-1/darwin_objdir/gcc/../lib/gcc/../../include
ignoring nonexistent directory
/sw/src/fink.build/gcc47-4.7.0-1/darwin_objdir/gcc/../lib/gcc/../../lib/gcc/x86_64-apple-darwin11.3.0/4.7.0/include-fixed
ignoring nonexistent directory

[Bug rtl-optimization/37516] ~(-2 - a) is not being optimized into a + 1

2012-02-25 Thread pinskia at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37516

--- Comment #6 from Andrew Pinski pinskia at gcc dot gnu.org 2012-02-26 
00:49:54 UTC ---
(In reply to comment #5)
 I think def scanning is ok, but all SSA names should be valueized via
 a hook first.

I wrote up something quickly (but I want to improve it some more and a little
more formal):
http://gcc.gnu.org/wiki/SSACombine

I am thinking about removing the _loc part of the name of the functions since
there is no function which does not take a location_t.


[Bug c++/52385] New: [C++0x][constexpr] Segfault in constexpr

2012-02-25 Thread philipp.classen at gmx dot net
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52385

 Bug #: 52385
   Summary: [C++0x][constexpr] Segfault in constexpr
Classification: Unclassified
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Severity: critical
  Priority: P3
 Component: c++
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: philipp.clas...@gmx.net


Created attachment 26754
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=26754
preprocessed file

Compiling the following programm (.ii file is attached) with g++ -g
-std=c++0x crashes:



constexpr int minus(int x, int y, int j1 = 0, int j2 = 0) {
  return j1 == x - y ? j1 : (j2 == x - y ? j2 : minus(x, y, j1 + 1, j2 - 1));
}

int main() {
  constexpr int result = minus(290321321, 31721711);
  return result;
}



Output:
g++ -g -std=c++0x -o main main.cpp
g++: internal compiler error: Segmentation fault (program cc1plus)
...



gcc -v
Using built-in specs.
COLLECT_GCC=/opt/gcc/bin/gcc
COLLECT_LTO_WRAPPER=/opt/gcc-4.6.0/libexec/gcc/x86_64-unknown-linux-gnu/4.6.0/lto-wrapper
Target: x86_64-unknown-linux-gnu
Configured with: ./configure --prefix=/opt/gcc-4.6.0
Thread model: posix
gcc version 4.6.0 (GCC)


uname -a
Linux terra-ubuntu-vm 2.6.38-13-generic #54-Ubuntu SMP Tue Jan 3 13:38:12 UTC
2012 x86_64 x86_64 x86_64 GNU/Linux


[Bug java/52384] PR16923 execution test fails

2012-02-25 Thread howarth at nitro dot med.uc.edu
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52384

--- Comment #1 from Jack Howarth howarth at nitro dot med.uc.edu 2012-02-26 
01:55:38 UTC ---
Seems to be caused by some commit after r174664 but by r175063.


[Bug java/52384] PR16923 execution test fails

2012-02-25 Thread howarth at nitro dot med.uc.edu
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52384

--- Comment #2 from Jack Howarth howarth at nitro dot med.uc.edu 2012-02-26 
02:16:09 UTC ---
(In reply to comment #1)
 Seems to be caused by some commit after r174664 but by r175063.

The only java related commits in this range are...

r174747 | rguenth | 2011-06-07 10:34:02 -0400 (Tue, 07 Jun 2011) | 6 lines

2011-06-07  Richard Guenther  rguent...@suse.de

* decl.c (java_init_decl_processing): Call build_common_nodes,
build_common_nodes_2 at the beginning.  Remove then duplicate
initializations.


r174743 | rguenth | 2011-06-07 09:01:27 -0400 (Tue, 07 Jun 2011) | 29 lines

2011-06-07  Richard Guenther  rguent...@suse.de

* tree.c (build_common_tree_nodes): Also initialize size_type_node.
Call set_sizetype from here.

c-family/
* c-common.c (c_common_nodes_and_builtins): Do not set
size_type_node or call set_sizetype.

go/
* go-lang.c (go_langhook_init): Do not set
size_type_node or call set_sizetype.

fortran/
* f95-lang.c (gfc_init_decl_processing): Do not set
size_type_node or call set_sizetype.


java/
* decl.c (java_init_decl_processing): Properly initialize
size_type_node.

lto/
* lto-lang.c (lto_init): Do not set
size_type_node or call set_sizetype.

ada/
* gcc-interface/misc.c (gnat_init): Do not set
size_type_node or call set_sizetype.


[Bug target/48097] new Throw_2 failures in libjava under Xcode 4.0

2012-02-25 Thread howarth at nitro dot med.uc.edu
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48097

--- Comment #9 from Jack Howarth howarth at nitro dot med.uc.edu 2012-02-26 
02:49:28 UTC ---
Interestingly I see these failures in the i386-unknown-freebsd10.0 test
results...

http://gcc.gnu.org/ml/gcc-testresults/2012-02/msg02475.html

as well as the x86_64-unknown-freebsd8.3 test results...

http://gcc.gnu.org/ml/gcc-testresults/2012-02/msg02479.html