[Bug c++/55131] Segmentation fault happened in resulting code (inline-asm) after upgraded g++ from 3.4.6 to 4.7.0

2012-10-30 Thread mawenqi108 at gmail dot com


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



mawenqi mawenqi108 at gmail dot com changed:



   What|Removed |Added



 Status|RESOLVED|UNCONFIRMED

  Component|inline-asm  |c++

Version|4.7.0   |unknown

 Resolution|INVALID |

   Severity|normal  |blocker



--- Comment #2 from mawenqi mawenqi108 at gmail dot com 2012-10-30 06:22:07 
UTC ---

(In reply to comment #1)

 This is not a bug.

 The produced assembly looks like:

movl8(%ebp), %edi # %1

movl12(%ebp), %esi# %2

movl0(%esi), %eax

movl4(%esi), %edx

movl(%ecx), %ebx# %3

movl(%eax), %ecx# %4

 

 By the time the last statement happens, eax has already been clobbered.  You

 never said you are clobber eax in the inline-asm so it chose the 4th operand 
 as

 being eax.  You were getting lucky in 3.4.6 with the inline-asm really,

 

 

 I don't see why you don't use the __sync_* (or even better the __atomic_*)

 builtins for doing the compare and swap?



Thanks a lot for your help!

This is the old legacy code. After replaced original implementation with

buildin function __atomic_compare_exchange_n, now everything is fine!

static inline bool MyAtomic_CAS64(volatile unsigned long long* tgt, 

unsigned long long* old,

unsigned long long rep)

{

return __atomic_compare_exchange_n(tgt, old, rep, 

false, __ATOMIC_SEQ_CST, __ATOMIC_SEQ_CST);

}



Thanks again!


[Bug c++/55131] Segmentation fault happened in resulting code (inline-asm) after upgraded g++ from 3.4.6 to 4.7.0

2012-10-30 Thread mawenqi108 at gmail dot com


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



mawenqi mawenqi108 at gmail dot com changed:



   What|Removed |Added



 Status|UNCONFIRMED |RESOLVED

Version|unknown |4.7.0

 Resolution||INVALID



--- Comment #3 from mawenqi mawenqi108 at gmail dot com 2012-10-30 06:25:15 
UTC ---

As Andrew Pinski said, this is not a bug of GCC.


[Bug middle-end/55132] New: [4.8 Regression] FAIL: g++.dg/tree-ssa/pr45453.C

2012-10-30 Thread ubizjak at gmail dot com


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



 Bug #: 55132

   Summary: [4.8 Regression] FAIL: g++.dg/tree-ssa/pr45453.C

Classification: Unclassified

   Product: gcc

   Version: 4.8.0

Status: UNCONFIRMED

  Severity: normal

  Priority: P3

 Component: middle-end

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

ReportedBy: ubiz...@gmail.com

CC: hubi...@gcc.gnu.org





r192964 [1] introduced following failure:



WARNING: program timed out.

FAIL: g++.dg/tree-ssa/pr45453.C -std=gnu++98 (test for excess errors)

UNRESOLVED: g++.dg/tree-ssa/pr45453.C -std=gnu++98  scan-tree-dump-times

optimized OBJ_TYPE_REF 1

WARNING: program timed out.

FAIL: g++.dg/tree-ssa/pr45453.C -std=gnu++11 (test for excess errors)

UNRESOLVED: g++.dg/tree-ssa/pr45453.C -std=gnu++11  scan-tree-dump-times

optimized OBJ_TYPE_REF 1





Compiler loops in:



#0  estimate_calls_size_and_time (size=size@entry=0x70bdf08c,

time=time@entry=0x70bdf088, hints=hints@entry=0x0, 

possible_truths=possible_truths@entry=4294967294,

known_vals=known_vals@entry=0x0, 

known_binfos=known_binfos@entry=0x0, known_aggs=known_aggs@entry=0x0,

node=optimized out, node=optimized out)

at ../../gcc-svn/trunk/gcc/ipa-inline-analysis.c:3960

#1  0x0093b2d5 in estimate_calls_size_and_time

(size=size@entry=0x70bdf08c, time=time@entry=0x70bdf088, 

hints=hints@entry=0x0, possible_truths=possible_truths@entry=4294967294,

known_vals=known_vals@entry=0x0, 

known_binfos=known_binfos@entry=0x0, known_aggs=known_aggs@entry=0x0,

node=optimized out, node=optimized out)

at ../../gcc-svn/trunk/gcc/ipa-inline-analysis.c:2768

#2  0x0093b2d5 in estimate_calls_size_and_time

(size=size@entry=0x70bdf08c, time=time@entry=0x70bdf088, 

hints=hints@entry=0x0, possible_truths=possible_truths@entry=4294967294,

known_vals=known_vals@entry=0x0, 

known_binfos=known_binfos@entry=0x0, known_aggs=known_aggs@entry=0x0,

node=optimized out, node=optimized out)

at ../../gcc-svn/trunk/gcc/ipa-inline-analysis.c:2768

#3  0x0093b2d5 in estimate_calls_size_and_time

(size=size@entry=0x70bdf08c, time=time@entry=0x70bdf088, 

hints=hints@entry=0x0, possible_truths=possible_truths@entry=4294967294,

known_vals=known_vals@entry=0x0, 

known_binfos=known_binfos@entry=0x0, known_aggs=known_aggs@entry=0x0,

node=optimized out, node=optimized out)

at ../../gcc-svn/trunk/gcc/ipa-inline-analysis.c:2768

#4  0x0093b2d5 in estimate_calls_size_and_time

(size=size@entry=0x70bdf08c, time=time@entry=0x70bdf088, 

hints=hints@entry=0x0, possible_truths=possible_truths@entry=4294967294,

known_vals=known_vals@entry=0x0, 

known_binfos=known_binfos@entry=0x0, known_aggs=known_aggs@entry=0x0,

node=optimized out, node=optimized out)

at ../../gcc-svn/trunk/gcc/ipa-inline-analysis.c:2768

#5  0x0093b2d5 in estimate_calls_size_and_time

(size=size@entry=0x70bdf08c, time=time@entry=0x70bdf088, 

hints=hints@entry=0x0, possible_truths=possible_truths@entry=4294967294,

known_vals=known_vals@entry=0x0, 

known_binfos=known_binfos@entry=0x0, known_aggs=known_aggs@entry=0x0,

node=optimized out, node=optimized out)

at ../../gcc-svn/trunk/gcc/ipa-inline-analysis.c:2768

#6  0x0093b2d5 in estimate_calls_size_and_time

(size=size@entry=0x70bdf08c, time=time@entry=0x70bdf088, 

hints=hints@entry=0x0, possible_truths=possible_truths@entry=4294967294,

known_vals=known_vals@entry=0x0, 

known_binfos=known_binfos@entry=0x0, known_aggs=known_aggs@entry=0x0,

node=optimized out, node=optimized out)

at ../../gcc-svn/trunk/gcc/ipa-inline-analysis.c:2768

#7  0x0093b2d5 in estimate_calls_size_and_time

(size=size@entry=0x70bdf08c, time=time@entry=0x70bdf088, 

hints=hints@entry=0x0, possible_truths=possible_truths@entry=4294967294,

known_vals=known_vals@entry=0x0, 

known_binfos=known_binfos@entry=0x0, known_aggs=known_aggs@entry=0x0,

node=optimized out, node=optimized out)

at ../../gcc-svn/trunk/gcc/ipa-inline-analysis.c:2768

#8  0x0093b2d5 in estimate_calls_size_and_time

(size=size@entry=0x70bdf08c, time=time@entry=0x70bdf088, 

hints=hints@entry=0x0, possible_truths=possible_truths@entry=4294967294,

known_vals=known_vals@entry=0x0, 

known_binfos=known_binfos@entry=0x0, known_aggs=known_aggs@entry=0x0,

node=optimized out, node=optimized out)

at ../../gcc-svn/trunk/gcc/ipa-inline-analysis.c:2768



[1] http://gcc.gnu.org/ml/gcc-cvs/2012-10/msg01070.html


[Bug c++/55120] Inaccessible virtual base constructor does not prevent generation of default constructor

2012-10-30 Thread daniel.kruegler at googlemail dot com

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

--- Comment #6 from Daniel Krügler daniel.kruegler at googlemail dot com 
2012-10-30 07:28:47 UTC ---
(In reply to comment #4)
 I think the standard is unclear on this. That defect report has been queried 
 by
 experts.
Let me clarify that I have not even tried to interpret the standard, but I
wanted to get an understanding of what the issue's comment was supposed to
mean. These are two completely different things.


[Bug tree-optimization/55133] New: gcc-4.8-20121028 dubious array bound check

2012-10-30 Thread nat...@t-online.de

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

 Bug #: 55133
   Summary: gcc-4.8-20121028 dubious array bound check
Classification: Unclassified
   Product: gcc
   Version: tree-ssa
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: tree-optimization
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: nat...@t-online.de


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

Please double-check this array out of bound warning with gcc-4.8-20121028: 

./compiler/gcc-4.8.0-snap/bin/gcc c1.c -O3 -c -Wall

c1.c: In function ‘main’:
c1.c:15:22: warning: array subscript is above array bounds
[-Warray-bounds]
   if (!ab_pid[index])
  ^

extern unsigned char ab_pid_count,old_rfcb_pid_count;
extern unsigned short ab_pid[16];
extern int found_pid;

int main()
{
  unsigned char pid_index = 0;
  int index;

  for (pid_index=0; (pid_index  old_rfcb_pid_count); pid_index++)
{
  for (index=0; index  ab_pid_count; index++)
{
  if (!ab_pid[index])
{
  found_pid = 1;
}
};
}

  return 0;
}

The warning disappear without the outer loop or with ' unsigned short
ab_pid[32]',


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

2012-10-30 Thread michael.haubenwallner at salomon dot at


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



--- Comment #1 from Michael Haubenwallner michael.haubenwallner at salomon dot 
at 2012-10-30 07:58:20 UTC ---

Feels like a dup of bug#52623, or vice-versa.



Haven't tried --disable-build-poststage1-with-cxx recently, not sure if this

still should work with current trunk.


[Bug debug/54953] [4.8 Regression] New sra-1.c FAILs on powerpc

2012-10-30 Thread jakub at gcc dot gnu.org


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



--- Comment #4 from Jakub Jelinek jakub at gcc dot gnu.org 2012-10-30 
08:08:08 UTC ---

Author: jakub

Date: Tue Oct 30 08:08:01 2012

New Revision: 192978



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

Log:

PR debug/54953

* valtrack.h (DEBUG_TEMP_AFTER_WITH_REG_FORCE): New.

* valtrack.c (dead_debug_insert_temp): Use emit_debug_insn_after

even for where == DEBUG_TEMP_AFTER_WITH_REG_FORCE.

* dce.c (word_dce_process_block, dce_process_block): Pass

DEBUG_TEMP_AFTER_WITH_REG_FORCE if insn is needed and therefore

not going to be eliminated.



Modified:

trunk/gcc/ChangeLog

trunk/gcc/dce.c

trunk/gcc/valtrack.c

trunk/gcc/valtrack.h


[Bug middle-end/55132] [4.8 Regression] FAIL: g++.dg/tree-ssa/pr45453.C

2012-10-30 Thread ubizjak at gmail dot com


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



--- Comment #1 from Uros Bizjak ubizjak at gmail dot com 2012-10-30 08:16:40 
UTC ---

The commit also causes:



FAIL: gcc.dg/pr44974.c scan-assembler call[^\n]*_Exit


[Bug rtl-optimization/48374] ICE: in single_succ_edge, at basic-block.h:562 with -fselective-scheduling2 and __builtin_unreachable()

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


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



--- Comment #6 from Andrey Belevantsev abel at gcc dot gnu.org 2012-10-30 
08:25:24 UTC ---

Author: abel

Date: Tue Oct 30 08:25:16 2012

New Revision: 192979



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

Log:

Backport from mainline

2012-01-25 Andrey Belevantsev a...@ispras.ru



PR rtl-optimization/48374

* sel-sched-ir.h (get_all_loop_exits): Check for zero successors.



* gcc.dg/pr48374.c: New test.







Added:

branches/gcc-4_6-branch/gcc/testsuite/gcc.dg/pr48374.c

Modified:

branches/gcc-4_6-branch/gcc/ChangeLog

branches/gcc-4_6-branch/gcc/sel-sched-ir.h

branches/gcc-4_6-branch/gcc/testsuite/ChangeLog


[Bug rtl-optimization/48374] ICE: in single_succ_edge, at basic-block.h:562 with -fselective-scheduling2 and __builtin_unreachable()

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


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



Andrey Belevantsev abel at gcc dot gnu.org changed:



   What|Removed |Added



 Status|ASSIGNED|RESOLVED

 Resolution||FIXED



--- Comment #7 from Andrey Belevantsev abel at gcc dot gnu.org 2012-10-30 
08:26:36 UTC ---

Finally fixed in 4.6 too, closed.


[Bug tree-optimization/54985] [4.7/4.8 Regression] dom optimization erroneous remove conditional goto.

2012-10-30 Thread izamyatin at gmail dot com


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



--- Comment #11 from Igor Zamyatin izamyatin at gmail dot com 2012-10-30 
08:32:01 UTC ---

Are there any plans to backport this to 4.7?


[Bug middle-end/54386] [4.8 Regression] Unaligned mem load wrongly generated for inlined inline/static function

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


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



--- Comment #6 from Oleg Endo olegendo at gcc dot gnu.org 2012-10-30 09:04:37 
UTC ---

Just for the record, this seems to happen only for mem loads.  Mem stores

expand as expected.


[Bug c++/54988] fpmath=sse target pragma causes inlining failure because of target specific option mismatch

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


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



--- Comment #8 from Oleg Endo olegendo at gcc dot gnu.org 2012-10-30 09:07:17 
UTC ---

Author: olegendo

Date: Tue Oct 30 09:07:08 2012

New Revision: 192982



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

Log:

PR target/54988

* config/sh/sh.md (tstqi_t_zero): Rename to *tstqi_t_zero.

(*tstmode_t_zero): New insns.

* config/sh/iterators.md (lowpart_be, lowpart_le): New mode attributes.



PR target/54988

* gcc.target/sh/pr53988.c: New.





Added:

trunk/gcc/testsuite/gcc.target/sh/pr53988.c

Modified:

trunk/gcc/ChangeLog

trunk/gcc/config/sh/iterators.md

trunk/gcc/config/sh/sh.md

trunk/gcc/testsuite/ChangeLog


[Bug c++/55058] [4.7/4.8 Regression] Unexpected invalid type conversion error

2012-10-30 Thread sebastian.hu...@embedded-brains.de


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



Sebastian Huber sebastian.hu...@embedded-brains.de changed:



   What|Removed |Added



 CC||jason at gcc dot gnu.org



--- Comment #6 from Sebastian Huber sebastian.hu...@embedded-brains.de 
2012-10-30 09:18:03 UTC ---

If I revert parts of commit 44f861fca343148a1b0720105ec2b7f14bbcc849



diff --git a/gcc/cp/pt.c b/gcc/cp/pt.c

index 1ff1c73..8f5b9f7 100644

--- a/gcc/cp/pt.c

+++ b/gcc/cp/pt.c

@@ -11015,9 +11015,7 @@ tsubst (tree t, tree args, tsubst_flags_t complain,

tree in_decl)

 complain | tf_ignore_bad_quals);

  return r;

}

-  else

-   /* We don't have an instantiation yet, so drop the typedef.  */

-   t = DECL_ORIGINAL_TYPE (decl);

+  /* Else we must be instantiating the typedef, so fall through.  */

 }



   if (type



mentioned in



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



then, the test case compiles well.


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

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


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



--- Comment #8 from Oleg Endo olegendo at gcc dot gnu.org 2012-10-30 09:22:31 
UTC ---

Author: olegendo

Date: Tue Oct 30 09:22:14 2012

New Revision: 192983



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

Log:

PR target/54963

* config/sh/iterators.md (SIDI): New mode iterator.

* config/sh/sh.md (negdi2): Use parallel around operation and T_REG

clobber in expander.

(*negdi2): Mark output operand as early clobbered.  Add T_REG clobber.

Split after reload.  Simplify split code.

(abssi2, absdi2): Fold expanders into absmode2.

(*abssi2, *absdi2): Fold into *absmode2 insn_and_split.  Split insns

before reload.

(*negabssi2, *negabsdi2): Fold into *negabsmode2.  Add T_REG clobber.

Split insns before reload.

(negsi_cond): Reformat.  Use emit_move_insn instead of

gen_movesi.

(negdi_cond): Reformat.  Use emit_move_insn instead of a pair

of gen_movsi.  Split insn before reload.





Modified:

trunk/gcc/ChangeLog

trunk/gcc/config/sh/iterators.md

trunk/gcc/config/sh/sh.md


[Bug c++/55131] Segmentation fault happened in resulting code (inline-asm) after upgraded g++ from 3.4.6 to 4.7.0

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


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



Jonathan Wakely redi at gcc dot gnu.org changed:



   What|Removed |Added



   Severity|blocker |normal


[Bug tree-optimization/55085] [4.8 regression] false positive -Warray-bounds

2012-10-30 Thread rguenth at gcc dot gnu.org


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



Richard Biener rguenth at gcc dot gnu.org changed:



   What|Removed |Added



 Status|UNCONFIRMED |RESOLVED

 Resolution||DUPLICATE



--- Comment #2 from Richard Biener rguenth at gcc dot gnu.org 2012-10-30 
09:32:45 UTC ---

dup.



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


[Bug tree-optimization/55079] [4.8 regression] false positive -Warray-bounds

2012-10-30 Thread rguenth at gcc dot gnu.org


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



--- Comment #2 from Richard Biener rguenth at gcc dot gnu.org 2012-10-30 
09:32:45 UTC ---

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


[Bug tree-optimization/55133] gcc-4.8-20121028 dubious array bound check

2012-10-30 Thread rguenth at gcc dot gnu.org


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



Richard Biener rguenth at gcc dot gnu.org changed:



   What|Removed |Added



 Status|UNCONFIRMED |RESOLVED

 CC||hubicka at gcc dot gnu.org

 Resolution||DUPLICATE



--- Comment #1 from Richard Biener rguenth at gcc dot gnu.org 2012-10-30 
09:33:03 UTC ---

dup.



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


[Bug tree-optimization/55079] [4.8 regression] false positive -Warray-bounds

2012-10-30 Thread rguenth at gcc dot gnu.org


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



Richard Biener rguenth at gcc dot gnu.org changed:



   What|Removed |Added



 CC||nat...@t-online.de



--- Comment #3 from Richard Biener rguenth at gcc dot gnu.org 2012-10-30 
09:33:03 UTC ---

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


[Bug middle-end/55132] [4.8 Regression] FAIL: g++.dg/tree-ssa/pr45453.C

2012-10-30 Thread rguenth at gcc dot gnu.org


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



Richard Biener rguenth at gcc dot gnu.org changed:



   What|Removed |Added



   Target Milestone|--- |4.8.0


[Bug middle-end/55130] [4.8 Regression] ICE in insn_rhs_dead_pseudo_p, at lra-constraints.c:3224

2012-10-30 Thread rguenth at gcc dot gnu.org


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



Richard Biener rguenth at gcc dot gnu.org changed:



   What|Removed |Added



   Target Milestone|--- |4.8.0


[Bug fortran/55134] New: associate construct and assumed size array

2012-10-30 Thread valeryweber at hotmail dot com


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



 Bug #: 55134

   Summary: associate construct and assumed size array

Classification: Unclassified

   Product: gcc

   Version: 4.8.0

Status: UNCONFIRMED

  Severity: normal

  Priority: P3

 Component: fortran

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

ReportedBy: valerywe...@hotmail.com





Dear All



I get a wrong result when associating an array via an associate construct and

passing it as assumed size array to a routine.



gcc version 4.8.0 20121018 (experimental) (GCC) 





program bug

  implicit none

  integer,dimension(1)::i

  i(:)=1

  associate(a =i)

call foo(a)

  end associate

  write(*,*) i

contains

  subroutine foo(v)

integer, dimension(*) :: v

v(1)=2

  end subroutine foo

end program bug





this gives me



./a.out 

   1



while I would expect 2



Valery


[Bug libfortran/54012] printf crash with -lgfortran

2012-10-30 Thread astroseger at gmail dot com


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



--- Comment #3 from Sergey Rodionov astroseger at gmail dot com 2012-10-30 
09:52:04 UTC ---



 What does gdb tell you?





gdb tells:



Program received signal SIGSEGV, Segmentation fault.

0x7779f8f2 in __parse_one_specmb () from /lib64/libc.so.6


[Bug libfortran/54012] printf crash with -lgfortran

2012-10-30 Thread astroseger at gmail dot com


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



--- Comment #4 from Sergey Rodionov astroseger at gmail dot com 2012-10-30 
09:56:49 UTC ---

(In reply to comment #1)

 Can't reproduce with 4.6.3.



Have you compiled with -lgfortran? If yes then probably this bug is some

specific problem of Mageia 2 distributive


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

2012-10-30 Thread ZetaetaDaniel at gmail dot com


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



--- Comment #2 from Daniel Mulcahy ZetaetaDaniel at gmail dot com 2012-10-30 
10:17:30 UTC ---

Reduced test case here https://gist.github.com/3979454, as provided by creduce.


[Bug tree-optimization/55124] [4.8 Regression] ICE in find_or_generate_expression, at tree-ssa-pre.c:2803

2012-10-30 Thread rguenth at gcc dot gnu.org


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



Richard Biener rguenth at gcc dot gnu.org changed:



   What|Removed |Added



   Target Milestone|--- |4.8.0

Summary|ICE in  |[4.8 Regression] ICE in

   |find_or_generate_expression |find_or_generate_expression

   |, at tree-ssa-pre.c:2803|, at tree-ssa-pre.c:2803



--- Comment #3 from Richard Biener rguenth at gcc dot gnu.org 2012-10-30 
10:18:15 UTC ---

Before the revision we were successfully able to insert



Inserted pretmp_46 = c;

 in predecessor 4

Inserted pretmp_47 = (int) pretmp_46;

 in predecessor 4



while after the revision we ICE.



Simplified testcase:



int a, b;

long c;



static void f2(void)

{

  unsigned long k = 1;



  foo(b ? k = 0 : 0);



  b = ((c = b) ? (k ? : (c = 0)) : a) * c;

}



void f1(void)

{

  f2();



  a = b | c;

}


[Bug c++/55135] New: Segfault of gcc on a big file

2012-10-30 Thread benoit.barbot at gmail dot com


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



 Bug #: 55135

   Summary: Segfault of gcc on a big file

Classification: Unclassified

   Product: gcc

   Version: 4.4.5

Status: UNCONFIRMED

  Severity: major

  Priority: P3

 Component: c++

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

ReportedBy: benoit.bar...@gmail.com





When i compile the given file with gcc, i obtained a segfault:

gcc LHA.ii -v

Using built-in specs.

Target: x86_64-linux-gnu

Configured with: ../src/configure -v --with-pkgversion='Debian 4.4.5-8'

--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-multiarch

--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 --enable-objc-gc

--with-arch-32=i586 --with-tune=generic --enable-checking=release

--build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu

Thread model: posix

gcc version 4.4.5 (Debian 4.4.5-8) 

COLLECT_GCC_OPTIONS='-v' '-mtune=generic'

 /usr/lib/gcc/x86_64-linux-gnu/4.4.5/cc1plus -fpreprocessed LHA.ii -quiet

-dumpbase LHA.ii -mtune=generic -auxbase LHA -version -o /tmp/ccDvgh6v.s

GNU C++ (Debian 4.4.5-8) version 4.4.5 (x86_64-linux-gnu)

compiled by GNU C version 4.4.5, GMP version 4.3.2, MPFR version 3.0.0-p3.

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

Compiler executable checksum: 5a2e15051eaa06a84cf6320b754ba993

gcc: Internal error: Erreur de segmentation (program cc1plus)



The code in LHA.ii is generated which explained why it is so big.

The compilation work with similar but smaller file generated by the same

program. It also fail on similar and bigger file generated by the same program



If the crash is due to the size of the file gcc should return an error instead

of a segfault.


[Bug tree-optimization/55124] [4.8 Regression] ICE in find_or_generate_expression, at tree-ssa-pre.c:2803

2012-10-30 Thread rguenth at gcc dot gnu.org


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



Richard Biener rguenth at gcc dot gnu.org changed:



   What|Removed |Added



 Status|ASSIGNED|NEW

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

   ||gnu.org



--- Comment #4 from Richard Biener rguenth at gcc dot gnu.org 2012-10-30 
10:18:52 UTC ---

Toms, not mine.


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

2012-10-30 Thread rguenth at gcc dot gnu.org


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



--- Comment #3 from Richard Biener rguenth at gcc dot gnu.org 2012-10-30 
10:27:51 UTC ---

We have an unfolded stmt:



(gdb) call debug_gimple_stmt (def_stmt)

pretmp_36 = (long int) 18446744073709551615;



I have a patch.


[Bug c++/55135] Segfault of gcc on a big file

2012-10-30 Thread benoit.barbot at gmail dot com


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



--- Comment #1 from benoit.barbot at gmail dot com 2012-10-30 10:28:22 UTC ---

The file is too big to be attached. Here is a URL where you can find it: 

http://www.lsv.ens-cachan.fr/~barbot/cosmos/files/buggcc.ii


[Bug rtl-optimization/55122] [4.8 Regression] ICE: maximum number of LRA constraint passes is achieved (15)

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


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



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



   What|Removed |Added



 Status|UNCONFIRMED |NEW

   Last reconfirmed||2012-10-30

 CC||hjl.tools at gmail dot com

 Ever Confirmed|0   |1



--- Comment #2 from H.J. Lu hjl.tools at gmail dot com 2012-10-30 10:36:29 
UTC ---

Confirmed.


[Bug c++/55135] Segfault of gcc on a big file

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


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



Marek Polacek mpolacek at gcc dot gnu.org changed:



   What|Removed |Added



 CC||mpolacek at gcc dot gnu.org



--- Comment #2 from Marek Polacek mpolacek at gcc dot gnu.org 2012-10-30 
10:39:43 UTC ---

Please try newer version of GCC.


[Bug libfortran/54012] printf crash with -lgfortran

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


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



--- Comment #5 from Marek Polacek mpolacek at gcc dot gnu.org 2012-10-30 
10:47:13 UTC ---

(In reply to comment #4)

 Have you compiled with -lgfortran?



Yeah.


[Bug c++/55136] New: template class member template explicit instanciation fails if non template overload exists

2012-10-30 Thread frrrwww at gmail dot com

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

 Bug #: 55136
   Summary: template class member template explicit instanciation
fails if non template overload exists
Classification: Unclassified
   Product: gcc
   Version: 4.7.2
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: frrr...@gmail.com


this code:

template typename T1
struct A {
void f(int) {}
templatetypename T2 void f(T2) {}
};
template void Aint::fint(int);

fails with:

test2.cpp:6:15: error: ambiguous template specialization ‘fint’ for ‘void
Aint::f(int)’
test2.cpp:3:10: error: candidates are: void AT1::f(int) [with T1 = int]
test2.cpp:4:32: error: templateclass T2 void A::f(T2) [with
T2 = T2; T1 = int]

The instanciation should not be ambiguous as the 'int' should exclude the non
template f.

Note that:

template typename T1
struct A {
void f(int) {}
templatetypename T2 void f(T2) {}
};
template void Aint::f(int);

fails as well, but I am not sufficiently standard savy to tell if this is
compliant behaviour.


[Bug debug/54402] [4.8 Regression] var-tracking does not scale

2012-10-30 Thread markus at trippelsdorf dot de


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



--- Comment #10 from Markus Trippelsdorf markus at trippelsdorf dot de 
2012-10-30 10:58:48 UTC ---

With Jakub's patch the testcase mentioned in comment 2:

http://llvm.org/bugs/attachment.cgi?id=9362action=edit

now takes 2:30 minutes to compile (up from 1:40).


[Bug lto/55118] Missed forward propagation of addresses

2012-10-30 Thread rguenth at gcc dot gnu.org


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



--- Comment #2 from Richard Biener rguenth at gcc dot gnu.org 2012-10-30 
11:11:35 UTC ---

We can't really do much here without breaking type-based alias analysis and

data dependence analysis (which depends on seeing only array-refs when they

were present in the original source).



Which means that it is eventually worth considering to lower the address

forms some more (even the rare case we combine them with dereferences in

forwprop is suspicious).



Thus, lower



  bb 3:

  # i_66 = PHI i_16(3), 0(2)

  _12 = MEM[(const struct Domain *)_10 +

32B].D.119657.domain_m[i_66].D.114927;

  _13 = MEM[(struct Domain *)this_1(D) + 8B].D.119657.domain_m[i_66].D.114927;

  _14 = MEM[(const Element_t[2] )_12];

  MEM[(Element_t[2] )_13][0] = _14;

  _15 = MEM[(const Element_t[2] )_12 + 4];

  MEM[(Element_t[2] )_13][1] = _15;

  i_16 = i_66 + 1;

  if (i_16 != 3)

goto bb 3;



to sth like



  tem = i_66 * 4;

  tem = tem + 32;

  _12 = _10 + tem;



nothing for 4.8 though.  And it will badly interact with __builtin_object_size

again.


[Bug debug/54402] [4.8 Regression] var-tracking does not scale

2012-10-30 Thread markus at trippelsdorf dot de


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



--- Comment #11 from Markus Trippelsdorf markus at trippelsdorf dot de 
2012-10-30 11:24:41 UTC ---

(In reply to comment #10)

 With Jakub's patch the testcase mentioned in comment 2:

 http://llvm.org/bugs/attachment.cgi?id=9362action=edit

 now takes 2:30 minutes to compile (up from 1:40).



Sorry, I meant to write Even with Jakub's patch, because

it has no effect on the compile time of this testcase.


[Bug fortran/55134] associate construct and assumed size array

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


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



Tobias Burnus burnus at gcc dot gnu.org changed:



   What|Removed |Added



   Keywords||wrong-code

 Status|UNCONFIRMED |NEW

   Last reconfirmed||2012-10-30

 CC||burnus at gcc dot gnu.org,

   ||janus at gcc dot gnu.org

 Ever Confirmed|0   |1



--- Comment #1 from Tobias Burnus burnus at gcc dot gnu.org 2012-10-30 
11:34:37 UTC ---

From the dump. gfortran first generates a deferred-shape array:

a.data = (void * restrict) i[0];

That's fine. But instead of passing

foo (a);

it should pass

foo (a.data);



In resolve.c's resolve_assoc_var, one properly sets sym-as-type =

AS_DEFERRED. 



The problem is that the code assumes that if the variable is not a pointer, it

cannot be AS_DEFERRED. From trans-array.c's 

gfc_conv_array_parameter:



7017  if (!sym-attr.pointer

7018   sym-as

7019   sym-as-type != AS_ASSUMED_SHAPE 

7020   sym-as-type != AS_ASSUMED_RANK 

7021   !sym-attr.allocatable)

7022{

...


[Bug libfortran/30162] [4.7/4.8 Regression] I/O with named pipes does not work

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


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



Tobias Burnus burnus at gcc dot gnu.org changed:



   What|Removed |Added



 CC||burnus at gcc dot gnu.org

   Target Milestone|--- |4.7.3

Summary|I/O with named pipes does   |[4.7/4.8 Regression] I/O

   |not work|with named pipes does not

   ||work



--- Comment #25 from Tobias Burnus burnus at gcc dot gnu.org 2012-10-30 
11:37:18 UTC ---

As Janne just mentioned on the gfortran mailing list, this PR is a regression.

Thus, I have marked it as such. Based on the information below, It fails since

GCC 4.7.



In reply to comment #22)

 Revision 180701 removed all checks for special files in 
 unit.c:unit_truncate().


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

2012-10-30 Thread ZetaetaDaniel at gmail dot com


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



--- Comment #3 from Daniel Mulcahy ZetaetaDaniel at gmail dot com 2012-10-30 
11:41:43 UTC ---

New, improved backtrace:



#0  0x004e00d7 in tsubst_copy (t=optimized out, args=0x75602578,

complain=3, in_decl=optimized out) at

/home/daniel/Documents/packages/ABS/gcc/src/gcc-4.7.2/gcc/cp/pt.c:12149

#1  0x004e0454 in tsubst_copy_and_build (t=t@entry=0x754a5bb0,

args=args@entry=0x75602578, complain=complain@entry=3,

in_decl=in_decl@entry=0x755ffda8, 

function_p=function_p@entry=0 '\000',

integral_constant_expression_p=integral_constant_expression_p@entry=0 '\000')

at /home/daniel/Documents/packages/ABS/gcc/src/gcc-4.7.2/gcc/cp/pt.c:14337

#2  0x004dbfea in tsubst_expr (t=t@entry=0x754a5bb0,

args=args@entry=0x75602578, complain=complain@entry=3,

in_decl=in_decl@entry=0x755ffda8, 

integral_constant_expression_p=integral_constant_expression_p@entry=0

'\000') at

/home/daniel/Documents/packages/ABS/gcc/src/gcc-4.7.2/gcc/cp/pt.c:13387

#3  0x004e7dcf in tsubst_pack_expansion (t=0x756022d8,

args=args@entry=0x75602578, complain=complain@entry=3,

in_decl=in_decl@entry=0x755ffda8)

at /home/daniel/Documents/packages/ABS/gcc/src/gcc-4.7.2/gcc/cp/pt.c:9523

#4  0x004e104b in tsubst_copy_and_build (t=t@entry=0x755d5d00,

args=args@entry=0x75602578, complain=complain@entry=3,

in_decl=in_decl@entry=0x755ffda8, 

function_p=function_p@entry=0 '\000',

integral_constant_expression_p=integral_constant_expression_p@entry=0 '\000')

at /home/daniel/Documents/packages/ABS/gcc/src/gcc-4.7.2/gcc/cp/pt.c:13894

#5  0x004dbfea in tsubst_expr (t=0x755d5d00,

args=args@entry=0x75602578, complain=complain@entry=3,

in_decl=0x755ffda8, 

integral_constant_expression_p=integral_constant_expression_p@entry=0

'\000') at

/home/daniel/Documents/packages/ABS/gcc/src/gcc-4.7.2/gcc/cp/pt.c:13387

#6  0x004e28b0 in tsubst (in_decl=optimized out, complain=optimized

out, args=optimized out, t=0x756095e8)

at /home/daniel/Documents/packages/ABS/gcc/src/gcc-4.7.2/gcc/cp/pt.c:11839

#7  tsubst (t=optimized out, args=0x75602578, complain=3,

in_decl=optimized out) at

/home/daniel/Documents/packages/ABS/gcc/src/gcc-4.7.2/gcc/cp/pt.c:11170

#8  0x004e880c in tsubst_function_type (t=t@entry=0x756099d8,

args=args@entry=0x75602578, complain=complain@entry=3,

in_decl=0x755ffda8)

at /home/daniel/Documents/packages/ABS/gcc/src/gcc-4.7.2/gcc/cp/pt.c:10992

#9  0x004e2cdb in tsubst (in_decl=optimized out, complain=optimized

out, args=optimized out, t=0x756099d8)

at /home/daniel/Documents/packages/ABS/gcc/src/gcc-4.7.2/gcc/cp/pt.c:11667

#10 tsubst (t=optimized out, args=0x75602578, complain=3,

in_decl=optimized out) at

/home/daniel/Documents/packages/ABS/gcc/src/gcc-4.7.2/gcc/cp/pt.c:11170

#11 0x004e5b03 in tsubst_template_args (t=0x75604f28,

args=args@entry=0x75602578, complain=complain@entry=3,

in_decl=in_decl@entry=0x755ffda8)

at /home/daniel/Documents/packages/ABS/gcc/src/gcc-4.7.2/gcc/cp/pt.c:9731

#12 0x004df412 in tsubst_aggr_type (t=0x75609a80,

args=0x75602578, complain=3, in_decl=0x755ffda8, entering_scope=0)

at /home/daniel/Documents/packages/ABS/gcc/src/gcc-4.7.2/gcc/cp/pt.c:9927

#13 0x004e2eb9 in tsubst (in_decl=optimized out, complain=optimized

out, args=optimized out, t=0x75609a80)

at /home/daniel/Documents/packages/ABS/gcc/src/gcc-4.7.2/gcc/cp/pt.c:11261

#14 tsubst (t=optimized out, args=0x75602578, complain=3,

in_decl=optimized out) at

/home/daniel/Documents/packages/ABS/gcc/src/gcc-4.7.2/gcc/cp/pt.c:11170

#15 0x004e0d9c in tsubst_copy_and_build (t=0x7560e780,

args=args@entry=0x75602578, complain=complain@entry=3,

in_decl=in_decl@entry=0x755ffda8, 

function_p=function_p@entry=0 '\000',

integral_constant_expression_p=integral_constant_expression_p@entry=0 '\000')

at /home/daniel/Documents/packages/ABS/gcc/src/gcc-4.7.2/gcc/cp/pt.c:13557

#16 0x004e0fee in tsubst_copy_and_build (t=t@entry=0x7549ff30,

args=args@entry=0x75602578, complain=complain@entry=3,

in_decl=in_decl@entry=0x755ffda8, 

function_p=function_p@entry=0 '\000',

integral_constant_expression_p=integral_constant_expression_p@entry=0 '\000')

at /home/daniel/Documents/packages/ABS/gcc/src/gcc-4.7.2/gcc/cp/pt.c:13888

#17 0x004dbfea in tsubst_expr (t=0x7549ff30,

args=args@entry=0x75602578, complain=complain@entry=3,

in_decl=in_decl@entry=0x755ffda8, 

integral_constant_expression_p=integral_constant_expression_p@entry=0

'\000') at

/home/daniel/Documents/packages/ABS/gcc/src/gcc-4.7.2/gcc/cp/pt.c:13387

#18 0x004dc55a in tsubst_expr (t=0x7560e898,

args=args@entry=0x75602578, complain=complain@entry=3,


[Bug c++/55135] Segfault of gcc on a big file

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


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



Paolo Carlini paolo.carlini at oracle dot com changed:



   What|Removed |Added



 Status|UNCONFIRMED |WAITING

   Last reconfirmed||2012-10-30

 CC|benoit.barbot at gmail dot  |

   |com |

 Ever Confirmed|0   |1



--- Comment #3 from Paolo Carlini paolo.carlini at oracle dot com 2012-10-30 
11:48:23 UTC ---

And if you can still reproduce, please attach here a preprocessed file of

manageable size. Thanks.


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

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


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



--- Comment #4 from Paolo Carlini paolo.carlini at oracle dot com 2012-10-30 
11:53:22 UTC ---

Created attachment 28572

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

Testcase


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

2012-10-30 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|WAITING |NEW



--- Comment #5 from Paolo Carlini paolo.carlini at oracle dot com 2012-10-30 
11:56:33 UTC ---

Thanks. In general, we don't work with URLs, simply attach the testcase as-is.


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

2012-10-30 Thread rguenth at gcc dot gnu.org


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



--- Comment #4 from Richard Biener rguenth at gcc dot gnu.org 2012-10-30 
12:02:45 UTC ---

Author: rguenth

Date: Tue Oct 30 12:02:39 2012

New Revision: 192984



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

Log:

2012-10-30  Richard Biener  rguent...@suse.de



PR tree-optimization/55111

* tree-ssa-pre.c (eliminate_insert): Properly fold the built

stmt.



* gcc.dg/torture/pr55111.c: New testcase.



Added:

trunk/gcc/testsuite/gcc.dg/torture/pr55111.c

Modified:

trunk/gcc/ChangeLog

trunk/gcc/testsuite/ChangeLog

trunk/gcc/tree-ssa-pre.c


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

2012-10-30 Thread rguenth at gcc dot gnu.org


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



Richard Biener rguenth at gcc dot gnu.org changed:



   What|Removed |Added



 Status|ASSIGNED|RESOLVED

 Resolution||FIXED



--- Comment #5 from Richard Biener rguenth at gcc dot gnu.org 2012-10-30 
12:03:12 UTC ---

Fixed.


[Bug c++/55137] New: [4.8 Regression] Unexpected static structure initialization

2012-10-30 Thread sebastian.hu...@embedded-brains.de


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



 Bug #: 55137

   Summary: [4.8 Regression] Unexpected static structure

initialization

Classification: Unclassified

   Product: gcc

   Version: 4.8.0

Status: UNCONFIRMED

  Severity: normal

  Priority: P3

 Component: c++

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

ReportedBy: sebastian.hu...@embedded-brains.de





Created attachment 28573

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

Test case.



The test case:



struct S {

  int a;

  int b;

};



struct S s = {

  sizeof(int),

  (((1024 * 8) * 2) - (1024 * 8))

+ ((int)(((1024 * 8)) + (2 * sizeof(int)) + 8 - 1))

};



yields:



gcc -xc++ -g -c test.cc -o test.o  gdb test.o -ex p s -ex quit

[...]

$1 = {a = 0, b = 0}



Correct is (sizeof(int) == 4):



gcc -xc -g -c test.cc -o test.o  gdb test.o -ex p s -ex quit

[...]

$1 = {a = 4, b = 16399}


[Bug c++/55136] template class member template explicit instantiation fails if non template overload exists

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


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



Jonathan Wakely redi at gcc dot gnu.org changed:



   What|Removed |Added



   Keywords||rejects-valid

 Status|UNCONFIRMED |NEW

   Last reconfirmed||2012-10-30

 Ever Confirmed|0   |1


[Bug debug/54402] [4.8 Regression] var-tracking does not scale

2012-10-30 Thread markus at trippelsdorf dot de


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



--- Comment #12 from Markus Trippelsdorf markus at trippelsdorf dot de 
2012-10-30 12:25:33 UTC ---

(In reply to comment #10)

 http://llvm.org/bugs/attachment.cgi?id=9362action=edit

 now takes 2:30 minutes to compile (up from 1:40).



This regression is caused by:

http://gcc.gnu.org/viewcvs?view=revisionrevision=192961


[Bug gcov-profile/55121] ICE in if-convertion with PGO (ARM)

2012-10-30 Thread christophe.lyon at st dot com


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



--- Comment #11 from christophe.lyon at st dot com 2012-10-30 12:53:23 UTC ---

Created attachment 28574

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

configargs.h


[Bug gcov-profile/55121] ICE in if-convertion with PGO (ARM)

2012-10-30 Thread christophe.lyon at st dot com


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



--- Comment #12 from christophe.lyon at st dot com 2012-10-30 12:55:09 UTC ---

(In reply to comment #7)

 (In reply to comment #0)

  eval.c: In function 'Ge':

  eval.c:792:1: internal compiler error: in df_compact_blocks, at 
  df-core.c:1570

   0x6917c1 df_compact_blocks()

 

 This is not at r191819 or you're not sharing all your patches. Line

 df-core.c:1570 at r191819 is a comment.



It is the revision suggested by my git clone; I believe it's OK, as hadn't

removed a couple debugging printf calls.


[Bug c++/55137] [4.8 Regression] Unexpected static structure initialization

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


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



Paolo Carlini paolo.carlini at oracle dot com changed:



   What|Removed |Added



 Status|UNCONFIRMED |NEW

   Last reconfirmed||2012-10-30

 Ever Confirmed|0   |1



--- Comment #1 from Paolo Carlini paolo.carlini at oracle dot com 2012-10-30 
12:56:07 UTC ---

Insane.



struct S {

  int b;

};



struct S s = { -1 + (int)(sizeof(int) - 1) };


[Bug gcov-profile/55121] ICE in if-convertion with PGO (ARM)

2012-10-30 Thread christophe.lyon at st dot com


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



--- Comment #13 from christophe.lyon at st dot com 2012-10-30 12:57:21 UTC ---

(In reply to comment #10)

 (In reply to comment #8)

  I cannot reproduce the problem with a cross-compiler from

  powerpc64-unknown-linux-gnu to arm-eabi at r191819 with the

  patches and flags from comment #0.

 

 Ah, needs -freorder-blocks-and-partition too, of course.



Yes sorry, I guess I had a cut  paste issue when I copied the options.


[Bug c++/55137] [4.8 Regression] Unexpected static structure initialization

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


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



Paolo Carlini paolo.carlini at oracle dot com changed:



   What|Removed |Added



   Priority|P3  |P2


[Bug tree-optimization/55138] New: [4.7 Regression] inlining fails with -O2 on gcc 4.7.2

2012-10-30 Thread konstantin.vladimirov at gmail dot com


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



 Bug #: 55138

   Summary: [4.7 Regression] inlining fails with -O2 on gcc 4.7.2

Classification: Unclassified

   Product: gcc

   Version: 4.7.2

Status: UNCONFIRMED

  Severity: major

  Priority: P3

 Component: tree-optimization

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

ReportedBy: konstantin.vladimi...@gmail.com





Created attachment 28575

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

reproduction



found on private target, but can be easily reproduced on x86, so I think every

target is affected.



Compile attached file on gcc-4.7.2 with -O2 -DBROKEN to make function inlined.



Next run. You will see error. Compile just with -O2, next run and you will see

no error.



This error can not be reproduced on gcc-4.6.3, everything works fine. Problems

starts with 4.7


[Bug gcov-profile/55121] ICE in if-convertion with PGO (ARM)

2012-10-30 Thread christophe.lyon at st dot com


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



--- Comment #14 from christophe.lyon at st dot com 2012-10-30 13:18:15 UTC ---

Created attachment 28576

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

eval.c.041i.profile


[Bug libfortran/54012] printf crash with -lgfortran

2012-10-30 Thread sgk at troutmask dot apl.washington.edu


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



--- Comment #6 from Steve Kargl sgk at troutmask dot apl.washington.edu 
2012-10-30 13:20:46 UTC ---

On Tue, Oct 30, 2012 at 09:52:04AM +, astroseger at gmail dot com wrote:

 

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

 

 --- Comment #3 from Sergey Rodionov astroseger at gmail dot com 2012-10-30 
 09:52:04 UTC ---

 

  What does gdb tell you?

 

 

 gdb tells:

 

 Program received signal SIGSEGV, Segmentation fault.

 0x7779f8f2 in __parse_one_specmb () from /lib64/libc.so.6

 



Not very helpful.  What does gdb tell you when you 

compiler with the -g option and issue bt at the gdb

prompt?


[Bug gcov-profile/55121] ICE in if-convertion with PGO (ARM)

2012-10-30 Thread christophe.lyon at st dot com


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



--- Comment #15 from christophe.lyon at st dot com 2012-10-30 13:23:19 UTC ---

(In reply to comment #9)

 Can you please also attach the output of -fdump-ipa-profile-all

 which should be eval.c.041i.profile. I have my dump here, it should

 be the same as yours.

Done.





 Are you working on a 32-bit host? The counts are quite high, there

 are some places where the count is multiplied by REG_BR_PROB_BASE

 which is 1.  The highest count in my .profile dump is 42974935,

 if such high counts are multiplied somewhere for scaling then this

 may be an overflow issue that I can't see on powerpc64.



No, I am working on an x86_64 machine, and I expect configure to have auto

detected it (I didn't force --host)


[Bug c++/55135] Segfault of gcc on a big file

2012-10-30 Thread benoit.barbot at gmail dot com


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



--- Comment #4 from benoit.barbot at gmail dot com 2012-10-30 13:29:04 UTC ---

When i remove line in the file the segfault disappear. The size of the file

seams to trigger the segfault.


[Bug libfortran/54012] printf crash with -lgfortran

2012-10-30 Thread astroseger at gmail dot com


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



--- Comment #7 from Sergey Rodionov astroseger at gmail dot com 2012-10-30 
14:03:27 UTC ---

(In reply to comment #6)

 On Tue, Oct 30, 2012 at 09:52:04AM +, astroseger at gmail dot com wrote:

  

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

  

  --- Comment #3 from Sergey Rodionov astroseger at gmail dot com 
  2012-10-30 09:52:04 UTC ---

  

   What does gdb tell you?

  

  

  gdb tells:

  

  Program received signal SIGSEGV, Segmentation fault.

  0x7779f8f2 in __parse_one_specmb () from /lib64/libc.so.6

  

 

 Not very helpful.  What does gdb tell you when you 

 compiler with the -g option and issue bt at the gdb

 prompt?





(gdb) run

Starting program: /home/seger/TEMP/10/a.out



Program received signal SIGSEGV, Segmentation fault.

0x7779f8f2 in __parse_one_specmb () from /lib64/libc.so.6

(gdb) bt

#0  0x7779f8f2 in __parse_one_specmb ()

   from /lib64/libc.so.6

#1  0x77781230 in vfprintf () from /lib64/libc.so.6

#2  0x7778b179 in printf () from /lib64/libc.so.6

#3  0x0040051a in main () at 1.c:4


[Bug c++/55135] Segfault of gcc on a big file

2012-10-30 Thread markus at trippelsdorf dot de


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



Markus Trippelsdorf markus at trippelsdorf dot de changed:



   What|Removed |Added



 CC||markus at trippelsdorf dot

   ||de



--- Comment #5 from Markus Trippelsdorf markus at trippelsdorf dot de 
2012-10-30 14:03:47 UTC ---

I can't reproduce the crash, but what's interesting are the compile times

(without optimization just -c buggcc.ii):



clang++: 26.95 total

gcc-4.6.3: 1:39.92 total

gcc-4.7.2: 6:04.07 total

gcc-4.8  : 7:16.84 total


[Bug target/55108] bad compile-time evaluation of members of initialized union

2012-10-30 Thread rearnsha at gcc dot gnu.org


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



Richard Earnshaw rearnsha at gcc dot gnu.org changed:



   What|Removed |Added



 Status|UNCONFIRMED |NEW

   Last reconfirmed||2012-10-30

 Ever Confirmed|0   |1

  Known to fail||4.6.3, 4.7.0



--- Comment #2 from Richard Earnshaw rearnsha at gcc dot gnu.org 2012-10-30 
14:13:15 UTC ---

Confirmed.  It seems the compiler is incorrectly eliminating some zero-extend

operations.  We have



Ra:SI = Rx:SI  8

Rb:QI = subreg:QI (Ra:SI 0)

Rc:SI = subreg:SI (Rb:QI 0)

Rd:SI = Rc:SI  255



cse1 pass then decides incorrectly (and presumably because of the paradoxical

subreg) that Rd == Rc and discards the mask operation.



Also seen in 4.7, haven't been able to test trunk.


[Bug target/55108] bad compile-time evaluation of members of initialized union

2012-10-30 Thread rearnsha at gcc dot gnu.org


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



--- Comment #3 from Richard Earnshaw rearnsha at gcc dot gnu.org 2012-10-30 
14:15:43 UTC ---

At armv6t2 and later we have a ubfx instruction available and that is enough to

mask this bug.


[Bug c++/54883] Name mangling of types in an unnamed namespace

2012-10-30 Thread sebastian.hu...@embedded-brains.de


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



--- Comment #2 from Sebastian Huber sebastian.hu...@embedded-brains.de 
2012-10-30 14:16:05 UTC ---

Known to work GCC 4.0.4, 4.1.2, and 4.2.4:



echo namespace { enum E { E1 }; } void f(E e) { } | tee a.c b.c

namespace { enum E { E1 }; } void f(E e) { }

/scratch/install-gcc-4.2.4/bin/g++ -c a.c -o a.o

/scratch/install-gcc-4.2.4/bin/g++ -c b.c -o b.o

nm a.o b.o



a.o:

 T _Z1fN32_GLOBAL__N_a.c__287815161EE

 U __gxx_personality_v0



b.o:

 T _Z1fN32_GLOBAL__N_b.c__BE213B141EE

 U __gxx_personality_v0



Known to fail 4.3.6, 4.4.7, 4.5.4, 4.6.3, 4.7.2, and 4.8.0.



Is this a bug or a feature?



In the GCC 4.3 release notes there is nothing about namespaces

(http://gcc.gnu.org/gcc-4.3/changes.html).



It would be nice if someone can point out the future direction of this PR, e.g.

NEW or RESOLVED/WONTFIX.


[Bug tree-optimization/55138] [4.7 Regression] inlining fails with -O2 on gcc 4.7.2

2012-10-30 Thread rguenth at gcc dot gnu.org


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



Richard Biener rguenth at gcc dot gnu.org changed:



   What|Removed |Added



   Keywords||wrong-code

 Status|UNCONFIRMED |NEW

   Last reconfirmed||2012-10-30

  Known to work||4.6.3, 4.8.0

   Target Milestone|--- |4.7.3

 Ever Confirmed|0   |1

  Known to fail||4.7.2



--- Comment #1 from Richard Biener rguenth at gcc dot gnu.org 2012-10-30 
14:27:04 UTC ---

Confirmed.  Seems to be fixed on trunk.


[Bug middle-end/55132] [4.8 Regression] FAIL: g++.dg/tree-ssa/pr45453.C

2012-10-30 Thread hp at gcc dot gnu.org


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



Hans-Peter Nilsson hp at gcc dot gnu.org changed:



   What|Removed |Added



 CC||hp at gcc dot gnu.org



--- Comment #2 from Hans-Peter Nilsson hp at gcc dot gnu.org 2012-10-30 
14:40:17 UTC ---

Are you sure it was r192964 for your target (wild guess x86_64-linux)? For

cris-elf, I see this regression introduced in the (] range 192943:192956.


[Bug tree-optimization/55138] [4.7 Regression] inlining fails with -O2 on gcc 4.7.2

2012-10-30 Thread mikpe at it dot uu.se


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



--- Comment #2 from Mikael Pettersson mikpe at it dot uu.se 2012-10-30 
14:47:41 UTC ---

Created attachment 28577

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

reduced test case in C



C++ not needed, fails also in C, works with gcc-4.6.3


[Bug middle-end/55132] [4.8 Regression] FAIL: g++.dg/tree-ssa/pr45453.C

2012-10-30 Thread ubizjak at gmail dot com


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



--- Comment #3 from Uros Bizjak ubizjak at gmail dot com 2012-10-30 15:06:23 
UTC ---

(In reply to comment #2)

 Are you sure it was r192964 for your target (wild guess x86_64-linux)? For

 cris-elf, I see this regression introduced in the (] range 192943:192956.



Oh, it is r192946. At least the link was correct.


[Bug libstdc++/55028] _GLIBCXX_DEBUG is broken when using v7 namespace

2012-10-30 Thread oleg at smolsky dot net


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



--- Comment #4 from oleg at smolsky dot net 2012-10-30 15:09:49 UTC ---

Created attachment 28578

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

exports



Here is a patch that addresses the issue. IE my tests and apps link now.


[Bug tree-optimization/55138] [4.7 Regression] inlining fails with -O2 on gcc 4.7.2

2012-10-30 Thread rguenth at gcc dot gnu.org


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



Richard Biener rguenth at gcc dot gnu.org changed:



   What|Removed |Added



 CC||law at gcc dot gnu.org



--- Comment #3 from Richard Biener rguenth at gcc dot gnu.org 2012-10-30 
15:11:28 UTC ---

Looks like a dup of PR54985 to me.


[Bug tree-optimization/54985] [4.7 Regression] dom optimization erroneous remove conditional goto.

2012-10-30 Thread rguenth at gcc dot gnu.org


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



Richard Biener rguenth at gcc dot gnu.org changed:



   What|Removed |Added



Summary|[4.7/4.8 Regression] dom|[4.7 Regression] dom

   |optimization erroneous  |optimization erroneous

   |remove conditional goto.|remove conditional goto.



--- Comment #12 from Richard Biener rguenth at gcc dot gnu.org 2012-10-30 
15:12:59 UTC ---

Fixed on trunk sofar.


[Bug tree-optimization/55124] [4.8 Regression] ICE in find_or_generate_expression, at tree-ssa-pre.c:2803

2012-10-30 Thread vries at gcc dot gnu.org


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



vries at gcc dot gnu.org changed:



   What|Removed |Added



 Status|NEW |ASSIGNED

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

   |gnu.org |


[Bug middle-end/53708] [4.8 Regression] Many failures of the objc tests with -O3 -fnext-runtime and -m32

2012-10-30 Thread bergner at gcc dot gnu.org


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



Peter Bergner bergner at gcc dot gnu.org changed:



   What|Removed |Added



 Status|RESOLVED|REOPENED

 CC||bergner at gcc dot gnu.org

 Resolution|FIXED   |



--- Comment #9 from Peter Bergner bergner at gcc dot gnu.org 2012-10-30 
15:47:57 UTC ---

Richard, I'm seeing this same bug in GCC 4.7 on powerpc64-linux when compiling

GLIBC.  Is there a chance we can get your patch backported to 4.7?  I

bootstrapped and regtested the backport with no regressions and can confirm it

fixes the bug I'm running into, which can be seen with the reduced test case

from glibc:



bergner@bns:~/gcc/BUGS cat foo.i 

static void (*const init_array []) (void)

  __attribute__ ((section (.init_array), aligned (sizeof (void *)), used))

= { 0 };



bergner@bns:~/gcc/BUGS /home/bergner/gcc/build/gcc-fsf-4_7-base/gcc/xgcc

-B/home/bergner/gcc/build/gcc-fsf-4_7-base/gcc -S -m64 -O3 -maltivec foo.i -o

bad.s



bergner@bns:~/gcc/BUGS /home/bergner/gcc/build/gcc-fsf-4_7-pr53708/gcc/xgcc

-B/home/bergner/gcc/build/gcc-fsf-4_7-pr53708/gcc -S -m64 -O3 -maltivec foo.i

-o good.s



bergner@bns:~/gcc/BUGS diff -u bad.s good.s 

--- bad.s2012-10-30 10:41:15.0 -0500

+++ good.s2012-10-30 10:41:23.0 -0500

@@ -2,7 +2,7 @@

 .section.toc,aw

 .section.text

 .section.init_array,a

-.align 4

+.align 3

 .typeinit_array, @object

 .sizeinit_array, 8

 init_array:



The above is bad, because the extra alignment causes the linker to add some

null padding to the init_array and the loader isn't expecting that and ends up

segv'ing.


[Bug tree-optimization/55124] [4.8 Regression] ICE in find_or_generate_expression, at tree-ssa-pre.c:2803

2012-10-30 Thread vries at gcc dot gnu.org


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



vries at gcc dot gnu.org changed:



   What|Removed |Added



 CC||rguenth at gcc dot gnu.org



--- Comment #5 from vries at gcc dot gnu.org 2012-10-30 15:49:42 UTC ---

tentative patch:

...

Index: gcc/tree-ssa-pre.c

===

--- gcc/tree-ssa-pre.c(revision 192023)

+++ gcc/tree-ssa-pre.c(working copy)

@@ -1657,6 +1657,16 @@ phi_translate_1 (pre_expr expr, bitmap_set_t set1,

 if (result)

   VEC_free (vn_reference_op_s, heap, newoperands);



+if (result  TREE_CODE (result) == SSA_NAME)

+  {

+gimple def_stmt = SSA_NAME_DEF_STMT (result);

+basic_block def_bb = gimple_bb (def_stmt);

+if (def_bb != pred

+ !dominated_by_p (CDI_DOMINATORS, pred,

+def_bb))

+  return NULL;

+  }

+

 /* We can always insert constants, so if we have a partial

redundant constant load of another type try to translate it

to a constant of appropriate type.  */

...


[Bug target/55139] New: __atomic store does not support __ATOMIC_HLE_RELEASE

2012-10-30 Thread andi-gcc at firstfloor dot org


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



 Bug #: 55139

   Summary: __atomic store does not support __ATOMIC_HLE_RELEASE

Classification: Unclassified

   Product: gcc

   Version: 4.8.0

Status: UNCONFIRMED

  Severity: normal

  Priority: P3

 Component: target

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

ReportedBy: andi-...@firstfloor.org





volatile int slock;



void unlock(void)

{

int free_val = 1;

__atomic_store(slock, free_val,

__ATOMIC_RELEASE|__ATOMIC_HLE_RELEASE);

}



spin.c: In function 'unlock':

spin.c:6:16: warning: invalid memory model argument 3 of '__atomic_store'

[-Winvalid-memory-model]

  __atomic_store(slock, free_val, __ATOMIC_RELEASE|__ATOMIC_HLE_RELEASE);





But XRELEASE MOV ... is allowed in TSX.


[Bug middle-end/53708] [4.8 Regression] Many failures of the objc tests with -O3 -fnext-runtime and -m32

2012-10-30 Thread rguenther at suse dot de


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



--- Comment #10 from rguenther at suse dot de rguenther at suse dot de 
2012-10-30 17:10:52 UTC ---

On Tue, 30 Oct 2012, bergner at gcc dot gnu.org wrote:



 

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

 

 Peter Bergner bergner at gcc dot gnu.org changed:

 

What|Removed |Added

 

  Status|RESOLVED|REOPENED

  CC||bergner at gcc dot gnu.org

  Resolution|FIXED   |

 

 --- Comment #9 from Peter Bergner bergner at gcc dot gnu.org 2012-10-30 
 15:47:57 UTC ---

 Richard, I'm seeing this same bug in GCC 4.7 on powerpc64-linux when compiling

 GLIBC.  Is there a chance we can get your patch backported to 4.7?  I

 bootstrapped and regtested the backport with no regressions and can confirm it

 fixes the bug I'm running into, which can be seen with the reduced test case

 from glibc:

 

 bergner@bns:~/gcc/BUGS cat foo.i 

 static void (*const init_array []) (void)

   __attribute__ ((section (.init_array), aligned (sizeof (void *)), used))

 = { 0 };

 

 bergner@bns:~/gcc/BUGS /home/bergner/gcc/build/gcc-fsf-4_7-base/gcc/xgcc

 -B/home/bergner/gcc/build/gcc-fsf-4_7-base/gcc -S -m64 -O3 -maltivec foo.i -o

 bad.s

 

 bergner@bns:~/gcc/BUGS /home/bergner/gcc/build/gcc-fsf-4_7-pr53708/gcc/xgcc

 -B/home/bergner/gcc/build/gcc-fsf-4_7-pr53708/gcc -S -m64 -O3 -maltivec foo.i

 -o good.s

 

 bergner@bns:~/gcc/BUGS diff -u bad.s good.s 

 --- bad.s2012-10-30 10:41:15.0 -0500

 +++ good.s2012-10-30 10:41:23.0 -0500

 @@ -2,7 +2,7 @@

  .section.toc,aw

  .section.text

  .section.init_array,a

 -.align 4

 +.align 3

  .typeinit_array, @object

  .sizeinit_array, 8

  init_array:

 

 The above is bad, because the extra alignment causes the linker to add some

 null padding to the init_array and the loader isn't expecting that and ends up

 segv'ing.



Certainly - but can you check there wasn't a followup for fallout?

ISTR something here ...


[Bug tree-optimization/55124] [4.8 Regression] ICE in find_or_generate_expression, at tree-ssa-pre.c:2803

2012-10-30 Thread rguenther at suse dot de


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



--- Comment #6 from rguenther at suse dot de rguenther at suse dot de 
2012-10-30 17:12:46 UTC ---

On Tue, 30 Oct 2012, vries at gcc dot gnu.org wrote:



 

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

 

 vries at gcc dot gnu.org changed:

 

What|Removed |Added

 

  CC||rguenth at gcc dot gnu.org

 

 --- Comment #5 from vries at gcc dot gnu.org 2012-10-30 15:49:42 UTC ---

 tentative patch:

 ...

 Index: gcc/tree-ssa-pre.c

 ===

 --- gcc/tree-ssa-pre.c(revision 192023)

 +++ gcc/tree-ssa-pre.c(working copy)

 @@ -1657,6 +1657,16 @@ phi_translate_1 (pre_expr expr, bitmap_set_t set1,

  if (result)

VEC_free (vn_reference_op_s, heap, newoperands);

 

 +if (result  TREE_CODE (result) == SSA_NAME)

 +  {

 +gimple def_stmt = SSA_NAME_DEF_STMT (result);

 +basic_block def_bb = gimple_bb (def_stmt);

 +if (def_bb != pred

 + !dominated_by_p (CDI_DOMINATORS, pred,

 +def_bb))

 +  return NULL;

 +  }

 +

  /* We can always insert constants, so if we have a partial

 redundant constant load of another type try to translate it

 to a constant of appropriate type.  */

 ...





Err ... certainly not.  result is a value-number, not sth to

be taken literally and its def stmt to be looked up.  See

how clean () removes names from the sets instead.


[Bug libfortran/54012] printf crash with -lgfortran

2012-10-30 Thread sgk at troutmask dot apl.washington.edu


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



--- Comment #8 from Steve Kargl sgk at troutmask dot apl.washington.edu 
2012-10-30 17:57:51 UTC ---

What does gdb tell you?

   

   gdb tells:

   

   Program received signal SIGSEGV, Segmentation fault.

   0x7779f8f2 in __parse_one_specmb () from /lib64/libc.so.6

   

  

  Not very helpful.  What does gdb tell you when you 

  compiler with the -g option and issue bt at the gdb

  prompt?

 

 (gdb) run

 Starting program: /home/seger/TEMP/10/a.out

 

 Program received signal SIGSEGV, Segmentation fault.

 0x7779f8f2 in __parse_one_specmb () from /lib64/libc.so.6

 (gdb) bt

 #0  0x7779f8f2 in __parse_one_specmb ()

from /lib64/libc.so.6

 #1  0x77781230 in vfprintf () from /lib64/libc.so.6

 #2  0x7778b179 in printf () from /lib64/libc.so.6

 #3  0x0040051a in main () at 1.c:4

 



This does not look like a libgfortran issue.  Do you have

valgrind on your system?  Can you run the good and bad

executable under valgrind?  This appears to be a buffer

issue in your libc.


[Bug debug/54402] [4.8 Regression] var-tracking does not scale

2012-10-30 Thread jakub at gcc dot gnu.org


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



--- Comment #13 from Jakub Jelinek jakub at gcc dot gnu.org 2012-10-30 
18:24:17 UTC ---

IMHO it is really not useful to dup together completely unrelated var-tracking

PRs together.

test-tgmath.i clearly has nothing to do with frame_pointer_needed frame

replacements, or with clobber_overlapping_mems speed.

The problem there is that we have just a huge amount of VALUEs that are being

tracked, e.g. because of the huge result |= this; result |= that; result |=

someothertest;.

The reason why Alex' recent patch slows it so much down is I believe because

it doesn't check whether there aren't already debug stmts for the decls in

question, if there are at the beginning of the bb, it shouldn't try to add them

again.  Otherwise we end up with, as shown on test-tgmath2.i.*.optimized:

  # DEBUG result = result_3855

  # DEBUG result = result_3855

  # DEBUG result = result_3855

  # DEBUG result = result_3855

  # DEBUG result = result_3855

  # DEBUG result = result_3855

  # DEBUG result = result_3855

  # DEBUG result = result_3855

or

  # DEBUG result = result_3786

  # DEBUG ptype = texpr

  # DEBUG result = result_3786

  # DEBUG ptype = texpr

  # DEBUG result = result_3786

  # DEBUG ptype = texpr

  # DEBUG result = result_3786

  # DEBUG ptype = texpr

on pretty big number from the total of  9000 basic blocks in the testcase.

So, perhaps the copying of debug stmts should start with checking if the

destination after labels contains any debug stmts, and if yes, gather their

decls into some pointer set/bitmap etc., then copy only those which don't have

debug stmts there yet (and set the pointer set/bitmap immediately too, so that

we don't copy over more than one debug stmt for each lhs decl).


[Bug middle-end/53708] [4.8 Regression] Many failures of the objc tests with -O3 -fnext-runtime and -m32

2012-10-30 Thread bergner at gcc dot gnu.org


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



--- Comment #11 from Peter Bergner bergner at gcc dot gnu.org 2012-10-30 
18:27:36 UTC ---

Do you mean Richard Sandiford's comment regarding your patch and then your

reply?



  http://gcc.gnu.org/ml/gcc-patches/2012-06/msg01229.html



Hmmm, if attribute((__aligned__)) really only sets the minimum alignment value

and we're free to increase it arbitrarily, then maybe it's GLIBC's fault for

not being able to handle null values due to padding while processing the

init_array?


[Bug middle-end/53708] [4.8 Regression] Many failures of the objc tests with -O3 -fnext-runtime and -m32

2012-10-30 Thread jakub at gcc dot gnu.org


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



Jakub Jelinek jakub at gcc dot gnu.org changed:



   What|Removed |Added



 CC||jakub at gcc dot gnu.org



--- Comment #12 from Jakub Jelinek jakub at gcc dot gnu.org 2012-10-30 
18:38:14 UTC ---

I'm not sure if DECL_USER_ALIGN || DECL_P is the right test for this, I'd say

instead

  if (DECL_SECTION_NAME (decl) != NULL_TREE

   !DECL_HAS_IMPLICIT_SECTION_NAME_P (decl))

is what is the problem here, this is what I'm using in asan.c to find out

whether it is ok to increase alignment and/or add padding after the decl.

It is a common way of filling arrays to just put variables into user defined

sections, and expect the whole section to contain an array of those decls.  Any

alignment increases there or additional paddings of course break that

assumption.


[Bug middle-end/35305] Speculative PRE support missing

2012-10-30 Thread xinliangli at gmail dot com


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



--- Comment #4 from davidxl xinliangli at gmail dot com 2012-10-30 18:57:18 
UTC ---

The suggested transformation can be useful in some cases, but won't be general

enough. The listed example is an extreme case. For instance, the second a+b

instance does not have to be in the hot trace but still still hot enough to be

PREed. Or there is no one dominating traces available -- the expression is

available in all incoming paths except for one rare path.



switch (a)

{

   case 1:

 g[1] = a + b;

 break;

   case 2:

 g[2] = a + b;

 break;

   case 3: 

 g[3] = a + b;

   ...

   default:

 g[0] = 0;

 }



switch (b)

{

   case 1:

 ... a + b; // partially redundant

   case 2:

  ... a + b; // redundant



   default:

 // does nothing

 break;

}





Regarding handling dereferences, the availability and down-safety analysis

needs to be extended to to recognize safe speculation candidates.





Example 1:  dereference of same pointer fully available -- 



int g1, g2;

struct A

{

  int a;

  int b;

};



void foo(struct A* ap, int k,int m)

{



   if (__builtin_expect (k, 1))

  g1 = ap-b;

   else

  g2 = ap-a;





   if (__builtin_expect (m, 1))

   {

   g2 = ap-b;// Good safe speculative PRE candidate

   }

}





Example 2:  deference of ap fully anticipated







int g1, g2;

struct A

{

  int a;

  int b;

};



void foo(struct A* ap, int k,int m)

{



   if (__builtin_expect (k, 1))

  g1 = ap-b;





   if (__builtin_expect (m, 1))

   g2 = ap-b; // Safe to speculatively hoist across the branch

into the else of the previous branch

   else

   g1 = ap-a;

}





David





(In reply to comment #3)

 Wouldn't this be a candidate for forming a superblock from hot traces of

 a function?  Thus in the testcase

 

   if (k  m)

 {

   g1 = a + b;

   g2 = a + b;

 }

   else

 {

 ... old code

 }

 

 which would also handle the case where we cannot speculatively move code

 (like dereferences)?


[Bug middle-end/54386] [4.8 Regression] Unaligned mem load wrongly generated for inlined inline/static function

2012-10-30 Thread mikpe at it dot uu.se


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



Mikael Pettersson mikpe at it dot uu.se changed:



   What|Removed |Added



 CC||jamborm at gcc dot gnu.org



--- Comment #7 from Mikael Pettersson mikpe at it dot uu.se 2012-10-30 
19:28:15 UTC ---

I'm seeing the same code quality regression on sparc64-linux, another

strict-alignment target.



The regression started with r185470:

http://gcc.gnu.org/ml/gcc-cvs/2012-03/msg00800.html

http://gcc.gnu.org/ml/gcc-patches/2012-03/msg00989.html



Patch author CC:d.


[Bug libfortran/54012] printf crash with -lgfortran

2012-10-30 Thread astroseger at gmail dot com


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



--- Comment #9 from Sergey Rodionov astroseger at gmail dot com 2012-10-30 
19:35:15 UTC ---



 

 This does not look like a libgfortran issue.  Do you have

 valgrind on your system?  Can you run the good and bad

 executable under valgrind?  This appears to be a buffer

 issue in your libc.



1. I have this bug on 3 different computers with installed magiea 2 x86_64 



2. Yes, it is very strange. It not look like libgfortran issue, but if I

compile without -l gfortran it works.



3. If I compile with -static it always works.



4. Just in case 

 ldd good looks like: 

linux-vdso.so.1 =  (0x7fffe4f54000)

libc.so.6 = /lib64/libc.so.6 (0x7fc68961c000)

/lib64/ld-linux-x86-64.so.2 (0x7fc6899a8000)

  ldd bad:

linux-vdso.so.1 =  (0x7fffd97ff000)

libgfortran.so.3 = /usr/lib64/libgfortran.so.3 (0x7f74e86ad000)

libc.so.6 = /lib64/libc.so.6 (0x7f74e8321000)

libquadmath.so.0 = /usr/lib64/libquadmath.so.0 (0x7f74e80ec000)

libm.so.6 = /lib64/libm.so.6 (0x7f74e7e6a000)

/lib64/ld-linux-x86-64.so.2 (0x7f74e89c3000)

so they use the same libc



5. valgrind with bad says:



==26497== Memcheck, a memory error detector

==26497== Copyright (C) 2002-2011, and GNU GPL'd, by Julian Seward et al.

==26497== Using Valgrind-3.7.0 and LibVEX; rerun with -h for copyright info

==26497== Command: ./a.out

==26497== 

==26497== Invalid read of size 1

==26497==at 0x51A58F2: __parse_one_specmb (in /lib64/libc-2.14.1.so)

==26497==by 0x518722F: vfprintf (in /lib64/libc-2.14.1.so)

==26497==by 0x5191178: printf (in /lib64/libc-2.14.1.so)

==26497==by 0x400519: main (in /home/seger/TEMP/a.out)

==26497==  Address 0x4023b3 is not stack'd, malloc'd or (recently) free'd

==26497== 

==26497== 

==26497== Process terminating with default action of signal 11 (SIGSEGV)

==26497==  Access not within mapped region at address 0x4023B3

==26497==at 0x51A58F2: __parse_one_specmb (in /lib64/libc-2.14.1.so)

==26497==by 0x518722F: vfprintf (in /lib64/libc-2.14.1.so)

==26497==by 0x5191178: printf (in /lib64/libc-2.14.1.so)

==26497==by 0x400519: main (in /home/seger/TEMP/a.out)

==26497==  If you believe this happened as a result of a stack

==26497==  overflow in your program's main thread (unlikely but

==26497==  possible), you can try to increase the size of the

==26497==  main thread stack using the --main-stacksize= flag.

==26497==  The main thread stack size used in this run was 16777216.

==26497==

==26497== HEAP SUMMARY:

==26497== in use at exit: 3,769 bytes in 15 blocks

==26497==   total heap usage: 19 allocs, 4 frees, 11,909 bytes allocated

==26497==

==26497== LEAK SUMMARY:

==26497==definitely lost: 0 bytes in 0 blocks

==26497==indirectly lost: 0 bytes in 0 blocks

==26497==  possibly lost: 0 bytes in 0 blocks

==26497==still reachable: 3,769 bytes in 15 blocks

==26497== suppressed: 0 bytes in 0 blocks

==26497== Rerun with --leak-check=full to see details of leaked memory

==26497==

==26497== For counts of detected and suppressed errors, rerun with: -v

==26497== ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 4 from 4)



6. valgrind with good says that all ok...



quite strange :)


[Bug c++/55120] Inaccessible virtual base constructor does not prevent generation of default constructor

2012-10-30 Thread daniel.kruegler at googlemail dot com

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

--- Comment #7 from Daniel Krügler daniel.kruegler at googlemail dot com 
2012-10-30 19:48:21 UTC ---
(In reply to comment #5)
 Curious that G++, Comeau and Clang all accept the example in CWG issue 7,
 despite the rationale (and Mike) indicating it's intended that a virtual
 private base can't be derived from.

It has been explained to me that EDG's behaviour is a known bug.


[Bug middle-end/55116] [4.8 Regression] LRA failed to decompose ASHIFT

2012-10-30 Thread hjl at gcc dot gnu.org


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



--- Comment #11 from hjl at gcc dot gnu.org hjl at gcc dot gnu.org 2012-10-30 
21:35:42 UTC ---

Author: hjl

Date: Tue Oct 30 21:35:35 2012

New Revision: 192996



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

Log:

Add another testcase for PR middle-end/55116



* gcc.target/i386/pr55116-2.c: New file.



Added:

trunk/gcc/testsuite/gcc.target/i386/pr55116-2.c

Modified:

trunk/gcc/testsuite/ChangeLog


[Bug rtl-optimization/55141] New: [4.8 Regression] wrong code with -fno-split-wide-types

2012-10-30 Thread zsojka at seznam dot cz


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



 Bug #: 55141

   Summary: [4.8 Regression] wrong code with -fno-split-wide-types

Classification: Unclassified

   Product: gcc

   Version: 4.8.0

Status: UNCONFIRMED

  Severity: normal

  Priority: P3

 Component: rtl-optimization

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

ReportedBy: zso...@seznam.cz





Created attachment 28579

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

reduced testcase (from gcc.c-torture/execute/2808-1.c)



Output:

$ gcc -O -fno-split-wide-types testcase.c

$ ./a.out 

Aborted



Tested revisions:

r192991 - fail

r192654 - OK


[Bug tree-optimization/55138] [4.7 Regression] inlining fails with -O2 on gcc 4.7.2

2012-10-30 Thread mikpe at it dot uu.se


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



Mikael Pettersson mikpe at it dot uu.se changed:



   What|Removed |Added



 CC||mikpe at it dot uu.se



--- Comment #4 from Mikael Pettersson mikpe at it dot uu.se 2012-10-30 
21:57:13 UTC ---

Backporting the PR54985 fixes (r192745, r192746, r192754, and r192852) to 4.7

does fix this PR's reduced test case.


[Bug libfortran/54012] printf crash with -lgfortran

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


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



Tobias Burnus burnus at gcc dot gnu.org changed:



   What|Removed |Added



 CC||burnus at gcc dot gnu.org



--- Comment #10 from Tobias Burnus burnus at gcc dot gnu.org 2012-10-30 
22:04:33 UTC ---

(In reply to comment #9)

   ldd bad:

 linux-vdso.so.1 =  (0x7fffd97ff000)

 libquadmath.so.0 = /usr/lib64/libquadmath.so.0 (0x7f74e80ec000)



Could you try linking libquadmath directly instead of libgfortran (which

implies libquadmath)?





The reason is that libquadmath installs, if possible, GLIBC's printf hooks, cf.

http://gcc.gnu.org/onlinedocs/libquadmath/quadmath_005fsnprintf.html

and the source code at

http://gcc.gnu.org/viewcvs/trunk/libquadmath/printf/quadmath-printf.c?view=markup



With those hooks, printf(%Qe\n, float128_number) will work. In principle,

it shouldn't cause those issues, but depending on the GLIBC version it might.





(If libquadmath is the cause, it also explains that it works with -static as

libgfortran only statically links libquadmath if needed.)


[Bug middle-end/55116] [4.8 Regression] LRA failed to decompose ASHIFT

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


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



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



   What|Removed |Added



 Status|REOPENED|RESOLVED

 Resolution||FIXED



--- Comment #12 from H.J. Lu hjl.tools at gmail dot com 2012-10-30 22:08:22 
UTC ---

Fixed by:



http://gcc.gnu.org/ml/gcc-cvs/2012-10/msg01112.html


[Bug libfortran/54012] printf crash with -lgfortran

2012-10-30 Thread astroseger at gmail dot com


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



--- Comment #11 from Sergey Rodionov astroseger at gmail dot com 2012-10-30 
22:37:40 UTC ---

(In reply to comment #10)

 (In reply to comment #9)

ldd bad:

  linux-vdso.so.1 =  (0x7fffd97ff000)

  libquadmath.so.0 = /usr/lib64/libquadmath.so.0 (0x7f74e80ec000)

 

 Could you try linking libquadmath directly instead of libgfortran (which

 implies libquadmath)?

 

 

 The reason is that libquadmath installs, if possible, GLIBC's printf hooks, 
 cf.

 http://gcc.gnu.org/onlinedocs/libquadmath/quadmath_005fsnprintf.html

 and the source code at

 http://gcc.gnu.org/viewcvs/trunk/libquadmath/printf/quadmath-printf.c?view=markup

 

 With those hooks, printf(%Qe\n, float128_number) will work. In principle,

 it shouldn't cause those issues, but depending on the GLIBC version it might.

 

 

 (If libquadmath is the cause, it also explains that it works with -static as

 libgfortran only statically links libquadmath if needed.)





Yes. you are right. The real problem is libquadmath. If I compile with

-lquadmath it crash... 



But interesting that quadmath_snprintf by itself works...


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

2012-10-30 Thread hjl at gcc dot gnu.org


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



--- Comment #8 from hjl at gcc dot gnu.org hjl at gcc dot gnu.org 2012-10-30 
22:56:59 UTC ---

Author: hjl

Date: Tue Oct 30 22:56:52 2012

New Revision: 193000



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

Log:

Remove lra_in_progress check for ARG_POINTER_REGNUM



gcc/



PR rtl-optimization/55093

* rtlanal.c (simplify_subreg_regno): Remove lra_in_progress

check for ARG_POINTER_REGNUM.



gcc/testsuite/



PR rtl-optimization/55093

* gcc.target/i386/pr55093.c: New file.



Added:

trunk/gcc/testsuite/gcc.target/i386/pr55093.c

Modified:

trunk/gcc/ChangeLog

trunk/gcc/rtlanal.c

trunk/gcc/testsuite/ChangeLog


[Bug debug/54551] DF resets some DEBUG_INSNs unnecessarily

2012-10-30 Thread aoliva at gcc dot gnu.org


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



--- Comment #8 from Alexandre Oliva aoliva at gcc dot gnu.org 2012-10-30 
23:47:43 UTC ---

Author: aoliva

Date: Tue Oct 30 23:47:35 2012

New Revision: 193003



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

Log:

PR debug/54551

PR debug/54693

* valtrack.c (dead_debug_promote_uses): Assert-check that

global used bit was clear and initialize entry

unconditionally.



Modified:

trunk/gcc/ChangeLog

trunk/gcc/valtrack.c


[Bug debug/54693] VTA guality issues with loops

2012-10-30 Thread aoliva at gcc dot gnu.org


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



--- Comment #12 from Alexandre Oliva aoliva at gcc dot gnu.org 2012-10-30 
23:47:44 UTC ---

Author: aoliva

Date: Tue Oct 30 23:47:35 2012

New Revision: 193003



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

Log:

PR debug/54551

PR debug/54693

* valtrack.c (dead_debug_promote_uses): Assert-check that

global used bit was clear and initialize entry

unconditionally.



Modified:

trunk/gcc/ChangeLog

trunk/gcc/valtrack.c


[Bug libstdc++/51823] [DR 198] reverse iterator returns uninitialized values

2012-10-30 Thread dave at boostpro dot com


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



Dave Abrahams dave at boostpro dot com changed:



   What|Removed |Added



 CC||dave at boostpro dot com



--- Comment #13 from Dave Abrahams dave at boostpro dot com 2012-10-30 
23:48:36 UTC ---

I think this bug is invalid, because the iterator being wrapped doesn't model

ForwardIterator due to I found 24.2.5 [forward.iterators]/6, where it says:



  If a and b are both dereferenceable, then a == b if and only if *a and

  *b are bound to the same object.


[Bug libstdc++/51823] [DR 198] reverse iterator returns uninitialized values

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


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



--- Comment #14 from Jonathan Wakely redi at gcc dot gnu.org 2012-10-31 
00:36:48 UTC ---

Thanks, Dave.  So IIUC that means a counting iterator or other iterator that

stores a value internally can only be an input iterator, and so can't be used

with reverse_iterator.


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

2012-10-30 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



 Status|UNCONFIRMED |RESOLVED

 Resolution||FIXED



--- Comment #9 from H.J. Lu hjl.tools at gmail dot com 2012-10-31 01:33:37 
UTC ---

Fixed.


[Bug middle-end/55142] New: [4.8 Regression] internal compiler error: in plus_constant, at explow.c:88

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

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

 Bug #: 55142
   Summary: [4.8 Regression] internal compiler error: in
plus_constant, at explow.c:88
Classification: Unclassified
   Product: gcc
   Version: 4.8.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: middle-end
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: hjl.to...@gmail.com
CC: rdsandif...@googlemail.com, ubiz...@gmail.com


[hjl@gnu-tools-1 delta-2006.08.03]$ cat x.c
typedef int int32_t;
typedef unsigned int uint32_t;
typedef int32_t Elf32_Sword;
typedef struct
{
  Elf32_Sword d_tag;
} Elf32_Dyn;
struct link_map
{
  Elf32_Dyn *l_ld;
  Elf32_Dyn *l_info[34];
};
extern struct link_map _dl_rtld_map __attribute__ ((visibility (hidden)));
static void elf_get_dynamic_info (struct link_map *l)
{
  Elf32_Dyn *dyn = l-l_ld;
  Elf32_Dyn **info;
  info = l-l_info;
  while (dyn-d_tag != 0)
{
  if (dyn-d_tag  11)
info[0x6eff - dyn-d_tag + 12] = dyn;
  ++dyn;
}
}
void
dl_start (void)
{
  elf_get_dynamic_info (_dl_rtld_map);
}
[hjl@gnu-tools-1 delta-2006.08.03]$
/export/build/gnu/gcc-x32/release/usr/gcc-4.8.0-x32/bin/gcc -mx32
-mtune=generic -march=x86-64 x.c  -S -O2  -fPIC -maddress-mode=long
x.c: In function ‘dl_start’:
x.c:22:37: internal compiler error: in plus_constant, at explow.c:88
  info[0x6eff - dyn-d_tag + 12] = dyn;
 ^
0x6a656a plus_constant(machine_mode, rtx_def*, long)
/export/gnu/import/git/gcc/gcc/explow.c:88
0xb107e7 ix86_expand_move(machine_mode, rtx_def**)
/export/gnu/import/git/gcc/gcc/config/i386/i386.c:15973
0xb85c3e gen_movsi(rtx_def*, rtx_def*)
/export/gnu/import/git/gcc/gcc/config/i386/i386.md:1813
0x6c11f4 emit_move_insn_1(rtx_def*, rtx_def*)
/export/gnu/import/git/gcc/gcc/expr.c:3418
0x6c14f0 emit_move_insn(rtx_def*, rtx_def*)
/export/gnu/import/git/gcc/gcc/expr.c:3512
0x6a6d2e copy_to_mode_reg(machine_mode, rtx_def*)
/export/gnu/import/git/gcc/gcc/explow.c:645
0x825bc2 maybe_legitimize_operand
/export/gnu/import/git/gcc/gcc/optabs.c:8080
0x825bc2 maybe_legitimize_operands(insn_code, unsigned int, unsigned int,
expand_operand*)
/export/gnu/import/git/gcc/gcc/optabs.c:8142
0x825cf8 maybe_gen_insn(insn_code, unsigned int, expand_operand*)
/export/gnu/import/git/gcc/gcc/optabs.c:8160
0x829364 expand_binop_directly
/export/gnu/import/git/gcc/gcc/optabs.c:1461
0x82773d expand_binop(machine_mode, optab_tag, rtx_def*, rtx_def*, rtx_def*,
int, optab_methods)
/export/gnu/import/git/gcc/gcc/optabs.c:1530
0x6c5d78 force_operand(rtx_def*, rtx_def*)
/export/gnu/import/git/gcc/gcc/expr.c:7057
0x6a6d52 copy_to_mode_reg(machine_mode, rtx_def*)
/export/gnu/import/git/gcc/gcc/explow.c:641
0x825bc2 maybe_legitimize_operand
/export/gnu/import/git/gcc/gcc/optabs.c:8080
0x825bc2 maybe_legitimize_operands(insn_code, unsigned int, unsigned int,
expand_operand*)
/export/gnu/import/git/gcc/gcc/optabs.c:8142
0x825cf8 maybe_gen_insn(insn_code, unsigned int, expand_operand*)
/export/gnu/import/git/gcc/gcc/optabs.c:8160
0x825f69 maybe_emit_unop_insn(insn_code, rtx_def*, rtx_def*, rtx_code)
/export/gnu/import/git/gcc/gcc/optabs.c:3774
0x825ff8 emit_unop_insn(insn_code, rtx_def*, rtx_def*, rtx_code)
/export/gnu/import/git/gcc/gcc/optabs.c:3796
0x6c27b0 convert_modes(machine_mode, machine_mode, rtx_def*, int)
/export/gnu/import/git/gcc/gcc/expr.c:784
0x6a7161 memory_address_addr_space(machine_mode, rtx_def*, unsigned char)
/export/gnu/import/git/gcc/gcc/explow.c:429
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.
[hjl@gnu-tools-1 delta-2006.08.03]$


[Bug middle-end/55142] [4.8 Regression] internal compiler error: in plus_constant, at explow.c:88

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


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



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



   What|Removed |Added



   Target Milestone|--- |4.8.0



--- Comment #1 from H.J. Lu hjl.tools at gmail dot com 2012-10-31 02:21:16 
UTC ---

This



diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c

index 2284703..8569418 100644

--- a/gcc/config/i386/i386.c

+++ b/gcc/config/i386/i386.c

@@ -12902,6 +12902,8 @@ legitimize_pic_address (rtx orig, rtx reg)

 else

   {

 base = legitimize_pic_address (XEXP (addr, 0), reg);

+if (GET_MODE (base) != Pmode)

+ base = convert_to_mode (Pmode, base, 1);

 new_rtx  = legitimize_pic_address (XEXP (addr, 1),

   base == reg ? NULL_RTX : reg);



fixes the testcase.


[Bug target/52498] vmsdbgout.c fails to build with --enable-werror-always

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


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



--- Comment #2 from Jorn Wolfgang Rennecke amylaar at gcc dot gnu.org 
2012-10-31 03:21:10 UTC ---

Author: amylaar

Date: Wed Oct 31 03:21:03 2012

New Revision: 193013



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

Log:

PR target/52498

* vmsdbgout.c (vmsdbgout_write_source_line): Comment out names of

last two parameters.



Modified:

trunk/gcc/ChangeLog

trunk/gcc/vmsdbgout.c


  1   2   >