[Bug fortran/54350] [4.8 Regression] FAIL: gfortran.dg/realloc_on_assign_*.f90 -O (internal compiler error) at r190586

2012-08-24 Thread burnus at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54350

--- Comment #3 from Tobias Burnus burnus at gcc dot gnu.org 2012-08-24 
07:43:31 UTC ---
Author: burnus
Date: Fri Aug 24 07:43:23 2012
New Revision: 190641

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

PR fortran/54350
* trans-array.c (free_ss_info): Free data.array.subscript.
(gfc_free_ss): No longer free data.array.subscript.
(walk_coarray): New function, moved from trans-intrinsic.c
(gfc_conv_expr_descriptor): Walk array descriptor instead
of taking passed ss.
(get_array_ctor_all_strlen, gfc_add_loop_ss_code,
gfc_conv_array_parameter): Update call and cleanup ss handling.
* trans-array.h (gfc_conv_expr_descriptor,
gfc_conv_array_parameter): Update prototype.
* trans-expr.c (gfc_conv_derived_to_class,
conv_isocbinding_procedure, gfc_conv_procedure_call,
gfc_trans_alloc_subarray_assign, gfc_trans_subcomponent_assign,
gfc_trans_pointer_assignment, gfc_trans_arrayfunc_assign): Update
call to gfc_conv_expr_descriptor and gfc_conv_array_parameter,
and clean up.
* trans-intrinsic.c (walk_coarray): Moved to trans-array.c
(trans_this_image, trans_image_index, gfc_conv_intrinsic_rank
gfc_conv_intrinsic_bound, gfc_conv_intrinsic_cobound,
gfc_conv_intrinsic_len, gfc_conv_intrinsic_size,
gfc_conv_intrinsic_sizeof, gfc_conv_intrinsic_storage_size,
gfc_conv_intrinsic_transfer, gfc_conv_allocated,
gfc_conv_associated, gfc_conv_intrinsic_loc,
conv_intrinsic_move_alloc): Update calls.
* trans-io.c (gfc_convert_array_to_string, set_internal_unit,
gfc_trans_transfer): Ditto.
* trans-stmt.c (gfc_conv_elemental_dependencies,
gfc_trans_sync, trans_associate_var,
gfc_trans_pointer_assign_need_temp): Ditto.


Modified:
trunk/gcc/fortran/ChangeLog
trunk/gcc/fortran/trans-array.c
trunk/gcc/fortran/trans-array.h
trunk/gcc/fortran/trans-expr.c
trunk/gcc/fortran/trans-intrinsic.c
trunk/gcc/fortran/trans-io.c
trunk/gcc/fortran/trans-stmt.c


[Bug fortran/54350] [4.8 Regression] FAIL: gfortran.dg/realloc_on_assign_*.f90 -O (internal compiler error) at r190586

2012-08-24 Thread burnus at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54350

Tobias Burnus burnus at gcc dot gnu.org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED

--- Comment #4 from Tobias Burnus burnus at gcc dot gnu.org 2012-08-24 
07:44:55 UTC ---
FIXED.

Sorry for the breakage, which took a bit longer than expected to fix. At least,
gfortran now leaks much less gfc_ss structs then it did before.


[Bug fortran/54350] [4.8 Regression] FAIL: gfortran.dg/realloc_on_assign_*.f90 -O (internal compiler error) at r190586

2012-08-24 Thread burnus at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54350

Tobias Burnus burnus at gcc dot gnu.org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED

--- Comment #3 from Tobias Burnus burnus at gcc dot gnu.org 2012-08-24 
07:43:31 UTC ---
Author: burnus
Date: Fri Aug 24 07:43:23 2012
New Revision: 190641

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

PR fortran/54350
* trans-array.c (free_ss_info): Free data.array.subscript.
(gfc_free_ss): No longer free data.array.subscript.
(walk_coarray): New function, moved from trans-intrinsic.c
(gfc_conv_expr_descriptor): Walk array descriptor instead
of taking passed ss.
(get_array_ctor_all_strlen, gfc_add_loop_ss_code,
gfc_conv_array_parameter): Update call and cleanup ss handling.
* trans-array.h (gfc_conv_expr_descriptor,
gfc_conv_array_parameter): Update prototype.
* trans-expr.c (gfc_conv_derived_to_class,
conv_isocbinding_procedure, gfc_conv_procedure_call,
gfc_trans_alloc_subarray_assign, gfc_trans_subcomponent_assign,
gfc_trans_pointer_assignment, gfc_trans_arrayfunc_assign): Update
call to gfc_conv_expr_descriptor and gfc_conv_array_parameter,
and clean up.
* trans-intrinsic.c (walk_coarray): Moved to trans-array.c
(trans_this_image, trans_image_index, gfc_conv_intrinsic_rank
gfc_conv_intrinsic_bound, gfc_conv_intrinsic_cobound,
gfc_conv_intrinsic_len, gfc_conv_intrinsic_size,
gfc_conv_intrinsic_sizeof, gfc_conv_intrinsic_storage_size,
gfc_conv_intrinsic_transfer, gfc_conv_allocated,
gfc_conv_associated, gfc_conv_intrinsic_loc,
conv_intrinsic_move_alloc): Update calls.
* trans-io.c (gfc_convert_array_to_string, set_internal_unit,
gfc_trans_transfer): Ditto.
* trans-stmt.c (gfc_conv_elemental_dependencies,
gfc_trans_sync, trans_associate_var,
gfc_trans_pointer_assign_need_temp): Ditto.


Modified:
trunk/gcc/fortran/ChangeLog
trunk/gcc/fortran/trans-array.c
trunk/gcc/fortran/trans-array.h
trunk/gcc/fortran/trans-expr.c
trunk/gcc/fortran/trans-intrinsic.c
trunk/gcc/fortran/trans-io.c
trunk/gcc/fortran/trans-stmt.c

--- Comment #4 from Tobias Burnus burnus at gcc dot gnu.org 2012-08-24 
07:44:55 UTC ---
FIXED.

Sorry for the breakage, which took a bit longer than expected to fix. At least,
gfortran now leaks much less gfc_ss structs then it did before.


[Bug c++/54361] Compiling for c++11 gives a warning on scanf() with %as format specifier

2012-08-24 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54361

--- Comment #4 from Jakub Jelinek jakub at gcc dot gnu.org 2012-08-24 
08:02:39 UTC ---
It has a lot with C++11, if you read that standard, you'll see that for C
library stuff it refers to ISO C99 standard.  Therefore, using %as is really
invalid in C++11 programs.


[Bug c/54363] [4.6/4.7/4.8 Regression] ICE when compiling malformed struct initializers

2012-08-24 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54363

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2012-08-24
 CC||bonzini at gnu dot org,
   ||jakub at gcc dot gnu.org,
   ||jsm28 at gcc dot gnu.org
   Target Milestone|--- |4.6.4
Summary|ICE when compiling  |[4.6/4.7/4.8 Regression]
   |malformed struct|ICE when compiling
   |initializers|malformed struct
   ||initializers
 Ever Confirmed|0   |1

--- Comment #1 from Jakub Jelinek jakub at gcc dot gnu.org 2012-08-24 
08:35:15 UTC ---
Caused by http://gcc.gnu.org/viewcvs?root=gccview=revrev=145256
The problem is that a COMPOUND_LITERAL_EXPR doesn't have CONSTRUCTOR as its
DECL_INITIAL.  Either this is a FE bug (tree.def says that it should be
CONSTRUCTOR), or we should just tweak optimize_compound_literals_in_ctor not to
recurse if TREE_CODE (init) is not CONSTRUCTOR.

Correct source would be
struct bla{char **a;};void test(void){struct bla b = {.a =(char*[]){a,b}};}


[Bug target/52990] bootstrap ia64 cross-compiler gcc (static C-only) includes a broken libgcc.a due to libunwind dependencies

2012-08-24 Thread thierry.red...@avionic-design.de
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52990

Thierry Reding thierry.red...@avionic-design.de changed:

   What|Removed |Added

 CC||thierry.reding@avionic-desi
   ||gn.de

--- Comment #1 from Thierry Reding thierry.red...@avionic-design.de 
2012-08-24 08:43:16 UTC ---
I've seen this problem when building glibc as well. It tries to build
a number of utilities and link them against libgcc with the missing
symbols that you mentioned.

In the scripts that I use to build the toolchains, I was able to solve
this by adding a configparms file to the build directory that sets
build-programs = no.

After the final gcc is built, libunwind is properly installed and can
at least be used for dynamically linked executables. I've also tested
that the resulting gcc can link static executables, though I'm not
able to execute because I lack the hardware.


[Bug c/54363] [4.6/4.7/4.8 Regression] ICE when compiling malformed struct initializers

2012-08-24 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54363

--- Comment #2 from Jakub Jelinek jakub at gcc dot gnu.org 2012-08-24 
09:08:09 UTC ---
--- gimplify.c.jj2012-08-15 10:55:33.0 +0200
+++ gimplify.c2012-08-24 11:01:55.253815273 +0200
@@ -3857,7 +3857,8 @@ optimize_compound_literals_in_ctor (tree

   if (!TREE_ADDRESSABLE (value)
!TREE_ADDRESSABLE (decl)
-   init)
+   init
+   TREE_CODE (init) == CONSTRUCTOR)
 newval = optimize_compound_literals_in_ctor (init);
 }
   if (newval == value)

fixes the ICE, we end up with b.a = (char **) a.


[Bug c++/21603] C++ front-end accepts new with VLAs

2012-08-24 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21603

Paolo Carlini paolo.carlini at oracle dot com changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 CC|gcc-bugs at gcc dot gnu.org |
 Resolution||FIXED
   Target Milestone|--- |4.8.0

--- Comment #3 from Paolo Carlini paolo.carlini at oracle dot com 2012-08-24 
11:16:38 UTC ---
Mainline is now fine.


[Bug middle-end/54364] New: Tail call jumps not threaded

2012-08-24 Thread steven at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54364

 Bug #: 54364
   Summary: Tail call jumps not threaded
Classification: Unclassified
   Product: gcc
   Version: 4.8.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: middle-end
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: ste...@gcc.gnu.org


Consider:

#undef ONE
#undef TEN
#undef HUN
#define ONE(X)  \
  void use##X (int);
#define TEN(X)  \
  ONE(X##0) ONE(X##1) ONE(X##2) ONE(X##3) ONE(X##4) \
  ONE(X##5) ONE(X##6) ONE(X##7) ONE(X##8) ONE(X##9)
#define HUN \
  TEN(0) TEN(1) TEN(2) TEN(3) TEN(4)\
  TEN(5) TEN(6) TEN(7) TEN(8) TEN(9)

TEN(1)

#undef ONE
#undef TEN
#undef HUN
#define ONE(X)  \
  case 1##X##1 ... 1##X##2: use##X (c); break;
#define TEN(X)  \
  ONE(X##0) ONE(X##1) ONE(X##2) ONE(X##3) ONE(X##4) \
  ONE(X##5) ONE(X##6) ONE(X##7) ONE(X##8) ONE(X##9)
#define HUN \
  TEN(0) TEN(1) TEN(2) TEN(3) TEN(4)\
  TEN(5) TEN(6) TEN(7) TEN(8) TEN(9)

void
foo (int c)
{
  switch (c)
{
TEN(1)
default:
  break;
}
}


With r190601, cc1 -Os -fno-jump-tables, this compiles to:

.file   t.c
.text
.globl  foo
.type   foo, @function
foo:
.LFB0:
cmpl$1142, %edi
jg  .L13
cmpl$1141, %edi
jge .L8
cmpl$1112, %edi
jg  .L14
cmpl$, %edi
jge .L11
leal-1101(%rdi), %eax
cmpl$1, %eax
ja  .L1
jmp .L16
.L14:
cmpl$1121, %edi
jl  .L1
cmpl$1122, %edi
jle .L10
leal-1131(%rdi), %eax
cmpl$1, %eax
ja  .L1
jmp .L17
.L13:
cmpl$1172, %edi
jg  .L15
cmpl$1171, %edi
jge .L5
cmpl$1151, %edi
jl  .L1
cmpl$1152, %edi
jle .L7
leal-1161(%rdi), %eax
cmpl$1, %eax
ja  .L1
jmp .L18
.L15:
cmpl$1181, %edi
jl  .L1
cmpl$1182, %edi
jle .L4
leal-1191(%rdi), %eax
cmpl$1, %eax
ja  .L1
jmp .L19
.L16:
jmp use10
.L11:
jmp use11
.L10:
jmp use12
.L17:
jmp use13
.L8:
jmp use14
.L7:
jmp use15
.L18:
jmp use16
.L5:
jmp use17
.L4:
jmp use18
.L19:
jmp use19
.L1:
ret
.LFE0:
.size   foo, .-foo
.section.eh_frame,a,@progbits
.Lframe1:
.long   .LECIE1-.LSCIE1
.LSCIE1:
.long   0
.byte   0x3
.string zR
.uleb128 0x1
.sleb128 -8
.uleb128 0x10
.uleb128 0x1
.byte   0x3
.byte   0xc
.uleb128 0x7
.uleb128 0x8
.byte   0x90
.uleb128 0x1
.align 8
.LECIE1:
.LSFDE1:
.long   .LEFDE1-.LASFDE1
.LASFDE1:
.long   .LASFDE1-.Lframe1
.long   .LFB0
.long   .LFE0-.LFB0
.uleb128 0
.align 8
.LEFDE1:
.ident  GCC: (GNU) 4.8.0 20120822 (experimental) [trunk \
revision 190601]
.section.note.GNU-stack,,@progbits


Note the missed jump threading opportunities from the case decision tree to
the tail calls.

The RTL for one of the missed tail calls looks like this:
...
# BLOCK 11 freq:157 seq:9
# PRED: 10 [50.0%]  (FALLTHRU)
# SUCC: 25 [100.0%]
#  145 pc=L144
jmp .L17# 145   jump[length = 2]
...
# BLOCK 25 freq:909 seq:23
# PRED: 11 [100.0%]
.L17:
# SUCC: EXIT [100.0%]  (ABNORMAL,SIBCALL)
#   79 call ...
#  REG_DEAD: di:SI
jmp use13   # 79*sibcall[length = 5]

I am guessing that jumps to calls are not handled as jump threading
opportunities because the call_insn isn't recognized as just a jump.


[Bug middle-end/54364] Tail call jumps not threaded

2012-08-24 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54364

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

 CC||jakub at gcc dot gnu.org

--- Comment #1 from Jakub Jelinek jakub at gcc dot gnu.org 2012-08-24 
11:44:53 UTC ---
It often isn't just a jump, in many cases it is a lot of insns, to restore
stack, etc.  You don't know that until prologues/epilogues are expanded.


[Bug c++/6030] References to functions as non-type template args

2012-08-24 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=6030

Paolo Carlini paolo.carlini at oracle dot com changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 CC|gcc-bugs at gcc dot gnu.org |
 Resolution||FIXED

--- Comment #6 from Paolo Carlini paolo.carlini at oracle dot com 2012-08-24 
11:47:42 UTC ---
Fixed long time ago: lately the error message explicitly says:

error: ‘int()’ is not a valid type for a template non-type parameter


[Bug c++/52269] [C++11] Body of constexpr function templates instantiated too eagerly in unevaluated operands

2012-08-24 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52269

Jonathan Wakely redi at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2012-08-24
 Ever Confirmed|0   |1


[Bug c++/52597] [C++11] missing diagnostics for invalid use of non-static member function in decltype

2012-08-24 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52597

--- Comment #3 from Jonathan Wakely redi at gcc dot gnu.org 2012-08-24 
11:53:19 UTC ---
As the testcase is rejected by 4,7 and trunk, can we close this?


[Bug c++/52816] [C++11] Access to private members inside decltype in the signature of a member template causes access control error

2012-08-24 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52816

Jonathan Wakely redi at gcc dot gnu.org changed:

   What|Removed |Added

  Known to work||4.8.0
  Known to fail||4.7.1

--- Comment #2 from Jonathan Wakely redi at gcc dot gnu.org 2012-08-24 
11:54:54 UTC ---
This compiles OK with trunk


[Bug rtl-optimization/54365] New: ARM optimization bug when pointer arithmetic wraps

2012-08-24 Thread g...@undo-software.com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54365

 Bug #: 54365
   Summary: ARM optimization bug when pointer arithmetic wraps
Classification: Unclassified
   Product: gcc
   Version: 4.6.3
Status: UNCONFIRMED
  Severity: major
  Priority: P3
 Component: rtl-optimization
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: g...@undo-software.com


Created attachment 28077
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=28077
Simple program showing the bug.

Apologies if I've got the wrong component - it was a bit of a guess!

The attached program shows a fairly simple, but I think nasty, bug in GCC on
ARM. It seems to be present on at least versions 4.4.5, 4.5.1 and 4.6.3. If
compiled without optimisation, it behaves as I expect: adding 4 to a pointer
such that it wraps gives a pointer that is less than the original.  With -O2,
that is not the case. I note that the problem does not occur if I use integer
types.

Transcript follows (.c file attached separately and in transcript below for
convenience):

 $ cat compilerbug.c 
#include stdio.h

int
main( void)
{
unsigned char* addr = (unsigned char*)0xfffe;
unsigned len = 4;

if ( addr+len  addr)
{
printf( it wraps\n);
}
else
{
printf( no wrap\n);
}

return 0;
}
 $ gcc --version
gcc (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3
Copyright (C) 2011 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

 $ gcc compilerbug.c 
 $ ./a.out 
it wraps
 $ # As expected. Now let's try with optimisations.
 $ gcc -O2 compilerbug.c 
 $ ./a.out 
no wrap
 $ # Oh dear!


[Bug c++/54366] New: [meta-bug] decltype issues

2012-08-24 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54366

 Bug #: 54366
   Summary: [meta-bug] decltype issues
Classification: Unclassified
   Product: gcc
   Version: 4.8.0
Status: UNCONFIRMED
  Keywords: meta-bug
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: r...@gcc.gnu.org
Depends on: 45282, 51157, 51786, 52748, 53311, 53721, 54359


[Bug middle-end/54364] Tail call jumps not threaded

2012-08-24 Thread stevenb.gcc at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54364

--- Comment #2 from stevenb.gcc at gmail dot com stevenb.gcc at gmail dot com 
2012-08-24 12:01:40 UTC ---
With -O2 this is cleaned up by bb-reorder.


[Bug c++/51412] [c++0x] Broken diagnostic with invalid lambda expressions

2012-08-24 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51412

Jonathan Wakely redi at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2012-08-24
 Ever Confirmed|0   |1
  Known to fail||4.7.1, 4.8.0


[Bug c++/53551] -Wunused-local-typedefs misses uses

2012-08-24 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53551

--- Comment #2 from Paolo Carlini paolo.carlini at oracle dot com 2012-08-24 
12:07:57 UTC ---
Dodji, can we do something about this?


[Bug c++/54367] New: [meta-bug] [C++11] lambda expressions

2012-08-24 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54367

 Bug #: 54367
   Summary: [meta-bug] [C++11] lambda expressions
Classification: Unclassified
   Product: gcc
   Version: 4.8.0
Status: UNCONFIRMED
  Keywords: meta-bug
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: r...@gcc.gnu.org
Depends on: 41933, 50939, 51412, 51422, 51494, 51884, 52014,
52026, 52374, 52613, 52619, 53486, 54170, 54276


[Bug c++/54359] [C++0x] decltype in member function's trailing return type when defined outside of class

2012-08-24 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54359

--- Comment #2 from Jonathan Wakely redi at gcc dot gnu.org 2012-08-24 
12:10:26 UTC ---
Done, see PR 54366 and PR 54367 (I probably missed some that could be added to
the meta bugs)


[Bug c++/54359] [C++0x] decltype in member function's trailing return type when defined outside of class

2012-08-24 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54359

Paolo Carlini paolo.carlini at oracle dot com changed:

   What|Removed |Added

 CC||paolo.carlini at oracle dot
   ||com

--- Comment #3 from Paolo Carlini paolo.carlini at oracle dot com 2012-08-24 
12:21:21 UTC ---
Great. I'm adding to the decltype one 16375 too to be safe, but it's worth
another look.


[Bug c++/54198] [4.8 Regression] error: invalid use of incomplete type when building Chromium

2012-08-24 Thread markus at trippelsdorf dot de
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54198

--- Comment #4 from Markus Trippelsdorf markus at trippelsdorf dot de 
2012-08-24 12:37:21 UTC ---
Ping. Any update on this issue?


[Bug target/54222] [avr] Implement fixed-point support

2012-08-24 Thread gjl at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54222

--- Comment #4 from Georg-Johann Lay gjl at gcc dot gnu.org 2012-08-24 
12:42:53 UTC ---
Author: gjl
Date: Fri Aug 24 12:42:48 2012
New Revision: 190644

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=190644
Log:
libgcc/
PR target/54222
* config/avr/lib1funcs-fixed.S: New file.
* config/avr/lib1funcs.S: Include it.  Undefine some divmodsi
after they are used.
(neg2, neg4): New macros.
(__mulqihi3,__umulqihi3,__mulhi3): Rewrite non-MUL variants.
(__mulhisi3,__umulhisi3,__mulsi3): Rewrite non-MUL variants.
(__umulhisi3): Speed up MUL variant if there is enough flash.
* config/avr/avr-lib.h (TA, UTA): Adjust according to gcc's
avr-modes.def.
* config/avr/t-avr (LIB1ASMFUNCS): Add: _fractqqsf, _fractuqqsf,
_fracthqsf, _fractuhqsf, _fracthasf, _fractuhasf, _fractsasf,
_fractusasf, _fractsfqq, _fractsfuqq, _fractsfhq, _fractsfuhq,
_fractsfha, _fractsfsa, _mulqq3, _muluqq3, _mulhq3, _muluhq3,
_mulha3, _muluha3, _mulsa3, _mulusa3, _divqq3, _udivuqq3, _divhq3,
_udivuhq3, _divha3, _udivuha3, _divsa3, _udivusa3.
(LIB2FUNCS_EXCLUDE): Add supported functions.

gcc/
PR target/54222
* avr-modes.def (HA, SA, DA, TA, UTA): Adjust modes.
* avr/avr-fixed.md: New file.
* avr/avr.md: Include it.
(cc): Add: minus.
(adjust_len): Add: minus, minus64, ufract, sfract.
(ALL1, ALL2, ALL4, ORDERED234): New mode iterators.
(MOVMODE): Add: QQ, UQQ, HQ, UHQ, HA, UHA, SQ, USQ, SA, USA.
(MPUSH): Add: HQ, UHQ, HA, UHA, SQ, USQ, SA, USA.
(pushqi1, xload8_A, xload_8, movqi_insn, *reload_inqi, addqi3,
subqi3, ashlqi3, *ashlqi3, ashrqi3, lshrqi3, *lshrqi3, *cmpqi, 
cbranchqi4, *cpse.eq): Generalize to handle all 8-bit modes in ALL1.
(*movhi, reload_inhi, addhi3, *addhi3, addhi3_clobber, subhi3,
ashlhi3, *ashlhi3_const, ashrhi3, *ashirhi3_const, lshrhi3,
*lshrhi3_const, *cmphi, cbranchhi4): Generalize to handle all
16-bit modes in ALL2.
(subhi3, casesi, strlenhi): Add clobber when expanding minus:HI.
(*movsi, *reload_insi, addsi3, subsi3, ashlsi3, *ashlsi3_const,
ashrsi3, *ashrhi3_const, *ashrsi3_const, lshrsi3, *lshrsi3_const,
*reversed_tstsi, *cmpsi, cbranchsi4): Generalize to handle all
32-bit modes in ALL4.
* avr-dimode.md (ALL8): New mode iterator.
(adddi3, adddi3_insn, adddi3_const_insn, subdi3, subdi3_insn,
subdi3_const_insn, cbranchdi4, compare_di2,
compare_const_di2, ashrdi3, lshrdi3, rotldi3, ashldi3_insn,
ashrdi3_insn, lshrdi3_insn, rotldi3_insn): Generalize to handle
all 64-bit modes in ALL8.
* config/avr/avr-protos.h (avr_to_int_mode): New prototype.
(avr_out_fract, avr_out_minus, avr_out_minus64): New prototypes.
* config/avr/avr.c (TARGET_FIXED_POINT_SUPPORTED_P): Define to...
(avr_fixed_point_supported_p): ...this new static function.
(TARGET_BUILD_BUILTIN_VA_LIST): Define to...
(avr_build_builtin_va_list): ...this new static function.
(avr_adjust_type_node): New static function.
(avr_scalar_mode_supported_p): Allow if ALL_FIXED_POINT_MODE_P.
(avr_builtin_setjmp_frame_value): Use gen_subhi3 and return new
pseudo instead of gen_rtx_MINUS.
(avr_print_operand, avr_operand_rtx_cost): Handle: CONST_FIXED.
(notice_update_cc): Handle: CC_MINUS.
(output_movqi): Generalize to handle respective fixed-point modes.
(output_movhi, output_movsisf, avr_2word_insn_p): Ditto.
(avr_out_compare, avr_out_plus_1): Also handle fixed-point modes.
(avr_assemble_integer): Ditto.
(output_reload_in_const, output_reload_insisf): Ditto.
(avr_compare_pattern): Skip all modes  4 bytes.
(avr_2word_insn_p): Skip movuqq_insn, movqq_insn.
(avr_out_fract, avr_out_minus, avr_out_minus64): New functions.
(avr_to_int_mode): New function.
(adjust_insn_length): Handle: ADJUST_LEN_SFRACT,
ADJUST_LEN_UFRACT, ADJUST_LEN_MINUS, ADJUST_LEN_MINUS64.
* config/avr/predicates.md (const0_operand): Allow const_fixed.
(const_operand, const_or_immediate_operand): New.
(nonmemory_or_const_operand): New.
* config/avr/constraints.md (Ynn, Y00, Y01, Y02, Ym1, Ym2, YIJ):
New constraints.
* config/avr/avr.h (LONG_LONG_ACCUM_TYPE_SIZE): Define.


Added:
trunk/gcc/config/avr/avr-fixed.md
trunk/libgcc/config/avr/lib1funcs-fixed.S
Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/avr/avr-dimode.md
trunk/gcc/config/avr/avr-modes.def
trunk/gcc/config/avr/avr-protos.h
trunk/gcc/config/avr/avr.c
trunk/gcc/config/avr/avr.h
trunk/gcc/config/avr/avr.md
trunk/gcc/config/avr/constraints.md
trunk/gcc/config/avr/predicates.md
trunk/libgcc/ChangeLog
trunk/libgcc/config/avr/avr-lib.h
trunk/libgcc/config/avr/lib1funcs.S
trunk/libgcc/config/avr/t-avr


[Bug c++/52597] [C++11] missing diagnostics for invalid use of non-static member function in decltype

2012-08-24 Thread hstong at ca dot ibm.com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52597

--- Comment #4 from Hubert Tong hstong at ca dot ibm.com 2012-08-24 12:42:58 
UTC ---
I find the message to be confusing.


[Bug target/54222] [avr] Implement fixed-point support

2012-08-24 Thread gjl at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54222

--- Comment #5 from Georg-Johann Lay gjl at gcc dot gnu.org 2012-08-24 
13:01:58 UTC ---
Author: gjl
Date: Fri Aug 24 13:01:54 2012
New Revision: 190646

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=190646
Log:
PR target/54222
* config/avr/t-avr (conv_X): Rename to func_X.


Modified:
trunk/libgcc/ChangeLog
trunk/libgcc/config/avr/t-avr


[Bug debug/52857] DW_OP_GNU_regval_type is generated with INVALID_REGNUM

2012-08-24 Thread hjl at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52857

--- Comment #8 from hjl at gcc dot gnu.org hjl at gcc dot gnu.org 2012-08-24 
13:22:02 UTC ---
Author: hjl
Date: Fri Aug 24 13:21:55 2012
New Revision: 190647

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=190647
Log:
Allow arg_pointer_rtx/frame_pointer_rtx for based_loc_descr

gcc/

PR debug/52857
* dwarf2out.c (mem_loc_descriptor): Allow arg_pointer_rtx and
frame_pointer_rtx for based_loc_descr.

gcc/testsuite/

PR debug/52857
* gcc.target/i386/pr52857-1.c: New.
* gcc.target/i386/pr52857-2.c: Likewise.

Added:
trunk/gcc/testsuite/gcc.target/i386/pr52857-1.c
trunk/gcc/testsuite/gcc.target/i386/pr52857-2.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/dwarf2out.c
trunk/gcc/testsuite/ChangeLog


[Bug c++/54368] New: [c++0x] Internal error when passing an identifier in static_assert instead of string-literal

2012-08-24 Thread im.razzy at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54368

 Bug #: 54368
   Summary: [c++0x] Internal error when passing an identifier in
static_assert instead of string-literal
Classification: Unclassified
   Product: gcc
   Version: 4.8.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: im.ra...@gmail.com


Created attachment 28078
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=28078
Automatic created attachment: /tmp/ccWAFQ2I.out

This simple code causes an internal error:

char *string = 1;

int main() {
static_assert(0, string);
}

This is the result of my compiling attempt:

$ g++ --std=c++11 bug.cc
bug.cc: In function 'int main()':   
bug.cc:4:22: error: expected string-literal before 'string' 
bug.cc:4:22: error: expected ')' before 'string'
bug.cc:4:5: internal compiler error: tree check: expected string_cst, have
error_mark in finish_static_assert, at cp/semantics.c:5135  
Please submit a full bug report,
with preprocessed source if appropriate.
See file:///usr/share/doc/gcc-snapshot/README.Bugs for instructions.
Preprocessed source stored into /tmp/cc3YRBkR.out file, please attach this to
your bugreport.
razinov@razinov-desktop ~/tmp $ 

As you can find, EVERY type of the variable string causes the same error.

Environment: gcc version 4.8.0 20120314 (experimental) [trunk revision 185382]
(Ubuntu/Linaro 20120314-0ubuntu2)


[Bug fortran/25708] Module loading is not good at all

2012-08-24 Thread Joost.VandeVondele at mat dot ethz.ch
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25708

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

   What|Removed |Added

 Depends on||40958

--- Comment #21 from Joost VandeVondele Joost.VandeVondele at mat dot ethz.ch 
2012-08-24 14:00:40 UTC ---
I did another timing experiment on compiling CP2K. I found that on my server,
compiling with -fsyntax-only is as fast as just compiling at -O0. I believe the
reason for this is that module reading is dominating the compile time. In CP2K
each module is included only once per file, so I think it is the efficiency of
reading the module that matters most. My guess would be that the human readable
format of the .mod file is the source of most inefficiency. Is it still
important to the development of gfortran that the .mod file is in this form ?
If I count the number of times a module is used, and multiply that with the
size, I have about 1Gb of .mod files being parsed per CP2K compile (for about
35Mb of Fortran).


[Bug c++/54198] [4.8 Regression] error: invalid use of incomplete type when building Chromium

2012-08-24 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54198

Jonathan Wakely redi at gcc dot gnu.org changed:

   What|Removed |Added

   Keywords||rejects-valid
 Status|UNCONFIRMED |NEW
   Last reconfirmed||2012-08-24
 Ever Confirmed|0   |1


[Bug c++/52597] [C++11] confusing diagnostics for invalid use of non-static member function in decltype

2012-08-24 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52597

Jonathan Wakely redi at gcc dot gnu.org changed:

   What|Removed |Added

   Keywords|accepts-invalid,|diagnostic
   |rejects-valid, wrong-code   |
 Status|UNCONFIRMED |NEW
   Last reconfirmed||2012-08-24
Version|4.6.0   |4.7.1
Summary|[C++11] missing diagnostics |[C++11] confusing
   |for invalid use of  |diagnostics for invalid use
   |non-static member function  |of non-static member
   |in decltype |function in decltype
 Ever Confirmed|0   |1
  Known to fail|4.3.2, 4.4.0, 4.5.0, 4.6.0  |

--- Comment #5 from Jonathan Wakely redi at gcc dot gnu.org 2012-08-24 
14:06:45 UTC ---
OK, let's change it from an accepts-invalid with 4.6 to a diagnostic issue with
4.7


[Bug c++/54368] [c++0x] Internal error when passing an identifier in static_assert instead of string-literal

2012-08-24 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54368

--- Comment #1 from Jonathan Wakely redi at gcc dot gnu.org 2012-08-24 
14:08:16 UTC ---
works fine with 4.7.1 or 4.8 20120819


[Bug c++/54368] [c++0x] Internal error when passing an identifier in static_assert instead of string-literal

2012-08-24 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54368

Paolo Carlini paolo.carlini at oracle dot com changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||FIXED

--- Comment #2 from Paolo Carlini paolo.carlini at oracle dot com 2012-08-24 
14:17:48 UTC ---
Then closing.


[Bug target/52990] bootstrap ia64 cross-compiler gcc (static C-only) includes a broken libgcc.a due to libunwind dependencies

2012-08-24 Thread vapier at gentoo dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52990

--- Comment #2 from Mike Frysinger vapier at gentoo dot org 2012-08-24 
15:41:11 UTC ---
(In reply to comment #1)

yes, the build-programs = no hack is also what i do.  from my tests in the
past, the cross-compiler produced usable executables.

note, there is an ia64 simulator that you can boot an ia64 kernel + userland in
to do testing (if you really want).

http://ski.sourceforge.net/
http://www.gelato.unsw.edu.au/IA64wiki/SkiSimulator


[Bug c++/51660] ICE on function missing argument list

2012-08-24 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51660

Paolo Carlini paolo.carlini at oracle dot com changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED

--- Comment #2 from Paolo Carlini paolo.carlini at oracle dot com 2012-08-24 
16:22:49 UTC ---
No ICE anymore in mainline and 4_7-branch.


[Bug c++/51661] ICE when template class list repeated

2012-08-24 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51661

Paolo Carlini paolo.carlini at oracle dot com changed:

   What|Removed |Added

 Status|NEW |RESOLVED
  Known to work||4.8.0
 Resolution||FIXED
   Target Milestone|--- |4.8.0

--- Comment #2 from Paolo Carlini paolo.carlini at oracle dot com 2012-08-24 
16:24:51 UTC ---
No ICE anymore in mainline.


[Bug rtl-optimization/54369] New: Delayed-branch pass in reorg.c removes too many instructions

2012-08-24 Thread chaoyingfu at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54369

 Bug #: 54369
   Summary: Delayed-branch pass in reorg.c removes too many
instructions
Classification: Unclassified
   Product: gcc
   Version: unknown
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: rtl-optimization
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: chaoyin...@gcc.gnu.org


Created attachment 28079
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=28079
A simple test for an issue in reorg.c

Please check this example when using GCC 4.6 for mips-linux-gnu.
(I think the issue is in GCC 4.7 and later as well.  But due to the basic block
ordering, I cannot reproduce this issue.)
Ex:
# /gcc46branch/build-mips/gcc/cc1plus -quiet Bug.i -o Bug.s -mips32r2 -O2
# cat Bug.s
_Z3bugP9ValueRTRK:
.frame  $sp,0,$31   # vars= 0, regs= 0/0, args= 0, gp= 0
.mask   0x,0
.fmask  0x,0
.setnoreorder
.setnomacro
lw  $2,0($4) -
lw  $2,0($2) - (NO RETURN IN THIS FUNCTION.)
.setmacro
.setreorder
.end_Z3bugP9ValueRTRK
.cfi_endproc
$LFE13:
.size   _Z3bugP9ValueRTRK, .-_Z3bugP9ValueRTRK
.ident  GCC: (GNU) 4.6.4 20120823 (prerelease) [gcc-4_6-branch
revision
 190613]

  The delayed-branch pass in reorg.c is too aggressive, such that a return
instruction and others are removed.  From debugging code in reorg.c:
delete_jump() - delete_computation() - delete_related_insn(), I think we
should not use delete_related_insn() that removes branches and all the
following instructions.  A simple fix may be just using delete_insn() in
delete_computation().
Ex: # svn diff reorg.c
Index: reorg.c
===
--- reorg.c (revision 190636)
+++ reorg.c (working copy)
@@ -3298,7 +3298,7 @@
   delete_prior_computation (note, insn);
 }

-  delete_related_insns (insn);
+  delete_insn (insn);
 }

 /* If all INSN does is set the pc, delete it,

Ex: (Bug.s after this fix.)
# cat Bug.s
_Z3bugP9ValueRTRK:
.frame  $sp,0,$31   # vars= 0, regs= 0/0, args= 0, gp= 0
.mask   0x,0
.fmask  0x,0
.setnoreorder
.setnomacro
lw  $2,0($4)
lw  $2,0($2)
$L4:
j   $31  - OK
srl $2,$2,8  - OK

.setmacro
.setreorder
.end_Z3bugP9ValueRTRK
.cfi_endproc
$LFE13:
.size   _Z3bugP9ValueRTRK, .-_Z3bugP9ValueRTRK
.ident  GCC: (GNU) 4.6.4 20120823 (prerelease) [gcc-4_6-branch
revision
 190613]

Thanks!


[Bug rtl-optimization/54365] ARM optimization bug when pointer arithmetic wraps

2012-08-24 Thread pinskia at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54365

--- Comment #1 from Andrew Pinski pinskia at gcc dot gnu.org 2012-08-24 
18:23:50 UTC ---
This code as far as I Know is undefined.  Pointer arithmetic overflow is
undefined and not wrapping.  Mainly because there is no way to add a positive
number to an object and get back a NULL pointer.


[Bug rtl-optimization/54365] ARM optimization bug when pointer arithmetic wraps

2012-08-24 Thread g...@undo-software.com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54365

--- Comment #2 from Greg Law g...@undo-software.com 2012-08-24 18:38:24 UTC 
---
Yes, I think you're right: I hadn't appreciated that.

Still, even though it's undefined, it's slightly strange behaviour for the
compiler to adopt. I guess it's reasonable to close this bug as invalid though
if you consider that the most appropriate action.


[Bug rtl-optimization/54365] ARM optimization bug when pointer arithmetic wraps

2012-08-24 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54365

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

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

--- Comment #3 from Jakub Jelinek jakub at gcc dot gnu.org 2012-08-24 
18:42:46 UTC ---
Invalid.


[Bug c++/49931] bug when use named operators

2012-08-24 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49931

Paolo Carlini paolo.carlini at oracle dot com changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2012-08-24
 Ever Confirmed|0   |1

--- Comment #1 from Paolo Carlini paolo.carlini at oracle dot com 2012-08-24 
21:06:59 UTC ---
Confirmed.


[Bug c++/50921] GCC cannot find dependent conversion-function-id even if there's a using declaration for it

2012-08-24 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50921

Paolo Carlini paolo.carlini at oracle dot com changed:

   What|Removed |Added

 CC||fabien at gcc dot gnu.org

--- Comment #2 from Paolo Carlini paolo.carlini at oracle dot com 2012-08-24 
21:11:13 UTC ---
Fabien, you may be interested in this one.


[Bug c++/51421] [c++0x] ICE with invalid use of auto

2012-08-24 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51421

Paolo Carlini paolo.carlini at oracle dot com changed:

   What|Removed |Added

 Status|NEW |ASSIGNED
 AssignedTo|unassigned at gcc dot   |paolo.carlini at oracle dot
   |gnu.org |com
   Target Milestone|--- |4.8.0

--- Comment #2 from Paolo Carlini paolo.carlini at oracle dot com 2012-08-24 
21:15:44 UTC ---
In mainline we now produce useful diagnostics before ICEing, likely the ICE
itself is much easier to fix.


[Bug c/54355] ICE on invalid code in switch statement

2012-08-24 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54355

--- Comment #3 from Jakub Jelinek jakub at gcc dot gnu.org 2012-08-24 
21:45:28 UTC ---
Author: jakub
Date: Fri Aug 24 21:45:22 2012
New Revision: 190656

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=190656
Log:
PR c/54355
* c-decl.c (c_parser_label): Pass true as nested and fix up comments
for nested and empty_ok arguments in the call to
c_parser_declaration_or_fndef.

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

Added:
trunk/gcc/testsuite/gcc.dg/pr54355.c
Modified:
trunk/gcc/c/ChangeLog
trunk/gcc/c/c-parser.c
trunk/gcc/testsuite/ChangeLog


[Bug c/54363] [4.6/4.7/4.8 Regression] ICE when compiling malformed struct initializers

2012-08-24 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54363

--- Comment #3 from Jakub Jelinek jakub at gcc dot gnu.org 2012-08-24 
21:46:24 UTC ---
Author: jakub
Date: Fri Aug 24 21:46:17 2012
New Revision: 190657

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=190657
Log:
PR c/54363
* gimplify.c (optimize_compound_literals_in_ctor): Only recurse
if init is a CONSTRUCTOR.

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

Added:
trunk/gcc/testsuite/gcc.dg/pr54363.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/gimplify.c
trunk/gcc/testsuite/ChangeLog


[Bug fortran/54370] New: error: non-trivial conversion in unary operation

2012-08-24 Thread chilikin.k at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54370

 Bug #: 54370
   Summary: error: non-trivial conversion in unary operation
Classification: Unclassified
   Product: gcc
   Version: 4.7.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: fortran
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: chiliki...@gmail.com


The following:

  MODULE M
  CONTAINS

  LOGICAL(C_BOOL) FUNCTION L() BIND(C)
  USE, INTRINSIC :: ISO_C_BINDING
  L = .FALSE.
  END FUNCTION

  SUBROUTINE S()
  DO WHILE (L())
  ENDDO
  END

  END

(also in attached file)

Results in:

$ gfortran -c test.f08 
test.f08: In function 's':  
test.f08:10:0: error: non-trivial conversion in unary operation 
logical(kind=4) 
logical(kind=1)
D.1858 = ~D.1857;

test.f08:10: confused by earlier errors, bailing out

With compiler:

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

The same error appears in version 4.7.1.

Compilation works in version 4.6.3 without any errors.


[Bug fortran/54370] error: non-trivial conversion in unary operation

2012-08-24 Thread chilikin.k at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54370

--- Comment #1 from Kirill Chilikin chilikin.k at gmail dot com 2012-08-24 
21:51:19 UTC ---
Created attachment 28080
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=28080
testcase


[Bug target/28896] -fstack-limit-symbol and m68k and non 68020

2012-08-24 Thread baker at usgs dot gov
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28896

--- Comment #19 from Larry Baker baker at usgs dot gov 2012-08-25 00:28:56 
UTC ---
I plan to start testing my patches on a ColdFire uClinux system on Monday.  In
the mean time, I am unsure whether my code is correct for the -fPIC
-mno-sep-data case.  I do not know if a5 is a volatile register, or if,
instead, it must be saved/restored.  It is possible (as shown by my example)
that a5 might otherwise not be needed by the code in a procedure.  In that
case, my code is not enabling the save/restore of a5, which would be wrong if
a5 is not volatile.  This is not a problem for -msep-data (implies -fPIC),
since a5 already has the correct value, and is not altered by my code.  I will
investigate whether a5 is volatile.  If anyone knows the answer already, please
add a comment.  If anyone can recommend what has to be called or modified to
force a5 to be saved/restored, I would appreciate hearing about that as well.

Thank you,

Larry Baker


[Bug target/28896] -fstack-limit-symbol and m68k and non 68020

2012-08-24 Thread baker at usgs dot gov
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28896

Larry Baker baker at usgs dot gov changed:

   What|Removed |Added

  Attachment #27998|0   |1
is obsolete||

--- Comment #20 from Larry Baker baker at usgs dot gov 2012-08-25 02:22:30 
UTC ---
Created attachment 28081
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=28081
Patch for trunk version 2012-08-12 of gcc/config/m68k/m68k.c

Correct call to plus_constant() (Pmode was missing).

Change 4 to INCOMING_FRAME_SP_OFFSET in call to plus_constant().  (I am
assuming the hard-coded 4 is the symbolic constant INCOMING_FRAME_SP_OFFSET. 
Please let me know if that is wrong.)


[Bug c++/51213] [C++11][DR 1170] Access control checking has to be done under SFINAE conditions

2012-08-24 Thread jason at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51213

--- Comment #13 from Jason Merrill jason at gcc dot gnu.org 2012-08-25 
03:30:16 UTC ---
Author: jason
Date: Sat Aug 25 03:30:11 2012
New Revision: 190664

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=190664
Log:
PR c++/51213 (again)
* pt.c (deduction_tsubst_fntype): Remove.
(fn_type_unification): Check deduction depth and call
instantiate_template here.  Handle default argument access checks.
(determine_specialization): Suppress access control.
(tsubst_decl): Check for excessive deduction depth.
(recheck_decl_substitution): Make sure access control is on.
(type_unification_real): Don't mess with access deferring here.
(get_bindings): Adjust for fn_type_unification return type.
* call.c (enum rejection_reason_code): Drop rr_template_instantiation.
(template_instantiation_rejection): Remove.
(struct rejection_reason): Change targs to num_targs.
(template_unification_rejection, print_z_candidate): Adjust.
(add_template_candidate_real): Adjust for fn_type_unification change.
* class.c (resolve_address_of_overloaded_function): Likewise.
* cp-tree.h: Adjust declaration.

Added:
trunk/gcc/testsuite/g++.dg/cpp0x/fntmpdefarg3.C
Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/call.c
trunk/gcc/cp/class.c
trunk/gcc/cp/cp-tree.h
trunk/gcc/cp/pt.c


[Bug middle-end/54371] New: [4.8 Regression] a lot of testcase failures on mips64-linux-gnu (soft-float)

2012-08-24 Thread pinskia at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54371

 Bug #: 54371
   Summary: [4.8 Regression] a lot of testcase failures on
mips64-linux-gnu (soft-float)
Classification: Unclassified
   Product: gcc
   Version: 4.8.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: middle-end
AssignedTo: unassig...@gcc.gnu.org
ReportedBy: pins...@gcc.gnu.org


In the last week something caused lots of failures on mips64-linux-gnu.

FAIL: gcc.dg/cleanup-10.c execution test
FAIL: gcc.dg/cleanup-11.c execution test
FAIL: gcc.dg/cleanup-12.c execution test
FAIL: gcc.dg/cleanup-13.c execution test
FAIL: gcc.dg/cleanup-5.c execution test
FAIL: gcc.dg/cleanup-8.c execution test
FAIL: gcc.dg/cleanup-9.c execution test
FAIL: gcc.dg/duff-3.c execution test
FAIL: 23_containers/vector/bool/modifiers/insert/31370.cc execution test
FAIL: 23_containers/vector/capacity/2.cc execution test
FAIL: 23_containers/vector/capacity/29134-2.cc execution test
FAIL: 23_containers/vector/capacity/8230.cc execution test
FAIL: 23_containers/vector/capacity/resize/1.cc execution test
FAIL: 23_containers/vector/cons/4.cc execution test
FAIL: 23_containers/vector/element_access/1.cc execution test
FAIL: 23_containers/forward_list/requirements/exception/basic.cc execution test
FAIL: 23_containers/vector/ext_pointer/modifiers/element.cc execution test
FAIL:
23_containers/forward_list/requirements/exception/propagation_consistent.cc
execution test

--- CUT ---
The last known good compiler was from:
LAST_UPDATED: Wed Aug 15 07:04:20 UTC 2012 (revision 190406)


[Bug middle-end/54371] [4.8 Regression] a lot of testcase failures on mips64-linux-gnu (soft-float)

2012-08-24 Thread pinskia at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54371

Andrew Pinski pinskia at gcc dot gnu.org changed:

   What|Removed |Added

   Keywords||wrong-code
 Target||mips*64-linux-gnu
   Target Milestone|--- |4.8.0


[Bug middle-end/54371] [4.8 Regression] a lot of testcase failures on mips64-linux-gnu (soft-float) n64 only

2012-08-24 Thread pinskia at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54371

Andrew Pinski pinskia at gcc dot gnu.org changed:

   What|Removed |Added

Summary|[4.8 Regression] a lot of   |[4.8 Regression] a lot of
   |testcase failures on|testcase failures on
   |mips64-linux-gnu|mips64-linux-gnu
   |(soft-float)|(soft-float) n64 only

--- Comment #1 from Andrew Pinski pinskia at gcc dot gnu.org 2012-08-25 
04:54:40 UTC ---
This is only for n64.  n32 is fine.


[Bug middle-end/54371] [4.8 Regression] jump tables are broken on n64 mips64-linux-gnu

2012-08-24 Thread pinskia at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54371

Andrew Pinski pinskia at gcc dot gnu.org changed:

   What|Removed |Added

Summary|[4.8 Regression] a lot of   |[4.8 Regression] jump
   |testcase failures on|tables are broken on n64
   |mips64-linux-gnu|mips64-linux-gnu
   |(soft-float) n64 only   |

--- Comment #2 from Andrew Pinski pinskia at gcc dot gnu.org 2012-08-25 
05:00:18 UTC ---
It is obvious what is wrong from the assembly differences of
testsuite/gcc.c-torture/execute/ashldi-1.c :
--- old.s   2012-08-25 04:57:12.0 +
+++ new.s   2012-08-25 04:57:24.0 +
@@ -131,17 +131,17 @@ constant_shift:
nop

lwu $2,8($fp)
-   dsll$3,$2,3
+   dsll$3,$2,2
ld  $2,%got_page(.L69)($28)
daddiu  $2,$2,%got_ofst(.L69)
daddu   $2,$3,$2
-   ld  $2,0($2)
+   lw  $2,0($2)
daddu   $2,$2,$28
j   $2
nop

.rdata
-   .align  3
+   .align  2
.align  2
 .L69:
.gpdword.L72


 CUT 
We went from loading a 64bit word (correct) to loading only a 32bit word
incorrect.  This is for a jump table.


[Bug target/54371] [4.8 Regression] jump tables are broken on n64 mips64-linux-gnu

2012-08-24 Thread pinskia at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54371

Andrew Pinski pinskia at gcc dot gnu.org changed:

   What|Removed |Added

 Target|mips*64-linux-gnu   |mips64-linux-gnu
  Component|middle-end  |target

--- Comment #3 from Andrew Pinski pinskia at gcc dot gnu.org 2012-08-25 
05:10:31 UTC ---
This is a target issue as mentioned on
http://gcc.gnu.org/ml/gcc-patches/2012-08/msg01722.html