[Bug c++/57593] New: Friendship not extended into friend member-declaration

2013-06-12 Thread potswa at mac dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57593

Bug ID: 57593
   Summary: Friendship not extended into friend member-declaration
   Product: gcc
   Version: 4.9.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
  Assignee: unassigned at gcc dot gnu.org
  Reporter: potswa at mac dot com

The access granted by friendship extends into the member declarations of the
befriended class (11.3/2). Friend declarations are member-declarations but not
member declarations per se, so the standard is ambiguous. But GCC is
inconsistent.

class c {
class n {};
friend struct s;
};

struct s {
friend class c::n; // OK
friend c::n g(); // OK
friend void f() { c::n(); } // Error
};

All three should go the same way, if access is granted per declaration. If the
first two were invalid, private nested classes and related functions would be
impossible to befriend.

Rejection of the third case impedes use of a friend as part of a class
implementation, akin to members, such as the common case of operator . Clang
does accept it.

A defect report has been submitted.


[Bug target/56564] movdqa on possibly-8-byte-aligned struct with -O3

2013-06-12 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56564

--- Comment #20 from Jakub Jelinek jakub at gcc dot gnu.org ---
Author: jakub
Date: Wed Jun 12 06:43:05 2013
New Revision: 199984

URL: http://gcc.gnu.org/viewcvs?rev=199984root=gccview=rev
Log:
PR target/56564
* varasm.c (decl_binds_to_current_def_p): Call binds_local_p
target hook even for !TREE_PUBLIC decls.  If no resolution info
is available, return false for common and external decls.

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

Author: jakub
Date: Wed Jun 12 06:46:53 2013
New Revision: 199985

URL: http://gcc.gnu.org/viewcvs?rev=199985root=gccview=rev
Log:
PR target/56564
* gcc.target/i386/pr56564-1.c: Skip on darwin, mingw and cygwin.
* gcc.target/i386/pr56564-3.c: Likewise.

Modified:
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/gcc.target/i386/pr56564-1.c
trunk/gcc/testsuite/gcc.target/i386/pr56564-3.c


[Bug tree-optimization/57592] [4.9 Regression] ICE in tree_unroll_loops_completely at -O3

2013-06-12 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57592

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2013-06-12
 CC||eraman at gcc dot gnu.org,
   ||jakub at gcc dot gnu.org
   Target Milestone|--- |4.9.0
Summary|ICE in  |[4.9 Regression] ICE in
   |tree_unroll_loops_completel |tree_unroll_loops_completel
   |y at -O3|y at -O3
 Ever confirmed|0   |1

--- Comment #1 from Jakub Jelinek jakub at gcc dot gnu.org ---
Started with r199048.


[Bug tree-optimization/57537] [4.8/4.9 Regression] gcc.dg/vect/slp-widen-mult-half.c generating wrong code on PowerPC64

2013-06-12 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57537

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |ASSIGNED
   Last reconfirmed||2013-06-12
 CC||jakub at gcc dot gnu.org
   Assignee|unassigned at gcc dot gnu.org  |jakub at gcc dot gnu.org
 Ever confirmed|0   |1

--- Comment #1 from Jakub Jelinek jakub at gcc dot gnu.org ---
Created attachment 30298
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=30298action=edit
gcc49-pr57537.patch

Untested fix.


[Bug rtl-optimization/57468] [4.9 Regression] 26% performance drop on important benchmark after r199298.

2013-06-12 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57468

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

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

--- Comment #5 from Jakub Jelinek jakub at gcc dot gnu.org ---
Thus fixed.


[Bug middle-end/57134] [4.9 Regression] ICE with -mstrict-align and inline assembly on ppc64

2013-06-12 Thread amodra at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57134

Alan Modra amodra at gmail dot com changed:

   What|Removed |Added

 Status|NEW |ASSIGNED
URL||http://gcc.gnu.org/ml/gcc-p
   ||atches/2013-06/msg00642.htm
   ||l
   Assignee|unassigned at gcc dot gnu.org  |amodra at gmail dot com


[Bug fortran/50548] gfortran -fcheck=all run time would be nice to detect different shapes

2013-06-12 Thread dominiq at lps dot ens.fr
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50548

Dominique d'Humieres dominiq at lps dot ens.fr changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2013-06-12
 Ever confirmed|0   |1

--- Comment #1 from Dominique d'Humieres dominiq at lps dot ens.fr ---
Still present at revision 199988.


[Bug fortran/51512] RFC: Bogus Return value of function/INTENT(OUT) was not set with allocatable results/dummies

2013-06-12 Thread dominiq at lps dot ens.fr
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51512

Dominique d'Humieres dominiq at lps dot ens.fr changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2013-06-12
 Ever confirmed|0   |1

--- Comment #1 from Dominique d'Humieres dominiq at lps dot ens.fr ---
Confirmed at revision 199988.

 RFC: Should we really print a warning? The program is valid, 
 though most of the time this indicates a programming error.

IMO this is exactly what warnings are for. I suggest to close this PR as
WONTFIX.


[Bug fortran/49954] ICE assigning concat expression to an array deferred-length string (realloc on assignment)

2013-06-12 Thread dominiq at lps dot ens.fr
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49954

Dominique d'Humieres dominiq at lps dot ens.fr changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2013-06-12
 Ever confirmed|0   |1

--- Comment #3 from Dominique d'Humieres dominiq at lps dot ens.fr ---
Confirmed at revision 199988.


[Bug c++/57588] [C++11][constexpr] static constexpr in class fails to link

2013-06-12 Thread daniel.kruegler at googlemail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57588

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

   What|Removed |Added

 CC||daniel.kruegler@googlemail.
   ||com

--- Comment #4 from Daniel Krügler daniel.kruegler at googlemail dot com ---
(In reply to Jonathan Wakely from comment #1)
 Isn't this just
 http://gcc.gnu.org/wiki/VerboseDiagnostics#missing_static_const_definition ?

I don't think that this correct here (In C++11 the rules became relaxed). Just
having a quick look at it, it looks like this depends on bug 53628.

[Bug fortran/49630] [OOP] ICE on obsolescent deferred-length type bound character function

2013-06-12 Thread dominiq at lps dot ens.fr
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49630

Dominique d'Humieres dominiq at lps dot ens.fr changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2013-06-12
 Ever confirmed|0   |1

--- Comment #4 from Dominique d'Humieres dominiq at lps dot ens.fr ---
For the code in comment #0, I get the following ICE:

In function 'do_something':
Segmentation fault
 print *,this%abc_function()
 ^

Internal compiler error: Error reporting routines re-entered.
gfcc: internal compiler error: Abort trap (program f951)

or

pr49630.f90: In function 'do_something':
pr49630.f90:26:0: internal compiler error: in build_int_cst_wide, at
tree.c:1213
 print *,this%abc_function()
 ^

pr49630.f90:26:0: internal compiler error: Abort trap
gfca: internal compiler error: Abort trap (program f951)

for versions configured with --enable-checking=release.

AFAICT the code in comment #1 compiles with 4.8 and trunk (it is not supported
in 4.7).


[Bug c++/57588] [C++11][constexpr] static constexpr in class fails to link

2013-06-12 Thread daniel.kruegler at googlemail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57588

--- Comment #5 from Daniel Krügler daniel.kruegler at googlemail dot com ---
(In reply to Jonathan Wakely from comment #2)
 Although shouldn't it fail to compile, due to private destructor and copy
 constructor?

I agree, it should fail. Interesting is, that the code compiles even when I use
--no-elide-constructors.

[Bug c++/57594] New: [C++11] in-class static initializer can use deleted copy constructor

2013-06-12 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57594

Bug ID: 57594
   Summary: [C++11] in-class static initializer can use deleted
copy constructor
   Product: gcc
   Version: 4.9.0
Status: UNCONFIRMED
  Keywords: accepts-invalid
  Severity: normal
  Priority: P3
 Component: c++
  Assignee: unassigned at gcc dot gnu.org
  Reporter: redi at gcc dot gnu.org

This should be rejected:

struct Private
{
Private(const Private) = delete;
Private() = default;
};

struct A
{
static constexpr Private p = Private();
};


[Bug c++/57595] New: [C++11] Destructor defaulted on first declaration is treated as public

2013-06-12 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57595

Bug ID: 57595
   Summary: [C++11] Destructor defaulted on first declaration is
treated as public
   Product: gcc
   Version: 4.9.0
Status: UNCONFIRMED
  Keywords: accepts-invalid
  Severity: normal
  Priority: P3
 Component: c++
  Assignee: unassigned at gcc dot gnu.org
  Reporter: redi at gcc dot gnu.org

This should be rejected:

class Private
{
~Private() = default;
public:
Private() = default;
};

int main()
{
(void)Private{};
}


[Bug c++/57588] [C++11][constexpr] static constexpr in class fails to link

2013-06-12 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57588

--- Comment #6 from Jonathan Wakely redi at gcc dot gnu.org ---
(In reply to Daniel Krügler from comment #4)
 I don't think that this correct here (In C++11 the rules became relaxed).

It was post-C++11, but as a DR we should implement it, and I see you're right,
the initialization of int_ uses the lvalue-to-rvalue conversion immediately so
it isn't odr-used.

I've created PR 57594 and PR 57595 for the missing diagnostics.

[Bug c++/53628] [C++11][DR 712] Compiler requires definition of static member constants when not odr-used

2013-06-12 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53628

Jonathan Wakely redi at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2013-06-12
 Ever confirmed|0   |1


[Bug c++/57595] [C++11] Destructor defaulted on first declaration is treated as public

2013-06-12 Thread daniel.kruegler at googlemail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57595

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

   What|Removed |Added

 CC||daniel.kruegler@googlemail.
   ||com

--- Comment #1 from Daniel Krügler daniel.kruegler at googlemail dot com ---
There possibly exists some overlap to bug 54812, doesn't it?

[Bug target/57578] SPE detection broken on Linux (bits/predefs.h: No such file or directory)

2013-06-12 Thread stigge at antcom dot de
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57578

--- Comment #2 from Roland Stigge stigge at antcom dot de ---
OK, we have feedback now from Olivier Hainque:

 ... so looks correct to me. Thanks!

So as soon as the change is checked in, we can close this bug.

Thanks!


[Bug c++/54812] [C++11] Delete expression doesn't respect access of defaulted destructor

2013-06-12 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54812

Jonathan Wakely redi at gcc dot gnu.org changed:

   What|Removed |Added

 CC||redi at gcc dot gnu.org

--- Comment #8 from Jonathan Wakely redi at gcc dot gnu.org ---
*** Bug 57595 has been marked as a duplicate of this bug. ***


[Bug c++/57595] [C++11] Destructor defaulted on first declaration is treated as public

2013-06-12 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57595

Jonathan Wakely redi at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution|--- |DUPLICATE

--- Comment #2 from Jonathan Wakely redi at gcc dot gnu.org ---
Thanks, I didn't find that

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


[Bug target/57583] large switches with jump tables are horribly broken on m68k

2013-06-12 Thread mikpe at it dot uu.se
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57583

--- Comment #3 from Mikael Pettersson mikpe at it dot uu.se ---
It's not too difficult to make the m68k backend use 32-bit offsets in its jump
tables (adjust CASE_VECTOR_MODE, ASM_OUTPUT_ADDR_DIFF_ELT,
ASM_RETURN_CASE_JUMP, drop the sign-extend from the tablejump expander,
likewise in the unnamed insn that matches the output from the tablejump
expander).  I have a crude patch to do that, and make it compile-time
selectable via an option.

However, it seems to me that the compiler should be able to figure out for
itself if a given jump table might need 32-bit offsets.  In the worst case
every element will overflow a (signed) 16-bit offset (0..32K-1 positive range)
and need a GAS-inserted trampoline, for a total of 2 + 6 == 8 bytes per
element.  So tables with no more than 4K elements should work with 16-bit
offsets.  Tables larger than that may have their trampolines more than 32K away
from the table PC base, which cannot work with 16-bit offsets, so for those the
compiler should use 32-bit offsets.  Seems to require implementing casesi for
m68k though.


[Bug regression/57551] [4.9 Regression]: g++.dg/ext/visibility/anon6.C scan-assembler 1BIiE1cE

2013-06-12 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57551

--- Comment #9 from Paolo Carlini paolo.carlini at oracle dot com ---
It's broken since the Bugzilla update, unfortunately.


[Bug lto/50293] -flto fails if GCC is installed in directory with space in path name

2013-06-12 Thread gjl at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50293

Georg-Johann Lay gjl at gcc dot gnu.org changed:

   What|Removed |Added

   Target Milestone|--- |4.7.3


[Bug tree-optimization/57537] [4.8/4.9 Regression] gcc.dg/vect/slp-widen-mult-half.c generating wrong code on PowerPC64

2013-06-12 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57537

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution|--- |FIXED

--- Comment #2 from Jakub Jelinek jakub at gcc dot gnu.org ---
Author: jakub
Date: Wed Jun 12 13:01:49 2013
New Revision: 20

URL: http://gcc.gnu.org/viewcvs?rev=20root=gccview=rev
Log:
PR tree-optimization/57537
* tree-vect-patterns.c (vect_recog_widen_mult_pattern): If
vect_handle_widen_op_by_const, convert oprnd1 to half_type1.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/tree-vect-patterns.c

Author: jakub
Date: Wed Jun 12 13:01:29 2013
New Revision: 19

URL: http://gcc.gnu.org/viewcvs?rev=19root=gccview=rev
Log:
PR tree-optimization/57537
* tree-vect-patterns.c (vect_recog_widen_mult_pattern): If
vect_handle_widen_op_by_const, convert oprnd1 to half_type1.

Modified:
branches/gcc-4_8-branch/gcc/ChangeLog
branches/gcc-4_8-branch/gcc/tree-vect-patterns.c


[Bug tree-optimization/57537] [4.8/4.9 Regression] gcc.dg/vect/slp-widen-mult-half.c generating wrong code on PowerPC64

2013-06-12 Thread brooks at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57537

--- Comment #3 from Brooks Moses brooks at gcc dot gnu.org ---
Thanks for the quick fix, Jakub!  And congratulations on the auspicious commit
number, as well.  :)


[Bug fortran/57596] New: select type bug with optional variables?

2013-06-12 Thread valeryweber at hotmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57596

Bug ID: 57596
   Summary: select type bug with optional variables?
   Product: gcc
   Version: 4.9.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: fortran
  Assignee: unassigned at gcc dot gnu.org
  Reporter: valeryweber at hotmail dot com

Dear All

The following code is producing a segfault with 
gcc version 4.9.0 20130612 (experimental) (GCC)
Is that a bug?
v



MODULE base_types
  TYPE :: base_integer_type
 INTEGER :: i
  END TYPE base_integer_type
  TYPE :: base_character_type
 CHARACTER( 10 ) :: c
  END TYPE base_character_type
END MODULE base_types

PROGRAM main
  USE base_types
  IMPLICIT NONE
  INTEGER::i_val
  call get (  i_val=i_val )
  write(*,*) 'i_val',i_val
contains

  SUBROUTINE get (i_val, c_val)
INTEGER, INTENT( OUT ), OPTIONAL :: i_val
CHARACTER( : ), INTENT( OUT ), ALLOCATABLE, OPTIONAL :: c_val
CLASS( * ), POINTER :: p
TYPE( base_integer_type ),target :: i_base
i_base%i=-12
p=i_base
SELECT TYPE( p )
TYPE IS( base_integer_type )
   IF(present(i_val)) i_val = p%i
TYPE IS( base_character_type )
   if(present(c_val)) c_val = p%c
CLASS DEFAULT
   stop
END SELECT
  END SUBROUTINE get
END PROGRAM main

./a.out 

Program received signal SIGSEGV: Segmentation fault - invalid memory reference.

Backtrace for this error:
#0  0x4120ED in _gfortrani_backtrace at backtrace.c:258
#1  0x401DD0 in _gfortrani_backtrace_handler at compile_options.c:129
#2  0x3FC8C35C1F
#3  0x401C08 in get.1883 at main.f90:?
#4  0x401B71 in MAIN__ at main.f90:?
Segmentation fault (core dumped)


[Bug c++/38958] 'unused variable' warning emitted when extending the lifetime of a returned RAII type by holding a reference to const despite delayed destructor side-effects. [dtor]

2013-06-12 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38958

Paolo Carlini paolo.carlini at oracle dot com changed:

   What|Removed |Added

 Status|NEW |ASSIGNED
 CC|gcc-bugs at gcc dot gnu.org|
   Assignee|unassigned at gcc dot gnu.org  |paolo.carlini at oracle 
dot com
   Target Milestone|--- |4.9.0

--- Comment #2 from Paolo Carlini paolo.carlini at oracle dot com ---
Mine.


[Bug other/57597] New: ICE: in get_section, at varasm.c:312: Segmentation fault

2013-06-12 Thread gjl at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57597

Bug ID: 57597
   Summary: ICE: in get_section, at varasm.c:312: Segmentation
fault
   Product: gcc
   Version: 4.8.0
Status: UNCONFIRMED
  Keywords: ice-on-valid-code
  Severity: normal
  Priority: P3
 Component: other
  Assignee: unassigned at gcc dot gnu.org
  Reporter: gjl at gcc dot gnu.org
  Host: i386-mingw32
Target: avr
 Build: i686-linux-gnu

Created attachment 30299
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=30299action=edit
foo.c: C test case

Compile the test case with

avr-gcc -mmcu=atmega168 -S foo.c -fmerge-all-constants -O
foo.c:12:1: internal compiler error: in get_section, at varasm.c:312
 }
 ^
foo.c:12:1: internal compiler error: Segmentation fault

This might be related to PR50739

== configure ==

Configured with:
../../gcc.gnu.org/trunk/configure --target=avr
--prefix=/local/gnu/install/gcc-4.8-mingw32 --host=i386-mingw32
--build=i686-linux-gnu --enable-languages=c,c++ --disable-nls --disable-shared
--with-dwarf2
Thread model: single
gcc version 4.8.0 20130306 (experimental) (GCC)


[Bug other/57597] ICE: in get_section, at varasm.c:312: Segmentation fault with -fmerge-all-constants

2013-06-12 Thread gjl at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57597

Georg-Johann Lay gjl at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2013-06-12
 CC||gjl at gcc dot gnu.org
Summary|ICE: in get_section, at |ICE: in get_section, at
   |varasm.c:312: Segmentation  |varasm.c:312: Segmentation
   |fault   |fault with
   ||-fmerge-all-constants
 Ever confirmed|0   |1


[Bug c++/42021] Misleading error message when inherited typedefs cause ambiguity

2013-06-12 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42021

Paolo Carlini paolo.carlini at oracle dot com changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution|--- |FIXED

--- Comment #2 from Paolo Carlini paolo.carlini at oracle dot com ---
Done.


[Bug tree-optimization/56787] [4.8 Regression] Vectorization fails because of CLOBBER statements

2013-06-12 Thread pthaugen at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56787

Pat Haugen pthaugen at gcc dot gnu.org changed:

   What|Removed |Added

 CC||pthaugen at gcc dot gnu.org

--- Comment #5 from Pat Haugen pthaugen at gcc dot gnu.org ---
The new testcase fails on powerpc64-linux, as can be seen in
http://gcc.gnu.org/ml/gcc-testresults/2013-06/msg00904.html.


[Bug target/55033] [4.7/4.8/4.9 Regression] PowerPC section type conflict error

2013-06-12 Thread pthaugen at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55033

Pat Haugen pthaugen at gcc dot gnu.org changed:

   What|Removed |Added

 CC||pthaugen at gcc dot gnu.org

--- Comment #8 from Pat Haugen pthaugen at gcc dot gnu.org ---
The testcase added 6/7, gcc.target/powerpc/pr55033.c, fails on powerpc64-linux.

spawn -ignore SIGHUP /home/pthaugen/work/build/gcc/trunk/gcc/xgcc
-B/home/pthaugen/work/build/gcc/trunk/gcc/
/home/pthaugen/src/gcc/trunk/gcc/gcc/testsuite/gcc.target/powerpc/pr55033.c
-fno-diagnostics-show-caret -fdiagnostics-color=never -mcpu=8540 -msoft-float
-msdata=eabi -G 8 -fno-common -S -m32 -o pr55033.s^M
/home/pthaugen/src/gcc/trunk/gcc/gcc/testsuite/gcc.target/powerpc/pr55033.c:1:0:
error: -msdata=eabi and -mcall-linux are incompatible^M
compiler exited with status 1
output is:
/home/pthaugen/src/gcc/trunk/gcc/gcc/testsuite/gcc.target/powerpc/pr55033.c:1:0:
error: -msdata=eabi and -mcall-linux are incompatible^M

FAIL: gcc.target/powerpc/pr55033.c (test for excess errors)


[Bug fortran/57598] New: [Coarray,caf] Add FPE-Summary printing (floating-point exception) for STOP/ERROR STOP

2013-06-12 Thread burnus at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57598

Bug ID: 57598
   Summary: [Coarray,caf] Add FPE-Summary printing (floating-point
exception) for STOP/ERROR STOP
   Product: gcc
   Version: 4.9.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: fortran
  Assignee: unassigned at gcc dot gnu.org
  Reporter: burnus at gcc dot gnu.org

Fortran 2008 demands that the compiler prints a summary of the FPE at
STOP/ERROR STOP.

The patch at http://gcc.gnu.org/ml/fortran/2013-06/msg00077.html adds support
for noncoarrays.

One needs to do likewise for coarrays.

However, as Bill pointed out at
http://mailman.j3-fortran.org/pipermail/j3/2013-June/006458.html, printing on
32k images
  Note: On image n, the following floating-point exception are
signalling: IEEE_DIVIDE_BY_ZERO
is not a good idea. It's better to collect those statuses and print something
like:
  Note: 1453 images terminated reporting a DIVIDE_BY_ZERO exception, ...


For true multi-image support, one also needs to pass
compile_options.fpe_summary to the CAF library and handle collecting all the
flags (collective SUM reduction). Also STOP has to be handled, not only ERROR
STOP as it is currently done.


Note: Fortran 201x might change the handling, cf. thread at
http://mailman.j3-fortran.org/pipermail/j3/2013-June/006452.html


Simple patch for caf_single:

--- a/libgfortran/caf/single.c
+++ b/libgfortran/caf/single.c
@@ -41,0 +42,3 @@ caf_static_t *caf_static_list = NULL;
+/* Prototype of libgfortran's functions.  */
+void _gfortran_caf_error_stop_str (const char *, int32_t);
+void _gfortran_caf_error_stop (int32_t);
@@ -176,6 +179 @@ _gfortran_caf_error_stop_str (const char *string, int32_t
len)
-  fputs (ERROR STOP , stderr);
-  while (len--)
-fputc (*(string++), stderr);
-  fputs (\n, stderr);
-
-  exit (1);
+  _gfortran_error_stop_string (string, len);
@@ -188,2 +186 @@ _gfortran_caf_error_stop (int32_t error)
-  fprintf (stderr, ERROR STOP %d\n, error);
-  exit (error);
+  _gfortran_error_stop_numeric_f08 (error);


[Bug rtl-optimization/57451] Incorrect debug ranges emitted for -freorder-blocks-and-partition -g

2013-06-12 Thread tejohnson at google dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57451

Teresa Johnson tejohnson at google dot com changed:

   What|Removed |Added

 CC||ccoutant at google dot com,
   ||tejohnson at google dot com

--- Comment #1 from Teresa Johnson tejohnson at google dot com ---
Cary, any ideas on how to fix this issue? Thanks, Teresa


[Bug fortran/57596] select type bug with optional variables?

2013-06-12 Thread burnus at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57596

Tobias Burnus burnus at gcc dot gnu.org changed:

   What|Removed |Added

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

--- Comment #1 from Tobias Burnus burnus at gcc dot gnu.org ---
Close as INVALID - feel free to re-open if you disagree.


Seems to be invalid. Fortran 2008 has in 8.1.3.3 Attributes of associate
names:

Within an ASSOCIATE or SELECT TYPE construct [...] If the selector has
the OPTIONAL attribute, it shall be present.


[Bug target/57329] ICE with -O2 and -mthumb

2013-06-12 Thread Martin.Jansa at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57329

--- Comment #3 from Martin Jansa Martin.Jansa at gmail dot com ---
Hi Terry,

 With Bin's patch at http://gcc.gnu.org/ml/gcc-cvs/2013-03/msg00784.html, we 
 will get correct rtx cost.

I can confirm that with 4.8.1 + this patch I don't see ICE anymore.

 I believe this is the cause of the issue and am doing back port to 4.8 branch.

Please do, thanks.

I'll start one more build with 4.8.1 but without this patch to check that it
wasn't fixed by some other change between 4.8.0 and 4.8.1 - but if I don't
reply today, then it's really fixed by Bin's patch.


[Bug c++/57599] New: g++ accepts invalid dynamic_cast of a const type to a regular type

2013-06-12 Thread abel at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57599

Bug ID: 57599
   Summary: g++ accepts invalid dynamic_cast of a const type to a
regular type
   Product: gcc
   Version: 4.7.2
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
  Assignee: unassigned at gcc dot gnu.org
  Reporter: abel at gcc dot gnu.org

The following code is accepted by g++ (versions 3.3, 4.6, 4.7 at least, I
didn't check trunk) but seems to be invalid c++ and is rejected by clang 3.2,
icc 13, msvc 12:

class A {
};

class B : public A {
};

int main() {
A* a;
B* b = new B();
a = dynamic_castconst A*(b);
return 0;
}

An expected error is along the lines of (icc):
error: a value of type const A * cannot be assigned to an entity of type A
*


[Bug c++/57599] g++ accepts invalid dynamic_cast of a const type to a regular type

2013-06-12 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57599

--- Comment #1 from Jonathan Wakely redi at gcc dot gnu.org ---
The summary is very misleading. You're not casting a const type to a non-const
type, you're casting a non-const type to a const type, then assigning that to a
non-const type.

What actually happens is that dynamic_castconst A*(b) returns A*


[Bug c++/57599] g++ accepts invalid assignment of a dynamic_castconst A* to A*

2013-06-12 Thread abel at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57599

Andrey Belevantsev abel at gcc dot gnu.org changed:

   What|Removed |Added

Summary|g++ accepts invalid |g++ accepts invalid
   |dynamic_cast of a const |assignment of a
   |type to a regular type  |dynamic_castconst A* to
   ||A*

--- Comment #2 from Andrey Belevantsev abel at gcc dot gnu.org ---
Sorry, I tried to fix the summary.  Feel free to improve it more if needed :)


[Bug rtl-optimization/57451] Incorrect debug ranges emitted for -freorder-blocks-and-partition -g

2013-06-12 Thread ccoutant at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57451

Cary Coutant ccoutant at gcc dot gnu.org changed:

   What|Removed |Added

 CC||ccoutant at gcc dot gnu.org

--- Comment #2 from Cary Coutant ccoutant at gcc dot gnu.org ---
I'll take a look, but at first glance it looks like
have_multiple_function_sections isn't being set in dwarf2out.c, which leads it
to assume that it can use symbol - symbol expressions in the range lists.

That flag is set by the switch_text_section hook, which is called from
final_scan_insn when it sees a NOTE_INSN_SWITCH_TEXT_SECTIONS insn. When
-freorder-blocks-and-partitions is turned on, is such a NOTE being emitted?


[Bug tree-optimization/57600] New: Turn 2 comparisons into 1 with the min

2013-06-12 Thread glisse at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57600

Bug ID: 57600
   Summary: Turn 2 comparisons into 1 with the min
   Product: gcc
   Version: 4.9.0
Status: UNCONFIRMED
  Keywords: missed-optimization
  Severity: normal
  Priority: P3
 Component: tree-optimization
  Assignee: unassigned at gcc dot gnu.org
  Reporter: glisse at gcc dot gnu.org

Hello,

in this code:

double SumProduct(const double* v1, const double* v2, int n1, int n2)
{
  double sum=0;
  for(int i=0; in1  in2; ++i)
sum += v1[i]*v2[i];
  return sum;
}

it seems clear that in1  in2 should be replaced with imin(n1,n2) with the
min computation taken out of the loop. Not only do we have 2 comparisons
instead of one in the loop, this also prevents vectorization.

The closest PRs I have found (PR 10520 and PR 21855) are actually very
different.


[Bug target/57583] large switches with jump tables are horribly broken on m68k

2013-06-12 Thread hp at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57583

--- Comment #4 from Hans-Peter Nilsson hp at gcc dot gnu.org ---
(In reply to Mikael Pettersson from comment #3)
 It's not too difficult to make the m68k backend use 32-bit offsets in its
 jump tables (adjust CASE_VECTOR_MODE, ASM_OUTPUT_ADDR_DIFF_ELT,
 ASM_RETURN_CASE_JUMP, drop the sign-extend from the tablejump expander,
 likewise in the unnamed insn that matches the output from the tablejump
 expander).  I have a crude patch to do that,

Does your patch define CASE_VECTOR_SHORTEN_MODE?
Otherwise that'll probably be one of the first review comments.

 and make it compile-time
 selectable via an option.

FWIW, -mbigtable for sh.

 However, it seems to me that the compiler should be able to figure out for
 itself if a given jump table might need 32-bit offsets.

The length insn attribute needs to be defined in order to take advantage of the
existing machinery.  It seems it currently isn't, for m68k.


[Bug target/57583] large switches with jump tables are horribly broken on m68k

2013-06-12 Thread sch...@linux-m68k.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57583

--- Comment #5 from Andreas Schwab sch...@linux-m68k.org ---
The assembler already handles jump targets that are too far away (via the
BROKEN_DOT_WORD hack), this issue is about growing the table itself too large
so that the overflow table is not reachable any more within 32K.


[Bug regression/57551] [4.9 Regression]: g++.dg/ext/visibility/anon6.C scan-assembler 1BIiE1cE

2013-06-12 Thread pinskia at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57551

--- Comment #10 from Andrew Pinski pinskia at gcc dot gnu.org ---
(In reply to Paolo Carlini from comment #9)
 It's broken since the Bugzilla update, unfortunately.

No broken since updating the server to a new machine.  Updating Bugzilla was
not the issue but updating the subversion on the server was.


[Bug c++/38958] 'unused variable' warning emitted when extending the lifetime of a returned RAII type by holding a reference to const despite delayed destructor side-effects. [dtor]

2013-06-12 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38958

Paolo Carlini paolo.carlini at oracle dot com changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution|--- |FIXED

--- Comment #3 from Paolo Carlini paolo.carlini at oracle dot com ---
Fixed for 4.9.0.


[Bug regression/57551] [4.9 Regression]: g++.dg/ext/visibility/anon6.C scan-assembler 1BIiE1cE

2013-06-12 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57551

--- Comment #11 from Paolo Carlini paolo.carlini at oracle dot com ---
Right sorry, the problem is the new subversion not sending commit messages at
all to Bugzilla.


[Bug rtl-optimization/57518] [4.8/4.9 Regression] Redundant insn generated in LRA

2013-06-12 Thread wmi at google dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57518

--- Comment #1 from wmi at google dot com ---
post a candidate patch here:

http://gcc.gnu.org/ml/gcc-patches/2013-06/msg00748.html


[Bug target/57583] large switches with jump tables are horribly broken on m68k

2013-06-12 Thread hp at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57583

--- Comment #6 from Hans-Peter Nilsson hp at gcc dot gnu.org ---
(In reply to Andreas Schwab from comment #5)
 The assembler already handles jump targets that are too far away (via the
 BROKEN_DOT_WORD hack), this issue is about growing the table itself too
 large so that the overflow table is not reachable any more within 32K.

There's no confusion here.  While a less involved patch will suffice where just
the table is too big, CASE_VECTOR_SHORTEN_MODE can detect and handle both
issues. I think it will also allow for jump-tables closer to the 4K entries
than the significantly lower limit you'll find workable with a less involved
patch and relying on BROKEN_DOT_WORD.


[Bug c++/57599] result of dynamic_castcv T is just T

2013-06-12 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57599

Paolo Carlini paolo.carlini at oracle dot com changed:

   What|Removed |Added

 Status|UNCONFIRMED |ASSIGNED
   Last reconfirmed||2013-06-12
   Assignee|unassigned at gcc dot gnu.org  |paolo.carlini at oracle 
dot com
 Ever confirmed|0   |1

--- Comment #3 from Paolo Carlini paolo.carlini at oracle dot com ---
On it.


[Bug rtl-optimization/57451] Incorrect debug ranges emitted for -freorder-blocks-and-partition -g

2013-06-12 Thread tejohnson at google dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57451

--- Comment #3 from Teresa Johnson tejohnson at google dot com ---
Yes, there is a NOTE_INSN_SWITCH_TEXT_SECTIONS note emitted for functions
that are split. In the attached test case the symbol-symbol expression is
being generated across the split boundary of main(), and I confirmed that
the NOTE is there in between the hot/cold sections.

Thanks,
Teresa


On Wed, Jun 12, 2013 at 10:08 AM, ccoutant at gcc dot gnu.org 
gcc-bugzi...@gcc.gnu.org wrote:

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

 Cary Coutant ccoutant at gcc dot gnu.org changed:

What|Removed |Added

 
  CC||ccoutant at gcc dot
 gnu.org

 --- Comment #2 from Cary Coutant ccoutant at gcc dot gnu.org ---
 I'll take a look, but at first glance it looks like
 have_multiple_function_sections isn't being set in dwarf2out.c, which
 leads it
 to assume that it can use symbol - symbol expressions in the range lists.

 That flag is set by the switch_text_section hook, which is called from
 final_scan_insn when it sees a NOTE_INSN_SWITCH_TEXT_SECTIONS insn. When
 -freorder-blocks-and-partitions is turned on, is such a NOTE being emitted?

 --
 You are receiving this mail because:
 You are on the CC list for the bug.
 You reported the bug.