[Bug driver/52556] Ability to change GLIBC_DYNAMIC_LINKER

2013-08-18 Thread heroxbd at sohu dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52556

--- Comment #5 from Benda Xu heroxbd at sohu dot com ---
Dear Jakub,

I find your comment misleading for the --with-specs option.

It sets CONFIGURE_SPECS macro, which is used in gcc.c as

static const char *const driver_self_specs[] = {
  %{fdump-final-insns:-fdump-final-insns=.} %fdump-final-insns,
  DRIVER_SELF_SPECS, CONFIGURE_SPECS, GOMP_SELF_SPECS, GTM_SELF_SPECS
};

so it is a list of specs for the driver *itself*, should not be used to specify
link spec.

If you mean passing --with-specs=-Wl,-dynamic-linker=/whatever/ld.so to
configure, it is broken in multilib cases.

Therefore we lack of a convenient way to specify a default alternative location
of the dynamic linker.

Benda


[Bug bootstrap/58186] New: LTO profiledbootstrap fails in stage feedback for fortran/frontend-passes.c with edge ... has no corresponding call_stmt

2013-08-18 Thread ubizjak at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58186

Bug ID: 58186
   Summary: LTO profiledbootstrap fails in stage feedback for
fortran/frontend-passes.c with edge ... has no
corresponding call_stmt
   Product: gcc
   Version: 4.9.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: bootstrap
  Assignee: unassigned at gcc dot gnu.org
  Reporter: ubizjak at gmail dot com

LTO profiled bootstrap of gcc, configured --with-build-config=bootstrap-lto
--enable-languages=c,c++,fortran fails with:


/home/uros/gcc-svn/trunk/gcc/fortran/frontend-passes.c:2149:1: error: edge
gfc_code_walker(gfc_code**, int (*)(gfc_code**, int*, void*), int
(*)(gfc_expr**, int*, void*), void*)-doloop_code(gfc_code**, int*, void*) has
no corresponding call_stmt
 }
 ^
# .MEM_35 = VDEF .MEM_32
result_36 = codefn_33(D) (c_1, walk_subtrees, data_34(D));
_Z15gfc_code_walkerPP8gfc_codePFiS1_PiPvEPFiPP8gfc_exprS2_S3_ES3_/155
(gfc_code_walker(gfc_code**, int (*)(gfc_code**, int*, void*), int
(*)(gfc_expr**, int*, void*), void*)) @0x7f4e4cf0aab0
  Type: function definition analyzed
  Visibility: externally_visible public
  References: _ZL16in_omp_workshare/116 (read)_ZL12doloop_level/120
(read)_ZL12doloop_level/120 (write)_ZL12forall_level/115
(read)_ZL12forall_level/115 (write)_ZL16in_omp_workshare/116
(write)_ZL16in_omp_workshare/116 (write)_ZL12forall_level/115
(read)_ZL12forall_level/115 (write)_ZL12doloop_level/120
(read)_ZL12doloop_level/120 (write)_ZL16in_omp_workshare/116
(write)_ZL11doloop_codePP8gfc_codePiPv/151 (addr) (speculative)
  Referring: 
  Availability: available
  Profile id: 839983705
  Function flags: executed 100x body
  Called by: _Z14gfc_run_passesP13gfc_namespace/122 (100x) (1.00 per call)
_ZL18optimize_namespaceP13gfc_namespace/136 (1.00 per call)
_ZL18optimize_namespaceP13gfc_namespace/136 (1.00 per call)
_ZL18optimize_namespaceP13gfc_namespace/136 (1.00 per call)
_ZL18optimize_namespaceP13gfc_namespace/136 (1.00 per call)
_ZL18optimize_reductionP13gfc_namespace/137 (1.00 per call)
_Z15gfc_code_walkerPP8gfc_codePFiS1_PiPvEPFiPP8gfc_exprS2_S3_ES3_/155
_Z15gfc_code_walkerPP8gfc_codePFiS1_PiPvEPFiPP8gfc_exprS2_S3_ES3_/155
_Z15gfc_code_walkerPP8gfc_codePFiS1_PiPvEPFiPP8gfc_exprS2_S3_ES3_/155 
  Calls: _ZL11doloop_codePP8gfc_codePiPv/151 (speculative) (26x) (0.26 per
call) _Z15gfc_code_walkerPP8gfc_codePFiS1_PiPvEPFiPP8gfc_exprS2_S3_ES3_/155
_Z15gfc_expr_walkerPP8gfc_exprPFiS1_PiPvES3_/154
_Z15gfc_expr_walkerPP8gfc_exprPFiS1_PiPvES3_/154
_Z15gfc_expr_walkerPP8gfc_exprPFiS1_PiPvES3_/154 (26x) (0.26 per call)
_Z15gfc_expr_walkerPP8gfc_exprPFiS1_PiPvES3_/154 (26x) (0.26 per call)
_Z15gfc_expr_walkerPP8gfc_exprPFiS1_PiPvES3_/154 (26x) (0.26 per call)
_Z15gfc_expr_walkerPP8gfc_exprPFiS1_PiPvES3_/154 (26x) (0.26 per call)
_Z15gfc_expr_walkerPP8gfc_exprPFiS1_PiPvES3_/154
_Z15gfc_expr_walkerPP8gfc_exprPFiS1_PiPvES3_/154
_Z15gfc_expr_walkerPP8gfc_exprPFiS1_PiPvES3_/154
_Z15gfc_expr_walkerPP8gfc_exprPFiS1_PiPvES3_/154
_Z15gfc_expr_walkerPP8gfc_exprPFiS1_PiPvES3_/154
_Z15gfc_expr_walkerPP8gfc_exprPFiS1_PiPvES3_/154
_Z15gfc_expr_walkerPP8gfc_exprPFiS1_PiPvES3_/154
_Z15gfc_expr_walkerPP8gfc_exprPFiS1_PiPvES3_/154
_Z15gfc_expr_walkerPP8gfc_exprPFiS1_PiPvES3_/154
_Z15gfc_expr_walkerPP8gfc_exprPFiS1_PiPvES3_/154
_Z15gfc_expr_walkerPP8gfc_exprPFiS1_PiPvES3_/154
_Z15gfc_expr_walkerPP8gfc_exprPFiS1_PiPvES3_/154
_Z15gfc_expr_walkerPP8gfc_exprPFiS1_PiPvES3_/154
_Z15gfc_expr_walkerPP8gfc_exprPFiS1_PiPvES3_/154
_Z15gfc_expr_walkerPP8gfc_exprPFiS1_PiPvES3_/154
_Z15gfc_expr_walkerPP8gfc_exprPFiS1_PiPvES3_/154
_Z15gfc_expr_walkerPP8gfc_exprPFiS1_PiPvES3_/154
_Z15gfc_expr_walkerPP8gfc_exprPFiS1_PiPvES3_/154
_Z15gfc_expr_walkerPP8gfc_exprPFiS1_PiPvES3_/154
_Z15gfc_expr_walkerPP8gfc_exprPFiS1_PiPvES3_/154
_Z15gfc_expr_walkerPP8gfc_exprPFiS1_PiPvES3_/154
_Z15gfc_expr_walkerPP8gfc_exprPFiS1_PiPvES3_/154
_Z15gfc_expr_walkerPP8gfc_exprPFiS1_PiPvES3_/154
_Z15gfc_expr_walkerPP8gfc_exprPFiS1_PiPvES3_/154
_Z15gfc_expr_walkerPP8gfc_exprPFiS1_PiPvES3_/154
_Z15gfc_expr_walkerPP8gfc_exprPFiS1_PiPvES3_/154
_Z15gfc_expr_walkerPP8gfc_exprPFiS1_PiPvES3_/154
_Z15gfc_expr_walkerPP8gfc_exprPFiS1_PiPvES3_/154
_Z15gfc_expr_walkerPP8gfc_exprPFiS1_PiPvES3_/154
_Z15gfc_expr_walkerPP8gfc_exprPFiS1_PiPvES3_/154
_Z15gfc_expr_walkerPP8gfc_exprPFiS1_PiPvES3_/154
_Z15gfc_expr_walkerPP8gfc_exprPFiS1_PiPvES3_/154
_Z15gfc_expr_walkerPP8gfc_exprPFiS1_PiPvES3_/154
_Z15gfc_expr_walkerPP8gfc_exprPFiS1_PiPvES3_/154
_Z15gfc_expr_walkerPP8gfc_exprPFiS1_PiPvES3_/154
_Z15gfc_expr_walkerPP8gfc_exprPFiS1_PiPvES3_/154
_Z15gfc_expr_walkerPP8gfc_exprPFiS1_PiPvES3_/154
_Z15gfc_expr_walkerPP8gfc_exprPFiS1_PiPvES3_/154
_Z15gfc_expr_walkerPP8gfc_exprPFiS1_PiPvES3_/154
_Z15gfc_expr_walkerPP8gfc_exprPFiS1_PiPvES3_/154
_Z15gfc_expr_walkerPP8gfc_exprPFiS1_PiPvES3_/154
_Z15gfc_expr_walkerPP8gfc_exprPFiS1_PiPvES3_/154

[Bug bootstrap/58186] LTO profiledbootstrap fails in stage feedback for fortran/frontend-passes.c with edge ... has no corresponding call_stmt

2013-08-18 Thread ubizjak at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58186

Uroš Bizjak ubizjak at gmail dot com changed:

   What|Removed |Added

 CC||hubicka at gcc dot gnu.org

--- Comment #1 from Uroš Bizjak ubizjak at gmail dot com ---
Adding CC.

[Bug fortran/58185] [4.8/4.9 Regression] [OOP] ICE when selector in SELECT TYPE is non-polymorphic

2013-08-18 Thread janus at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58185

janus at gcc dot gnu.org changed:

   What|Removed |Added

   Keywords||ice-on-invalid-code
 Status|UNCONFIRMED |NEW
   Last reconfirmed||2013-08-18
 CC||janus at gcc dot gnu.org
Summary|ICE when selector in SELECT |[4.8/4.9 Regression] [OOP]
   |TYPE is non-polymorphic |ICE when selector in SELECT
   ||TYPE is non-polymorphic
 Ever confirmed|0   |1

--- Comment #1 from janus at gcc dot gnu.org ---
Confirmed. Minimal test case:

  integer :: array
  select type (a = array)
  end select
end



With 4.7 this gives the correct error:

  select type (a = array)
  1
Error: Selector shall be polymorphic in SELECT TYPE statement at (1)


while 4.8 and trunk show an ICE with the following backtrace:

f951: internal compiler error: Segmentation fault
0x8bb59f crash_signal
/home/janus/gcc49/trunk/gcc/toplev.c:335
0x51c28c get_unique_type_string
/home/janus/gcc49/trunk/gcc/fortran/class.c:466
0x51d566 get_unique_hashed_string
/home/janus/gcc49/trunk/gcc/fortran/class.c:489
0x520ae6 gfc_build_class_symbol(gfc_typespec*, symbol_attribute*,
gfc_array_spec**, bool)
/home/janus/gcc49/trunk/gcc/fortran/class.c:583
0x567f7e copy_ts_from_selector_to_associate
/home/janus/gcc49/trunk/gcc/fortran/match.c:5171
0x567f7e gfc_match_select_type()
/home/janus/gcc49/trunk/gcc/fortran/match.c:5342


[Bug bootstrap/58186] LTO profiledbootstrap fails in stage feedback for fortran/frontend-passes.c with edge ... has no corresponding call_stmt

2013-08-18 Thread hubicka at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58186

Jan Hubicka hubicka at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |ASSIGNED
   Last reconfirmed||2013-08-18
   Assignee|unassigned at gcc dot gnu.org  |hubicka at gcc dot 
gnu.org
 Ever confirmed|0   |1

--- Comment #2 from Jan Hubicka hubicka at gcc dot gnu.org ---
mine...


[Bug fortran/58185] [4.8/4.9 Regression] [OOP] ICE when selector in SELECT TYPE is non-polymorphic

2013-08-18 Thread janus at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58185

--- Comment #2 from janus at gcc dot gnu.org ---
(In reply to janus from comment #1)
 0x567f7e copy_ts_from_selector_to_associate
 /home/janus/gcc49/trunk/gcc/fortran/match.c:5171


I think this is where the problem is. This function should be fixed to not call
gfc_build_class_symbol with ts-u.derived == NULL.


[Bug c++/58187] New: Initialization of a non-static data member using a template argument doesn't work when the template is inside of another class

2013-08-18 Thread dragonroot at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58187

Bug ID: 58187
   Summary: Initialization of a non-static data member using a
template argument doesn't work when the template is
inside of another class
   Product: gcc
   Version: 4.8.1
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
  Assignee: unassigned at gcc dot gnu.org
  Reporter: dragonroot at gmail dot com

The following does not compile:

== test.cc =
struct Bar
{
  template unsigned v 
  struct Foo
  {
unsigned value = v;
  };
};


$ g++-4.8 -c -std=c++11 test.cc 

test.cc:6:22: error: ‘v’ was not declared in this scope
 unsigned value = v;
  ^

$ g++-4.8 --version
g++-4.8 (Debian 4.8.1-9) 4.8.1
Copyright (C) 2013 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.

[Bug c++/58188] New: ICE in gimple_add_tmp_var, at gimplify.c:738

2013-08-18 Thread dragonroot at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58188

Bug ID: 58188
   Summary: ICE in gimple_add_tmp_var, at gimplify.c:738
   Product: gcc
   Version: 4.8.1
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
  Assignee: unassigned at gcc dot gnu.org
  Reporter: dragonroot at gmail dot com

The following code causes an ICE:

 test.cc =
struct B {};
struct A
{
  A( B );
};

struct Bar
{
  template unsigned v 
  struct Foo
  {
A z = B();
unsigned value;
Foo(): value( v ) {}
  };

  struct Baz
  {
Foo 8  foo1;
Foo 1  foo3;
  };
};

Bar::Baz baz;
===


$ g++-4.8 -c -std=c++11 test.cc 
test.cc: In constructor ‘Bar::Foov::Foo() [with unsigned int v = 1u]’:
test.cc:14:21: internal compiler error: in gimple_add_tmp_var, at
gimplify.c:738
 Foo(): value( v ) {}
 ^
...

P.S. This might possibly be related to bug 58187.

[Bug fortran/58177] Incorrect warning message about unused PRIVATE module variable

2013-08-18 Thread janus at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58177

janus at gcc dot gnu.org changed:

   What|Removed |Added

 CC||janus at gcc dot gnu.org

--- Comment #1 from janus at gcc dot gnu.org ---
(In reply to Andrew Benson from comment #0)
 module a
   logical :: m
 end module a
 module b
   logical, private :: m
 contains
   subroutine bb()
 use a
 m=.true.
   end subroutine bb
 end module b
 
 [...]  
 
   logical, private :: m 
 
1
 Warning: Unused PRIVATE module variable 'm' declared at (1)

AFAICS the warning is correct: Your USE statement imports all public symbols
from module a, including 'm'. Therefore the 'm' from 'a' is used and not the
'm' from 'b'. The same is achieved by explicitly importing 'm' via

use a, only: m

which gives the same warning (correctly, I would say).

Or am I missing something here?


[Bug bootstrap/58186] LTO profiledbootstrap fails in stage feedback for fortran/frontend-passes.c with edge ... has no corresponding call_stmt

2013-08-18 Thread ubizjak at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58186

--- Comment #3 from Uroš Bizjak ubizjak at gmail dot com ---
Another similar bootstrap failure in final.c [1].

[1] http://gcc.gnu.org/ml/gcc-regression/2013-08/msg00278.html

[Bug fortran/58185] [4.8/4.9 Regression] [OOP] ICE when selector in SELECT TYPE is non-polymorphic

2013-08-18 Thread janus at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58185

janus at gcc dot gnu.org changed:

   What|Removed |Added

 Status|NEW |ASSIGNED
   Assignee|unassigned at gcc dot gnu.org  |janus at gcc dot gnu.org

--- Comment #3 from janus at gcc dot gnu.org ---
Created attachment 30670
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=30670action=edit
patch

Here is a regression-free patch which gets rid of the ICE.


[Bug fortran/58189] New: Color diagnostics for gfortran

2013-08-18 Thread janus at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58189

Bug ID: 58189
   Summary: Color diagnostics for gfortran
   Product: gcc
   Version: 4.9.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: fortran
  Assignee: unassigned at gcc dot gnu.org
  Reporter: janus at gcc dot gnu.org

The upcoming GCC release 4.9 will support colorized diagnostics, which already
works in the C/C++ front ends (-fdiagnostics-color).

gfortran does not yet support this, but this PR should remind us to implement
it before the release.

Some links:
 * http://gcc.gnu.org/gcc-4.9/changes.html
 *
http://gcc.gnu.org/onlinedocs/gcc/Language-Independent-Options.html#Language-Independent-Options
 * http://gcc.gnu.org/ml/gcc-patches/2013-04/msg00767.html


[Bug gcov-profile/58127] [4.9 Regression] 37 failures in gcc.dg/tree-prof/ for x86_64-apple-darwin10

2013-08-18 Thread iains at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58127

--- Comment #6 from Iain Sandoe iains at gcc dot gnu.org ---
(In reply to Iain Sandoe from comment #5)
 (In reply to Jan Hubicka from comment #4)
  The secret plan was to not use TLS for emutls.

that's kind of a pity, since IIRC one of the main reasons for recasting the
emutls implementation as a separate pass was to allow for uses like this; 
but, having said that, probably not a high priority.

  There seems to be macro USE_EMUTLS specifying if we have real TLS or emuTLS.

snip

 ... seems plausible, will try it on my next build cycle.

#if defined(HAVE_CC_TLS)  !defined (USE_EMUTLS)

does, indeed, work.


[Bug c++/57887] nested non-type template parameters not declared in this scope

2013-08-18 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57887

Paolo Carlini paolo.carlini at oracle dot com changed:

   What|Removed |Added

 CC||dragonroot at gmail dot com

--- Comment #1 from Paolo Carlini paolo.carlini at oracle dot com ---
*** Bug 58187 has been marked as a duplicate of this bug. ***


[Bug c++/58187] Initialization of a non-static data member using a template argument doesn't work when the template is inside of another class

2013-08-18 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58187

Paolo Carlini paolo.carlini at oracle dot com changed:

   What|Removed |Added

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

--- Comment #1 from Paolo Carlini paolo.carlini at oracle dot com ---
Dup.

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


[Bug gcov-profile/58127] [4.9 Regression] 37 failures in gcc.dg/tree-prof/ for x86_64-apple-darwin10

2013-08-18 Thread hubicka at ucw dot cz
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58127

--- Comment #7 from Jan Hubicka hubicka at ucw dot cz ---
 
 that's kind of a pity, since IIRC one of the main reasons for recasting the
 emutls implementation as a separate pass was to allow for uses like this; 
 but, having said that, probably not a high priority.
MThere are performance implications of doing so.   One way would be to add
facility to insert new variables into emutls late (it is probably doable).
Other easy way around would be to add gcov function to set both pointers to
proper values and do it as function call.  

I am not sure if this is feasible performance wise - the counter is in TLS
just to avoid too many colisions. Generally profiling should work resonably
well even without TLS for that.

 
 #if defined(HAVE_CC_TLS)  !defined (USE_EMUTLS)
 
 does, indeed, work.

If you do have chance to commit it, consider the patch preapproved.  I 
will be offline during the afternoon.

Honza


[Bug c++/58178] variant function name was used for user defined constructor

2013-08-18 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58178

Paolo Carlini paolo.carlini at oracle dot com changed:

   What|Removed |Added

 Status|UNCONFIRMED |WAITING
   Last reconfirmed||2013-08-18
 Ever confirmed|0   |1

--- Comment #2 from Paolo Carlini paolo.carlini at oracle dot com ---
Indeed. Please provide information about your target, thanks.


[Bug c++/58176] ICE in output_constant, at varasm.c:4658

2013-08-18 Thread paolo.carlini at oracle dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58176

Paolo Carlini paolo.carlini at oracle dot com changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2013-08-18
 CC||jason at gcc dot gnu.org
 Ever confirmed|0   |1

--- Comment #1 from Paolo Carlini paolo.carlini at oracle dot com ---
Doesn't look like a regression. I'm anyway adding Jason in CC, the issue seems
subtle.


[Bug gcov-profile/58127] [4.9 Regression] 37 failures in gcc.dg/tree-prof/ for x86_64-apple-darwin10

2013-08-18 Thread dominiq at lps dot ens.fr
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58127

--- Comment #8 from Dominique d'Humieres dominiq at lps dot ens.fr ---
 
 #if defined(HAVE_CC_TLS)  !defined (USE_EMUTLS)
 
 does, indeed, work.

I have done a clean bootstrap with

--- ../_clean/libgcc/libgcov.c2013-08-11 13:28:22.0 +0200
+++ libgcc/libgcov.c2013-08-18 12:30:01.0 +0200
@@ -1162,11 +1162,11 @@ __gcov_indirect_call_profiler (gcov_type
The variables are set directly by GCC instrumented code, so declaration
here must match one in tree-profile.c  */

-#ifdef HAVE_CC_TLS
+#if defined(HAVE_CC_TLS)  !defined (USE_EMUTLS)
 __thread 
 #endif
 void * __gcov_indirect_call_callee;
-#ifdef HAVE_CC_TLS
+#if defined(HAVE_CC_TLS)  !defined (USE_EMUTLS)
 __thread 
 #endif
 gcov_type * __gcov_indirect_call_counters;

and the failures for gcc.dg/tree-prof/* and g++.dg/tree-prof/* are gone.
Thanks.


[Bug c++/58184] Pointer to overloaded function is non-deduced context

2013-08-18 Thread daniel.kruegler at googlemail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58184

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 ---
The same problem exists for gcc 4.9.0 HEAD

[Bug target/53976] [SH] Unnecessary clrt after bt

2013-08-18 Thread olegendo at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53976

--- Comment #4 from Oleg Endo olegendo at gcc dot gnu.org ---
One option to get rid of the redundant clrt and sett in BBs that are reached
with a conditional branch would be to add an SH specific RTL pass that analyses
the BBs and eliminates the insns in question.

Another option could be to try and inject artificial sett / clrt insns at the
start of BBs that are reached by conditional branches, and then split them away
to nops or output empty asm with insn length 0.  The idea would be to let other
already existing RTL passes figure out the redundant T bit sets.

There is already a similar functionality in cse.c (cse_condition_code_reg), but
it probably wouldn't kick in, since clrt / sett insns are emitted until the
split1 pass before register allocation and cse2 runs before that.  But still,
maybe another RTL pass would figure it out.  It doesn't necessarily need to be
before register allocation, since the T bit is a hard-reg anyway.


[Bug fortran/58177] Incorrect warning message about unused PRIVATE module variable

2013-08-18 Thread abensonca at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58177

--- Comment #2 from Andrew Benson abensonca at gmail dot com ---
You're absolutely correct -  my mistake!


[Bug fortran/58177] Incorrect warning message about unused PRIVATE module variable

2013-08-18 Thread tkoenig at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58177

Thomas Koenig tkoenig at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution|--- |INVALID

--- Comment #3 from Thomas Koenig tkoenig at gcc dot gnu.org ---
Closing, then.

Do keep these bug reports, coming, though :-)


[Bug fortran/58027] Arithmetic overflow converting ... in PARAMETER triggers an ICE

2013-08-18 Thread tkoenig at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58027

--- Comment #2 from Thomas Koenig tkoenig at gcc dot gnu.org ---
It might actually be better to move calling arith_error
to resolution stage.


[Bug gcov-profile/58127] [4.9 Regression] 37 failures in gcc.dg/tree-prof/ for x86_64-apple-darwin10

2013-08-18 Thread iains at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58127

--- Comment #9 from Iain Sandoe iains at gcc dot gnu.org ---
(In reply to Jan Hubicka from comment #7)
  
  that's kind of a pity, since IIRC one of the main reasons for recasting the
  emutls implementation as a separate pass was to allow for uses like this; 
  but, having said that, probably not a high priority.
 MThere are performance implications of doing so.   One way would be to add
 facility to insert new variables into emutls late (it is probably doable).
 Other easy way around would be to add gcov function to set both pointers to
 proper values and do it as function call.  
 
 I am not sure if this is feasible performance wise - the counter is in TLS
 just to avoid too many colisions. Generally profiling should work resonably
 well even without TLS for that.

ack, let's not pursue that then.

 If you do have chance to commit it, consider the patch preapproved.  

applied as 201829

libgcc:

PR gcov-profile/58127
* libgcov.c (__gcov_indirect_call_callee): Don't make this a
__thread var for emulated TLS.
(__gcov_indirect_call_counters): Likewise.


[Bug gcov-profile/58127] [4.9 Regression] 37 failures in gcc.dg/tree-prof/ for x86_64-apple-darwin10

2013-08-18 Thread iains at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58127

Iain Sandoe iains at gcc dot gnu.org changed:

   What|Removed |Added

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

--- Comment #10 from Iain Sandoe iains at gcc dot gnu.org ---
thus fixed.


[Bug gcov-profile/58127] [4.9 Regression] 37 failures in gcc.dg/tree-prof/ for x86_64-apple-darwin10

2013-08-18 Thread dominiq at lps dot ens.fr
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58127

--- Comment #11 from Dominique d'Humieres dominiq at lps dot ens.fr ---
 thus fixed.

Thanks!


[Bug tree-optimization/58006] [4.8/4.9 Regression] ICE compiling VegaStrike with -ffast-math -ftree-parallelize-loops=2

2013-08-18 Thread jakub at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58006

Jakub Jelinek jakub at gcc dot gnu.org changed:

   What|Removed |Added

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

--- Comment #9 from Jakub Jelinek jakub at gcc dot gnu.org ---
Author: jakub
Date: Sun Aug 18 15:23:24 2013
New Revision: 201827

URL: http://gcc.gnu.org/viewcvs?rev=201827root=gccview=rev
Log:
PR tree-optimization/58006
* tree-parloops.c (take_address_of): Don't ICE if get_name
returns NULL.
(eliminate_local_variables_stmt): Remove clobber stmts.

* g++.dg/opt/pr58006.C: New test.

Added:
trunk/gcc/testsuite/g++.dg/opt/pr58006.C
Modified:
trunk/gcc/ChangeLog
trunk/gcc/testsuite/ChangeLog
trunk/gcc/tree-parloops.c

Author: jakub
Date: Sun Aug 18 15:24:12 2013
New Revision: 201828

URL: http://gcc.gnu.org/viewcvs?rev=201828root=gccview=rev
Log:
PR tree-optimization/58006
* tree-parloops.c (take_address_of): Don't ICE if get_name
returns NULL.
(eliminate_local_variables_stmt): Remove clobber stmts.

* g++.dg/opt/pr58006.C: New test.

Added:
branches/gcc-4_8-branch/gcc/testsuite/g++.dg/opt/pr58006.C
Modified:
branches/gcc-4_8-branch/gcc/ChangeLog
branches/gcc-4_8-branch/gcc/testsuite/ChangeLog
branches/gcc-4_8-branch/gcc/tree-parloops.c


[Bug fortran/58189] Color diagnostics for gfortran

2013-08-18 Thread burnus at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58189

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 ---
See also PR44054 about re-using the middle-end infrastructure


[Bug fortran/57924] -Werror -Warray-temporaries -Wno-error=array-temporaries fails on array temporary warnings

2013-08-18 Thread burnus at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57924

Tobias Burnus burnus at gcc dot gnu.org changed:

   What|Removed |Added

 CC||burnus at gcc dot gnu.org

--- Comment #4 from Tobias Burnus burnus at gcc dot gnu.org ---
My impression is that -Werror= is not properly supported by gfortran - only
-Werror by itself. (See also PR44054.)


[Bug fortran/58100] Spurious DO loop at (1) will be executed zero times warning

2013-08-18 Thread burnus at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58100

Tobias Burnus burnus at gcc dot gnu.org changed:

   What|Removed |Added

 CC||burnus at gcc dot gnu.org

--- Comment #3 from Tobias Burnus burnus at gcc dot gnu.org ---
(In reply to Dominique d'Humieres from comment #1)
 Still present after r201658 (pr5, after it -Wall is needed).

With that patch, -W(no-)zerotrip permits to toggle the warning, which I think
it sufficient. Everything else requires more analysis (e.g. the if's else
branch is never executed in this case), which I believe is not worthwhile.

Roland: Is the new warning option -W(no-)zerotrip sufficient for you?

(Side remark: there are conflicts with early optimization: For debugging, no
folding/simplification should be done by front-ends. On the other hand, some
simplification is useful - and the ME is too late for it.]


[Bug c++/58190] New: FAIL: g++.dg/pr57878.C (test for excess errors) on x86_64-apple-darwin10

2013-08-18 Thread dominiq at lps dot ens.fr
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58190

Bug ID: 58190
   Summary: FAIL: g++.dg/pr57878.C (test for excess errors) on
x86_64-apple-darwin10
   Product: gcc
   Version: 4.9.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
  Assignee: unassigned at gcc dot gnu.org
  Reporter: dominiq at lps dot ens.fr
CC: iains at gcc dot gnu.org, vmakarov at redhat dot com
  Host: x86_64-apple-darwin10
Target: x86_64-apple-darwin10
 Build: x86_64-apple-darwin10

The test FAIL: g++.dg/pr57878.C (introduced at r 201036) fails on
x86_64-apple-darwin10 with

/opt/gcc/work/gcc/testsuite/g++.dg/pr57878.C:27:53: error: 'operator new' takes
type 'size_t' ('long unsigned int') as first parameter [-fpermissive]
   inline void* operator new(std::size_t, void* __p) noexcept {

I get the error with older versions of g++, e.g., 4.8.1, and with -m32 and
-m64.


[Bug c++/58191] New: Can't use boost transform_iterator with _GLIBCXX_DEBUG

2013-08-18 Thread woodroof at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58191

Bug ID: 58191
   Summary: Can't use boost transform_iterator with _GLIBCXX_DEBUG
   Product: gcc
   Version: 4.8.1
Status: UNCONFIRMED
  Severity: major
  Priority: P3
 Component: c++
  Assignee: unassigned at gcc dot gnu.org
  Reporter: woodroof at gmail dot com

Given:
A simple code:

int calc_value(int original_value)
{
return original_value % 3;
}

int main()
{
std::vectorint numbers;
std::upper_bound(
boost::make_transform_iterator(numbers.begin(), calc_value),
boost::make_transform_iterator(numbers.end(), calc_value),
1);
}

Gcc version: g++ (Ubuntu 4.8.1-2ubuntu1~13.04) 4.8.1
Additional command line params: -D_GLIBCXX_DEBUG

Result: Compilation error
In file included from /usr/include/c++/4.8/debug/debug.h:127:0,
 from /usr/include/c++/4.8/bits/stl_iterator_base_funcs.h:65,
 from /usr/include/c++/4.8/bits/stl_algobase.h:66,
 from /usr/include/c++/4.8/vector:60,
 from 1.cpp:1:
/usr/include/c++/4.8/debug/functions.h: In instantiation of ‘bool
__gnu_debug::__check_partitioned_upper(_ForwardIterator, _ForwardIterator,
const _Tp) [with _ForwardIterator = boost::transform_iteratorint (*)(int),
__gnu_debug::_Safe_iterator__gnu_cxx::__normal_iteratorint*,
std::__cxx1998::vectorint, std::allocatorint  , std::__debug::vectorint
, boost::use_default, boost::use_default; _Tp = int]’:
/usr/include/c++/4.8/bits/stl_algo.h:2506:358:   required from ‘_FIter
std::upper_bound(_FIter, _FIter, const _Tp) [with _FIter =
boost::transform_iteratorint (*)(int),
__gnu_debug::_Safe_iterator__gnu_cxx::__normal_iteratorint*,
std::__cxx1998::vectorint, std::allocatorint  , std::__debug::vectorint
, boost::use_default, boost::use_default; _Tp = int]’
1.cpp:16:4:   required from here
/usr/include/c++/4.8/debug/functions.h:428:42: error: no matching function for
call to ‘__check_partitioned_upper_aux(boost::transform_iteratorint (*)(int),
__gnu_debug::_Safe_iterator__gnu_cxx::__normal_iteratorint*,
std::__cxx1998::vectorint, std::allocatorint  , std::__debug::vectorint
, boost::use_default, boost::use_default, boost::transform_iteratorint
(*)(int), __gnu_debug::_Safe_iterator__gnu_cxx::__normal_iteratorint*,
std::__cxx1998::vectorint, std::allocatorint  , std::__debug::vectorint
, boost::use_default, boost::use_default, const int,
std::iterator_traitsboost::transform_iteratorint (*)(int),
__gnu_debug::_Safe_iterator__gnu_cxx::__normal_iteratorint*,
std::__cxx1998::vectorint, std::allocatorint  , std::__debug::vectorint
, boost::use_default, boost::use_default ::iterator_category)’
 std::__iterator_category(__first));
  ^
/usr/include/c++/4.8/debug/functions.h:428:42: note: candidates are:
/usr/include/c++/4.8/debug/functions.h:393:5: note: templateclass
_ForwardIterator, class _Tp bool
__gnu_debug::__check_partitioned_upper_aux(_ForwardIterator, _ForwardIterator,
const _Tp, std::forward_iterator_tag)
 __check_partitioned_upper_aux(_ForwardIterator __first,
 ^
/usr/include/c++/4.8/debug/functions.h:393:5: note:   template argument
deduction/substitution failed:
/usr/include/c++/4.8/debug/functions.h:428:42: note:   cannot convert
‘std::__iterator_categoryboost::transform_iteratorint (*)(int),
__gnu_debug::_Safe_iterator__gnu_cxx::__normal_iteratorint*,
std::__cxx1998::vectorint, std::allocatorint  , std::__debug::vectorint
, boost::use_default, boost::use_default ((*(const
boost::transform_iteratorint (*)(int),
__gnu_debug::_Safe_iterator__gnu_cxx::__normal_iteratorint*,
std::__cxx1998::vectorint, std::allocatorint  , std::__debug::vectorint
, boost::use_default, boost::use_default*)( __first)))’ (type
‘std::iterator_traitsboost::transform_iteratorint (*)(int),
__gnu_debug::_Safe_iterator__gnu_cxx::__normal_iteratorint*,
std::__cxx1998::vectorint, std::allocatorint  , std::__debug::vectorint
, boost::use_default, boost::use_default ::iterator_category {aka
boost::detail::iterator_category_with_traversalstd::input_iterator_tag,
boost::random_access_traversal_tag}’) to type ‘std::forward_iterator_tag’
 std::__iterator_category(__first));
  ^
/usr/include/c++/4.8/debug/functions.h:412:5: note: templateclass _Iterator,
class _Sequence, class _Tp bool
__gnu_debug::__check_partitioned_upper_aux(const
__gnu_debug::_Safe_iterator_Iterator, _Sequence, const
__gnu_debug::_Safe_iterator_Iterator, _Sequence, const _Tp,
std::random_access_iterator_tag)
 __check_partitioned_upper_aux(
 ^
/usr/include/c++/4.8/debug/functions.h:412:5: note:   template argument
deduction/substitution failed:
/usr/include/c++/4.8/debug/functions.h:428:42: note:  
‘boost::transform_iteratorint (*)(int),
__gnu_debug::_Safe_iterator__gnu_cxx::__normal_iteratorint*,
std::__cxx1998::vectorint, std::allocatorint  , 

[Bug c++/58191] Can't use boost transform_iterator with _GLIBCXX_DEBUG

2013-08-18 Thread woodroof at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58191

--- Comment #1 from Danil Ilinykh woodroof at gmail dot com ---
Created attachment 30671
  -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=30671action=edit
Preprocessed file archive