[Bug fortran/51514] [OOP] Wrong code when passing a scalar CLASS to a TYPE

2012-02-07 Thread burnus at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51514

--- Comment #6 from Tobias Burnus burnus at gcc dot gnu.org 2012-02-07 
08:15:28 UTC ---
Author: burnus
Date: Tue Feb  7 08:15:14 2012
New Revision: 183954

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=183954
Log:
2012-02-07  Tobias Burnus  bur...@net-b.de

PR fortran/51514
* trans-expr.c (gfc_conv_procedure_call): Add _data component
for calls of scalar CLASS actuals to TYPE dummies.

2012-02-07  Tobias Burnus  bur...@net-b.de

PR fortran/51514
* gfortran.dg/class_to_type_2.f90: New.


Added:
trunk/gcc/testsuite/gfortran.dg/class_to_type_2.f90
Modified:
trunk/gcc/fortran/ChangeLog
trunk/gcc/fortran/trans-expr.c
trunk/gcc/testsuite/ChangeLog


[Bug fortran/51514] [OOP] Wrong code when passing a scalar CLASS to a TYPE

2012-02-07 Thread burnus at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51514

Tobias Burnus burnus at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||FIXED

--- Comment #7 from Tobias Burnus burnus at gcc dot gnu.org 2012-02-07 
08:16:24 UTC ---
FIXED on the trunk (4.7).


[Bug rtl-optimization/52060] [4.7 regression] Invalid constant simplification in combine with parallel result

2012-02-07 Thread ebotcazou at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52060

--- Comment #7 from Eric Botcazou ebotcazou at gcc dot gnu.org 2012-02-07 
08:46:39 UTC ---
 I think the important question is if it is ok that combine_simplify_rtx may
 modify the given rtl in place, as opposed to keeping it unmodified and just
 allocating new rtx and returning it.  A brief look at combine.c suggests that
 SUBST () is used in so many places that it is meant to be ok to modify it in
 place.
 
 Then we for added_sets_{1,2} should just make copies of i1src resp. i0src
 upfront, which means perhaps slightly bigger amount of GC, but at least it
 won't miscompile things.

I'm a little uncomfortable with the patch, because I think it's annoying to
have to copy a pattern that you're going to substitute for.  On the other hand,
given that combine_simplify_rtx is allowed to SUBST, that's the most reasonable
fix.

Why do you need 2 copies of I0SRC though?


[Bug c/52146] New: [x32] - Wrong code to access addresses 0x80000000 to 0xFFFFFFFF

2012-02-07 Thread steffen-schmidt at siemens dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52146

 Bug #: 52146
   Summary: [x32] - Wrong code to access addresses 0x8000 to
0x
Classification: Unclassified
   Product: gcc
   Version: 4.6.3
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: steffen-schm...@siemens.com


Created attachment 26596
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=26596
C code resulting in wrong instructions when compiled with -mx32 and O1 or
higher

When accessing memory addresses in the region 0x8000 to 0x starting
from optimization -O1 or higher -mx32 GCC seems to generate faulty assembler
instructions.

Using -mx32 GCC will generate code for x86_64 target but using 4 byte pointers
(instead of 8 byte pointers when using -m64). Nonetheless we're running on a
x86_64 64bit machine.

The example shows the problem:
typedef unsigned int uint32_t;
volatile uint32_t * apic_tpr_addr = (uint32_t*)0xfee00080;
*apic_tpr_addr = 0;


GCC -mx32 generates the following assembler instructions:
movl$0, -18874240

On on x86 32bit system, this instruction would be correct, movl uses signed
addresses as destination when directly accessing memory. On an x86_64 system,
on the other hand, this instruction does not refer to address 0xFEE00080, but
to 0xFEE00080, because the signed address is interpreted in 64bit by
the processor, which leads to an error.

GCC -m64 generates the correct instructions:
xorl%eax, %eax
movabsl%eax, 4276093056

It seems to be necessary to use movabsl instruction instead of movl.


The problem does not occur by forcing access to memory via a register:
volatile uintptr_t ptr = 0xfee00080;
volatile uint32_t * apic_tpr_addr = (uint32_t*)ptr;
*apic_tpr_addr = 0;

In this case -mx32 GCC generates the follwoing code:
movl$-18874240, -4(%esp)
movl-4(%esp), %eax
movl$0, (%eax)
Here the access to memory is correct, using 32bit register eax

Code generated by -m64 GCC looks similar, but using 64bit addresses and
registers.
movl$4276093056, %eax
movq%rax, -8(%rsp)
movq-8(%rsp), %rax
movl$0, (%rax)


[Bug c/52146] [x32] - Wrong code to access addresses 0x80000000 to 0xFFFFFFFF

2012-02-07 Thread steffen-schmidt at siemens dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52146

--- Comment #1 from Steffen Schmidt steffen-schmidt at siemens dot com 
2012-02-07 08:58:00 UTC ---
Created attachment 26597
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=26597
Generated -mx32 assembler


[Bug c/52146] [x32] - Wrong code to access addresses 0x80000000 to 0xFFFFFFFF

2012-02-07 Thread steffen-schmidt at siemens dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52146

--- Comment #2 from Steffen Schmidt steffen-schmidt at siemens dot com 
2012-02-07 08:58:30 UTC ---
Created attachment 26598
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=26598
Generate -m64 assembler


[Bug rtl-optimization/52060] [4.6/4.7 Regression] Invalid constant simplification in combine with parallel result

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

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

   Priority|P3  |P2
   Target Milestone|--- |4.6.4
Summary|[4.7 regression] Invalid|[4.6/4.7 Regression]
   |constant simplification in  |Invalid constant
   |combine with parallel   |simplification in combine
   |result  |with parallel result

--- Comment #8 from Richard Guenther rguenth at gcc dot gnu.org 2012-02-07 
09:18:21 UTC ---
Reported for version 4.6.x so it must be a 4.6/4.7 regression.  And thus P2
only.


[Bug libstdc++/51296] Several 30_threads tests FAIL on Tru64 UNIX

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

--- Comment #36 from Jonathan Wakely redi at gcc dot gnu.org 2012-02-07 
09:19:35 UTC ---
Author: redi
Date: Tue Feb  7 09:19:27 2012
New Revision: 183955

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=183955
Log:
libgcc/

PR libstdc++/51296
PR libstdc++/51906
* gthr-posix.h: Allow static initializer macros to be disabled.
(__gthrw_pthread_cond_init): Define weak reference unconditionally.

libstdc++-v3/

PR libstdc++/51296
* include/std/mutex (__mutex_base::~__mutex_base): Declare noexcept.
* src/c++11/condition_variable.cc (condition_variable): Use macro for
initializer function.

PR libstdc++/51906
* config/os/bsd/darwin/os_defines.h: Disable static initializer for
recursive mutexes.

Modified:
trunk/libgcc/ChangeLog
trunk/libgcc/gthr-posix.h
trunk/libstdc++-v3/ChangeLog
trunk/libstdc++-v3/config/os/bsd/darwin/os_defines.h
trunk/libstdc++-v3/include/std/mutex
trunk/libstdc++-v3/src/c++11/condition_variable.cc


[Bug libstdc++/51906] thread lock test failures on darwin11 under Xcode 4.2

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

--- Comment #54 from Jonathan Wakely redi at gcc dot gnu.org 2012-02-07 
09:19:35 UTC ---
Author: redi
Date: Tue Feb  7 09:19:27 2012
New Revision: 183955

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=183955
Log:
libgcc/

PR libstdc++/51296
PR libstdc++/51906
* gthr-posix.h: Allow static initializer macros to be disabled.
(__gthrw_pthread_cond_init): Define weak reference unconditionally.

libstdc++-v3/

PR libstdc++/51296
* include/std/mutex (__mutex_base::~__mutex_base): Declare noexcept.
* src/c++11/condition_variable.cc (condition_variable): Use macro for
initializer function.

PR libstdc++/51906
* config/os/bsd/darwin/os_defines.h: Disable static initializer for
recursive mutexes.

Modified:
trunk/libgcc/ChangeLog
trunk/libgcc/gthr-posix.h
trunk/libstdc++-v3/ChangeLog
trunk/libstdc++-v3/config/os/bsd/darwin/os_defines.h
trunk/libstdc++-v3/include/std/mutex
trunk/libstdc++-v3/src/c++11/condition_variable.cc


[Bug rtl-optimization/52060] [4.6/4.7 Regression] Invalid constant simplification in combine with parallel result

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

--- Comment #9 from Jakub Jelinek jakub at gcc dot gnu.org 2012-02-07 
09:21:34 UTC ---
(In reply to comment #7)
 I'm a little uncomfortable with the patch, because I think it's annoying to
 have to copy a pattern that you're going to substitute for.  On the other 
 hand,
 given that combine_simplify_rtx is allowed to SUBST, that's the most 
 reasonable
 fix.

Yeah, I'm also not very happy about it, but we do other copy_rtx calls (e.g.
for i0pat/i1pat/i2pat), for the same reason.

 Why do you need 2 copies of I0SRC though?

Because it might be substed twice, once into i1pat (which might clobber it with
random changes) and then again into i2pat, if both i1dest and i2dest are needed
after the pattern.  With the two separate variables we copy_rtx it only when we
are actually going to use them in subst.  Other alternative would be to create
just one copy (i0src_copy) upfront
if ((added_sets_1  i0_feeds_i1_n)
|| (added_sets_2  ((i0_feeds_i1_n  i1_feeds_i2_n) || (i0_feeds_i2_n
and then right before we subst it into i1pat check the second half of the
condition again and if it is true, copy it again, but that would be IMHO uglier
than this.


[Bug libstdc++/51906] thread lock test failures on darwin11 under Xcode 4.2

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

--- Comment #55 from Jonathan Wakely redi at gcc dot gnu.org 2012-02-07 
09:21:13 UTC ---
this should be fixed now - I won't close it until someone can verify it on
darwin


[Bug libstdc++/51296] Several 30_threads tests FAIL on Tru64 UNIX

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

Jonathan Wakely redi at gcc dot gnu.org changed:

   What|Removed |Added

 AssignedTo|redi at gcc dot gnu.org |ro at gcc dot gnu.org

--- Comment #37 from Jonathan Wakely redi at gcc dot gnu.org 2012-02-07 
09:22:29 UTC ---
Rainer, you should now be able to define _GTHREAD_USE_MUTEX_INIT_FUNC and
_GTHREAD_USE_COND_INIT_FUNC (either in gthr-posix.h or os_defines.h or wherever
you see fit) and then the tests should pass.


[Bug middle-end/52074] ICE: RTL flag check: MEM_VOLATILE_P used with unexpected rtx code 'plus' in extract_fixed_bit_field, at expmed.c:1734

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

--- Comment #5 from Jakub Jelinek jakub at gcc dot gnu.org 2012-02-07 
09:22:55 UTC ---
Author: jakub
Date: Tue Feb  7 09:22:51 2012
New Revision: 183956

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=183956
Log:
PR middle-end/52074
* expr.c (expand_expr_addr_expr_1): For CONSTANT_CLASS_P or CONST_DECL
if modifier  EXPAND_SUM call force_operand on the result.

* gcc.c-torture/compile/pr52074.c: New test.

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


[Bug middle-end/52074] ICE: RTL flag check: MEM_VOLATILE_P used with unexpected rtx code 'plus' in extract_fixed_bit_field, at expmed.c:1734

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

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED

--- Comment #6 from Jakub Jelinek jakub at gcc dot gnu.org 2012-02-07 
09:25:45 UTC ---
Fixed.


[Bug middle-end/52142] [trans-mem] inlined transaction_pure functions are instrumented

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

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2012-02-07
 Ever Confirmed|0   |1

--- Comment #2 from Richard Guenther rguenth at gcc dot gnu.org 2012-02-07 
09:27:46 UTC ---
You'd need to lower transaction_pure into some IL constructs (similar to
how stmts only throw if they are in EH tables, or similar to how we set
TREE_NO_TRAP).  The other variant would be to never inline transaction_pure
functions into non-transaction_pure functions (see can_inline_edge_p
for how we for example check DECL_FUNCTION_SPECIFIC_OPTIMIZATION there).


[Bug middle-end/52141] [trans-mem] ICE due to asm statement in trans-mem.c:expand_block_tm

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

--- Comment #1 from Richard Guenther rguenth at gcc dot gnu.org 2012-02-07 
09:30:45 UTC ---
Might I suggest to instead of

case GIMPLE_ASM:
  gcc_unreachable ();

use

case GIMPLE_ASM:
  sorry (asm statements not allowed in transactions);

?  It's not a compiler but a user error (well, usually).

Btw, what you really want is some simple IPA propagation of the various
transaction attributes similar to how we handle pure/const.


[Bug c++/52147] New: Preprocessed Chromium source with long compile time

2012-02-07 Thread hans at chromium dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52147

 Bug #: 52147
   Summary: Preprocessed Chromium source with long compile time
Classification: Unclassified
   Product: gcc
   Version: unknown
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: h...@chromium.org


As requested in http://gcc.gnu.org/ml/gcc/2012-02/msg00146.html, here is the
preprocessed source for the file that was slowest to compile in my
measurements.


[Bug fortran/25020] NAG extension: module F90_UNIX providing access to UNIX functions (abort ...)

2012-02-07 Thread jb at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25020

Janne Blomqvist jb at gcc dot gnu.org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 CC||jb at gcc dot gnu.org
 Resolution||WONTFIX

--- Comment #5 from Janne Blomqvist jb at gcc dot gnu.org 2012-02-07 10:11:56 
UTC ---
Closing as wontfix.

- The PR hasn't seen any activity in almost 5 years

- GFortran nowadays has ISO_C_BINDING support, making it easy to create robust
interfaces to C functionality without having to integrate it into the compiler.

- The GFortran developers have their hands full implementing support for the
Fortran standard.

- Contributing to GCC is a bit cumbersome, with all kinds of paperwork required
etc.

Thus I suggest that functionality such as proposed here is better of developed
as a separate library, e.g. on github or whatnot. The gtk-fortran project
offers an excellent example of such a project:
https://github.com/jerryd/gtk-fortran/wiki


[Bug c++/52147] Preprocessed Chromium source with long compile time

2012-02-07 Thread hans at chromium dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52147

--- Comment #1 from hans at chromium dot org 2012-02-07 10:12:13 UTC ---
Created attachment 26599
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=26599
the slowest file


[Bug c++/52147] Preprocessed Chromium source with long compile time

2012-02-07 Thread hans at chromium dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52147

--- Comment #2 from hans at chromium dot org 2012-02-07 10:17:39 UTC ---
Created attachment 26600
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=26600
file with largest difference between 4.6 and 4.7


[Bug c++/52147] Preprocessed Chromium source with long compile time

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

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2012-02-07
 Ever Confirmed|0   |1

--- Comment #3 from Richard Guenther rguenth at gcc dot gnu.org 2012-02-07 
10:34:32 UTC ---
Thanks.

The slowest one looks autogenerated, simply a very large translation unit.
Lots of functions with lots of function calls. Nothing special sticks out when
looking at -ftime-report.

The one with the largest difference spends the most time in the C++ frontend
where it also regressed.


[Bug target/40068] GCC fails to apply dllexport attribute to typeinfo.

2012-02-07 Thread ktietz at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40068

--- Comment #9 from Kai Tietz ktietz at gcc dot gnu.org 2012-02-07 10:46:06 
UTC ---
Author: ktietz
Date: Tue Feb  7 10:45:59 2012
New Revision: 183962

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=183962
Log:
2012-02-07  Kai Tietz  kti...@redhat.com
Dave Korn  dave.korn.cyg...@gmail.com

PR target/40068
* config/i386/winnt-cxx.c (i386_pe_adjust_class_at_definition):
Take care that typinfo gets dllexport-attribute.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/i386/winnt-cxx.c


[Bug target/40068] GCC fails to apply dllexport attribute to typeinfo.

2012-02-07 Thread ktietz at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40068

--- Comment #10 from Kai Tietz ktietz at gcc dot gnu.org 2012-02-07 10:49:20 
UTC ---
Author: ktietz
Date: Tue Feb  7 10:49:14 2012
New Revision: 183963

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=183963
Log:
2012-02-07  Kai Tietz  kti...@redhat.com
Dave Korn  dave.korn.cyg...@gmail.com

PR target/40068
* config/i386/winnt-cxx.c (i386_pe_adjust_class_at_definition):
Take care that typinfo gets dllexport-attribute.


Modified:
branches/gcc-4_6-branch/gcc/ChangeLog
branches/gcc-4_6-branch/gcc/config/i386/winnt-cxx.c


[Bug c++/52147] Preprocessed Chromium source with long compile time

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

Markus Trippelsdorf markus at trippelsdorf dot de changed:

   What|Removed |Added

 CC||markus at trippelsdorf dot
   ||de

--- Comment #4 from Markus Trippelsdorf markus at trippelsdorf dot de 
2012-02-07 10:51:09 UTC ---
perf record -g g++ -O2 -c /var/tmp/V8DerivedSources08.ii
with 4.7 shows:

# Overhead  Command  
 8.78%  cc1plus  cc1plus [.] store_binding
|
--- store_binding

 1.94%  cc1plus  libc-2.15.so[.] memset
|
--- memset
   |  
   |--50.00%-- reload_cse_regs_1
   |  
   |--25.00%-- ipcp_generate_summary
   |  
--24.99%-- inline_analyze_function

 1.89%  cc1plus  cc1plus [.] gt_ggc_mx_lang_tree_node
|
--- gt_ggc_mx_lang_tree_node

 1.86%  cc1plus  libc-2.15.so[.] _int_malloc
|
--- _int_malloc

 1.73%  cc1plus  cc1plus [.] ggc_set_mark
|
--- ggc_set_mark

 1.36%  cc1plus  cc1plus [.] ggc_internal_alloc_stat
|
--- ggc_internal_alloc_stat

 1.27%  cc1plus  cc1plus [.] htab_find_slot_with_hash
|
--- htab_find_slot_with_hash
   |  
--100.00%-- (nil)

 1.24%  cc1plus  libc-2.15.so[.] _int_free
|
--- _int_free
   |  
--100.00%-- compute_may_aliases

 1.07%  cc1plus  cc1plus [.] push_to_top_level
|
--- push_to_top_level

 0.94%  cc1plus  cc1plus [.] bitmap_set_bit
|
--- bitmap_set_bit
   |  
   |--22.22%-- 0x31cfaa8
   |  
   |--22.22%-- (nil)
   |  
   |--11.11%-- 0x2b260c8
   |  
   |--11.11%-- 0x2b26308
   |  
   |--11.11%-- 0x31d02b0
   |  
   |--11.11%-- 0x2af1290
   |  
--11.11%-- 0x32067c8

 0.87%  cc1plus  cc1plus [.] lookup_fnfields_idx_nolazy
|
--- lookup_fnfields_idx_nolazy

 0.78%  cc1plus  cc1plus [.] add_function_candidate
|
--- add_function_candidate

 0.77%   as  as  [.] 0x2f5e5
...


[Bug rtl-optimization/52148] New: [4.7 regression] ICE: in spill_failure, at reload1.c:2120

2012-02-07 Thread mhlavink at redhat dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52148

 Bug #: 52148
   Summary: [4.7 regression] ICE: in spill_failure, at
reload1.c:2120
Classification: Unclassified
   Product: gcc
   Version: 4.7.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: rtl-optimization
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: mhlav...@redhat.com


Created attachment 26601
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=26601
pre-processed reproducer

gcc 4.7 fails on code that was working in 4.6 without any problem

Version: 4.7.0-20120204
Target: avr

Problem happens only when optimization (O2 or O3) is used.

Pre-processed reproducer attached.

$ avr-gcc -mmcu=atmega64 -O2  allsrce.cpp -c -o allsrc.o

allsrce.cpp: In function 'void applyExpos(int16_t*, uint8_t)':
allsrce.cpp:68:1: error: unable to find a register to spill in class
'POINTER_REGS'
allsrce.cpp:68:1: error: this is the insn:
(insn 17 16 9 2 (parallel [
(set (mem:BLK (reg:HI 26 r26) [0 A8])
(mem:BLK (reg/v/f:HI 97 [ anas ]) [0 A8]))
(unspec [
(const_int 0 [0])
] UNSPEC_MOVMEM)
(use (reg:QI 24 r24 [99]))
(clobber (reg:HI 26 r26))
(clobber (reg:HI 30 r30))
(clobber (reg:QI 0 r0))
(clobber (reg:QI 24 r24 [99]))
]) allsrce.cpp:49 29 {movmem_qi}
 (expr_list:REG_DEAD (reg:QI 24 r24 [99])
(expr_list:REG_DEAD (reg:QI 27 r27)
(expr_list:REG_UNUSED (reg:QI 24 r24 [99])
(expr_list:REG_UNUSED (reg:QI 0 r0)
(expr_list:REG_UNUSED (reg:HI 30 r30)
(expr_list:REG_UNUSED (reg:HI 26 r26)
(nil
allsrce.cpp:68:1: internal compiler error: in spill_failure, at reload1.c:2120
Please submit a full bug report,
with preprocessed source if appropriate.


Additional information:
$ avr-gcc -v
Using built-in specs.
COLLECT_GCC=avr-gcc
COLLECT_LTO_WRAPPER=/usr/libexec/gcc/avr/4.7.0/lto-wrapper
Target: avr
Configured with: ../gcc-4.7-20120204/configure --prefix=/usr
--mandir=/usr/share/man --infodir=/usr/share/info --target=avr
--enable-languages=c,c++ --disable-nls --disable-libssp --with-system-zlib
--enable-version-specific-runtime-libs --with-pkgversion='Fedora 4.7-0.fc16.1'
--with-bugurl=https://bugzilla.redhat.com/
Thread model: single
gcc version 4.7.0 20120204 (experimental) (Fedora 4.7-0.fc16.1)


[Bug libgcj/12708] SIGSEGV, Segmentation fault starting java program

2012-02-07 Thread gyanendra.webmaster at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=12708

Gyan Ojha gyanendra.webmaster at gmail dot com changed:

   What|Removed |Added

 CC||gyanendra.webmaster at
   ||gmail dot com

--- Comment #14 from Gyan Ojha gyanendra.webmaster at gmail dot com 
2012-02-07 10:55:36 UTC ---
This Driver version is error free,DataDirect free trial downloads for JDBC
drivers, ODBC drivers and ADO.NET providers including connection to Oracle,
DB2, Sybase, and MS SQL Server. Download it from:
http://www.datadirect.com/products/jdbc/index.html


[Bug rtl-optimization/52148] [4.7 regression] ICE: in spill_failure, at reload1.c:2120

2012-02-07 Thread mhlavink at redhat dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52148

--- Comment #1 from Michal Hlavinka mhlavink at redhat dot com 2012-02-07 
10:58:56 UTC ---
note: looks similar to 

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

but compared to both bugs above, adding -fno-caller-saves does not fix the
problem


[Bug rtl-optimization/52148] [4.7 regression] ICE: in spill_failure, at reload1.c:2120

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

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

 Target||avr
   Target Milestone|--- |4.7.0


[Bug rtl-optimization/52139] [4.5/4.6/4.7 Regression] ICE: in remove_insn, at emit-rtl.c:3960 with -O -fPIC -fno-tree-dominator-opts -fno-tree-fre

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

--- Comment #3 from Jakub Jelinek jakub at gcc dot gnu.org 2012-02-07 
11:42:35 UTC ---
Created attachment 26602
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=26602
gcc47-pr52139.patch

Ugh, this is ugly.  The main problem is that delete_insn/remove_insn refuse to
remove insns with NEXT_INSN (insn) == NULL_RTX (unless they are in the current
sequence or in the sequence stack).  Unfortunately in the cfglayout mode BB_END
or end of bb-il.rtl-{header,footer} often/always have it NULL.

In this testcase, we are merging two bbs where the first bb ends with an
unconditional jump to the second and second bb contains switch table followed
by barrier in its header, then deleted label, then NOTE_INSN_BASIC_BLOCK and
that is the last insn in that bb.  The first problem is that we
delete_insn_chain in the header just all but the last insn, so BB_END (a)
points to a BARRIER.  And the second problem is that when removing the
NOTE_INSN_BASIC_BLOCK note using delete_insn, NEXT_INSN (note) is NULL and thus
remove_insn ICEs.

The following ugly hacks fix it, but am not very happy about them.


[Bug fortran/52117] allocated arrays give incorrect results when used with RESHAPE in gcc v4.6.2

2012-02-07 Thread hirshmansp at ornl dot gov
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52117

--- Comment #6 from hirshmansp at ornl dot gov 2012-02-07 11:43:29 UTC ---
Tobias

Here are the answers to your questions:


[qsh@swim SIESTA]$ gfortran -v|grep -E 'gcc version|Target'

Target: x86_64-redhat-linux

gcc version 4.6.2 20111027 (Red Hat 4.6.2-1) (GCC)


It compiles/links with the -std:f95 flag, but gives the same wrong results (did
not change B to B(:,:,:) since that is not a practical solution for us, lots of
reshapes in our code:



[qsh@swim SIESTA]$ gfortran -std=f95 reshape.f90

reshape.f90:37.11:



  PAUSE

   1

Error: Deleted feature: PAUSE statement at (1)

[qsh@swim SIESTA]$ a.out

A(   1 ,   1 ) =1.000  B =3.000

A(   2 ,   1 ) =2.000  B =4.000

A(   1 ,   2 ) =3.000  B =5.000

A(   2 ,   2 ) =4.000  B =6.000

A(   1 ,   3 ) =5.000  B =7.000

A(   2 ,   3 ) =6.000  B =8.000

A(   1 ,   4 ) =7.000  B =0.000

A(   2 ,   4 ) =8.000  B =0.000

PAUSE

From: Steven Hirshman [mailto:sphirsh...@yahoo.com]
Sent: Monday, February 06, 2012 8:02 PM
To: Hirshman, Steven Paul
Subject: Fw: [Bug fortran/52117] allocated arrays give incorrect results when
used with RESHAPE in gcc v4.6.2



- Forwarded Message -
From: burnus at gcc dot gnu.org gcc-bugzi...@gcc.gnu.org
To: sphirsh...@yahoo.com
Sent: Monday, February 6, 2012 3:01 PM
Subject: [Bug fortran/52117] allocated arrays give incorrect results when used
with RESHAPE in gcc v4.6.2

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

--- Comment #5 from Tobias Burnus burnus at gcc dot gnu.orghttp://gnu.org/
2012-02-06 20:01:15 UTC ---
(In reply to comment #4)
 Thanks. I tried the -std=f95 flag and it gave the same (wrong) answer as
 without it, in the test code I sent you. What is not Fortran95 compatible with
 the code snippet I sent you?

I works for me both with GCC 4.6 and GCC 4.7 both with the current version but
also with a version which still had bug 52012.

Can you please answer the following question? You only kind of answered the
third question, namely that you used the original program (of comment 0).
Additional, could you provide more information about the version you used
(gfortran -v), of interest are the complete of Target and of gcc version.


(In reply to comment #3)
 Can you provides more details?

 In particular:
 - How does it fail? At compile time? At run time? With which error?
 - Which version/platform of the compiler are you using?
 - Is that with the code of comment 0 with only B = RESHAPE... changed to
 B(:) = RESHAPE... or is it for some other code?


Example on my system for a 4.6 version which has still the bug:

$ gfortran-4.6 -v | grep -E 'gcc version|Target'
Target: x86_64-suse-linux
gcc version 4.6.2 20111212 [gcc-4_6-branch revision 18] (SUSE Linux)

$ gfortran-4.6 -std=f95 test.f90
test.f90:37.11:
  PAUSE
  1
Error: Deleted feature: PAUSE statement at (1)

And after commenting that line:

$ gfortran-4.6 -std=f95 test.f90
A(  1 ,  1 ) =1.  B =1.
A(  2 ,  1 ) =2.  B =2.
A(  1 ,  2 ) =3.  B =3.
A(  2 ,  2 ) =4.  B =4.
A(  1 ,  3 ) =5.  B =5.
A(  2 ,  3 ) =6.  B =6.
A(  1 ,  4 ) =7.  B =7.
A(  2 ,  4 ) =8.  B =8.

The output looks correct and is the same as with other compilers. However, if I
use the buggy version of the compiler without -std=f95, I get:

$ gfortran-4.6 hj4.f90   ./a.out
A(  1 ,  1 ) =1.  B =3.
A(  2 ,  1 ) =2.  B =4.
A(  1 ,  2 ) =3.  B =5.
A(  2 ,  2 ) =4.  B =6.
A(  1 ,  3 ) =5.  B =7.
A(  2 ,  3 ) =6.  B =8.
A(  1 ,  4 ) =7.  B =3.36311631E-44
A(  2 ,  4 ) =8.  B =9.62964972E-35


As written, using (:) - or to be more precise (it's a rank-3 array) -
B(:,:,:) = , -fno-realloc-lhs, or a newer version of the compiler solves the
problem as well.

--
Configure bugmail: http://gcc.gnu.org/bugzilla/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You reported the bug.


[Bug middle-end/51231] [4.5/4.6/4.7 Regression] g++ remove placement new with -O1

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

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||INVALID

--- Comment #4 from Richard Guenther rguenth at gcc dot gnu.org 2012-02-07 
11:45:31 UTC ---
Confirmed.  The store of 0xdeadbeef is gone:

void create(allocator_type, boost::interprocess::allocatorint,
boost::interprocess::segment_managerchar,
boost::interprocess::rbtree_best_fitboost::interprocess::mutex_family,
boost::interprocess::iset_index ::value_type, int) (struct allocator_type 
allocator, value_type  at, int value)
{
  value_type * myp;
  const ptrdiff_t D.99202;
  sizetype D.99201;
  struct pointer D.83867;

bb 2:
  # USE = nonlocal { D.83867 }
  # CLB = nonlocal { D.83867 }
  D.83867 = boost::interprocess::allocatorint,
boost::interprocess::segment_managerchar,
boost::interprocess::rbtree_best_fitboost::interprocess::mutex_family,
boost::interprocess::iset_index ::address (allocator_1(D), at_2(D)); [return
slot optimization]
  D.99202_7 = D.83867.internal.m_offset;
  if (D.99202_7 != 1)
goto bb 3;
  else
goto bb 4;

bb 3:
  D.99201_8 = (sizetype) D.99202_7;
  # PT = { D.83867 }
  myp_9 = D.83867 + D.99201_8;

bb 4:
  # PT = null { D.83867 }

  # myp_10 = PHI 0B(2), myp_9(3)
  if (myp_10 != 0B)
goto bb 5;
  else
goto bb 6;

bb 5:
  value_11 = value_14(D);
  *myp_10 = value_11;

bb 6:
  D.83867 ={v} {CLOBBER};
  return;

}

in ealias.  Note that Boost invokes undefined behavior here as it
computes D.83867 + D.83867.internal.m_offset which supposedly
points to an object that is not D.83867 obviously, as that is
automatic in function create() and the store would be dead anyway.


[Bug target/40068] GCC fails to apply dllexport attribute to typeinfo.

2012-02-07 Thread ktietz at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40068

--- Comment #11 from Kai Tietz ktietz at gcc dot gnu.org 2012-02-07 11:48:41 
UTC ---
Author: ktietz
Date: Tue Feb  7 11:48:34 2012
New Revision: 183965

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=183965
Log:
2012-02-07  Kai Tietz  kti...@redhat.com
Dave Korn  dave.korn.cyg...@gmail.com

PR target/40068
* config/i386/winnt-cxx.c (i386_pe_adjust_class_at_definition):
Take care that typinfo gets dllexport-attribute.


Modified:
branches/gcc-4_5-branch/gcc/ChangeLog
branches/gcc-4_5-branch/gcc/config/i386/winnt-cxx.c


[Bug rtl-optimization/52139] [4.5/4.6/4.7 Regression] ICE: in remove_insn, at emit-rtl.c:3960 with -O -fPIC -fno-tree-dominator-opts -fno-tree-fre

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

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

  Attachment #26602|0   |1
is obsolete||

--- Comment #4 from Jakub Jelinek jakub at gcc dot gnu.org 2012-02-07 
12:20:19 UTC ---
Created attachment 26603
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=26603
gcc47-pr52139.patch

Actually, the delete_insn_chain call removed the barrier, but as barriers don't
have BLOCK_FOR_INSN, it didn't update BB_END.

This is a different approach, which allows remove_insn to remove even the last
insn in a bb, if it is equal to BB_END.  And adjusts BB_END even if BB_END is a
BARRIER.  That part alternatively could be handled by forcibly setting BB_END
(a) = first; after the delete_insn_chain call for the header.
With the emit-rtl.c changes as is, the cfgrtl.c changes are just a cleanup to
merge two same code sequences, but if the second part of the emit-rtl.c change
is removed, we'd need to add that BB_END (a) = first;


[Bug c++/52147] Preprocessed Chromium source with long compile time

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

--- Comment #5 from Richard Guenther rguenth at gcc dot gnu.org 2012-02-07 
12:29:24 UTC ---
largest regression:

trunk -O2:
 TOTAL :  29.47 3.0632.61  
678947 kB

4.6.3-pre -O2:
 TOTAL :  23.56 3.8027.90
658720 kB

4.6.3-pre -fsyntax-only:
Execution times (seconds)
 garbage collection:   0.44 ( 4%) usr   0.00 ( 0%) sys   0.43 ( 3%) wall   
   0 kB ( 0%) ggc
 preprocessing :   0.27 ( 2%) usr   0.34 (14%) sys   0.52 ( 4%) wall   
4548 kB ( 1%) ggc
 parser:   7.70 (67%) usr   0.86 (36%) sys   9.02 (65%) wall 
364457 kB (84%) ggc
 name lookup   :   3.00 (26%) usr   1.15 (48%) sys   3.87 (28%) wall  
62867 kB (15%) ggc
 varconst  :   0.02 ( 0%) usr   0.02 ( 1%) sys   0.02 ( 0%) wall   
   4 kB ( 0%) ggc
 symout:   0.01 ( 0%) usr   0.01 ( 0%) sys   0.01 ( 0%) wall   
  32 kB ( 0%) ggc
 TOTAL :  11.44 2.4013.88
433195 kB

trunk -fsyntax-only:
Execution times (seconds)
 phase setup :   0.01 ( 0%) usr   0.01 ( 1%) sys   0.01 ( 0%) wall 
  1438 kB ( 0%) ggc
 phase parsing   :  14.00 (100%) usr   1.86 (99%) sys  15.93 (100%)
wall  405002 kB (100%) ggc
 |name lookup:   6.07 (43%) usr   0.31 (16%) sys   5.88 (37%) wall 
 30410 kB ( 7%) ggc
 |overload resolution:   6.55 (47%) usr   0.25 (13%) sys   7.07 (44%) wall 
 64054 kB (16%) ggc
 garbage collection  :   0.46 ( 3%) usr   0.01 ( 1%) sys   0.46 ( 3%) wall 
 0 kB ( 0%) ggc
 preprocessing   :   0.27 ( 2%) usr   0.30 (16%) sys   0.68 ( 4%) wall 
  4876 kB ( 1%) ggc
 parser (global) :   1.07 ( 8%) usr   0.42 (22%) sys   1.26 ( 8%) wall 
 88673 kB (22%) ggc
 parser struct body  :   1.79 (13%) usr   0.21 (11%) sys   2.36 (15%) wall 
 67530 kB (17%) ggc
 parser enumerator list  :   0.02 ( 0%) usr   0.00 ( 0%) sys   0.02 ( 0%) wall 
  1220 kB ( 0%) ggc
 parser function body:   1.11 ( 8%) usr   0.09 ( 5%) sys   1.26 ( 8%) wall 
 21293 kB ( 5%) ggc
 parser inl. func. body  :   1.42 (10%) usr   0.09 ( 5%) sys   1.59 (10%) wall  
 18676 kB ( 5%) ggc
 parser inl. meth. body  :   1.65 (12%) usr   0.23 (12%) sys   1.85 (12%) wall 
 53613 kB (13%) ggc
 template instantiation  :   6.19 (44%) usr   0.50 (27%) sys   6.45 (40%) wall 
149113 kB (37%) ggc
 varconst:   0.02 ( 0%) usr   0.01 ( 1%) sys   0.00 ( 0%) wall 
 4 kB ( 0%) ggc
 TOTAL :  14.01 1.8815.95
406458 kB


[Bug fortran/52149] New: FAIL: gfortran.dg/vect/vect-8.f90

2012-02-07 Thread Greta.Yorsh at arm dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52149

 Bug #: 52149
   Summary: FAIL: gfortran.dg/vect/vect-8.f90
Classification: Unclassified
   Product: gcc
   Version: 4.7.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: fortran
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: greta.yo...@arm.com
CC: tkoe...@gcc.gnu.org
Target: arm-none-eabi


This new test fails on arm-none-eabi target. The test was added to trunk in
r183917, as described in PR32373.


[Bug rtl-optimization/52139] [4.5/4.6/4.7 Regression] ICE: in remove_insn, at emit-rtl.c:3960 with -O -fPIC -fno-tree-dominator-opts -fno-tree-fre

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

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

  Attachment #26603|0   |1
is obsolete||

--- Comment #5 from Jakub Jelinek jakub at gcc dot gnu.org 2012-02-07 
13:22:45 UTC ---
Created attachment 26604
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=26604
gcc47-pr52139.patch

That patch didn't get too far with rtl checking, we are sometimes remove_insn a
barrier after a barrier.

So, here is the variant with the second remove_insn change removed and instead
with BB_END (a) = first; in cfg_layout_merge_blocks.  Could add there
  gcc_checking_assert (BB_END (a) == first || BARRIER_P (BB_END (a)));
before that line if requested.


[Bug c++/52145] [C++11] zero-valued integer constant expression should prefer conversion to pointer

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

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

   What|Removed |Added

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

--- Comment #1 from Daniel Krügler daniel.kruegler at googlemail dot com 
2012-02-07 13:51:59 UTC ---
(In reply to comment #0)
The core language is in the process to make it clear, that S().n no longer is a
null-pointer constant, see

http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#903

This would mean that the current behaviour is as intended. I would make the
outcome of this issue dependent on the final CWG 903 decision.


[Bug fortran/52149] FAIL: gfortran.dg/vect/vect-8.f90

2012-02-07 Thread burnus at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52149

Tobias Burnus burnus at gcc dot gnu.org changed:

   What|Removed |Added

 CC||burnus at gcc dot gnu.org

--- Comment #1 from Tobias Burnus burnus at gcc dot gnu.org 2012-02-07 
14:02:18 UTC ---
Was that before or after the additional change was committed?

Namely:
  http://gcc.gnu.org/viewcvs?view=revisionrevision=183943
  Mon Feb 6 21:24:54 2012 UTC (16 hours, 35 minutes ago)

-! { dg-require-effective-target vect_float }
+! { dg-require-effective-target vect_double }


Does it still fail with that patch?


[Bug fortran/52117] allocated arrays give incorrect results when used with RESHAPE in gcc v4.6.2

2012-02-07 Thread burnus at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52117

--- Comment #7 from Tobias Burnus burnus at gcc dot gnu.org 2012-02-07 
14:36:48 UTC ---
(In reply to comment #6)
 It compiles/links with the -std:f95 flag, but gives the same wrong results
 [qsh@swim SIESTA]$ gfortran -std=f95 reshape.f90
 reshape.f90:37.11:
   PAUSE
1
 Error: Deleted feature: PAUSE statement at (1)
 [qsh@swim SIESTA]$ a.out

Well, you do not use -std=f95: As the compilation fails with an ERROR, thus
no new a.out file is produced. If you then start a.out, a previously
compiled file is used.

 (did not change B to B(:,:,:) since that is not a practical solution for us,
 lots of reshapes in our code

In Fortran 2003, an allocatable (array) on the LHS is automatically allocated
(if unallocated) or reallocated (if the shape does not match).

Unfortunately, the implementation had a bug, which could appear if the RHS
consisted of only a call to an intrinsic function, located the run-time library
(libgfortran).


Unless you provide me with a time machine, there are only two choices: Avoiding
a gfortran version with that bug by using a newer/older version. Or avoiding
the (re)allocation on assignment using either compiler flags or modifying the
code.

The only solutions, I see, which do not require code changes are:

- Use any GCC version before GCC 4.6.0; for instance GCC 4.5.x
- Use GCC 4.6 older than 2010-11-28
- Use a GCC (any version) newer than 2012-02-03
- Use -fno-realloc-lhs (caveat: Flag not supported before GCC 4.6)
- Use -std=f95 (caveat: Requires that the code compiles without error with
-std=f95)


I personally would use -fno-realloc-lhs [also due to performance reasons]
and/or an compiler version without the bug. For completeness, also the
following code changes are possible; except for the first one, they are not
recommended:

- Use an array spec for allocatable LHS, e.g. B(:,:,:) = 
- Don't use allocatables left of  = RESHAPE
- Make the expression on the RHS more complicated: add + 0 or surround with 
( ).


The first solution (B(:,:,:) = ) has the advantage that it avoids additional
checks whether the LHS is allocated and have the correct shape. With Fortran
2003/2008 compilers, adding it improves the performance minutely - and in hot
loops it might even matter. That's the reason that gfortran has
-fno-realloc-lhs, but also that other compiles have similar flags such as
-assume norealloc_lhs or -e w.


[Bug c++/52145] [C++11] [DR 903] zero-valued integer constant expression should prefer conversion to pointer

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

Jonathan Wakely redi at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |SUSPENDED
   Last reconfirmed||2012-02-07
Summary|[C++11] zero-valued integer |[C++11] [DR 903]
   |constant expression should  |zero-valued integer
   |prefer conversion to|constant expression should
   |pointer |prefer conversion to
   ||pointer
 Ever Confirmed|0   |1

--- Comment #2 from Jonathan Wakely redi at gcc dot gnu.org 2012-02-07 
14:39:07 UTC ---
suspending


[Bug fortran/52149] FAIL: gfortran.dg/vect/vect-8.f90

2012-02-07 Thread Greta.Yorsh at arm dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52149

--- Comment #2 from Greta Yorsh Greta.Yorsh at arm dot com 2012-02-07 
14:40:17 UTC ---
This patch fixes the problem. Thank you!

-- Greta


[Bug fortran/52149] FAIL: gfortran.dg/vect/vect-8.f90

2012-02-07 Thread burnus at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52149

Tobias Burnus burnus at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||FIXED

--- Comment #3 from Tobias Burnus burnus at gcc dot gnu.org 2012-02-07 
14:44:11 UTC ---
(In reply to comment #2)
 This patch fixes the problem. Thank you!

Great! Let's close then the PR.


[Bug target/51921] [4.6/4.7 regression] EH unwinding support is broken

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

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

 Status|NEW |WAITING

--- Comment #2 from Richard Guenther rguenth at gcc dot gnu.org 2012-02-07 
15:37:54 UTC ---
Only sparc-sun-solaris2.10 is a primary target at the moment.  Rainer, you
say regression from 4.6 but the summary says 4.6/4.7 regression, not 4.7
regression.  No known-to-work/known-to-fail field.  Does this only affect Ada?

Please clarify.


[Bug middle-end/51929] [4.7 Regression] ICE: verify_cgraph_node failed with -O2 -fno-guess-branch-probability -fipa-cp-clone

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

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

   Keywords||ice-checking
   Priority|P3  |P1
 Status|UNCONFIRMED |NEW
   Last reconfirmed||2012-02-07
 Ever Confirmed|0   |1

--- Comment #2 from Richard Guenther rguenth at gcc dot gnu.org 2012-02-07 
15:40:21 UTC ---
Confirmed.


[Bug debug/51950] [4.6/4.7 Regression] fdebug-types-section regression for member pointers

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

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

   Priority|P3  |P2


[Bug middle-end/51994] [4.6/4.7 Regression] git-1.7.8.3 miscompiled due to negative bitpos from get_inner_reference

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

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

   Priority|P3  |P2


[Bug middle-end/51939] [4.7 Regression] ICE: in compute_affine_dependence, at tree-data-ref.c:4103 with -fcheck-data-deps

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

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

   Priority|P3  |P5


[Bug c++/52126] [4.7 Regression] compilation error

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

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

   Keywords||rejects-valid
   Priority|P3  |P1
 Status|UNCONFIRMED |NEW
   Last reconfirmed||2012-02-07
  Known to work||4.6.3
 Ever Confirmed|0   |1

--- Comment #4 from Richard Guenther rguenth at gcc dot gnu.org 2012-02-07 
15:46:32 UTC ---
Confirmed.


[Bug rtl-optimization/52139] [4.5/4.6/4.7 Regression] ICE: in remove_insn, at emit-rtl.c:3960 with -O -fPIC -fno-tree-dominator-opts -fno-tree-fre

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

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

   Priority|P3  |P2
   Target Milestone|4.7.0   |4.5.4


[Bug debug/52132] [4.7 Regression] ICE in loc_descriptor

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

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

   Priority|P3  |P1


[Bug rtl-optimization/49847] [4.7 Regression] NULL deref in fold_rtx (prev_insn_cc0 == NULL)

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

--- Comment #15 from Mikael Pettersson mikpe at it dot uu.se 2012-02-07 
15:48:22 UTC ---
(In reply to comment #12)
 The problem appears to be due to the exception region on a cc0 setter, which
 separates it from the cc0 consumer:
 
 (insn 4013 4012 8164 949 (set (cc0)
 (compare (reg:SF 912 [ D.26269 ])
 (const_double:SF -2147483648 [0x8000] 2.147483648e+9
 [0x0.8p+32]))) ../../../gcc/libjava/interpret.cc:131 -1
  (expr_list:REG_EH_REGION (const_int 4 [0x4])
 (nil)))
 
 (note 8164 4013 4014 950 [bb 950] NOTE_INSN_BASIC_BLOCK)
 
 (insn 4014 8164 4015 950 (set (reg:QI 2121)
 (ge:QI (cc0)
 (const_int 0 [0]))) ../../../gcc/libjava/interpret.cc:131 -1
  (nil))
 
 Happens in trunk since r180192.

r180192 contains two changes: it's the tree-eh.c change that triggers the ICE,
the other tree-ssa-forwprop.c change makes no difference to this PR.


[Bug rtl-optimization/52148] [4.7 regression] ICE: in spill_failure, at reload1.c:2120

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

Richard Guenther rguenth at gcc dot gnu.org changed:

   What|Removed |Added

   Keywords||ice-on-valid-code
   Priority|P3  |P4


[Bug rtl-optimization/52060] [4.6/4.7 Regression] Invalid constant simplification in combine with parallel result

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

--- Comment #10 from Jakub Jelinek jakub at gcc dot gnu.org 2012-02-07 
15:48:59 UTC ---
Author: jakub
Date: Tue Feb  7 15:48:52 2012
New Revision: 183972

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=183972
Log:
PR rtl-optimization/52060
* combine.c (try_combine): Add i0src_copy and i0src_copy2 variables,
copy i1src to i1src_copy whenever added_sets_2  i1_feeds_i2_n already
before i1dest - i1src substitution in newpat, copy i0src to i0src_copy
and/or i0src_copy2 when needed.

* gcc.dg/torture/pr52060.c: New test.

Added:
trunk/gcc/testsuite/gcc.dg/torture/pr52060.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/combine.c
trunk/gcc/testsuite/ChangeLog


[Bug rtl-optimization/52060] [4.6 Regression] Invalid constant simplification in combine with parallel result

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

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

 Status|NEW |ASSIGNED
 AssignedTo|unassigned at gcc dot   |jakub at gcc dot gnu.org
   |gnu.org |
Summary|[4.6/4.7 Regression]|[4.6 Regression] Invalid
   |Invalid constant|constant simplification in
   |simplification in combine   |combine with parallel
   |with parallel result|result

--- Comment #11 from Jakub Jelinek jakub at gcc dot gnu.org 2012-02-07 
16:16:21 UTC ---
Fixed on the trunk so far.


[Bug target/48743] -march=native mis-detects AMD K6-2+ / K6-3 as Athlon - compiled C fails with illegal instruction

2012-02-07 Thread qneill at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48743

--- Comment #9 from Quentin Neill qneill at gcc dot gnu.org 2012-02-07 
16:17:35 UTC ---
Author: qneill
Date: Tue Feb  7 16:17:26 2012
New Revision: 183973

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=183973
Log:
2012-02-07  Quentin Neill  quentin.ne...@amd.com

Backport from mainline:
2012-01-19  Quentin Neill  quentin.ne...@amd.com

PR target/48743
* config/i386/driver-i386.c (host_detect_local_cpu): Also check
family to distinguish PROCESSOR_ATHLON.


Modified:
branches/gcc-4_5-branch/gcc/ChangeLog
branches/gcc-4_5-branch/gcc/config/i386/driver-i386.c


[Bug fortran/52117] allocated arrays give incorrect results when used with RESHAPE in gcc v4.6.2

2012-02-07 Thread sphirshman at yahoo dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52117

--- Comment #8 from steven hirshman sphirshman at yahoo dot com 2012-02-07 
16:18:33 UTC ---
Thank you. I didn't catch the PAUSE problem. It now runs correctly with the
-std=f95 flag, which is what we'll use.

Thanks for your helpful responses.



From: burnus at gcc dot gnu.org gcc-bugzi...@gcc.gnu.org
To: sphirsh...@yahoo.com 
Sent: Tuesday, February 7, 2012 9:36 AM
Subject: [Bug fortran/52117] allocated arrays give incorrect results when used
with RESHAPE in gcc v4.6.2

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

--- Comment #7 from Tobias Burnus burnus at gcc dot gnu.org 2012-02-07
14:36:48 UTC ---
(In reply to comment #6)
 It compiles/links with the -std:f95 flag, but gives the same wrong results
 [qsh@swim SIESTA]$ gfortran -std=f95 reshape.f90
 reshape.f90:37.11:
      PAUSE
            1
 Error: Deleted feature: PAUSE statement at (1)
 [qsh@swim SIESTA]$ a.out

Well, you do not use -std=f95: As the compilation fails with an ERROR, thus
no new a.out file is produced. If you then start a.out, a previously
compiled file is used.

 (did not change B to B(:,:,:) since that is not a practical solution for us,
 lots of reshapes in our code

In Fortran 2003, an allocatable (array) on the LHS is automatically allocated
(if unallocated) or reallocated (if the shape does not match).

Unfortunately, the implementation had a bug, which could appear if the RHS
consisted of only a call to an intrinsic function, located the run-time library
(libgfortran).


Unless you provide me with a time machine, there are only two choices: Avoiding
a gfortran version with that bug by using a newer/older version. Or avoiding
the (re)allocation on assignment using either compiler flags or modifying the
code.

The only solutions, I see, which do not require code changes are:

- Use any GCC version before GCC 4.6.0; for instance GCC 4.5.x
- Use GCC 4.6 older than 2010-11-28
- Use a GCC (any version) newer than 2012-02-03
- Use -fno-realloc-lhs (caveat: Flag not supported before GCC 4.6)
- Use -std=f95 (caveat: Requires that the code compiles without error with
-std=f95)


I personally would use -fno-realloc-lhs [also due to performance reasons]
and/or an compiler version without the bug. For completeness, also the
following code changes are possible; except for the first one, they are not
recommended:

- Use an array spec for allocatable LHS, e.g. B(:,:,:) = 
- Don't use allocatables left of  = RESHAPE
- Make the expression on the RHS more complicated: add + 0 or surround with 
( ).


The first solution (B(:,:,:) = ) has the advantage that it avoids additional
checks whether the LHS is allocated and have the correct shape. With Fortran
2003/2008 compilers, adding it improves the performance minutely - and in hot
loops it might even matter. That's the reason that gfortran has
-fno-realloc-lhs, but also that other compiles have similar flags such as
-assume norealloc_lhs or -e w.


[Bug target/51921] [4.6/4.7 regression] EH unwinding support is broken

2012-02-07 Thread ro at CeBiTec dot Uni-Bielefeld.DE
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51921

--- Comment #3 from ro at CeBiTec dot Uni-Bielefeld.DE ro at CeBiTec dot 
Uni-Bielefeld.DE 2012-02-07 16:59:32 UTC ---
 --- Comment #2 from Richard Guenther rguenth at gcc dot gnu.org 2012-02-07 
 15:37:54 UTC ---
 Only sparc-sun-solaris2.10 is a primary target at the moment.  Rainer, you
 say regression from 4.6 but the summary says 4.6/4.7 regression, not 4.7
 regression.  No known-to-work/known-to-fail field.  Does this only affect Ada?

 Please clarify.

I'd only noticed the breakage on mainline at first, but Eric reverted
the patch to support Solaris 11 on both mainline and the 4.6 branch, so
it indeed regressed on both branches.

It doesn't affect only Ada, but Java, too, which chooses to ignore.

I'm quite upset about this because the only reason for that reversion
he's given so far is a failure (I wouldn't call it regression) on a
7-year-old Solaris 10 beta release (or rather, one of many two-weekly
builds).  AFAICT, no released version is affected by my rewrite of
sparc/sol2-unwind.h, which introduced Solaris 11 support before 4.6.0,
which is now completely broken.

I don't buy his compatibility argument for several reasons:

* Even Sun/Oracle makes no compatibility guarantee of any sort for
  betas, and can break it if need we.  I don't see us making stronger
  guarantees in FSF GCC, especially to keep prehistoric betas working at
  the expense of the latest shipping release.

* Such versions are completely untestable: I've been in the Solaris 10
  Express and Platinum Beta programs myself, and ran practically every
  single one of those bi-weekly builds (that's what s10_72 is) on my
  machines, but didn't keep the ISO images for space reasons.

* If some AdaCore customer couldn't be bothered to upgrade to a release
  (I'm talking about any release here, not supported or latest) version
  of Solaris in 7 years, but needs to run bleeding-edge versions of GCC,
  I declare that AdaCore's problem, not mine.  If the only ill effect of
  a patch of mine is to break such ancient beta versions (not
  intentionally or lightly), so be it.  I'm not jumping through hoops to
  fix that.

I'm sort of tempted to revert Eric's reversion to restore working
Solaris 11 support in 4.6 and mainline, but would only do that as a very
last resort.

Rainer


[Bug target/52146] [x32] - Wrong code to access addresses 0x80000000 to 0xFFFFFFFF

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

Andrew Pinski pinskia at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2012-02-07
 Ever Confirmed|0   |1

--- Comment #3 from Andrew Pinski pinskia at gcc dot gnu.org 2012-02-07 
17:07:23 UTC ---
(insn 5 4 0 (set (mem/s/v:SI (const_int -18874240 [0xfee00080]) [3
MEM[(volatile struct apic_test_t *)4276093056B].blubb1+0 S4 A32])
(const_int 0 [0])) t67.c:27 -1
 (nil))


[Bug target/51921] [4.6/4.7 regression] EH unwinding support is broken

2012-02-07 Thread ebotcazou at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51921

Eric Botcazou ebotcazou at gcc dot gnu.org changed:

   What|Removed |Added

 Status|WAITING |NEW

--- Comment #4 from Eric Botcazou ebotcazou at gcc dot gnu.org 2012-02-07 
17:12:26 UTC ---
 I'm quite upset about this because the only reason for that reversion
 he's given so far is a failure (I wouldn't call it regression) on a
 7-year-old Solaris 10 beta release (or rather, one of many two-weekly
 builds).  AFAICT, no released version is affected by my rewrite of
 sparc/sol2-unwind.h, which introduced Solaris 11 support before 4.6.0,
 which is now completely broken.

If you give me a proof that no released version whatsoever, from the very first
Solaris 8 to the very latest Solaris 10, can be affected by a regression due to
the rewrite of the pattern matching code, then I'd (reluctantly) accept the
breakage for the Solaris 10 beta.  

 * If some AdaCore customer couldn't be bothered to upgrade to a release
   (I'm talking about any release here, not supported or latest) version
   of Solaris in 7 years, but needs to run bleeding-edge versions of GCC,
   I declare that AdaCore's problem, not mine.  If the only ill effect of
   a patch of mine is to break such ancient beta versions (not
   intentionally or lightly), so be it.  I'm not jumping through hoops to
   fix that.

Let's not misrepresent things, please.  Enhancing the existing pattern matching
code is trivial: you find the first differing frame in the stack, and you add a
new 'else if' somewhere.

Again, this pattern matching code is at least one decade old and went through
many Solaris versions, so rewriting it from scratch was a wrong decision.


[Bug middle-end/52141] [trans-mem] ICE due to asm statement in trans-mem.c:expand_block_tm

2012-02-07 Thread rth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52141

--- Comment #2 from Richard Henderson rth at gcc dot gnu.org 2012-02-07 
17:15:41 UTC ---
It is a compiler error, because we're supposed to have handled
a transaction involving asms differently, earlier in compilation.


[Bug middle-end/51994] [4.6/4.7 Regression] git-1.7.8.3 miscompiled due to negative bitpos from get_inner_reference

2012-02-07 Thread ebotcazou at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51994

--- Comment #36 from Eric Botcazou ebotcazou at gcc dot gnu.org 2012-02-07 
17:21:44 UTC ---
Author: ebotcazou
Date: Tue Feb  7 17:21:36 2012
New Revision: 183974

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=183974
Log:
PR middle-end/51994
* expr.c (get_inner_reference): If there is an offset, add a negative
bit position to it (if any).

Added:
trunk/gcc/testsuite/gcc.c-torture/execute/20120207-1.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/expr.c
trunk/gcc/testsuite/ChangeLog


[Bug c++/52126] [4.7 Regression] compilation error

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

--- Comment #5 from Jonathan Wakely redi at gcc dot gnu.org 2012-02-07 
17:23:40 UTC ---
(In reply to comment #2)
 Further investigation shows that the issue appears only when inheritance from
 the template class (class B : private AT) is provided explicitly. According
 to the standard a nested class defined inside a class template is implicitly
 template as well.

I don't think that's relevant.  The point is that the injected-class-name 'A'
and 'AT' both refer to the class template, and should work equivalently.

It can be reduced to:

templatetypename T
struct A
{
int foo;

struct B : AT
{
using A::foo;
};
};


[Bug middle-end/51994] [4.6/4.7 Regression] git-1.7.8.3 miscompiled due to negative bitpos from get_inner_reference

2012-02-07 Thread ebotcazou at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51994

--- Comment #37 from Eric Botcazou ebotcazou at gcc dot gnu.org 2012-02-07 
17:24:32 UTC ---
Author: ebotcazou
Date: Tue Feb  7 17:24:27 2012
New Revision: 183975

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=183975
Log:
PR middle-end/51994
* expr.c (get_inner_reference): If there is an offset, add a negative
bit position to it (if any).

Added:
branches/gcc-4_6-branch/gcc/testsuite/gcc.c-torture/execute/20120207-1.c
  - copied unchanged from r183974,
trunk/gcc/testsuite/gcc.c-torture/execute/20120207-1.c
Modified:
branches/gcc-4_6-branch/gcc/ChangeLog
branches/gcc-4_6-branch/gcc/expr.c
branches/gcc-4_6-branch/gcc/testsuite/ChangeLog


[Bug gcov-profile/52150] New: [4.7 regression] junk at end of line in Firefox PGO build

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

 Bug #: 52150
   Summary: [4.7 regression]  junk at end of line in Firefox PGO
build
Classification: Unclassified
   Product: gcc
   Version: 4.7.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: gcov-profile
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: mar...@trippelsdorf.de


Consider: 

 % cat test.i
typedef struct _cairo cairo_t;
cairo_t *_moz_cairo_create ();

__typeof (_moz_cairo_create)
_moz_cairo_create __asm__ (INT__moz_cairo_create);
cairo_t *_moz_cairo_create ()
{
}

% gcc -c -fprofile-generate test.i
/tmp/ccwYenBS.s: Assembler messages:
/tmp/ccwYenBS.s:41: Error: junk at end of line, first unrecognized character is
`*'
/tmp/ccwYenBS.s:42: Error: bad expression
/tmp/ccwYenBS.s:42: Error: junk at end of line, first unrecognized character is
`I'
/tmp/ccwYenBS.s:66: Error: unrecognized symbol type 
/tmp/ccwYenBS.s:66: Error: junk at end of line, first unrecognized character is
`*'
/tmp/ccwYenBS.s:67: Error: expected comma after name `__gcov__' in .size
directive
/tmp/ccwYenBS.s:68: Error: invalid character '*' in mnemonic
/tmp/ccwYenBS.s:76: Error: operation combines symbols in different segments

From test.s:
 39 __gcov_indirect_call_counters:
 40 .zero   8 
 41 .local  __gcov0_*INT__moz_cairo_create
 42 .comm   __gcov0_*INT__moz_cairo_create,8,8
 43 .text 
 44 .type   _GLOBAL__sub_I_65535_0_INT__moz_cairo_create, @function


[Bug middle-end/51994] [4.6/4.7 Regression] git-1.7.8.3 miscompiled due to negative bitpos from get_inner_reference

2012-02-07 Thread ebotcazou at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51994

Eric Botcazou ebotcazou at gcc dot gnu.org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED

--- Comment #38 from Eric Botcazou ebotcazou at gcc dot gnu.org 2012-02-07 
17:28:03 UTC ---
Patch applied.


[Bug target/51921] [4.6/4.7 regression] EH unwinding support is broken

2012-02-07 Thread ro at CeBiTec dot Uni-Bielefeld.DE
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51921

--- Comment #5 from ro at CeBiTec dot Uni-Bielefeld.DE ro at CeBiTec dot 
Uni-Bielefeld.DE 2012-02-07 17:29:37 UTC ---
 --- Comment #4 from Eric Botcazou ebotcazou at gcc dot gnu.org 2012-02-07 
 17:12:26 UTC ---
 I'm quite upset about this because the only reason for that reversion
 he's given so far is a failure (I wouldn't call it regression) on a
 7-year-old Solaris 10 beta release (or rather, one of many two-weekly
 builds).  AFAICT, no released version is affected by my rewrite of
 sparc/sol2-unwind.h, which introduced Solaris 11 support before 4.6.0,
 which is now completely broken.

 If you give me a proof that no released version whatsoever, from the very 
 first
 Solaris 8 to the very latest Solaris 10, can be affected by a regression due 
 to
 the rewrite of the pattern matching code, then I'd (reluctantly) accept the
 breakage for the Solaris 10 beta.  

You know perfectly well that such a proof is practically impossible:
that would mean updating a machine through every single Solaris 8/9/10
kernel/libc/libthread patch ever released.  The other way round, I'd
claim that you cannot prove that the old code works for every since such
combination either.

 * If some AdaCore customer couldn't be bothered to upgrade to a release
   (I'm talking about any release here, not supported or latest) version
   of Solaris in 7 years, but needs to run bleeding-edge versions of GCC,
   I declare that AdaCore's problem, not mine.  If the only ill effect of
   a patch of mine is to break such ancient beta versions (not
   intentionally or lightly), so be it.  I'm not jumping through hoops to
   fix that.

 Let's not misrepresent things, please.  Enhancing the existing pattern 
 matching
 code is trivial: you find the first differing frame in the stack, and you add 
 a
 new 'else if' somewhere.

You claimed that before, and that's what I tried at first to make
Solaris 11 work, but failed completely.

 Again, this pattern matching code is at least one decade old and went through
 many Solaris versions, so rewriting it from scratch was a wrong decision.

Why didn't you object then when it was submitted *and accepted*, has
been in for almost a year, been shipped with a release, and revert it
shortly before the next release?

Rainer


[Bug fortran/52151] New: Segfault with realloc on assignment and RESHAPE to unallocated LHS

2012-02-07 Thread burnus at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52151

 Bug #: 52151
   Summary: Segfault with realloc on assignment and RESHAPE to
unallocated LHS
Classification: Unclassified
   Product: gcc
   Version: 4.7.0
Status: UNCONFIRMED
  Keywords: wrong-code
  Severity: normal
  Priority: P3
 Component: fortran
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: bur...@gcc.gnu.org
CC: pa...@gcc.gnu.org


Follow up to PR 52012 and 52117.

* B is allocated with the shape (n1,n2,n3):
  - Works since the patch for PR 52012
  (Before, it had the wrong result for the last two elements)

* B is not allocated
  - Segfault since the patch for PR 52012
  - Before: no segfault but wrong result in for the last two elements

* B allocated with shape (1,1,1)
  - Since patch for PR 52012: No crash, but wrong result (2.0 and 3.0 appear
 multiple times, 5., 6., 7., 8. are missing and 4. is at the wrong
position)
  - Before: no segfault but wrong result in for the last two elements

The test case has been taken from PR 52117 with adaption to show this bug.
chapter08/puppeteer_f2003 of Damian's/Xia's/Xu's book is also affected.


I think there might be an ordering issue with regards to the zero condition and
the bounds condition. Something like the following might work (completely
untested; note also the ORIF):

--- trans-expr.c(revision 183971)
+++ trans-expr.c(working copy)
@@ -6296 +6296 @@ fcncall_realloc_result (gfc_se *se, int
-  tree zero_cond;
+  tree zero_cond, cond;
@@ -6324,0 +6325 @@ fcncall_realloc_result (gfc_se *se, int
+  cond = boolean_true_node;
@@ -6344 +6345 @@ fcncall_realloc_result (gfc_se *se, int
-  zero_cond);
+  cond);
@@ -6345,0 +6347,4 @@ fcncall_realloc_result (gfc_se *se, int
+
+   zero_cond = fold_build2_loc (input_location, TRUTH_ORIF_EXPR,
+   boolean_type_node, zero_cond,
+   cond);



! Based on the example of PR 52117 by Steven Hirshman
  PROGRAM RESHAPEIT
  INTEGER, PARAMETER :: n1=2, n2=2, n3=2
  INTEGER:: m1, m2, m3, lc
  REAL, ALLOCATABLE  :: A(:,:), B(:,:,:)
  REAL   :: val

  ALLOCATE (A(n1,n2*n3))
!  No allocation: Segfault
!  ALLOCATE (B(1,1,1))!  Does not segfault, but result is wrong
!  ALLOCATE (B(n1,n2,n3)) !  WORKS

  val = 0
  lc = 0
  DO m3=1,n3
 DO m2=1,n2
lc = lc+1
DO m1=1,n1
   val = val+1
   A(m1, lc) = val
END DO
 END DO
  END DO

  B = RESHAPE(A, [n1,n2,n3])

  lc = 0
  DO m3=1,n3
 DO m2=1,n2
lc = lc+1
DO m1=1,n1
   PRINT *,'A(',m1,',',lc,') = ',A(m1,lc),' B = ',B(m1,m2,m3)
   if (A(m1,lc) /= B(m1,m2,m3)) call abort ()
END DO
 END DO
  END DO
  DEALLOCATE(A, B)
  END PROGRAM RESHAPEIT


[Bug gcov-profile/52150] [4.7 regression] junk at end of line in Firefox PGO build

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

Andrew Pinski pinskia at gcc dot gnu.org changed:

   What|Removed |Added

   Keywords||assemble-failure
 Status|UNCONFIRMED |NEW
   Last reconfirmed||2012-02-07
  Known to work||4.6.3
   Target Milestone|--- |4.7.0
 Ever Confirmed|0   |1
  Known to fail||4.7.0

--- Comment #1 from Andrew Pinski pinskia at gcc dot gnu.org 2012-02-07 
17:41:05 UTC ---
Confirmed.


[Bug gcov-profile/52150] [4.7 regression] junk at end of line in Firefox PGO build

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

--- Comment #2 from Andrew Pinski pinskia at gcc dot gnu.org 2012-02-07 
17:42:41 UTC ---
The profiling code forgot to remove the * from the assembly name it looks like.
 The * means it is defined.


[Bug middle-end/52142] [trans-mem] inlined transaction_pure functions are instrumented

2012-02-07 Thread rth at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52142

--- Comment #3 from Richard Henderson rth at gcc dot gnu.org 2012-02-07 
17:53:14 UTC ---
We were *supposed* to already be disallowing inlining of tm_pure
into non-tm_pure functions.  At least that's what I remember...


[Bug target/51921] [4.6/4.7 regression] EH unwinding support is broken

2012-02-07 Thread ebotcazou at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51921

--- Comment #6 from Eric Botcazou ebotcazou at gcc dot gnu.org 2012-02-07 
17:54:18 UTC ---
 You know perfectly well that such a proof is practically impossible:
 that would mean updating a machine through every single Solaris 8/9/10
 kernel/libc/libthread patch ever released.  The other way round, I'd
 claim that you cannot prove that the old code works for every since such
 combination either.

I cannot indeed, but we now have a case where the old code used to work and the
new code fails. Granted, this isn't an official release, but it's annoying and
casts a legitimate doubt on the robustness of the new code.

 You claimed that before, and that's what I tried at first to make
 Solaris 11 work, but failed completely.

OK, do you know of a Solaris 11 machine to which I could have access?  AdaCore
doesn't have one for the time being.

 Why didn't you object then when it was submitted *and accepted*, has
 been in for almost a year, been shipped with a release, and revert it
 shortly before the next release?

I already managed to block a backport to the 4.5 branch. :-)  As for the
shortly, I wrote a first message on 11/28, got no answers, then applied the
change on 01/09, that is to say about 3 months before the planned shipping
date.


[Bug libstdc++/52068] libc++98.a and libc++11.a are installed

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

Andrew Pinski pinskia at gcc dot gnu.org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED

--- Comment #3 from Andrew Pinski pinskia at gcc dot gnu.org 2012-02-07 
17:56:56 UTC ---
Fixed so closing as such.


[Bug fortran/52151] Segfault with realloc on assignment and RESHAPE to unallocated LHS

2012-02-07 Thread burnus at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52151

Tobias Burnus burnus at gcc dot gnu.org changed:

   What|Removed |Added

 CC||burnus at gcc dot gnu.org

--- Comment #1 from Tobias Burnus burnus at gcc dot gnu.org 2012-02-07 
18:03:13 UTC ---
(In reply to comment #0)
 I think there might be an ordering issue with regards to the zero condition
 and the bounds condition. Something like the following might work.

Of course, it doesn't. Additionally: Don't forget about the bounds issue, which
is unrelated to the segfault.


[Bug target/51753] Many gcc.dg/simultate-thread tests fail on Solaris 10+/x86

2012-02-07 Thread ro at CeBiTec dot Uni-Bielefeld.DE
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51753

--- Comment #4 from ro at CeBiTec dot Uni-Bielefeld.DE ro at CeBiTec dot 
Uni-Bielefeld.DE 2012-02-07 18:09:45 UTC ---
 Please look at gcc.log files in your testsuite directory. There are extensive
 single-instruction traces to analyse what went wrong. Comparing your traces to
 linux execution should give you a hint.

The Solaris results were completely nonsensical at first, but ultimately
could be explained by a (long-standing, I suppose) and stupid gdb bug:

http://sourceware.org/ml/gdb-patches/2012-02/msg00075.html

With this fixed, all but the

FAIL: gcc.dg/simulate-thread/atomic-load-int128.c  -O0 -g  thread simulation
test

failures (at all optimization levels) were gone.  I didn't have the
Linux/x86_64 gcc.log available for comparison, so I still have to
investigate that one.

On Solaris 10/x86, I'm sometimes still seeing FAILs, but they may just
be timeouts.  I've have to check that, too.

I'm still seeing a large number of failures both on IRIX 6.5 and Tru64
UNIX V5.1B (both with gdb 7.4), but I suppose those are better filed as
separate PRs.  I certainly cannot compare gcc.log/g++.log output from
other OSes since have no machines running e.g. Linux for comparison.

Rainer


[Bug libitm/52042] libitm.c/clone-1.c (all darwin) and libitm.c/stackundo.c (darwin 11) execution tests fail with -fpie

2012-02-07 Thread mrs at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52042

--- Comment #7 from mrs at gcc dot gnu.org mrs at gcc dot gnu.org 2012-02-07 
18:17:33 UTC ---
Yes, love to see a patch.  I think the argument is important to get right, as
otherwise the next bug to track down will be much harder to find (I call this
bug pushing).  If you can only do part of the job, that's fine, but, please add
an assert so that we don't get silently wrong data in cases that aren't handled
yet.


[Bug libstdc++/51906] thread lock test failures on darwin11 under Xcode 4.2

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

Jack Howarth howarth at nitro dot med.uc.edu changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED

--- Comment #56 from Jack Howarth howarth at nitro dot med.uc.edu 2012-02-07 
18:34:35 UTC ---
Confirmed fixed at r183971 ...

=== libstdc++ tests ===


Running target unix/-m32

=== libstdc++ Summary for unix/-m32 ===

# of expected passes7785
# of expected failures43
# of unsupported tests572

Running target unix/-m64

=== libstdc++ Summary for unix/-m64 ===

# of expected passes7783
# of expected failures43
# of unsupported tests573

=== libstdc++ Summary ===

# of expected passes15568
# of expected failures86
# of unsupported tests1145

Compiler version: gcc libstdc++ 
Platform: x86_64-apple-darwin11.3.0
configure flags: --prefix=/sw --prefix=/sw/lib/gcc4.7 --mandir=/sw/share/man
--infodir=/sw/lib/gcc4.7/info --with-build-config=bootstrap-lto
--enable-stage1-languages=c,lto
--enable-languages=c,c++,fortran,lto,objc,obj-c++,java --with-gmp=/sw
--with-libiconv-prefix=/sw --with-ppl=/sw --with-cloog=/sw --with-mpc=/sw
--with-system-zlib --x-includes=/usr/X11R6/include --x-libraries=/usr/X11R6/lib
--program-suffix=-fsf-4.7 --enable-checking=release --enable-cloog-backend=isl


[Bug target/52152] New: MIPS ELF targets should use dbxelf.h

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

 Bug #: 52152
   Summary: MIPS ELF targets should use dbxelf.h
Classification: Unclassified
   Product: gcc
   Version: unknown
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: target
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: rsand...@gcc.gnu.org


MIPS GNU/Linux targets include dbxelf.h, but plain mips*-elf* ones don't.
They should. :-)


[Bug target/52152] MIPS ELF targets should use dbxelf.h

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

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

   What|Removed |Added

 Target||mips*-*-elf*
 Status|UNCONFIRMED |NEW
   Last reconfirmed||2012-02-07
 Ever Confirmed|0   |1


[Bug fortran/52153] New: REAL128 gives extended precision, not quad precision

2012-02-07 Thread townsend at astro dot wisc.edu
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52153

 Bug #: 52153
   Summary: REAL128 gives extended precision, not quad precision
Classification: Unclassified
   Product: gcc
   Version: 4.7.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: fortran
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: towns...@astro.wisc.edu


The REAL128 parameter defined in ISO_FORTRAN_ENV has the value 10, which
corresponds to extended precision. Should it not have a value 16, corresponding
to quad precision? 

As things currently stand, to obtain quad precision reals, I have to use
REAL(16) or REAL*16, which is non-portable; I'd rather use REAL(REAL128).


[Bug target/52154] New: va_arg with empty aligned structure fails for MIPS EABI32

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

 Bug #: 52154
   Summary: va_arg with empty aligned structure fails for MIPS
EABI32
Classification: Unclassified
   Product: gcc
   Version: unknown
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: target
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: rsand...@gcc.gnu.org


Created attachment 26605
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=26605
Failing testcase

The attached test fails on MIPS EABI32.  This doesn't seem to be a regression,
so a fix isn't suitable at this stage of 4.7.


[Bug target/52154] va_arg with empty aligned structure fails for MIPS EABI32

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

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

   What|Removed |Added

 Target||mipsisa*-*-elf*
 Status|UNCONFIRMED |NEW
   Last reconfirmed||2012-02-07
 Ever Confirmed|0   |1


[Bug target/52155] New: loongson.h requires -flax-vector-conversions with newlib targets

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

 Bug #: 52155
   Summary: loongson.h requires -flax-vector-conversions with
newlib targets
Classification: Unclassified
   Product: gcc
   Version: unknown
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: target
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: rsand...@gcc.gnu.org


loongson.h maps V2SI to a vector of int32_t.  However, GCC maps
SI to integer_type_node in preference to long_integer_type_node,
while newlib's stdint.h maps int32_t to long in preference
to int.  This leads to a lot of conversion errors when including
loongson.h unless -flax-vector-conversions is also used.

Testcase: gcc.target/mips/loongson-shift-count-truncated-1.c
compiled on mipsisa32-elf.


[Bug target/52155] loongson.h requires -flax-vector-conversions with newlib targets

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

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

   What|Removed |Added

 Target||mips*-*-elf*
 Status|UNCONFIRMED |NEW
   Last reconfirmed||2012-02-07
 Ever Confirmed|0   |1


[Bug target/52154] va_arg with empty aligned structure fails for MIPS EABI32

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

--- Comment #1 from rsandifo at gcc dot gnu.org rsandifo at gcc dot gnu.org 
2012-02-07 19:15:15 UTC ---
Author: rsandifo
Date: Tue Feb  7 19:15:10 2012
New Revision: 183977

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=183977
Log:
gcc/
PR middle-end/24306
* config/mips/mips.c (mips_std_gimplify_va_arg_expr): New function.
(mips_gimplify_va_arg_expr): Call it instead of
std_gimplify_va_arg_expr.

gcc/testsuite/
PR middle-end/24306
PR target/52154
* lib/target-supports.exp (check_effective_target_mips_eabi): New.
* gcc.target/mips/va-arg-1.c: New test.

Added:
trunk/gcc/testsuite/gcc.target/mips/va-arg-1.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/mips/mips.c
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/lib/target-supports.exp


[Bug middle-end/24306] [4.0 Regression] va_arg gets confused when skipping over certain zero-sized types with -msse

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

--- Comment #19 from rsandifo at gcc dot gnu.org rsandifo at gcc dot gnu.org 
2012-02-07 19:15:15 UTC ---
Author: rsandifo
Date: Tue Feb  7 19:15:10 2012
New Revision: 183977

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=183977
Log:
gcc/
PR middle-end/24306
* config/mips/mips.c (mips_std_gimplify_va_arg_expr): New function.
(mips_gimplify_va_arg_expr): Call it instead of
std_gimplify_va_arg_expr.

gcc/testsuite/
PR middle-end/24306
PR target/52154
* lib/target-supports.exp (check_effective_target_mips_eabi): New.
* gcc.target/mips/va-arg-1.c: New test.

Added:
trunk/gcc/testsuite/gcc.target/mips/va-arg-1.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/mips/mips.c
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/lib/target-supports.exp


[Bug target/52152] MIPS ELF targets should use dbxelf.h

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

--- Comment #1 from rsandifo at gcc dot gnu.org rsandifo at gcc dot gnu.org 
2012-02-07 19:18:33 UTC ---
Author: rsandifo
Date: Tue Feb  7 19:18:27 2012
New Revision: 183978

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=183978
Log:
gcc/testsuite/
PR target/52152
* objc.dg/stabs-1.m: XFAIL for mips*-*-elf*.

Modified:
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/objc.dg/stabs-1.m


[Bug target/52155] loongson.h requires -flax-vector-conversions with newlib targets

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

--- Comment #1 from rsandifo at gcc dot gnu.org rsandifo at gcc dot gnu.org 
2012-02-07 19:23:40 UTC ---
Author: rsandifo
Date: Tue Feb  7 19:23:35 2012
New Revision: 183979

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=183979
Log:
gcc/testsuite/
PR target/52155
* gcc.target/mips/mips.exp (mips-dg-options): Handle xfail and target.
* gcc.target/mips/loongson-shift-count-truncated-1.c: Force -mlong64
for MIPS ELF.

Modified:
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/gcc.target/mips/loongson-shift-count-truncated-1.c
trunk/gcc/testsuite/gcc.target/mips/mips.exp


[Bug c++/52156] New: add warning for allocated array being converted to pointer to base

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

 Bug #: 52156
   Summary: add warning for allocated array being converted to
pointer to base
Classification: Unclassified
   Product: gcc
   Version: 4.7.0
Status: UNCONFIRMED
  Keywords: diagnostic
  Severity: enhancement
  Priority: P3
 Component: c++
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: r...@gcc.gnu.org


struct B { int i; B() : i(0) { } };
struct D : B { int j; D() : j(1) { }};

int main()
{
B* b = new D[2];  // warning
return b[1].i;
}

It might be a good idea to warn about this code, the allocated array cannot be
safely indexed or deleted through any type except D*

There should be a warning if a new-expression allocates an array of D and the
result undergoes pointer conversion to a type that is not cv D*


[Bug fortran/52153] REAL128 gives extended precision, not quad precision

2012-02-07 Thread kargl at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52153

kargl at gcc dot gnu.org changed:

   What|Removed |Added

 CC||kargl at gcc dot gnu.org

--- Comment #1 from kargl at gcc dot gnu.org 2012-02-07 19:41:39 UTC ---
(In reply to comment #0)
 
 As things currently stand, to obtain quad precision reals, I have to use
 REAL(16) or REAL*16, which is non-portable; I'd rather use REAL(REAL128).

program foo
  use ISO_FORTRAN_ENV
  integer, parameter ::knd = selected_real_kind(p=30)
  real(REAL128) x
  real(knd) y
  print *, kind(x), kind(y)
end program foo

troutmask:sgk[208] gfc4x -o foo foo.f90  ./foo
  10  16

Yes, this is problem.  However, you can use standard
conforming code to get at REAL(16)

-- 
steve


[Bug c++/52156] add warning for allocated array being converted to pointer to base

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

Andrew Pinski pinskia at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2012-02-07
 Ever Confirmed|0   |1

--- Comment #1 from Andrew Pinski pinskia at gcc dot gnu.org 2012-02-07 
20:08:07 UTC ---
Confirmed, yes this direct assignment should have a warning.


[Bug c/43673] Incorrect warning: use of 'D' length modifier with 'a' type character

2012-02-07 Thread rsa at us dot ibm.com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43673

Ryan S. Arnold rsa at us dot ibm.com changed:

   What|Removed |Added

 CC||bergner at gcc dot gnu.org,
   ||rsa at us dot ibm.com

--- Comment #1 from Ryan S. Arnold rsa at us dot ibm.com 2012-02-07 20:14:38 
UTC ---
This also warns with %Ha (_Decimal32) and %DDa (_Decimal128).

I suspect that the correct way to deal with this is for the compiler to disable
this warning (or enable this combination) when __STDC_DEC_FP__ is set, where
__STDC_DEC_FP__ indicates BOTH the compiler and library conform to the DFP TR.

Currently this define is unavailable due to the inability of the compiler to
programmatically determine availability of libdfp at compile time.

There is a proposed GLIBC/GCC patch to provide a facility to allow this
introduced in the following email:

http://sourceware.org/ml/libc-alpha/2009-04/msg5.html


[Bug tree-optimization/14617] [tree-ssa] suboptimal code ('0' = c c = '9') ? c - '0' : 0

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

Andrew Pinski pinskia at gcc dot gnu.org changed:

   What|Removed |Added

   Last reconfirmed|2005-12-15 04:47:37 |2012-02-07 0:00

--- Comment #2 from Andrew Pinski pinskia at gcc dot gnu.org 2012-02-07 
20:18:59 UTC ---
I have a patch which improves this to:
bb 2:
  D.1957_3 = (unsigned int) c_2(D);
  D.1958_4 = D.1957_3 + 4294967248;
  if (D.1958_4 = 9)
goto bb 3;
  else
goto bb 4;

bb 3:
  D.1961_5 = (int) c_2(D);
  D.1955_6 = D.1961_5 + -48;

bb 4:
  # D.1955_1 = PHI D.1955_6(3), 0(2)

--- CUT ---
Note the addition is found via PRE on the RTL level though and then we convert
it to the an ifconversion but we should able to find that on TREE Level.


[Bug tree-optimization/52157] New: Missing FRE because of sign change

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

 Bug #: 52157
   Summary: Missing FRE because of sign change
Classification: Unclassified
   Product: gcc
   Version: 4.7.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: tree-optimization
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: pins...@gcc.gnu.org


Take:
int f(int a)
{
  unsigned int t = a;
  t-=100;
  if (t = 200 )
return a-100;
  else
return t;
}
--- CUT ---
We should able to simplify this function just to:
int f(int a)
{
  unsigned int t = a;
  t-=100;
  return t;
}


[Bug tree-optimization/52157] Missing FRE because of sign change

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

Andrew Pinski pinskia at gcc dot gnu.org changed:

   What|Removed |Added

   Keywords||missed-optimization, TREE
 Blocks||14617
   Severity|normal  |enhancement


[Bug fortran/52158] New: Regression on character function with gfortran 4.7

2012-02-07 Thread damian at rouson dot net
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52158

 Bug #: 52158
   Summary: Regression on character function with gfortran 4.7
Classification: Unclassified
   Product: gcc
   Version: unknown
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: fortran
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: dam...@rouson.net


A build from a snapshot of the development branch as of February 4 appears to
have a regression on deferred-length character functions.  The text below shows
a test that compiles with gcc 4.6.2 but not with 4.7.  

$ cat character_function.F90
module foo_class 
  implicit none 
  type foo 
  contains 
procedure :: bar
  end type 
contains 
  function bar(this)
class(foo) :: this
character(:), allocatable :: bar
  end function 
end module 
$ /opt/local/bin/gfortran-mp-4.6 -c character_function.F90
$ /opt/local/bin/gfortran-mp-4.7 -c character_function.F90
character_function.F90:9.22:

class(foo) :: this
  1
Error: Deferred-length character component 'bar' at (1) is not yet
supported
$ /opt/local/bin/gfortran-mp-4.7 --version
GNU Fortran (GCC) 4.7.0 20120204 (experimental)


Damian


[Bug lto/52159] New: ICE when building qemu with GCC 4.7 trunk: cannot read LTO decls

2012-02-07 Thread matt at use dot net
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52159

 Bug #: 52159
   Summary: ICE when building qemu with GCC 4.7 trunk: cannot read
LTO decls
Classification: Unclassified
   Product: gcc
   Version: 4.7.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: lto
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: m...@use.net


Using the attached tarball, which is the Ubuntu source package configured with
CFLAGS=-O3 -flto -floop-block -floop-interchange and LDFLAGS=-O3 -flto:


matt@matt-desktop:~/src/qemu-linaro-1.0.50-2012.01$ dh_auto_build -B
system-build
dh_auto_build: warning: line 1 of /home/matt/.config/dpkg/buildflags.conf
mentions unknown flag BUILD_CONFIG
dh_auto_build: warning: line 5 of /home/matt/.config/dpkg/buildflags.conf is
invalid, it has been ignored.
  LINK  x86_64-softmmu/qemu-system-x86_64
lto1: error: two or more sections for .gnu.lto_fprintf.4f35e9dac4cf72f5
lto1: internal compiler error: cannot read LTO decls from
/tmp/cc9TN5Ma.ltrans1.o
Please submit a full bug report,
with preprocessed source if appropriate.
See http://gcc.gnu.org/bugs.html for instructions.
lto-wrapper: gcc returned 1 exit status
/usr/bin/ld.gold.real: fatal error: lto-wrapper failed
collect2: error: ld returned 1 exit status
make[1]: *** [qemu-system-x86_64] Error 1
make: *** [subdir-x86_64-softmmu] Error 2
dh_auto_build: make -j1 returned exit code 2
matt@matt-desktop:~/src/qemu-linaro-1.0.50-2012.01$ gcc --version
gcc (GCC) 4.7.0 20120207 (experimental)
Copyright (C) 2012 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

matt@matt-desktop:~/src/qemu-linaro-1.0.50-2012.01$ ld --version
GNU gold (GNU Binutils for Ubuntu 2.22) 1.11
Copyright 2011 Free Software Foundation, Inc.


[Bug rtl-optimization/10050] ifcvt is not smart enough

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

--- Comment #10 from Andrew Pinski pinskia at gcc dot gnu.org 2012-02-07 
21:05:24 UTC ---
Note this optimized I think is invalid with the C11/C++11 memory model.


[Bug tree-optimization/21462] if statement not converted to MIN_EXPR

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

Andrew Pinski pinskia at gcc dot gnu.org changed:

   What|Removed |Added

 Depends on||10050

--- Comment #4 from Andrew Pinski pinskia at gcc dot gnu.org 2012-02-07 
21:06:42 UTC ---
Only Tst5 is not optimized, we need to do something like what is needed to be
done for PR 10050.  Note this optimization is invalid for the C11/C++ memory
model.


[Bug tree-optimization/33158] missed store sinking opportunity

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

Andrew Pinski pinskia at gcc dot gnu.org changed:

   What|Removed |Added

 Depends on||10050

--- Comment #3 from Andrew Pinski pinskia at gcc dot gnu.org 2012-02-07 
21:07:41 UTC ---
This is basically the same as PR 10050.


[Bug tree-optimization/24001] Simple redundancy not eliminated

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

Andrew Pinski pinskia at gcc dot gnu.org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED

--- Comment #8 from Andrew Pinski pinskia at gcc dot gnu.org 2012-02-07 
21:10:52 UTC ---
Tail merge (on the tree level) is able to optimize this one on the trunk


  1   2   >