[Bug c/55084] please submit full bug report

2012-10-28 Thread mpolacek at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55084



Marek Polacek mpolacek at gcc dot gnu.org changed:



   What|Removed |Added



 Status|WAITING |RESOLVED

 Resolution||INVALID



--- Comment #2 from Marek Polacek mpolacek at gcc dot gnu.org 2012-10-28 
07:51:55 UTC ---

Closing.


[Bug middle-end/55103] New: [4.8 Regression] gcc.target/mips/int-moves-2.c ICEs

2012-10-28 Thread pinskia at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55103



 Bug #: 55103

   Summary: [4.8 Regression] gcc.target/mips/int-moves-2.c ICEs

Classification: Unclassified

   Product: gcc

   Version: 4.8.0

Status: UNCONFIRMED

  Severity: normal

  Priority: P3

 Component: middle-end

AssignedTo: unassig...@gcc.gnu.org

ReportedBy: pins...@gcc.gnu.org

Target: mips*-linux-gnu





./cc1

/home/apinski/src/gcc-fsf/local/gcc/gcc/testsuite/gcc.target/mips/int-moves-2.c

-quiet -DNOMIPS16= -DMIPS16=__attribute__((mips16)) -mgp64 -mabi=o64

/home/apinski/src/gcc-fsf/local/gcc/gcc/testsuite/gcc.target/mips/int-moves-2.c:27:1:

internal compiler error: Bus error

 {

 ^

0x105164f7 crash_signal

/home/apinski/src/gcc-fsf/local/gcc/gcc/toplev.c:333

0x103f9191 init_op_alt_data

/home/apinski/src/gcc-fsf/local/gcc/gcc/lra.c:575

0x103f9191 lra_init()

/home/apinski/src/gcc-fsf/local/gcc/gcc/lra.c:2389

0x1051639b lang_dependent_init_target

/home/apinski/src/gcc-fsf/local/gcc/gcc/toplev.c:1673

0x108aa893 save_target_globals()

/home/apinski/src/gcc-fsf/local/gcc/gcc/target-globals.c:89

0x10776987 mips_set_mips16_mode

/home/apinski/src/gcc-fsf/local/gcc/gcc/config/mips/mips.c:16350

0x100bec4b store_parm_decls()

/home/apinski/src/gcc-fsf/local/gcc/gcc/c/c-decl.c:8306

0x10109557 c_parser_declaration_or_fndef

/home/apinski/src/gcc-fsf/local/gcc/gcc/c/c-parser.c:1755

0x1010e1c3 c_parser_translation_unit

/home/apinski/src/gcc-fsf/local/gcc/gcc/c/c-parser.c:1251

0x1010e1c3 c_parse_file()

/home/apinski/src/gcc-fsf/local/gcc/gcc/c/c-parser.c:10889

0x1015356f c_common_parse_file()

/home/apinski/src/gcc-fsf/local/gcc/gcc/c-family/c-opts.c:1062

Please submit a full bug report,

with preprocessed source if appropriate.

Please include the complete backtrace with any bug report.

See http://gcc.gnu.org/bugs.html for instructions.


[Bug middle-end/55103] [4.8 Regression] gcc.target/mips/int-moves-2.c ICEs

2012-10-28 Thread pinskia at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55103



Andrew Pinski pinskia at gcc dot gnu.org changed:



   What|Removed |Added



   Target Milestone|--- |4.8.0


[Bug c++/52956] Missing overflow warning

2012-10-28 Thread paolo.carlini at oracle dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52956



Paolo Carlini paolo.carlini at oracle dot com changed:



   What|Removed |Added



 Status|UNCONFIRMED |RESOLVED

 Resolution||DUPLICATE



--- Comment #1 from Paolo Carlini paolo.carlini at oracle dot com 2012-10-28 
09:31:27 UTC ---

Dup.



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


[Bug c++/55095] Wshift-overflow

2012-10-28 Thread paolo.carlini at oracle dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55095



Paolo Carlini paolo.carlini at oracle dot com changed:



   What|Removed |Added



 CC||xinliangli at gmail dot com



--- Comment #3 from Paolo Carlini paolo.carlini at oracle dot com 2012-10-28 
09:31:27 UTC ---

*** Bug 52956 has been marked as a duplicate of this bug. ***


[Bug middle-end/55103] [4.8 Regression] gcc.target/mips/int-moves-2.c ICEs

2012-10-28 Thread pinskia at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55103



--- Comment #1 from Andrew Pinski pinskia at gcc dot gnu.org 2012-10-28 
09:32:06 UTC ---

This is because save_target_globals does not allocate a target_lra_int (though

it might be zero out the array before doing anything else too).


[Bug middle-end/55103] [4.8 Regression] All MIPS16 attribute tests ICEs

2012-10-28 Thread pinskia at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55103



Andrew Pinski pinskia at gcc dot gnu.org changed:



   What|Removed |Added



Summary|[4.8 Regression]|[4.8 Regression] All MIPS16

   |gcc.target/mips/int-moves-2 |attribute tests ICEs

   |.c ICEs |



--- Comment #2 from Andrew Pinski pinskia at gcc dot gnu.org 2012-10-28 
09:49:42 UTC ---

It is not just int-moves-2.c but all of the tests of the mips16 attribute.


[Bug fortran/48636] Enable more inlining with -O2 and higher

2012-10-28 Thread hubicka at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48636



--- Comment #30 from Jan Hubicka hubicka at gcc dot gnu.org 2012-10-28 
10:08:23 UTC ---

Created attachment 28543

  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=28543

Updated patch



Hi,

this is updated patch I am testing. It fixes the big speedup test and also

changes badness metric completely to be based on expected speedup of the

caller. It seems to work pretty well in my test with the catch that I still

can't beat 4.6 on tramp3d.


[Bug fortran/48636] Enable more inlining with -O2 and higher

2012-10-28 Thread hubicka at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48636



--- Comment #31 from Jan Hubicka hubicka at gcc dot gnu.org 2012-10-28 
10:11:13 UTC ---

Concerning vincenzo's request about 4.7 version, it won't work - it depends on

improvements of inline metric and ipa-prop we made for 4.8


[Bug c++/54526] [C++11] :: is incorrectly treated as digraph : followed by colon

2012-10-28 Thread paolo.carlini at oracle dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54526



--- Comment #5 from Paolo Carlini paolo.carlini at oracle dot com 2012-10-28 
10:59:50 UTC ---

You are right, sorry. I have a lexer patch in testing which I will be sending

shortly.


[Bug fortran/51727] Changing module files

2012-10-28 Thread Joost.VandeVondele at mat dot ethz.ch


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51727



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



   What|Removed |Added



URL||http://gcc.gnu.org/ml/fortr

   ||an/2012-10/msg00061.html

 CC||Joost.VandeVondele at mat

   ||dot ethz.ch



--- Comment #26 from Joost VandeVondele Joost.VandeVondele at mat dot ethz.ch 
2012-10-28 11:11:19 UTC ---

The patch has been posted some time ago, with an OK for trunk..



http://gcc.gnu.org/ml/fortran/2012-10/msg00067.html



Maybe it is a good time to commit before the next stage starts ?


[Bug fortran/51727] Changing module files

2012-10-28 Thread tobi at gcc dot gnu.org

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51727

--- Comment #27 from Tobias Schlüter tobi at gcc dot gnu.org 2012-10-28 
11:15:24 UTC ---
There were concerns about error handling in out-of-memory conditions which I
addressed in a separate patch
http://gcc.gnu.org/ml/gcc-patches/2012-10/msg01470.html.  This patch got no
reply so far.  May plan was to submit the non-C++ patch if the patch for C++
error handling is not approved during stage 1.


[Bug fortran/48636] Enable more inlining with -O2 and higher

2012-10-28 Thread vincenzo.innocente at cern dot ch

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48636

--- Comment #32 from vincenzo Innocente vincenzo.innocente at cern dot ch 
2012-10-28 11:27:22 UTC ---
In a small test (that I will eventually publish here) the new patch at -O2
looks superior to 4.7.2 at O3.
I would like to build a test with multiple source files where lto matters
though.
We will also try to build our whole software stack with 4.8 (we have a
production version with 4.7.2 at this point, so we can move to experimenting
builds with 4.8…)


[Bug rtl-optimization/39607] [4.5 Regression] Revision 145309 caused ICE in emit_swap_insn, at reg-stack.c:827

2012-10-28 Thread steven at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39607



Steven Bosscher steven at gcc dot gnu.org changed:



   What|Removed |Added



 Status|RESOLVED|REOPENED

 CC||steven at gcc dot gnu.org

 Resolution|FIXED   |



--- Comment #8 from Steven Bosscher steven at gcc dot gnu.org 2012-10-28 
11:41:45 UTC ---

Open again since r192440.



The real problem here is this assert:



  if (hard_regno == -1)

{ 

  /* Something failed if the register wasn't on the stack.  If we had

 malformed asms, we zapped the instruction itself, but that didn't

 produce the same pattern of register sets as before.  To prevent

 further failure, adjust REGSTACK to include REG at TOP.  */

  gcc_assert (any_malformed_asm);

  regstack-reg[++regstack-top] = REGNO (reg);

  return;

}



If IRA uses DF_LIVE, the assert may trigger if there is a use of a stack 

register that is not initialized. The following C test case (derived from

gfortran.dg/pr40587.f) shows the problem:



void

test (int *i, double *r, double *result)

{

  int i2;

  double r2;



  i2 = *i;

  if (i == 0)

r2 = *r;

  else

error ();

  *result = r2;

}



r2 is used uninitialized if the path through error() is taken. When

using DF_LR, r2 is made live through that path all the way up to the

function entry, but when using DF_LIVE r2 is only live in the trace

from r2 = *r to *result = r2. 



With IRA using DF_LIVE and removing the assert, the result is an fstpl

instruction that triggers an FP-stack underflow.  IMHO that would be

a reasonable behavior for this kind of problem.


[Bug middle-end/54961] [4.8 Regression] FAIL: gfortran.dg/pr48757.f -O (internal compiler error) after revision 192440

2012-10-28 Thread steven at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54961



--- Comment #7 from Steven Bosscher steven at gcc dot gnu.org 2012-10-28 
11:44:50 UTC ---

The problems of comment #4 and comment #5 are PR39607, a problem that

should be solved in reg-stack.



The problem of comment #0 is a problem in IRA.  There is code to prevent

stack registers from living across EDGE_ABNORMAL edges but clearly this

code fails in the pr48757.f test case.  I suspect there is a bug in the

splitting or merging of allocno ranges where the ALLOCNO_NO_STACK_REG_P

and ALLOCNO_TOTAL_NO_STACK_REG_P maybe are not properly copied/merged.


[Bug rtl-optimization/38711] ira should not be using df-lr except at -O1.

2012-10-28 Thread steven at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38711



--- Comment #4 from Steven Bosscher steven at gcc dot gnu.org 2012-10-28 
11:52:16 UTC ---

Author: steven

Date: Sun Oct 28 11:52:11 2012

New Revision: 192890



URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=192890

Log:

PR rtl-optimization/38711

* ira.c (ira): Remove DF_LIVE if the problem is in the stack.

(do_reload): Add it back at the end for -O2 and higher.



* function.c (thread_prologue_and_epilogue_insns): Use

REG_SET_TO_HARD_REG_SET instead of CLEAR_HARD_REG_SET and

reg_set_to_hard_reg_set.





Modified:

trunk/gcc/ChangeLog

trunk/gcc/function.c

trunk/gcc/ira.c


[Bug rtl-optimization/38711] ira should not be using df-lr except at -O1.

2012-10-28 Thread steven at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38711



Steven Bosscher steven at gcc dot gnu.org changed:



   What|Removed |Added



 Status|RESOLVED|REOPENED

 Resolution|FIXED   |



--- Comment #5 from Steven Bosscher steven at gcc dot gnu.org 2012-10-28 
11:53:01 UTC ---

Much of GCC is still not ready for this.


[Bug rtl-optimization/39607] [4.5 Regression] Revision 145309 caused ICE in emit_swap_insn, at reg-stack.c:827

2012-10-28 Thread steven at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39607



Steven Bosscher steven at gcc dot gnu.org changed:



   What|Removed |Added



 Status|REOPENED|SUSPENDED



--- Comment #9 from Steven Bosscher steven at gcc dot gnu.org 2012-10-28 
11:53:53 UTC ---

Depends on IRA using DF_LIVE. To be visited later.


[Bug middle-end/54961] [4.8 Regression] FAIL: gfortran.dg/pr48757.f -O (internal compiler error) after revision 192440

2012-10-28 Thread steven at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54961



Steven Bosscher steven at gcc dot gnu.org changed:



   What|Removed |Added



 Status|NEW |SUSPENDED



--- Comment #8 from Steven Bosscher steven at gcc dot gnu.org 2012-10-28 
11:54:16 UTC ---

Depends on IRA using DF_LIVE. To be visited later.


[Bug rtl-optimization/54993] [4.8 regression] PIC register not marked as live

2012-10-28 Thread steven at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54993



--- Comment #1 from Steven Bosscher steven at gcc dot gnu.org 2012-10-28 
12:33:50 UTC ---

I cannot reproduce this problem, neither before nor after r192890. Can you

please attach the .ira dump (with -fdump-rtl-ira-all) after r192890, with and

without the following patch applied?



Index: ira.c

===

--- ira.c   (revision 192893)

+++ ira.c   (working copy)

@@ -4405,9 +4405,11 @@

  interpretation of the DF_LR problem.  See PR38711.

  Remove the problem, so that we don't spend time updating it in

  any of the df_analyze() calls during IRA/LRA.  */

+#if 0

   if (optimize  1)

 df_remove_problem (df_live);

   gcc_checking_assert (df_live == NULL);

+#endif



 #ifdef ENABLE_CHECKING

   df-changeable_flags |= DF_VERIFY_SCHEDULED;


[Bug libstdc++/55041] prettyprinting/shared_ptr cxx11 fails on some platforms

2012-10-28 Thread redi at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55041



--- Comment #6 from Jonathan Wakely redi at gcc dot gnu.org 2012-10-28 
12:54:01 UTC ---

I think the reason this doesn't show up everywhere is due to a problem with

older versions of GDB.  Using GDB 7.3.50.20110722-16.fc16 I get this in the

test logs:



48362.gdb:5: Error in sourced command file:^M

No symbol t1 in current context.^M

skipping: 48362.gdb:5: Error in sourced command file:^M

skipping: No symbol t1 in current context.^M

UNSUPPORTED: libstdc++-prettyprinters/48362.cc



and I've had the same problem running gdb myself, with gdb saying No symbol x

in current context for all local variables, when they clearly do exist!



I also see GDB 7.3 completely confused about the type of std::string:



Temporary breakpoint 1, main () at d.cc:6

6 std::string s1 = string 1;

(gdb) n

7 std::string s2 = string 2;

(gdb) p s1

$1 = {i = {1431655765, -1077586603}, x = -0.1}

(gdb) ptype s1

type = const union {

int4 i[2];

double x;

}



Huh?!



Using GDB from the git mirror or upgrading to rawhide's 7.5.0.20120926-25.fc18

makes the problem go away and now I see the FAILs when running

libstdc++-prettyprinters.exp (which I'm fixing now)



This only happens for code built with trunk, so there seems to be some problem

with trunk and GDB 7.3 - any ideas?


[Bug target/27619] wrong code for mixed-mode division with -mpowerpc64 -O1

2012-10-28 Thread segher at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27619



Segher Boessenkool segher at gcc dot gnu.org changed:



   What|Removed |Added



 Status|ASSIGNED|RESOLVED

 Resolution||INVALID



--- Comment #18 from Segher Boessenkool segher at gcc dot gnu.org 2012-10-28 
13:15:14 UTC ---

Not a GCC bug; fixed in binutils (will be in 2.24).


[Bug libstdc++/55041] prettyprinting/shared_ptr cxx11 fails on some platforms

2012-10-28 Thread redi at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55041



--- Comment #7 from Jonathan Wakely redi at gcc dot gnu.org 2012-10-28 
13:20:38 UTC ---

Author: redi

Date: Sun Oct 28 13:20:31 2012

New Revision: 192894



URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=192894

Log:

PR libstdc++/55041

* python/libstdcxx/v6/printers.py (Tr1UnorderedMapPrinter): Update

to handle hashtable as member of unordered_map not base class.

(Tr1UnorderedSetPrinter): Likewise.



Modified:

trunk/libstdc++-v3/ChangeLog

trunk/libstdc++-v3/python/libstdcxx/v6/printers.py


[Bug libstdc++/55041] prettyprinting/shared_ptr cxx11 fails on some platforms

2012-10-28 Thread redi at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55041



--- Comment #8 from Jonathan Wakely redi at gcc dot gnu.org 2012-10-28 
13:27:20 UTC ---

The shared_ptr tests fail because GDB is getting the variable's type wrong,

seeing it as the base class not the correct type:



(gdb) p sp1

$1 = {std::__shared_ptrint, (__gnu_cxx::_Lock_policy)2 = {_M_ptr =

0x12345678, _M_refcount = {_M_pi = 0x604010}}, No data fields}

(gdb) p wp1

$2 = {std::__weak_ptrint, (__gnu_cxx::_Lock_policy)2 = {_M_ptr =

0x12344321, _M_refcount = {_M_pi = 0x604040}}, No data fields}

(gdb) p wp2

$3 = {std::__weak_ptrint, (__gnu_cxx::_Lock_policy)2 = {_M_ptr =

0x56788765, _M_refcount = {_M_pi = 0x604070}}, No data fields}

(gdb) p/r wp2

$4 = {std::__weak_ptrint, (__gnu_cxx::_Lock_policy)2 = {_M_ptr =

0x56788765, _M_refcount = {_M_pi = 0x604070}}, No data fields}

(gdb) p/r sp1

$5 = {std::__shared_ptrint, (__gnu_cxx::_Lock_policy)2 = {_M_ptr =

0x12345678, _M_refcount = {_M_pi = 0x604010}}, No data fields}





This doesn't look like a libstdc++ problem.


[Bug c++/55104] New: ice in inline_call, at ipa-inline-transform.c:269

2012-10-28 Thread dcb314 at hotmail dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55104



 Bug #: 55104

   Summary: ice in inline_call, at ipa-inline-transform.c:269

Classification: Unclassified

   Product: gcc

   Version: 4.8.0

Status: UNCONFIRMED

  Severity: normal

  Priority: P3

 Component: c++

AssignedTo: unassig...@gcc.gnu.org

ReportedBy: dcb...@hotmail.com





Created attachment 28544

  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=28544

gzipped C++ source code



I just tried to compile the package openbabel-2.3.1-6

on gcc-4.8 trunk dated 20121027 on an AMD x86_64 box.



The compiler said



/home/dcb/rpmbuild/BUILD/openbabel-2.3.1/src/mol.cpp:4233:1: internal compiler

error: in inline_call, at ipa-inline-transform.c:269

 } // end namespace OpenBabel

 ^

0xe8e22b inline_call(cgraph_edge*, bool, vec_tcgraph_edge***, int*, bool)

../../src/trunk/gcc/ipa-inline-transform.c:265

0xe8d214 inline_small_functions

../../src/trunk/gcc/ipa-inline.c:1524

0xe8d214 ipa_inline

../../src/trunk/gcc/ipa-inline.c:1706

Please submit a full bug report,

with preprocessed source if appropriate.

Please include the complete backtrace with any bug report.

See http://gcc.gnu.org/bugs.html for instructions.



Preprocessed source code attached. Flag -O3 required.


[Bug c/55105] New: use of LD_LIBRARY_PATH incorrect for AIX -- cause trunk build to fail

2012-10-28 Thread pedzsan at gmail dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55105



 Bug #: 55105

   Summary: use of LD_LIBRARY_PATH incorrect for AIX -- cause

trunk build to fail

Classification: Unclassified

   Product: gcc

   Version: 4.8.0

Status: UNCONFIRMED

  Severity: normal

  Priority: P3

 Component: c

AssignedTo: unassig...@gcc.gnu.org

ReportedBy: pedz...@gmail.com





configure.ac has this:



# Decide which environment variable is used to find dynamic libraries.

case ${host} in

  *-*-hpux*) RPATH_ENVVAR=SHLIB_PATH ;;

  *-*-darwin*) RPATH_ENVVAR=DYLD_LIBRARY_PATH ;;

  *-*-mingw* | *-*-cygwin ) RPATH_ENVVAR=PATH ;;

  *) RPATH_ENVVAR=LD_LIBRARY_PATH ;;

esac



Starting with AIX 6.1, LD_LIBRARY_PATH is used.  I don't 100% understand the

intent of the code above.  The environment variable mentioned (e.g.

LD_LIBRARY_PATH) is passed via the environment when (e.g.) libatomic is built. 

With LD_LIBRARY_PATH in the environment, xgcc and cc1 no longer execute

properly because at the time they execute, LD_LIBRARY_PATH points to the bit

version being built -- not the bit version that xgcc was built for.  There is a

longer description here: http://gcc.gnu.org/ml/gcc/2012-10/msg00386.html



I changed it to this:



# Decide which environment variable is used to find dynamic libraries.

case ${host} in

  *-*-aix*) RPATH_ENVVAR=BOGUS ;;

  *-*-hpux*) RPATH_ENVVAR=SHLIB_PATH ;;

  *-*-darwin*) RPATH_ENVVAR=DYLD_LIBRARY_PATH ;;

  *-*-mingw* | *-*-cygwin ) RPATH_ENVVAR=PATH ;;

  *) RPATH_ENVVAR=LD_LIBRARY_PATH ;;

esac



In theory, it should be LIBPATH but I'm sure that will cause the build to

fail as well.  In essence, the logic needs to be reviewed.  Perhaps other

platforms are different in their use of LD_LIBRARY_PATH / LIBPATH than AIX.


[Bug libstdc++/55041] prettyprinting/shared_ptr cxx11 fails on some platforms

2012-10-28 Thread redi at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55041



--- Comment #9 from Jonathan Wakely redi at gcc dot gnu.org 2012-10-28 
13:37:31 UTC ---

Sorry, I misread that output, it does know the right type, it just doesn't

match the printer for some reason



(gdb) ptype sp1

type = class std::shared_ptrint : public std::__shared_ptrint,

(__gnu_cxx::_Lock_policy)2 {

  public:

void shared_ptr(void);

void shared_ptr(const std::shared_ptrint );

void shared_ptr(unknown type in /dev/shm/a.out, CU 0x0, DIE 0x127f);

void shared_ptr(std::nullptr_t);

std::shared_ptrint  operator=(const std::shared_ptrint );

std::shared_ptrint  operator=(unknown type in /dev/shm/a.out, CU 0x0,

DIE 0x12e3);

void shared_ptrint, deleter(int *, deleter);

}



(I'll file a separate bug about the unknown type error for the shared_ptr

type)


[Bug debug/54773] no debug info generated for rvalue reference

2012-10-28 Thread redi at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54773



Jonathan Wakely redi at gcc dot gnu.org changed:



   What|Removed |Added



 CC||jason at gcc dot gnu.org



--- Comment #1 from Jonathan Wakely redi at gcc dot gnu.org 2012-10-28 
13:53:11 UTC ---

This seems to be fixed on trunk, but GDB can't handle it:



struct X {

  X operator=(X) { return *this; }

};



int main()

{

  X x;

  x = X();

}



 15e: Abbrev Number: 8 (DW_TAG_rvalue_reference_type)

5f   DW_AT_byte_size   : 8

60   DW_AT_type: 0x29 





Temporary breakpoint 1, main () at rv.cc:8

8 x = X();

(gdb) ptype x

type = struct X {

  public:

X  operator=(unknown type in /dev/shm/a.out, CU 0x0, DIE 0x4b);

}





Jason, can this be closed as fixed?


[Bug libstdc++/55041] prettyprinting/shared_ptr cxx11 fails on some platforms

2012-10-28 Thread redi at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55041



--- Comment #10 from Jonathan Wakely redi at gcc dot gnu.org 2012-10-28 
13:57:00 UTC ---

(In reply to comment #9)

 (I'll file a separate bug about the unknown type error for the shared_ptr

 type)



That's http://sourceware.org/PR14441


[Bug c++/55106] New: ice: Maximum number of LRA constraint passes is achieved (15)

2012-10-28 Thread dcb314 at hotmail dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55106



 Bug #: 55106

   Summary: ice: Maximum number of LRA constraint passes is

achieved (15)

Classification: Unclassified

   Product: gcc

   Version: 4.8.0

Status: UNCONFIRMED

  Severity: normal

  Priority: P3

 Component: c++

AssignedTo: unassig...@gcc.gnu.org

ReportedBy: dcb...@hotmail.com





Created attachment 28545

  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=28545

C++ source code



I just tried to compile the package verilator-3.805-5

on gcc-4.8 trunk dated 20121027 on an AMD x86_64 box.



The compiler said



../V3Number.cpp:1286:1: internal compiler error: Maximum number of LRA

constraint passes is achieved (15)



 }

 ^

0x994c28 lra_constraints(bool)

../../src/trunk/gcc/lra-constraints.c:3262

0x9882fe lra(_IO_FILE*)

../../src/trunk/gcc/lra.c:2281

0x9507a6 do_reload

../../src/trunk/gcc/ira.c:4614

0x9507a6 rest_of_handle_reload

../../src/trunk/gcc/ira.c:4720

Please submit a full bug report,

with preprocessed source if appropriate.

Please include the complete backtrace with any bug report.

See http://gcc.gnu.org/bugs.html for instructions.



Preprocessed source code attached. Flag -O3 required.


[Bug tree-optimization/55107] New: GCC in an infinite loop at -O2

2012-10-28 Thread antoine.balestrat at gmail dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55107



 Bug #: 55107

   Summary: GCC in an infinite loop at -O2

Classification: Unclassified

   Product: gcc

   Version: 4.8.0

Status: UNCONFIRMED

  Severity: normal

  Priority: P3

 Component: tree-optimization

AssignedTo: unassig...@gcc.gnu.org

ReportedBy: antoine.balest...@gmail.com





Hello !

GCC 4.8.0 as of 20121021 and GCC 4.7.2 won't compile the following testcase at

-O2 and higher because they look stuck in an infinite loop.



$ cat infinite.c

#include stdint.h



uint16_t a, b;



uint16_t f(void)

{

int c, **p;

short d = 2, e = 4;



for (;; b++)

{

int *j, k = 0;



for (; *j; j++)

{

for(; c; c++)

for(; k  1; k++)

{

short *f = d;



if(b)

return *f;

}

}



if(!c)

d *= e;



((a = d) ? b = 0 : (**p ? : 1) != (d != 1 ? : (a = 0))) != (k ? a : 0)

 (a *= c = k)  (**p = 0);

}

}



$ ulimite -t 60



$ xgcc -O2 -w infinite.c

cc: internal compiler error: CPU time limit exceeded (program cc1)

linux-vdso.so.1: No such file or directory

0x40b937 execute

../../srcdir/gcc/gcc.c:2739

0x40c7be do_spec_1

../../srcdir/gcc/gcc.c:4534

0x40f0d5 process_brace_body

../../srcdir/gcc/gcc.c:5782

0x40f0d5 handle_braces

../../srcdir/gcc/gcc.c:5696

0x40d397 do_spec_1

../../srcdir/gcc/gcc.c:5179

0x40f0d5 process_brace_body

../../srcdir/gcc/gcc.c:5782

0x40f0d5 handle_braces

../../srcdir/gcc/gcc.c:5696

0x40d397 do_spec_1

../../srcdir/gcc/gcc.c:5179

0x40cff7 do_spec_1

../../srcdir/gcc/gcc.c:5284

0x40f0d5 process_brace_body

../../srcdir/gcc/gcc.c:5782

0x40f0d5 handle_braces

../../srcdir/gcc/gcc.c:5696

0x40d397 do_spec_1

../../srcdir/gcc/gcc.c:5179

0x40f0d5 process_brace_body

../../srcdir/gcc/gcc.c:5782

0x40f0d5 handle_braces

../../srcdir/gcc/gcc.c:5696

0x40d397 do_spec_1

../../srcdir/gcc/gcc.c:5179

0x40f0d5 process_brace_body

../../srcdir/gcc/gcc.c:5782

0x40f0d5 handle_braces

../../srcdir/gcc/gcc.c:5696

0x40d397 do_spec_1

../../srcdir/gcc/gcc.c:5179

0x40f0d5 process_brace_body

../../srcdir/gcc/gcc.c:5782

0x40f0d5 handle_braces

../../srcdir/gcc/gcc.c:5696

Please submit a full bug report,

with preprocessed source if appropriate.

Please include the complete backtrace with any bug report.

See http://gcc.gnu.org/bugs.html for instructions.



Note that the stack trace looks the same as in PR55011.


[Bug rtl-optimization/55106] ice: Maximum number of LRA constraint passes is achieved (15)

2012-10-28 Thread markus at trippelsdorf dot de

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55106

Markus Trippelsdorf markus at trippelsdorf dot de changed:

   What|Removed |Added

 CC||markus at trippelsdorf dot
   ||de, vmakarov at gcc dot
   ||gnu.org

--- Comment #1 from Markus Trippelsdorf markus at trippelsdorf dot de 
2012-10-28 14:52:03 UTC ---
markus@x4 tmp % cat test.ii
templatetypename _Tp struct A {
  typedef _Tp *pointer;
  typedef _Tp reference;
  typedef _Tp const_reference;
  templatetypenamestruct rebind
  {
typedef A other;
  };
};

templatetypename _Allocstruct __alloc_traits
{
  typedef typename _Alloc::pointer pointer;
  typedef typename _Alloc::reference   reference;
  typedef typename _Alloc::const_reference const_reference;
  templatetypename _Tpstruct rebind
  {
typedef typename _Alloc::template rebind_Tp::other other;
  };
};
templatetypename _Tp, typename _Allocstruct B
{
  typedef typename __alloc_traits_Alloc::template rebind
  _Tp::other _Tp_alloc_type;
  typedef typename __alloc_traits_Tp_alloc_type::pointer pointer;
  struct F
  {
pointer _M_start;
  };
  F _M_impl;
};
templatetypename _Tp, typename _Alloc = A_Tp class vec : B_Tp, _Alloc{
  typedef B_Tp, _Alloc _Base;
  typedef typename _Base::_Tp_alloc_type _Tp_alloc_type;
  typedef __alloc_traits_Tp_alloc_type _Alloc_traits;

public:
  typedef _Tp value_type;
  typedef typename _Alloc_traits::reference   reference;
  typedef typename _Alloc_traits::const_reference const_reference;
  reference operator[](int p1)
  {
return *(this-_M_impl._M_start + p1);
  }

  const_reference operator[](long) const;
};

int a[17];
class C {
  vecint m_value;
  void opModDivGuts(const C);
  int mostSetBitP1() const;
};
void C::opModDivGuts(const C p1)
{
  int b = p1.mostSetBitP1(), c = b + 1;
  int d[16];

  for (int i = c; i; i--)
a[i] = p1.m_value[i]  b;

  for (int i = 0; i  c; i++)
m_value[i] = d[i]  b  -b;
}

markus@x4 tmp % g++ -Wall -Wextra -c -O3 test.ii
test.ii: In member function ‘void C::opModDivGuts(const C)’:
test.ii:65:1: internal compiler error: Maximum number of LRA constraint passes
is achieved (15)


[Bug target/54996] gcc with --target=avr fails to build

2012-10-28 Thread lvd.mhm at gmail dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54996



--- Comment #2 from lvd.mhm at gmail dot com 2012-10-28 15:25:28 UTC ---

I was wrong not setting $PATH to just compiled binutils.

However, even after setting correct $PATH or just compiling binutils to default

/usr/local/bin, problem still persisted.

I used clean x86_64 virtual machine with fresh ubuntu12.04.1 server install

with just nothing installed except SSH and then packages needed to build

binutils and gcc,



and I've found, that bug exists when $PATH has ./ at first place. If there is

no ./ in $PATH or ./ at the end, gcc compiles fine.



Of course then same behavior repeats itself on hardware.


[Bug target/54996] gcc with --target=avr fails to build

2012-10-28 Thread lvd.mhm at gmail dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54996



lvd.mhm at gmail dot com changed:



   What|Removed |Added



 Status|RESOLVED|UNCONFIRMED

 Resolution|INVALID |



--- Comment #3 from lvd.mhm at gmail dot com 2012-10-28 15:27:04 UTC ---

up


[Bug rtl-optimization/54993] [4.8 regression] PIC register not marked as live

2012-10-28 Thread sch...@linux-m68k.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54993



--- Comment #2 from Andreas Schwab sch...@linux-m68k.org 2012-10-28 15:30:37 
UTC ---

What exactly did you test?  The bug is clearly present before r192890.  Here is

the diff between r192889 and r192890:



@@ -1663,16 +1663,17 @@ _Z6test01v:

 .cfi_startproc

 .cfi_personality 0,__gxx_personality_v0

 .cfi_lsda 0,.LLSDA2633

-link.w %fp,#-68

+link.w %fp,#-72

 .cfi_offset 14, -8

 .cfi_def_cfa 14, 8

 movem.l #12348,-(%sp)

-.cfi_offset 2, -100

-.cfi_offset 3, -96

-.cfi_offset 10, -92

-.cfi_offset 11, -88

-.cfi_offset 12, -84

-.cfi_offset 13, -80

+.cfi_offset 2, -104

+.cfi_offset 3, -100

+.cfi_offset 10, -96

+.cfi_offset 11, -92

+.cfi_offset 12, -88

+.cfi_offset 13, -84

+lea (%pc, _GLOBAL_OFFSET_TABLE_@GOTPC), %a5

 clr.l -48(%fp)

 clr.l -44(%fp)

 pea 104.w

@@ -1791,22 +1792,22 @@ _Z6test01v:

 jsr _ZNSt6thread15_M_start_threadESt10shared_ptrINS_10_Impl_baseEE

 .LEHE14:

 addq.l #8,%sp

-move.l -16(%fp),%a5

-tst.l %a5

+move.l -16(%fp),%a1

+tst.l %a1

 jeq .L329

-lea (4,%a5),%a0

+lea (4,%a1),%a0

 move.l #_ZL28__gthrw___pthread_key_createPjPFvPvE,%d2

 jeq .L323

 move.l (%a0),%d0

 .L324:

-move.l %d0,%a1

+move.l %d0,%d3

 move.l %d0,%d1

 subq.l #1,%d1

 cas.l %d0,%d1,(%a0)

 seq %d1

 tst.b %d1

 jeq .L324

-move.l %a1,%d0

+move.l %d3,%d0

 moveq #1,%d1

 cmp.l %d0,%d1

 jeq .L446

@@ -1925,7 +1926,7 @@ _Z6test01v:

 cmp.l %a0,%d1

 jeq .L450

 .L309:

-movem.l -92(%fp),#15372

+movem.l -96(%fp),#15372

 unlk %fp

 rts

 .L351:

@@ -2005,30 +2006,32 @@ _Z6test01v:

 sub.l %a0,%a0

 jra .L321

 .L446:

-move.l (%a5),%a0

-move.l %a5,-(%sp)

+move.l (%a1),%a0

+move.l %a1,-(%sp)

 move.l 8(%a0),%a0

+move.l %a1,-72(%fp)

 jsr (%a0)

-lea (8,%a5),%a0

+move.l -72(%fp),%a1

+lea (8,%a1),%a0

 addq.l #4,%sp

 tst.l %d2

 jeq .L326

 move.l (%a0),%d0

 .L327:

-move.l %d0,%a1

+move.l %d0,%d2

 move.l %d0,%d1

 subq.l #1,%d1

 cas.l %d0,%d1,(%a0)

 seq %d1

 tst.b %d1

 jeq .L327

-move.l %a1,%d0

+move.l %d2,%d0

 moveq #1,%d1

 cmp.l %d0,%d1

 jne .L329

 .L452:

-move.l (%a5),%a0

-move.l %a5,-(%sp)

+move.l (%a1),%a0

+move.l %a1,-(%sp)

 move.l 12(%a0),%a0

 jsr (%a0)

 addq.l #4,%sp

@@ -2056,7 +2059,7 @@ _Z6test01v:

 move.l 12(%a0),%a0

 jsr (%a0)

 addq.l #4,%sp

-movem.l -92(%fp),#15372

+movem.l -96(%fp),#15372

 unlk %fp

 rts

 .L449:

@@ -2147,19 +2150,19 @@ _Z6test01v:

 addq.l #1,4(%a2)

 jra .L312

 .L323:

-move.l 4(%a5),%d0

+move.l 4(%a1),%d0

 move.l %d0,%d1

 subq.l #1,%d1

-move.l %d1,4(%a5)

+move.l %d1,4(%a1)

 moveq #1,%d1

 cmp.l %d0,%d1

 jne .L329

 jra .L446

 .L326:

-move.l 8(%a5),%d0

+move.l 8(%a1),%d0

 move.l %d0,%d1

 subq.l #1,%d1

-move.l %d1,8(%a5)

+move.l %d1,8(%a1)

 moveq #1,%d1

 cmp.l %d0,%d1

 jne .L329


[Bug rtl-optimization/54993] [4.8 regression] PIC register not marked as live

2012-10-28 Thread sch...@linux-m68k.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54993



--- Comment #3 from Andreas Schwab sch...@linux-m68k.org 2012-10-28 15:36:55 
UTC ---

Created attachment 28546

  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=28546

wait.ii.203r.ira.r192889


[Bug rtl-optimization/54993] [4.8 regression] PIC register not marked as live

2012-10-28 Thread sch...@linux-m68k.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54993



--- Comment #4 from Andreas Schwab sch...@linux-m68k.org 2012-10-28 15:38:09 
UTC ---

Created attachment 28547

  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=28547

wait.ii.203r.ira.r192890


[Bug c/55108] New: bad compile-time evaluation of members of initialized union

2012-10-28 Thread acn1 at cam dot ac.uk

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55108

 Bug #: 55108
   Summary: bad compile-time evaluation of members of initialized
union
Classification: Unclassified
   Product: gcc
   Version: 4.6.3
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: a...@cam.ac.uk


Created attachment 28548
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=28548
internal file bad.i obtained using -save-temp, as requested.

gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/arm-linux-gnueabihf/4.6/lto-wrapper
Target: arm-linux-gnueabihf
Configured with: ../src/configure -v --with-pkgversion='Debian 4.6.3-8+rpi1'
--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 --enable-gnu-unique-object
--enable-plugin --enable-objc-gc --disable-sjlj-exceptions --with-arch=armv6
--with-fpu=vfp --with-float=hard --enable-checking=release
--build=arm-linux-gnueabihf --host=arm-linux-gnueabihf
--target=arm-linux-gnueabihf
Thread model: posix
gcc version 4.6.3 (Debian 4.6.3-8+rpi1)

File bad.c contains

#include stdio.h

int main(int argc, char *argv[])
{
union
{   double d;
unsigned char c[8];
} u = {1.0/7.0};
printf(Bytes from float are %x %x %x %x\n,
   u.c[0]  0xff, u.c[1]  0xff, u.c[2]  0xff, u.c[3]  0xff);
return 0;
}

My hope is that the aliasing is OK both because the float is aliased with chars
and because I believed that GCC was kind about unions.

The output is

acn1@raspberrypi ~ $ gcc -O0 bad.c -o bad0
acn1@raspberrypi ~ $ gcc -O1 bad.c -o bad1 -Wall -Wextra
bad.c: In function ‘main’:
bad.c:3:14: warning: unused parameter ‘argc’ [-Wunused-parameter]
bad.c:3:26: warning: unused parameter ‘argv’ [-Wunused-parameter]
acn1@raspberrypi ~ $ ./bad0
Bytes from float are 92 24 49 92  expected output
acn1@raspberrypi ~ $ ./bad1
Bytes from float are 92 924924 9249 92output  0xff unexpected
acn1@raspberrypi ~ $

To my mind whatever else might be going on the  0xff that I have should not
let me get such large numbers displayed!

The .i file is attached. gcc is evaluating the components of the union at
compile time and not respecting the unsigned char width or the subseqent 
0xff.


[Bug middle-end/54957] Two crashes introduced by rev192488

2012-10-28 Thread amylaar at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54957



--- Comment #17 from Jorn Wolfgang Rennecke amylaar at gcc dot gnu.org 
2012-10-28 16:37:46 UTC ---

(In reply to comment #8)

 Created attachment 28466 [details]

 Proposed patch

 

 Handle the possibility that stmt_bb may be NULL in emit_case_dispatch_table.

 Untested.



It works for arc-elf32.


[Bug fortran/54958] Wrongly rejects ac-implied-DO variables which also occur with INTENT(IN)

2012-10-28 Thread burnus at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54958



--- Comment #1 from Tobias Burnus burnus at gcc dot gnu.org 2012-10-28 
16:57:15 UTC ---

Author: burnus

Date: Sun Oct 28 16:57:12 2012

New Revision: 192896



URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=192896

Log:

2012-10-28  Tobias Burnus  bur...@net-b.de



PR fortran/54958

* gfortran.h (gfc_resolve_iterator_expr,

gfc_check_vardef_context): Update prototype.

* expr.c (gfc_check_vardef_context): Add own_scope

argument and honour it.

* resolve.c (gfc_resolve_iterator_expr): Add own_scope

argument and honour it.

(resolve_deallocate_expr, resolve_allocate_expr,

resolve_data_variables, resolve_transfer

resolve_lock_unlock, resolve_code): Update calls.

* array.c (resolve_array_list): Ditto.

* check.c (gfc_check_atomic_def, gfc_check_atomic_ref): Ditto.

* interface.c (compare_actual_formal): Ditto.

* intrinsic.c (check_arglist): Ditto.

* io.c (resolve_tag, gfc_resolve_dt, gfc_resolve_inquire):

* Ditto.



2012-10-28  Tobias Burnus  bur...@net-b.de



PR fortran/54958

* gfortran.dg/do_check_6.f90: New.





Added:

trunk/gcc/testsuite/gfortran.dg/do_check_6.f90

Modified:

trunk/gcc/fortran/ChangeLog

trunk/gcc/fortran/array.c

trunk/gcc/fortran/check.c

trunk/gcc/fortran/expr.c

trunk/gcc/fortran/gfortran.h

trunk/gcc/fortran/interface.c

trunk/gcc/fortran/intrinsic.c

trunk/gcc/fortran/io.c

trunk/gcc/fortran/resolve.c

trunk/gcc/testsuite/ChangeLog


[Bug c++/55109] New: internal compiler error: Segmentation fault while reporting error in template function instantiation

2012-10-28 Thread ZetaetaDaniel at gmail dot com

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55109

 Bug #: 55109
   Summary: internal compiler error: Segmentation fault while
reporting error in template function instantiation
Classification: Unclassified
   Product: gcc
   Version: 4.7.2
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: zetaetadan...@gmail.com


The compiler command was:

g++ -DHAVE_CONFIG_H -I.-O0 -g -std=c++11  -I src/ -Wall -Wextra -Werror
-Wno-error=unused-variable -Wno-error=unused-parameter
-Wno-error=unused-but-set-variable  -MT mc___server-NetworkServer.o -MD -MP -MF
.deps/mc___server-NetworkServer.Tpo -c -o mc___server-NetworkServer.o `test -f
'src/network/NetworkServer.cpp' || echo './'`src/network/NetworkServer.cpp

The compiler output was (template stuff formatted for readability):

In file included from src/network/NetworkServer.cpp:22:0:
src/Scheduler.hpp: In instantiation of ‘typename std::enable_if
std::__and_
std::is_convertible
MemberFunc, std::function
decltype (MCServer::Scheduler::startThread::obj-
**MCServer::Scheduler::startThread::func(
MCServer::Scheduler::startThread::args ...
)
) (Args ...)

,
std::is_member_function_pointerMemberFunc
::value, long unsigned int
::type
MCServer::Scheduler::startImportantThread(MemberFunc, Class*, Args ...)
[with MemberFunc = void (MCServer::Network::NetworkServer::*)();
Class = MCServer::Network::NetworkServer;
Args = {};
typename std::enable_if
std::__and_
std::is_convertible
MemberFunc, std::function
decltype (MCServer::Scheduler::startThread::obj-
**MCServer::Scheduler::startThread::func(
MCServer::Scheduler::startThread::args ...
)
) (Args ...)

,
std::is_member_function_pointerMemberFunc
::value, long unsigned int
::type = long unsigned int]’:
src/network/NetworkServer.cpp:69:74:   required from here
src/Scheduler.hpp:187:156: internal compiler error: Segmentation fault
Please submit a full bug report,
with preprocessed source if appropriate.
See https://bugs.archlinux.org/ for instructions.

The backtrace of the segfault is:

#0  0x004e00e7 in ?? ()
#1  0x004e0464 in tsubst_copy_and_build ()
#2  0x004dbffa in ?? ()
#3  0x004e7ddf in ?? ()
#4  0x004e105b in tsubst_copy_and_build ()
#5  0x004dbffa in ?? ()
#6  0x004e28c0 in tsubst ()
#7  0x004e881c in ?? ()
#8  0x004e2ceb in tsubst ()
#9  0x004e5b13 in ?? ()
#10 0x004df422 in ?? ()
#11 0x004e2ec9 in tsubst ()
#12 0x004e0dac in tsubst_copy_and_build ()
#13 0x004e0ffe in tsubst_copy_and_build ()
#14 0x004dbffa in ?? ()
#15 0x004dcd0f in ?? ()
#16 0x004dcc4c in ?? ()
#17 0x004dc118 in ?? ()
#18 0x004f0da3 in instantiate_decl ()
#19 0x004f37ac in instantiate_pending_templates ()
#20 0x0050979d in cp_write_global_declarations ()
#21 0x00831a58 in toplev_main ()
#22 0x75eca725 in __libc_start_main () from /usr/lib/libc.so.6
#23 0x004abaf1 in _start ()

which is of course very incomplete, and I am currently compiling gcc with debug
symbols to get a better backtrace, but it will take some time.

The preprocessed source of the file being compiled is here:
http://www.mediafire.com/?hdv6qddwnwclj82


[Bug rtl-optimization/54993] [4.8 regression] PIC register not marked as live

2012-10-28 Thread steven at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54993



--- Comment #5 from Steven Bosscher steven at gcc dot gnu.org 2012-10-28 
17:24:17 UTC ---

(In reply to comment #2)

 What exactly did you test?  The bug is clearly present before r192890.



I was testing a cross from powerpc64-unknown-linux-gnu to m68k-linux-gnu,

your wait.ii test case, with -fPIC -O2 -std=gnu++0x.  Perhaps I somehow

messed up, I'll try again.


[Bug tree-optimization/55110] New: Internal compiler error in vectorizable_reduction, at tree-vect-loop.c:4633

2012-10-28 Thread antoine.balestrat at gmail dot com

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55110

 Bug #: 55110
   Summary: Internal compiler error in vectorizable_reduction, at
tree-vect-loop.c:4633
Classification: Unclassified
   Product: gcc
   Version: 4.8.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: tree-optimization
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: antoine.balest...@gmail.com


Hello !
The following testcase makes GCC 4.8.0 as of 20121021 crash with -O1
-ftree-vectorize.

$ cat vector.c
int a, b, c;

void f(void)
{
for(; b; b++)
for(c = 0; c  2; c++)
a /= 5;
}

$ xgcc -O1 -ftree-vectorize -w vector.c
vector.c: In function ‘f’:
vector.c:3:6: internal compiler error: in vectorizable_reduction, at
tree-vect-loop.c:4633
 void f(void)
  ^
linux-vdso.so.1: No such file or directory
0xa67b9c vectorizable_reduction(gimple_statement_d*, gimple_stmt_iterator*,
gimple_statement_d**, _slp_tree*)
../../srcdir/gcc/tree-vect-loop.c:4633
0xa58fa0 vect_analyze_stmt(gimple_statement_d*, bool*, _slp_tree*)
../../srcdir/gcc/tree-vect-stmts.c:5710
0xa58aca vect_analyze_stmt(gimple_statement_d*, bool*, _slp_tree*)
../../srcdir/gcc/tree-vect-stmts.c:5632
0xa6356d vect_analyze_loop_operations
../../srcdir/gcc/tree-vect-loop.c:1447
0xa6356d vect_analyze_loop_2
../../srcdir/gcc/tree-vect-loop.c:1725
0xa6356d vect_analyze_loop(loop*)
../../srcdir/gcc/tree-vect-loop.c:1778
0xa75f1c vectorize_loops()
../../srcdir/gcc/tree-vectorizer.c:114
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See http://gcc.gnu.org/bugs.html for instructions.


[Bug c++/55109] internal compiler error: Segmentation fault while reporting error in template function instantiation

2012-10-28 Thread paolo.carlini at oracle dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55109



Paolo Carlini paolo.carlini at oracle dot com changed:



   What|Removed |Added



 Status|UNCONFIRMED |WAITING

   Last reconfirmed||2012-10-28

 Ever Confirmed|0   |1



--- Comment #1 from Paolo Carlini paolo.carlini at oracle dot com 2012-10-28 
17:55:32 UTC ---

Please reduce the testcase as much as possible - there are many tools which you

can use for that, delta, creduce - and attach here what you get.


[Bug c++/55095] Wshift-overflow

2012-10-28 Thread joseph at codesourcery dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55095



--- Comment #4 from joseph at codesourcery dot com joseph at codesourcery dot 
com 2012-10-28 17:58:55 UTC ---

The constant folder (fold-const.c:int_const_binop_1) would seem to be the 

place where overflow information would most readily be available for this: 

as I understand it, it's specifically about constants, rather than the 

generic issue that almost any left shift with nonconstant operands might 

overflow.  If diagnosing there, you'd want to pass down a location a few 

levels from fold_binary_loc (so changing lots of calls to const_binop to 

pass a location).



(In any case, double-int will need a new interface to report whether shift 

overflow has occurred.)


[Bug c++/55077] implement and enable by default -Wliteral-conversion

2012-10-28 Thread joseph at codesourcery dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55077



--- Comment #2 from joseph at codesourcery dot com joseph at codesourcery dot 
com 2012-10-28 18:02:07 UTC ---

On Sat, 27 Oct 2012, manu at gcc dot gnu.org wrote:



   // Expressions, such as those that indicate rounding-down, should NOT 
 produce

 warnings.

   int x = 24 * 0.5;

   int y = (24*60*60) * 0.25;

   int pennies = 123.45 * 100;



The last of those seems pretty suspicious (123.45 isn't an exact 

floating-point value, but the user probably wants 12345 independent of 

whether the floating-point value is above or below the exact decimal 

value).  Are you *sure* you don't want a warning in such a case?


[Bug target/51106] [4.6 Regression] ICE in move_insn, at haifa-sched.c:2314

2012-10-28 Thread abel at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51106



--- Comment #21 from Andrey Belevantsev abel at gcc dot gnu.org 2012-10-28 
18:17:16 UTC ---

(In reply to comment #20)

 This issue still exists in mainline, there seems to be no objection to 
 Andrey's

 suggested fix, could someone please commit it?



Not quite, the last message was

http://gcc.gnu.org/ml/gcc-patches/2012-04/msg00161.html and then there was no

consensus about the way to proceed.


[Bug fortran/54958] Wrongly rejects ac-implied-DO variables which also occur with INTENT(IN)

2012-10-28 Thread burnus at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54958



Tobias Burnus burnus at gcc dot gnu.org changed:



   What|Removed |Added



 Status|UNCONFIRMED |RESOLVED

 CC||burnus at gcc dot gnu.org

 Resolution||FIXED



--- Comment #2 from Tobias Burnus burnus at gcc dot gnu.org 2012-10-28 
18:25:19 UTC ---

FIXED on the 4.8 trunk.


[Bug c++/55095] Wshift-overflow

2012-10-28 Thread manu at gcc dot gnu.org

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55095

--- Comment #5 from Manuel López-Ibáñez manu at gcc dot gnu.org 2012-10-28 
18:34:43 UTC ---
(In reply to comment #4)
 The constant folder (fold-const.c:int_const_binop_1) would seem to be the 
 place where overflow information would most readily be available for this: 
 as I understand it, it's specifically about constants, rather than the 
 generic issue that almost any left shift with nonconstant operands might 
 overflow.  If diagnosing there, you'd want to pass down a location a few 
 levels from fold_binary_loc (so changing lots of calls to const_binop to 
 pass a location).
 
 (In any case, double-int will need a new interface to report whether shift 
 overflow has occurred.)

Is there some interface that I can directly call to perform the shift in the
largest available precision (or infinite precision if that is possible) and
then convert the result to the result type and compare the two values? That
seems much more straight-forward than going through fold-const. And it allows
to report what the result would have been and how much precision would be
needed for it, like clang does.


[Bug rtl-optimization/54993] [4.8 regression] PIC register not marked as live

2012-10-28 Thread sch...@linux-m68k.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54993



--- Comment #6 from Andreas Schwab sch...@linux-m68k.org 2012-10-28 18:34:52 
UTC ---

I didn't write anything about -fPIC.  The PIC register is used for TLS

accesses.


[Bug tree-optimization/55111] New: ICE: tree check: expected ssa_name, have integer_cst in live_on_edge, at tree-vrp.c:89

2012-10-28 Thread antoine.balestrat at gmail dot com

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55111

 Bug #: 55111
   Summary: ICE: tree check: expected ssa_name, have integer_cst
in live_on_edge, at tree-vrp.c:89
Classification: Unclassified
   Product: gcc
   Version: 4.8.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: tree-optimization
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: antoine.balest...@gmail.com


With GCC 4.8.0 as of 20121021, at -O2 and higher :

$ cat ssa.c
int a, b, c;
long d;
unsigned long *e;

int f(void)
{
for(;; a++)
{
if(c)
{
for(b = d = 0; b  1; b++)
e = d;

--*e;

if(d  0)
a = 0;

return d;
}
}
}

$ xgcc -O2 -w ssa.c
ssa.c: In function ‘f’:
ssa.c:5:5: internal compiler error: tree check: expected ssa_name, have
integer_cst in live_on_edge, at tree-vrp.c:89
 int f(void)
 ^
linux-vdso.so.1: No such file or directory
0xa90b9a tree_check_failed(tree_node const*, char const*, int, char const*,
...)
../../srcdir/gcc/tree.c:8896
0xa7650d tree_check
../../srcdir/gcc/tree.h:3676
0xa7650d live_on_edge
../../srcdir/gcc/tree-vrp.c:89
0xa7ce9a register_edge_assert_for_2
../../srcdir/gcc/tree-vrp.c:4736
0xa7e4e0 register_edge_assert_for
../../srcdir/gcc/tree-vrp.c:5216
0xa81734 find_conditional_asserts
../../srcdir/gcc/tree-vrp.c:5304
0xa81734 find_assert_locations_1
../../srcdir/gcc/tree-vrp.c:5518
0xa88136 find_assert_locations
../../srcdir/gcc/tree-vrp.c:5658
0xa88136 insert_range_assertions
../../srcdir/gcc/tree-vrp.c:5846
0xa88136 execute_vrp
../../srcdir/gcc/tree-vrp.c:9156
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See http://gcc.gnu.org/bugs.html for instructions.


[Bug fortran/52724] Internal read with character(kind=4) data

2012-10-28 Thread tkoenig at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52724



Thomas Koenig tkoenig at gcc dot gnu.org changed:



   What|Removed |Added



 Status|NEW |RESOLVED

 Resolution||FIXED



--- Comment #7 from Thomas Koenig tkoenig at gcc dot gnu.org 2012-10-28 
20:51:37 UTC ---

Fixed on trunk, closing.


[Bug target/49263] SH Target: underutilized TST #imm, R0 instruction

2012-10-28 Thread olegendo at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49263



--- Comment #19 from Oleg Endo olegendo at gcc dot gnu.org 2012-10-28 
22:01:47 UTC ---

Another thing I've noticed...

Cases such as:



mov.l   r0,@r2! LS

mov r13,r0! MT

and #7,r0 ! EX

tst r0,r0 ! MT

bt/s.L8   ! BR

mov.l   r0,@(16,r1)



where the result of the and op is re-used would be slightly better as:



mov.l   r0,@r2   ! LS

mov r13,r0   ! MT

tst #7,r0! MT

and #7,r0! EX

bt/s.L8  ! BR

mov.l   r0,@(16,r1)



because it reduces dependency on the result of the and op and thus has a higher

chance to be executed in parallel.


[Bug lto/55112] New: internal compiler error: in simplify_subreg, at simplify-rtx.c:5424

2012-10-28 Thread patrick at motec dot com.au


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55112



 Bug #: 55112

   Summary: internal compiler error: in simplify_subreg, at

simplify-rtx.c:5424

Classification: Unclassified

   Product: gcc

   Version: 4.7.2

Status: UNCONFIRMED

  Severity: normal

  Priority: P3

 Component: lto

AssignedTo: unassig...@gcc.gnu.org

ReportedBy: patr...@motec.com.au





Using cross compile gcc (x86_64-powerpc-eabispe) the following command line

results in an internal compiler error.



I've attached the problem object file.



Hope this is enough information, thanks.



patrick@gtr:~/bug/report1$ powerpc-eabispe-gcc -v -Os -flto=jobserver -nostdlib

-o test bug.o

Using built-in specs.

COLLECT_GCC=powerpc-eabispe-gcc

COLLECT_LTO_WRAPPER=/home/patrick/src/e7/toolchain/stage2/bin/../libexec/gcc/powerpc-eabispe/4.7.2/lto-wrapper

Target: powerpc-eabispe

Configured with: /z/src/e7/toolchain/src/gcc-4.7.2/configure

--prefix=/z/src/e7/toolchain/stage2 --build=x86_64-unknown-linux-gnu

--host=x86_64-unknown-linux-gnu --target=powerpc-eabispe

--enable-languages=c,c++ --with-sysroot=/z/src/e7/toolchain/../prex_sysroot

--disable-nls --disable-werror --with-newlib

--with-gmp=/z/src/e7/toolchain/stage2 --with-mpfr=/z/src/e7/toolchain/stage2

--disable-shared --disable-debug --disable-libssp --with-cpu=8540

Thread model: single

gcc version 4.7.2 (GCC) 

COMPILER_PATH=/home/patrick/src/e7/toolchain/stage2/bin/../libexec/gcc/powerpc-eabispe/4.7.2/:/home/patrick/src/e7/toolchain/stage2/bin/../libexec/gcc/:/home/patrick/src/e7/toolchain/stage2/bin/../lib/gcc/powerpc-eabispe/4.7.2/../../../../powerpc-eabispe/bin/

LIBRARY_PATH=/home/patrick/src/e7/toolchain/stage2/bin/../lib/gcc/powerpc-eabispe/4.7.2/:/home/patrick/src/e7/toolchain/stage2/bin/../lib/gcc/:/home/patrick/src/e7/toolchain/stage2/bin/../lib/gcc/powerpc-eabispe/4.7.2/../../../../powerpc-eabispe/lib/

COLLECT_GCC_OPTIONS='-v' '-Os' '-flto=jobserver' '-nostdlib' '-o' 'test'

'-mcpu=8540'



/home/patrick/src/e7/toolchain/stage2/bin/../libexec/gcc/powerpc-eabispe/4.7.2/collect2

-plugin

/home/patrick/src/e7/toolchain/stage2/bin/../libexec/gcc/powerpc-eabispe/4.7.2/liblto_plugin.so

-plugin-opt=/home/patrick/src/e7/toolchain/stage2/bin/../libexec/gcc/powerpc-eabispe/4.7.2/lto-wrapper

-plugin-opt=-fresolution=/tmp/ccTv6kV7.res -flto=jobserver

--sysroot=/z/src/e7/toolchain/../prex_sysroot --eh-frame-hdr -V -dn -Bstatic -o

test

-L/home/patrick/src/e7/toolchain/stage2/bin/../lib/gcc/powerpc-eabispe/4.7.2

-L/home/patrick/src/e7/toolchain/stage2/bin/../lib/gcc

-L/home/patrick/src/e7/toolchain/stage2/bin/../lib/gcc/powerpc-eabispe/4.7.2/../../../../powerpc-eabispe/lib

bug.o

GNU ld (GNU Binutils) 2.22

  Supported emulations:

   elf32ppc

   elf32ppclinux

   elf32ppcsim powerpc-eabispe-gcc @/tmp/ccu1YKNX.args

Using built-in specs.

COLLECT_GCC=powerpc-eabispe-gcc

Target: powerpc-eabispe

Configured with: /z/src/e7/toolchain/src/gcc-4.7.2/configure

--prefix=/z/src/e7/toolchain/stage2 --build=x86_64-unknown-linux-gnu

--host=x86_64-unknown-linux-gnu --target=powerpc-eabispe

--enable-languages=c,c++ --with-sysroot=/z/src/e7/toolchain/../prex_sysroot

--disable-nls --disable-werror --with-newlib

--with-gmp=/z/src/e7/toolchain/stage2 --with-mpfr=/z/src/e7/toolchain/stage2

--disable-shared --disable-debug --disable-libssp --with-cpu=8540

Thread model: single

gcc version 4.7.2 (GCC) 

COLLECT_GCC_OPTIONS='-c' '-msdata=none' '-mno-spe' '-mcpu=8540' '-v' '-Os'

'-nostdlib' '-mcpu=8540' '-dumpdir' './' '-dumpbase' 'test.wpa'

'-fltrans-output-list=/tmp/cc4GjAt6.ltrans.out' '-fwpa'

'-fresolution=/tmp/ccTv6kV7.res'



/home/patrick/src/e7/toolchain/stage2/bin/../lib/gcc/../../libexec/gcc/powerpc-eabispe/4.7.2/lto1

-quiet -dumpdir ./ -dumpbase test.wpa -msdata=none -mno-spe -mcpu=8540

-mcpu=8540 -auxbase bug -Os -version

-fltrans-output-list=/tmp/cc4GjAt6.ltrans.out -fwpa

-fresolution=/tmp/ccTv6kV7.res @/tmp/ccfQPfB6

GNU GIMPLE (GCC) version 4.7.2 (powerpc-eabispe)

compiled by GNU C version 4.7.2, GMP version 5.0.1, MPFR version 3.1.1, MPC

version 0.9

GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072

GNU GIMPLE (GCC) version 4.7.2 (powerpc-eabispe)

compiled by GNU C version 4.7.2, GMP version 5.0.1, MPFR version 3.1.1, MPC

version 0.9

GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072


[Bug lto/55112] internal compiler error: in simplify_subreg, at simplify-rtx.c:5424

2012-10-28 Thread patrick at motec dot com.au


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55112



--- Comment #1 from Patrick Oppenlander patrick at motec dot com.au 
2012-10-28 22:18:32 UTC ---

Created attachment 28549

  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=28549

Problem object file


[Bug lto/55113] New: internal compiler error: in emit_library_call_value_1, at calls.c:3739

2012-10-28 Thread patrick at motec dot com.au


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55113



 Bug #: 55113

   Summary: internal compiler error: in emit_library_call_value_1,

at calls.c:3739

Classification: Unclassified

   Product: gcc

   Version: 4.7.2

Status: UNCONFIRMED

  Severity: normal

  Priority: P3

 Component: lto

AssignedTo: unassig...@gcc.gnu.org

ReportedBy: patr...@motec.com.au





Created attachment 28550

  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=28550

Problem object files



Using cross-compile gcc (x86_64 to powerpc) the following command line results

in an internal compiler error.



I have attached the problem object files (couldn't reduce beyond these two).



Hope this is enough information, thanks.



patrick@gtr:~/bug/report2$ powerpc-eabispe-gcc -v -Os -flto=jobserver -nostdlib

-o test *.o

Using built-in specs.

COLLECT_GCC=powerpc-eabispe-gcc

COLLECT_LTO_WRAPPER=/home/patrick/src/e7/toolchain/stage2/bin/../libexec/gcc/powerpc-eabispe/4.7.2/lto-wrapper

Target: powerpc-eabispe

Configured with: /z/src/e7/toolchain/src/gcc-4.7.2/configure

--prefix=/z/src/e7/toolchain/stage2 --build=x86_64-unknown-linux-gnu

--host=x86_64-unknown-linux-gnu --target=powerpc-eabispe

--enable-languages=c,c++ --with-sysroot=/z/src/e7/toolchain/../prex_sysroot

--disable-nls --disable-werror --with-newlib

--with-gmp=/z/src/e7/toolchain/stage2 --with-mpfr=/z/src/e7/toolchain/stage2

--disable-shared --disable-debug --disable-libssp --with-cpu=8540

Thread model: single

gcc version 4.7.2 (GCC) 

COMPILER_PATH=/home/patrick/src/e7/toolchain/stage2/bin/../libexec/gcc/powerpc-eabispe/4.7.2/:/home/patrick/src/e7/toolchain/stage2/bin/../libexec/gcc/:/home/patrick/src/e7/toolchain/stage2/bin/../lib/gcc/powerpc-eabispe/4.7.2/../../../../powerpc-eabispe/bin/

LIBRARY_PATH=/home/patrick/src/e7/toolchain/stage2/bin/../lib/gcc/powerpc-eabispe/4.7.2/:/home/patrick/src/e7/toolchain/stage2/bin/../lib/gcc/:/home/patrick/src/e7/toolchain/stage2/bin/../lib/gcc/powerpc-eabispe/4.7.2/../../../../powerpc-eabispe/lib/

COLLECT_GCC_OPTIONS='-v' '-Os' '-flto=jobserver' '-nostdlib' '-o' 'test'

'-mcpu=8540'



/home/patrick/src/e7/toolchain/stage2/bin/../libexec/gcc/powerpc-eabispe/4.7.2/collect2

-plugin

/home/patrick/src/e7/toolchain/stage2/bin/../libexec/gcc/powerpc-eabispe/4.7.2/liblto_plugin.so

-plugin-opt=/home/patrick/src/e7/toolchain/stage2/bin/../libexec/gcc/powerpc-eabispe/4.7.2/lto-wrapper

-plugin-opt=-fresolution=/tmp/ccXmIQW9.res -flto=jobserver

--sysroot=/z/src/e7/toolchain/../prex_sysroot --eh-frame-hdr -V -dn -Bstatic -o

test

-L/home/patrick/src/e7/toolchain/stage2/bin/../lib/gcc/powerpc-eabispe/4.7.2

-L/home/patrick/src/e7/toolchain/stage2/bin/../lib/gcc

-L/home/patrick/src/e7/toolchain/stage2/bin/../lib/gcc/powerpc-eabispe/4.7.2/../../../../powerpc-eabispe/lib

bug0.o bug1.o

GNU ld (GNU Binutils) 2.22

  Supported emulations:

   elf32ppc

   elf32ppclinux

   elf32ppcsim powerpc-eabispe-gcc @/tmp/ccMr3FEZ.args

Using built-in specs.

COLLECT_GCC=powerpc-eabispe-gcc

Target: powerpc-eabispe

Configured with: /z/src/e7/toolchain/src/gcc-4.7.2/configure

--prefix=/z/src/e7/toolchain/stage2 --build=x86_64-unknown-linux-gnu

--host=x86_64-unknown-linux-gnu --target=powerpc-eabispe

--enable-languages=c,c++ --with-sysroot=/z/src/e7/toolchain/../prex_sysroot

--disable-nls --disable-werror --with-newlib

--with-gmp=/z/src/e7/toolchain/stage2 --with-mpfr=/z/src/e7/toolchain/stage2

--disable-shared --disable-debug --disable-libssp --with-cpu=8540

Thread model: single

gcc version 4.7.2 (GCC) 

COLLECT_GCC_OPTIONS='-c' '-msdata=none' '-mno-spe' '-mcpu=8540' '-v' '-Os'

'-nostdlib' '-mcpu=8540' '-dumpdir' './' '-dumpbase' 'test.wpa'

'-fltrans-output-list=/tmp/cc06h8H9.ltrans.out' '-fwpa'

'-fresolution=/tmp/ccXmIQW9.res'



/home/patrick/src/e7/toolchain/stage2/bin/../lib/gcc/../../libexec/gcc/powerpc-eabispe/4.7.2/lto1

-quiet -dumpdir ./ -dumpbase test.wpa -msdata=none -mno-spe -mcpu=8540

-mcpu=8540 -auxbase bug0 -Os -version

-fltrans-output-list=/tmp/cc06h8H9.ltrans.out -fwpa

-fresolution=/tmp/ccXmIQW9.res @/tmp/ccZssqpa

GNU GIMPLE (GCC) version 4.7.2 (powerpc-eabispe)

compiled by GNU C version 4.7.2, GMP version 5.0.1, MPFR version 3.1.1, MPC

version 0.9

GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072

GNU GIMPLE (GCC) version 4.7.2 (powerpc-eabispe)

compiled by GNU C version 4.7.2, GMP version 5.0.1, MPFR version 3.1.1, MPC

version 0.9

GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072


[Bug target/54963] [4.8 Regression] Wrong code generated for libgfortran/generated/eoshift3_8.c on SH

2012-10-28 Thread olegendo at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54963



--- Comment #3 from Oleg Endo olegendo at gcc dot gnu.org 2012-10-28 23:01:24 
UTC ---

Created attachment 28551

  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=28551

Proposed patch



This patch fixes the problem, by using 'emit_move_insn' instead of manually

doing the DImode reg copy.

I've seized the moment and refactored the abs patterns -- the T_REG clobber

handling was a bit confusing and using mode iterators saves a few lines.



Kaz, could you please have a look at this one?



Only briefly tested with make-gcc and compiling CSiBE.  There are no code size

changes in the CSiBE set, except for one:



jikespg-1.3

  src/prntstat3576 - 3568  -8 / -0.223714 %



I guess it's the T_REG clobber thing that has a positive impact on register

allocation in this case.


[Bug lto/55113] internal compiler error: in emit_library_call_value_1, at calls.c:3739

2012-10-28 Thread pinskia at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55113



--- Comment #1 from Andrew Pinski pinskia at gcc dot gnu.org 2012-10-28 
23:27:17 UTC ---

Can you attach the preprocessed source for those object files and how those

object files were compiled?


[Bug lto/55112] internal compiler error: in simplify_subreg, at simplify-rtx.c:5424

2012-10-28 Thread pinskia at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55112



--- Comment #2 from Andrew Pinski pinskia at gcc dot gnu.org 2012-10-28 
23:28:39 UTC ---

Can you attach the preprocessed source for this object file?


[Bug rtl-optimization/55093] [4.8 Regression] [x32] -maddress-mode=long failed

2012-10-28 Thread hjl.tools at gmail dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55093



H.J. Lu hjl.tools at gmail dot com changed:



   What|Removed |Added



  Attachment #28541|0   |1

is obsolete||



--- Comment #4 from H.J. Lu hjl.tools at gmail dot com 2012-10-29 00:10:37 
UTC ---

Created attachment 28552

  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=28552

A smaller testcase



LRA failed to handle



(insn 34 32 35 4 (parallel [

(set (reg:SI 79)

(plus:SI (subreg:SI (reg/f:DI 16 argp) 0)

(const_int 4 [0x4])))

(clobber (reg:CC 17 flags))

]) x.ii:63 247 {*addsi_1}

 (expr_list:REG_UNUSED (reg:CC 17 flags)

(expr_list:REG_EQUIV (plus:SI (subreg:SI (reg/f:DI 16 argp) 0)

(const_int 4 [0x4]))

(nil



The old reload eliminates argp:



(insn 34 49 35 4 (parallel [

(set (reg:SI 4 si [79])

(plus:SI (reg:SI 4 si [79])

(const_int 20 [0x14])))

(clobber (reg:CC 17 flags))

]) x.ii:63 247 {*addsi_1}

 (expr_list:REG_EQUIV (plus:SI (subreg:SI (plus:DI (reg/f:DI 7 sp) 

(const_int 16 [0x10])) 0)

(const_int 4 [0x4]))

(nil)))



while LRA keeps:



(insn 34 32 35 4 (parallel [

(set (reg:SI 4 si [79])

(plus:SI (reg:SI 16 argp)

(const_int 20 [0x14])))

(clobber (reg:CC 17 flags))

]) x.ii:63 247 {*addsi_1}

 (expr_list:REG_UNUSED (reg:CC 17 flags)

(expr_list:REG_EQUIV (plus:SI (subreg:SI (reg/f:DI 16 argp) 0)

(const_int 4 [0x4]))

(nil


[Bug rtl-optimization/55093] [4.8 Regression] [x32] -maddress-mode=long failed

2012-10-28 Thread hjl.tools at gmail dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55093



--- Comment #5 from H.J. Lu hjl.tools at gmail dot com 2012-10-29 00:41:19 
UTC ---

This patch:





diff --git a/gcc/lra-eliminations.c b/gcc/lra-eliminations.c

index d80..681c609 100644

--- a/gcc/lra-eliminations.c

+++ b/gcc/lra-eliminations.c

@@ -272,7 +272,7 @@ get_elimination (rtx reg)

   if ((hard_regno = REGNO (reg))  0 || hard_regno = FIRST_PSEUDO_REGISTER)

 return NULL;

   if ((ep = elimination_map[hard_regno]) != NULL)

-return ep-from_rtx != reg ? NULL : ep;

+return ep-from_rtx != reg  ep-from != hard_regno ? NULL : ep;

   if ((offset = self_elim_offsets[hard_regno]) == 0)

 return NULL;

   /* This is an iteration to restore offsets just after HARD_REGNO



fixes the IC.


[Bug rtl-optimization/55106] ice: Maximum number of LRA constraint passes is achieved (15)

2012-10-28 Thread vmakarov at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55106



--- Comment #2 from Vladimir Makarov vmakarov at gcc dot gnu.org 2012-10-29 
00:42:30 UTC ---

Author: vmakarov

Date: Mon Oct 29 00:42:25 2012

New Revision: 192904



URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=192904

Log:

2012-10-28  Vladimir Makarov  vmaka...@redhat.com



PR rtl-optimization/55106

* lra-constraints.c (skip_usage_debug_insns): New function.

(check_secondary_memory_needed_p): Ditto.

(inherit_reload_reg): Use the new functions.  Improve debug

output.





Modified:

trunk/gcc/ChangeLog

trunk/gcc/lra-constraints.c


[Bug rtl-optimization/55093] [4.8 Regression] [x32] -maddress-mode=long failed

2012-10-28 Thread hjl.tools at gmail dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55093



H.J. Lu hjl.tools at gmail dot com changed:



   What|Removed |Added



   Target Milestone|--- |4.8.0



--- Comment #6 from H.J. Lu hjl.tools at gmail dot com 2012-10-29 00:44:53 
UTC ---

I am testing this patch:



diff --git a/gcc/lra-eliminations.c b/gcc/lra-eliminations.c

index d80..cbfbe7a 100644

--- a/gcc/lra-eliminations.c

+++ b/gcc/lra-eliminations.c

@@ -272,7 +272,7 @@ get_elimination (rtx reg)

   if ((hard_regno = REGNO (reg))  0 || hard_regno = FIRST_PSEUDO_REGISTER)

 return NULL;

   if ((ep = elimination_map[hard_regno]) != NULL)

-return ep-from_rtx != reg ? NULL : ep;

+return ep-from != hard_regno ? NULL : ep;

   if ((offset = self_elim_offsets[hard_regno]) == 0)

 return NULL;

   /* This is an iteration to restore offsets just after HARD_REGNO


[Bug target/54963] [4.8 Regression] Wrong code generated for libgfortran/generated/eoshift3_8.c on SH

2012-10-28 Thread kkojima at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54963



--- Comment #4 from Kazumoto Kojima kkojima at gcc dot gnu.org 2012-10-29 
00:59:37 UTC ---

(In reply to comment #3)

 Created attachment 28551 [details]

 Proposed patch

 

 This patch fixes the problem, by using 'emit_move_insn' instead of manually

 doing the DImode reg copy.



Does the pattern in negdi_cond



  emit_insn (gen_negc (low_dst, low_src));

  emit_label_after (skip_neg_label, emit_insn (gen_negc (high_dst, high_src)));



work in the problematic situation?  Perhaps I've missed something.


[Bug middle-end/55114] New: [4.8 Regression] gcc.dg/builtins-53.c ICEs on mips64 soft-float

2012-10-28 Thread pinskia at gcc dot gnu.org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55114



 Bug #: 55114

   Summary: [4.8 Regression] gcc.dg/builtins-53.c ICEs on mips64

soft-float

Classification: Unclassified

   Product: gcc

   Version: 4.8.0

Status: UNCONFIRMED

  Severity: normal

  Priority: P3

 Component: middle-end

AssignedTo: unassig...@gcc.gnu.org

ReportedBy: pins...@gcc.gnu.org





/home/apinski/src/gcc-fsf/local/gcc/gcc/testsuite/gcc.dg/builtins-53.c:96:1:

error: unrecognizable insn:

(insn 12 13 14 2 (set (reg:TF 4 $4)

(parallel:TF [

(expr_list:REG_DEP_TRUE (reg:DI 199)

(const_int 0 [0]))

(expr_list:REG_DEP_TRUE (reg:DI 200)

(const_int 8 [0x8]))

]))

/home/apinski/src/gcc-fsf/local/gcc/gcc/testsuite/gcc.dg/builtins-53.c:95 -1

 (nil))



That instruction should be split into two sets.


[Bug rtl-optimization/55093] [4.8 Regression] [x32] -maddress-mode=long failed

2012-10-28 Thread hjl.tools at gmail dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55093



--- Comment #7 from H.J. Lu hjl.tools at gmail dot com 2012-10-29 02:31:44 
UTC ---

(In reply to comment #6)

 I am testing this patch:

 

 diff --git a/gcc/lra-eliminations.c b/gcc/lra-eliminations.c

 index d80..cbfbe7a 100644

 --- a/gcc/lra-eliminations.c

 +++ b/gcc/lra-eliminations.c

 @@ -272,7 +272,7 @@ get_elimination (rtx reg)

if ((hard_regno = REGNO (reg))  0 || hard_regno = FIRST_PSEUDO_REGISTER)

  return NULL;

if ((ep = elimination_map[hard_regno]) != NULL)

 -return ep-from_rtx != reg ? NULL : ep;

 +return ep-from != hard_regno ? NULL : ep;

if ((offset = self_elim_offsets[hard_regno]) == 0)

  return NULL;

/* This is an iteration to restore offsets just after HARD_REGNO



It doesn't solve all problems. I got



Starting program:

/export/build/gnu/gcc-x32-mx32-native-long/build-x86_64-linux/gcc/cc1

-fpreprocessed /tmp/bad.i -march=corei7-avx -mcx16 -msahf -mno-movbe -maes

-mpclmul -mpopcnt -mno-abm -mno-lwp -mno-fma -mno-fma4 -mno-xop -mno-bmi

-mno-bmi2 -mno-tbm -mavx -mno-avx2 -msse4.2 -msse4.1 -mno-lzcnt -mno-rtm

-mno-hle -mrdrnd -mf16c -mfsgsbase -mno-rdseed -mno-prfchw -mno-adx -mfxsr

-mxsave -mxsaveopt --param l1-cache-size=32 --param l1-cache-line-size=64

--param l2-cache-size=8192 -mtune=generic -quiet -dumpbase bad.i -msse2 -mx32

-auxbase-strip O3-pr41881.s -O2 -O3 -version -fno-diagnostics-show-caret

-ftree-vectorize -fno-vect-cost-model -fno-common -fdump-tree-vect-details

-fno-ipa-cp-clone -o O3-pr41881.s

GNU C (GCC) version 4.8.0 20121029 (experimental) (x86_64-unknown-linux-gnu)

compiled by GNU C version 4.8.0 20121029 (experimental), GMP version 5.0.2,

MPFR version 3.1.0, MPC version 0.9

GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096

GNU C (GCC) version 4.8.0 20121029 (experimental) (x86_64-unknown-linux-gnu)

compiled by GNU C version 4.8.0 20121029 (experimental), GMP version 5.0.2,

MPFR version 3.1.0, MPC version 0.9

GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096

Compiler executable checksum: 8b8bc795ba054ad7d30608d02345517d



Program received signal SIGSEGV, Segmentation fault.

0x0073eddb in dump_gimple_bb_header (outf=outf@entry=0x136dab0, 

bb=bb@entry=0xf6943380, indent=indent@entry=0, flags=flags@entry=469762568)

at /export/gnu/import/git/gcc-misc/gcc/gimple-pretty-print.c:2097

2097  memset (s_indent, ' ', (size_t) indent);

(gdb) p/x $rsp

$6 = 0xc8b0

(gdb) 



When -maddress-mode=long is used to compile x32 GCC, Pmode

is DImode and ptr_mode is SImode.  LRA fails to properly handle

ptr_mode != Pmode:



   0x0073edb6 +278:lea-0x1(%rbx),%eax

   0x0073edb9 +281:mov%ebx,%edx

   0x0073edbb +283:mov$0x20,%esi

   0x0073edc0 +288:add$0x2e,%rax

   0x0073edc4 +292:shr$0x4,%rax

   0x0073edc8 +296:shl$0x4,%rax

   0x0073edcc +300:sub%rax,%rsp

   0x0073edcf +303:lea0x1f(%rsp),%r8

   0x0073edd4 +308:and$0xffe0,%r8d

   0x0073edd8 +312:mov%r8,%rdi

= 0x0073eddb +315:callq  0x4a5970 memset@plt