[Bug target/69421] [6 Regression] ICE in maybe_legitimize_operand, at optabs.c:6888 with -O3

2016-01-22 Thread trippels at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69421

--- Comment #5 from Markus Trippelsdorf  ---
trippels@CFARM-IUT-TLSE3 ~ % cat octave.ii
template  class A;
template <> struct A {
  double m_fn1() { return _M_value; }
  double _M_value;
};
double a;
template  void mx_inline_and(unsigned long, bool *p2, X, Y) {
  bool b;
  for (long i; i; i++) {
A x;
b = x.m_fn1() || a;
p2[i] = b;
  }
}
template 
void do_mm_binary_op(int, Y, void(unsigned long, R *, X, Y),
 void(unsigned long, R *, X, Y),
 void(unsigned long, R *, X, Y), char *);
int c;
void mx_el_and_m2() {
  do_mm_binary_op>(c, mx_el_and_m2, mx_inline_and,
   mx_inline_and, mx_inline_and, "");
}

trippels@CFARM-IUT-TLSE3 ~ % g++ -w -O3 octave.ii
octave.ii: In function ‘void mx_inline_and(long unsigned int, bool*, X, Y)
[with X = A; Y = void (*)()]’:
octave.ii:7:34: error: type mismatch in conditional expression
 template  void mx_inline_and(unsigned long, bool *p2, X, Y)
{
  ^

vector(16) unsigned char
vector(16) unsigned char
vector(2) 
vect_patt_15.42_168 = VEC_COND_EXPR ;
octave.ii:7:34: internal compiler error: verify_gimple failed

[Bug lto/69394] [5.3] ICE when linking with lto

2016-01-22 Thread rguenther at suse dot de
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69394

--- Comment #3 from rguenther at suse dot de  ---
On Thu, 21 Jan 2016, daniel.f.starke at freenet dot de wrote:

> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69394
> 
> --- Comment #2 from Daniel Starke  ---
> I have tested the same with gcc 4.9.3 to make clear whether this is a
> regression or not. Sadly I was not able to build the libstdc++ with -flto.
> Compiling the same program as before did not result in a ICE but did produce a
> binary which was not exatuable on the target platform.
> Next I build gcc 5.3.0 again and all used libraries with that compiler. Before
> I did use some libraries I generated with gcc 5.3.0 on the target platform, 
> not
> on Linux. So I suspect that the output of the same gcc differs on Windows and
> Linux even though the same target is built.
> The result was the same as with gcc 4.9.3. The produced binary was not
> executable.
> For information, this was the backtrace:
> #0  0x00635ef2 in std::type_info::operator== (this=this@entry=0x6cffe8
> , arg=...)
> at ../../../../../src/gcc-5.3.0/libstdc++-v3/libsupc++/tinfo.cc:46
> #1  0x005bf0f4 in __cxxabiv1::__si_class_type_info::__do_dyncast
> (this=0x6cffe8 , src2dst=0, 
> access_path=__cxxabiv1::__class_type_info::__contained_public,
> dst_type=0x0, obj_ptr=0x3790a0, 
> src_type=0x6e5280 , src_ptr=0x3790a0,
> result=...)
> at
> ../../../../../src/gcc-5.3.0/libstdc++-v3/libsupc++/si_class_type_info.cc:52
> #2  0x006a6fdb in __cxxabiv1::__dynamic_cast (src_ptr=0x3790a0,
> src_type=src_type@entry=0x6e5280 , 
> dst_type=dst_type@entry=0x0, src2dst=src2dst@entry=0) at
> ../../../../../src/gcc-5.3.0/libstdc++-v3/libsupc++/dyncast.cc:72
> #3  0x006a12b0 in std::use_facet >
> (__loc=...)
> at
> /new-gcc/bin64-64/gcc-5.3.0/x86_64-w64-mingw32/libstdc++-v3/include/bits/locale_classes.tcc:139
> #4  0x004dfce5 in boost::filesystem::path::codecvt() ()
> #5  0x in ?? ()
> #6  0x0067b727 in std::__cxx11::basic_string std::char_traits, std::allocator >::basic_string(char const*,
> std::allocator const&) [clone .isra.1100] ()
> #7  0x0022fde0 in ?? ()
> #8  0x004f4ed9 in atexit ()
> #9  0x006b52a0 in (anonymous namespace)::__new_handler ()
> #10 0x0003 in ?? ()
> #11 0x007050f0 in vtable for
> boost::detail::sp_counted_impl_p > ()
> #12 0x006ab266 in
> _GLOBAL__sub_I__ZN3pcf6parser6spirit18getInnerInfoStringB5cxx11ERKN5boost6spirit4infoE
> ()
> #13 0x in ?? ()
> 
> Using the compiled libraries from before gives me the following ICE:
> lto1: internal compiler error: bytecode stream: expected tag bit_field_ref
> instead of error_mark
> Replacing for example the libsqlite3 from the build with the compiler in
> question gives me the following ICE:
> In member function 'do_real_get':
> lto1: internal compiler error: bytecode stream: expected tag real_type instead
> of error_mark
> 
> Is there no version tag within the LTO code which detects if the format is
> compatible in an early stage?

There is, but it's manually bumped and we do so only for each new major
release.  That is, we fail to be careful to detect all possible ways
the format could change (because that's not always obvious).

ICEs of the above kind strongly hint at incompatible binaries though.
I suppose we could enhance the error reporting here (maybe even stream
a stricter "version", like the SVN revision or some such and take
a mismatch at the above ICE point as a hint of an incompatibility).

What will have caused an incompatibility from 5.2 to 5.3 is

2015-10-06  Richard Biener  

Backport from mainline
...
2015-09-24  Richard Biener  

PR lto/67699
* lto-cgraph.c (compute_ltrans_boundary): Do not stream
abstract origins.

for example.  There are various MPX related changes that look
suspicious but those should only make a difference if you use MPX.

That said, computing a checksum of the LTO streamer related bits
might be a possibility (if we accept spurious incompatibility messages).

[Bug tree-optimization/69376] [6 Regression] wrong code at -Os and above on x86_64-linux-gnu

2016-01-22 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69376

Richard Biener  changed:

   What|Removed |Added

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

--- Comment #4 from Richard Biener  ---
Let me have a look.

[Bug target/69421] [6 Regression] ICE in maybe_legitimize_operand, at optabs.c:6888 with -O3

2016-01-22 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69421

Jakub Jelinek  changed:

   What|Removed |Added

 CC||jakub at gcc dot gnu.org

--- Comment #6 from Jakub Jelinek  ---
Started with r230098.

[Bug target/69421] [6 Regression] ICE in maybe_legitimize_operand, at optabs.c:6888 with -O3

2016-01-22 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69421

--- Comment #7 from Jakub Jelinek  ---
Reduced testcase (in C now):
struct A { double a; };
double a;

void
foo (_Bool *x)
{
  long i;
  for (i = 0; i < 64; i++)
{
  struct A c;
  x[i] = c.a || a;
}
}

[Bug lto/69393] [6 Regression] ICE in dwarf2out_finish, at dwarf2out.c:27175 with LTO

2016-01-22 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69393

Richard Biener  changed:

   What|Removed |Added

 Status|WAITING |NEW
 CC||hubicka at gcc dot gnu.org,
   ||jakub at gcc dot gnu.org

--- Comment #8 from Richard Biener  ---
Ok, I can reproduce the ICE.

(gdb) p deferred_asm_name->created_for
$4 = (tree) 0x764fc980
(gdb) p debug_generic_expr ($4)
.omp_data_s.34

aha and that's indeed a TYPE_DECL which is DECL_ARTIFICIAL but ! DECL_IGNORED.

Jakub - is debug info intended for this TYPE_DECL?  Honza, do the TYPE_DECL
asm-names make sense here?

  /* This is a GNU Extension.  We are adding a
 DW_AT_linkage_name attribute to the DIE of the
 anonymous struct TYPE.  The value of that attribute
 is the name of the typedef decl naming the anonymous
 struct.  This greatly eases the work of consumers of
 this debug info.  */
  add_linkage_name_raw (lookup_type_die (type), decl);

(gdb) p debug_tree ($4)
 
unit size 
align 64 symtab -162595952 alias set 77 canonical type 0x764fad20
fields 
unsigned DI file STAR.cpp line 56 col 17
size 
unit size 
align 64 offset_align 128
offset 
bit offset  context
 chain >
pointer_to_this >
asm_written VOID file STAR.cpp line 353 col 9
align 1>

That said - we either need to make sure to compute and stream
DECL_ASSEMBLER_NAME for the above or avoid emitting late debug for this
(for example via adjusting is_naming_typedef_decl).

Note that it looks like free-lang-data misses to traverse
fn->static_chain_decl,
but fixing that doesn't fix this PR.

The DWARF for the above decl is created via

#4  0x008bfadc in dwarf2out_type_decl (decl=0x764fc980, local=0)
at /space/rguenther/src/svn/trunk3/gcc/dwarf2out.c:23536
#5  0x0076535f in lto_read_decls (decl_data=0x77fed000, 
data=0x77ef3a00, resolutions=...)
at /space/rguenther/src/svn/trunk3/gcc/lto/lto.c:1761

So back to why this hasn't been assigned an assembler name in free-lang-data.
FLD has

static inline bool
need_assembler_name_p (tree decl)
{
...
  if (flag_lto_odr_type_mering
  && TREE_CODE (decl) == TYPE_DECL
  && DECL_NAME (decl)
  && decl == TYPE_NAME (TREE_TYPE (decl))
  && !TYPE_ARTIFICIAL (TREE_TYPE (decl))
  && (type_with_linkage_p (TREE_TYPE (decl))
  || TREE_CODE (TREE_TYPE (decl)) == INTEGER_TYPE)
  && !variably_modified_type_p (TREE_TYPE (decl), NULL_TREE))
return !DECL_ASSEMBLER_NAME_SET_P (decl);
  /* Only FUNCTION_DECLs and VAR_DECLs are considered.  */
  if (TREE_CODE (decl) != FUNCTION_DECL
  && TREE_CODE (decl) != VAR_DECL)
return false;

but TYPE_ARTIFICIAL (TREE_TYPE (decl)) is true.  Guarding the above with
flag_lto_odr_type_merging also looks suspicious - seems the code doesn't
consider debug info for TYPE_DECLs at all?

dwarf2out guards the assembler-name use with

  if (DECL_ORIGINAL_TYPE (decl))
...
  else
{
  type = TREE_TYPE (decl);
...
  if (is_naming_typedef_decl (TYPE_NAME (type)))
{

it seems to me we can't really use debug_info_level at compile-time
to guard things here so we'd have to unconditionally assign
assembler names to TYPE_DECLs under the above condition?

Or arrange so that is_naming_typedef_decl doesn't apply to those artificial
OMP type-decls?  (why do we have type-decls for this at all...?)

[Bug debug/66668] [6 regression] FAIL: gcc.dg/debug/dwarf2/stacked-qualified-types-3.c scan-assembler-times DIE \\([^\n]*\\) DW_TAG_(?:const|volatile|atomic|restrict)_type 8

2016-01-22 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=8

--- Comment #9 from Jakub Jelinek  ---
Author: jakub
Date: Fri Jan 22 09:40:54 2016
New Revision: 232719

URL: https://gcc.gnu.org/viewcvs?rev=232719&root=gcc&view=rev
Log:
PR debug/8
* dwarf2out.c (add_child_die_after): New function.
(dwarf_qual_info_t): New type.
(dwarf_qual_info): New variable.
(qualified_die_p): New function.
(modified_type_die): For -fdebug-types-section, ensure
canonical order of qualifiers.  Put qualified DIEs adjacent
to the corresponding non-qualified type DIE and search there
for existing qualified DIEs.

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

[Bug target/69012] gcc-6.0.0 internal compiler error building libgfortran for mips64el target

2016-01-22 Thread edlinger at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69012

Bernd Edlinger  changed:

   What|Removed |Added

 Status|WAITING |RESOLVED
 Resolution|--- |FIXED

--- Comment #17 from Bernd Edlinger  ---
I'd declare it fixed with Nick's check-in from yesterday.

Thanks for reporting.

[Bug debug/66668] [6 regression] FAIL: gcc.dg/debug/dwarf2/stacked-qualified-types-3.c scan-assembler-times DIE \\([^\n]*\\) DW_TAG_(?:const|volatile|atomic|restrict)_type 8

2016-01-22 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=8

Jakub Jelinek  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |FIXED

--- Comment #10 from Jakub Jelinek  ---
Fixed.

[Bug lto/69393] [6 Regression] ICE in dwarf2out_finish, at dwarf2out.c:27175 with LTO

2016-01-22 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69393

--- Comment #9 from Jakub Jelinek  ---
Yes, the type is meant to go into the debug info.  But it is DECL_NAMELESS, so
the debug info should not contain DW_AT_name or linkage name for it.

[Bug tree-optimization/69426] [6 Regression] ICE: verify_ssa failed (error: missing definition) w/ -O2 (and above) -ftree-parallelize-loops=2

2016-01-22 Thread vries at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69426

--- Comment #2 from vries at gcc dot gnu.org ---
Created attachment 37431
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=37431&action=edit
tentative patch

[Bug c/65403] -Wno-error= is an error

2016-01-22 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65403

Jakub Jelinek  changed:

   What|Removed |Added

 CC||jakub at gcc dot gnu.org

--- Comment #5 from Jakub Jelinek  ---
-Werror=unknown-warning should not be ignored, as -Werror=unknown-warning
implies also -Wunknown-warning (unlike -Wno-error=, which doesn't imply
anything).

[Bug tree-optimization/69355] [5 Regression] Wrong results with -O1 optimization

2016-01-22 Thread jamborm at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69355

--- Comment #18 from Martin Jambor  ---
The reduced testcase does not fail for me for some reason, but the
original one does.

In any event, the problem is that an grp_unscalarized_data flag is
zero even though evidently it should not be.  That happens because of
conditions which were added to ignore padding in case of total
scalarization, which however misfired because the total scalarization
was not successful (we do not scalarize when a scalar access has a
smaller scalar access within it).  The wrong grp_unscalarized_data
value meant we removed original aggregate store even though we did not
have scalar replacements for a part of it.

I'll bootstrap the following patch to address this:

diff --git a/gcc/tree-sra.c b/gcc/tree-sra.c
index 740542f..b0e737a 100644
--- a/gcc/tree-sra.c
+++ b/gcc/tree-sra.c
@@ -2421,7 +2421,7 @@ analyze_access_subtree (struct access *root, struct
access *parent,

   if (covered_to < limit)
hole = true;
-  if (scalar)
+  if (scalar || !allow_replacements)
root->grp_total_scalarization = 0;
 }

[Bug fortran/69419] ICE: tree check: expected array_type, have real_type in gfc_conv_array_initializer, at fortran/trans-array.c:5618

2016-01-22 Thread dominiq at lps dot ens.fr
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69419

Dominique d'Humieres  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2016-01-22
 Ever confirmed|0   |1

--- Comment #2 from Dominique d'Humieres  ---
Confirmed: from 4.8 up to 5.3 the ICE is a Segmentation fault and the ICE is in
gfc_conv_array_initializer, at fortran/trans-array.c for trunk (6.0).

[Bug c++/55843] ICE after exceeding template instantiation depth

2016-01-22 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=55843

--- Comment #1 from Paolo Carlini  ---
This is fixed in trunk and 5.x. I'm adding a testcase and closing the bug.

[Bug fortran/69420] ICE: tree check: expected array_type, have pointer_type in gfc_conv_array_initializer, at fortran/trans-array.c:5618

2016-01-22 Thread dominiq at lps dot ens.fr
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69420

Dominique d'Humieres  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2016-01-22
 Ever confirmed|0   |1

--- Comment #2 from Dominique d'Humieres  ---
Confirmed: from 4.8 up to 5.3 the ICE is a Segmentation fault and the ICE is in
gfc_conv_array_initializer, at fortran/trans-array.c for trunk (6.0).

Related to pr69419. Note I am not sure that the code is valid.

[Bug lto/69393] [6 Regression] ICE in dwarf2out_finish, at dwarf2out.c:27175 with LTO

2016-01-22 Thread rguenther at suse dot de
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69393

--- Comment #10 from rguenther at suse dot de  ---
On Fri, 22 Jan 2016, jakub at gcc dot gnu.org wrote:

> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69393
> 
> --- Comment #9 from Jakub Jelinek  ---
> Yes, the type is meant to go into the debug info.  But it is DECL_NAMELESS, so
> the debug info should not contain DW_AT_name or linkage name for it.

So is_naming_typedef_decl should check DECL_NAMELESS?  Like so?

Index: gcc/dwarf2out.c
===
--- gcc/dwarf2out.c (revision 232717)
+++ gcc/dwarf2out.c (working copy)
@@ -22970,6 +22970,7 @@ is_naming_typedef_decl (const_tree decl)
 {
   if (decl == NULL_TREE
   || TREE_CODE (decl) != TYPE_DECL
+  || DECL_NAMELESS (decl)
   || !is_tagged_type (TREE_TYPE (decl))
   || DECL_IS_BUILTIN (decl)
   || is_redundant_typedef (decl)

this unfortunately doesn't fix the ICE for me because we don't
stream DECL_NAMELESS it seems.  If I fix that the fix above works.

The lack of consistency between where free-lang-data forces a assembler 
name and the debug
expectation is disturbing (I suppose with -fno-lto-odr-type-merging
it would ICE all over the place)

[Bug fortran/69423] [6 Regression] Invalid optimization with deferred-length character

2016-01-22 Thread dominiq at lps dot ens.fr
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69423

Dominique d'Humieres  changed:

   What|Removed |Added

   Priority|P3  |P4
 Status|UNCONFIRMED |NEW
   Last reconfirmed||2016-01-22
 CC||pault at gcc dot gnu.org
  Known to work||5.3.0
 Blocks||68241
   Target Milestone|--- |6.0
Summary|Invalid optimization|[6 Regression] Invalid
   ||optimization with
   ||deferred-length character
 Ever confirmed|0   |1
  Known to fail||6.0

--- Comment #1 from Dominique d'Humieres  ---
Works with r232023, but not with r232451.


Referenced Bugs:

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68241
[Bug 68241] [meta-bug] Deferred-length character

[Bug fortran/69422] Unexpected result with allocatable character type component

2016-01-22 Thread dominiq at lps dot ens.fr
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69422

Dominique d'Humieres  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2016-01-22
 CC||pault at gcc dot gnu.org
 Blocks||68241
 Ever confirmed|0   |1

--- Comment #1 from Dominique d'Humieres  ---
Confirmed from 4.8 up to trunk (6.0).


Referenced Bugs:

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68241
[Bug 68241] [meta-bug] Deferred-length character

[Bug middle-end/66877] [6 Regression] FAIL: gcc.dg/vect/vect-over-widen-3-big-array.c -flto -ffat-lto-objects scan-tree-dump-times vect "vect_recog_over_widening_pattern: detected" 2

2016-01-22 Thread alalaw01 at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66877

alalaw01 at gcc dot gnu.org changed:

   What|Removed |Added

 Status|WAITING |ASSIGNED
 CC||alalaw01 at gcc dot gnu.org
   Assignee|rguenth at gcc dot gnu.org |alalaw01 at gcc dot 
gnu.org

--- Comment #7 from alalaw01 at gcc dot gnu.org ---
I can test on ARM ;), so taken -
https://gcc.gnu.org/ml/gcc-patches/2016-01/msg01727.html.

[Bug libstdc++/69116] [4.9/5/6 Regression] compile error when including valarray

2016-01-22 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69116

Jonathan Wakely  changed:

   What|Removed |Added

  Component|c++ |libstdc++

--- Comment #6 from Jonathan Wakely  ---
OK thanks for looking, I'll try constraining the valarray operator overloads.

[Bug c++/55843] ICE after exceeding template instantiation depth

2016-01-22 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=55843

Paolo Carlini  changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution|--- |FIXED
   Target Milestone|--- |5.0

--- Comment #3 from Paolo Carlini  ---
Done.

[Bug c++/55843] ICE after exceeding template instantiation depth

2016-01-22 Thread paolo at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=55843

--- Comment #2 from paolo at gcc dot gnu.org  ---
Author: paolo
Date: Fri Jan 22 11:03:54 2016
New Revision: 232721

URL: https://gcc.gnu.org/viewcvs?rev=232721&root=gcc&view=rev
Log:
2016-01-22  Paolo Carlini  

PR c++/55843
* g++.dg/template/pr55843.C: New.

Added:
trunk/gcc/testsuite/g++.dg/template/pr55843.C
Modified:
trunk/gcc/testsuite/ChangeLog

[Bug tree-optimization/69328] [6 Regression] ice in vect_get_vec_def_for_operand, at tree-vect-stmts.c:1379 with -O3

2016-01-22 Thread ienkovich at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69328

Ilya Enkovich  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |FIXED

--- Comment #8 from Ilya Enkovich  ---
Fixed

[Bug c/69429] New: gcc create sparse exec/libs

2016-01-22 Thread joakim.tjernlund at transmode dot se
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69429

Bug ID: 69429
   Summary: gcc create sparse exec/libs
   Product: gcc
   Version: 4.9.3
Status: UNCONFIRMED
  Severity: major
  Priority: P3
 Component: c
  Assignee: unassigned at gcc dot gnu.org
  Reporter: joakim.tjernlund at transmode dot se
  Target Milestone: ---

When building small libs/exec on ppc32 I usally get sparse files like so:
ls -lsh | sort -n

 64K -rwxr-xr-x 1 jocke users  68K Jan 22 11:20 mgmt_alarmd*
 64K -rwxr-xr-x 1 jocke users  67K Jan 22 11:20 ne_memd*
 56K -rwxr-xr-x 1 jocke users  67K Jan 22 11:20 cp_dummy*
 56K -rwxr-xr-x 1 jocke users  66K Jan 22 11:20 mgmt_pmd*
 48K -rwxr-xr-x 1 jocke users  69K Jan 22 11:20 ntpdate*
 48K -rwxr-xr-x 1 jocke users  67K Jan 22 11:20 ne_rc*
 48K -rwxr-xr-x 1 jocke users  66K Jan 22 11:20 relayd*
 48K -rwxr-xr-x 1 jocke users  66K Jan 22 11:20 ntptimeset*
 44K -rwxr-xr-x 1 jocke users  67K Jan 22 11:20 mgmt_backup_tftpd*
 44K -rwxr-xr-x 1 jocke users  67K Jan 22 11:20 emxp2_cm_bl_shell*
 44K -rwxr-xr-x 1 jocke users  66K Jan 22 11:20 msntp*
 44K -rwxr-xr-x 1 jocke users  66K Jan 22 11:20 cp_hw_i2c*
 36K -rwxr-xr-x 1 jocke users  66K Jan 22 11:20 te_monitor*
 36K -rwxr-xr-x 1 jocke users  66K Jan 22 11:20 mgmt_invd*
 36K -rwxr-xr-x 1 jocke users  66K Jan 22 11:20 chat*
 36K -rwxr-xr-x 1 jocke users  66K Jan 22 11:20 cgi-fcgi*
 32K -rwxr-xr-x 1 jocke users  66K Jan 22 11:20 ne_db_mgr*
 32K -rwxr-xr-x 1 jocke users  66K Jan 22 11:20 dummy_hw_bl*
 32K -rwxr-xr-x 1 jocke users  29K Jan 22 11:19 net-snmp-config*
 28K -rwxr-xr-x 1 jocke users  66K Jan 22 11:20 tosv_server*
 28K -rwxr-xr-x 1 jocke users  66K Jan 22 11:20 te_log*
 28K -rwxr-xr-x 1 jocke users  66K Jan 22 11:20 ntptrace*
 28K -rwxr-xr-x 1 jocke users  66K Jan 22 11:20 hwdata*
 24K -rwxr-xr-x 1 jocke users  66K Jan 22 11:20 te*
 24K -rwxr-xr-x 1 jocke users  66K Jan 22 11:20 heat_test*
 24K -rwxr-xr-x 1 jocke users  66K Jan 22 11:20 alib_psupd*
 24K -rwxr-xr-x 1 jocke users  66K Jan 22 11:20 alib_memsupd*
 20K -rwxr-xr-x 1 jocke users  68K Jan 22 11:20 ntptime*
 20K -rwxr-xr-x 1 jocke users  68K Jan 22 11:20 dumpicn*
 20K -rwxr-xr-x 1 jocke users  66K Jan 22 11:20 te_server*
 20K -rwxr-xr-x 1 jocke users  66K Jan 22 11:20 mgmt_named*
 16K -rwxr-xr-x 1 jocke users  66K Jan 22 11:20 up_util_test_pmem*
 16K -rwxr-xr-x 1 jocke users  66K Jan 22 11:20 tosv_timer*
 16K -rwxr-xr-x 1 jocke users  66K Jan 22 11:20 tosv_test*
 16K -rwxr-xr-x 1 jocke users  66K Jan 22 11:20 tosv_supv*
 16K -rwxr-xr-x 1 jocke users  66K Jan 22 11:20 ne_rc_supv*
 16K -rwxr-xr-x 1 jocke users  66K Jan 22 11:20 ne_rc_memeater*
 16K -rwxr-xr-x 1 jocke users  66K Jan 22 11:20 ne_rc_load*
 16K -rwxr-xr-x 1 jocke users  66K Jan 22 11:20 ne_mem_ram_test*
 16K -rwxr-xr-x 1 jocke users  66K Jan 22 11:20 alib_test_psup*
 16K -rwxr-xr-x 1 jocke users  16K Jan 22 11:15 convert_backup*
 15M -rwxr-xr-x 1 jocke users  15M Jan 22 11:20 emxp2_hw_bl*
 12K -rwxr-xr-x 1 jocke users 9.0K Jan 22 11:18 swu_prepost_script.sh*
 12K -rwxr-xr-x 1 jocke users  66K Jan 22 11:20 tickadj*
 12K -rwxr-xr-x 1 jocke users  66K Jan 22 11:20 tclsh8.4*
 12K -rwxr-xr-x 1 jocke users  66K Jan 22 11:20 genkeys*

downgraded binutils from 2.25.1 to 2.24 but the problem remains.
Using earlier toolchain I can see that this extra sparse space
is just garbage because there the files are much smaller, some 12-16KB

This is a huge problem as these sparse file are packaged into a
tar file and when unpacked they loose the sparse and will expand to 66K on
disk and fill up the my small FS.

[Bug debug/66668] [6 regression] FAIL: gcc.dg/debug/dwarf2/stacked-qualified-types-3.c scan-assembler-times DIE \\([^\n]*\\) DW_TAG_(?:const|volatile|atomic|restrict)_type 8

2016-01-22 Thread vogt at linux dot vnet.ibm.com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=8

--- Comment #11 from Dominik Vogt  ---
The problem is gone with this fix on s390 and s390x, and check-gcc doesn't show
any regressions.  (Haven't run a full check though.)

[Bug target/69421] [6 Regression] ICE in maybe_legitimize_operand, at optabs.c:6888 with -O3

2016-01-22 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69421

Jakub Jelinek  changed:

   What|Removed |Added

 CC||ienkovich at gcc dot gnu.org

--- Comment #8 from Jakub Jelinek  ---
I see there confusion on the sign of element's type of vector boolean types -
build_truth_vector_type / build_nonstandard_boolean_type creates a signed
element type, while get_vectype_for_scalar_type_and_size creates unsigned
element type.  Plus for some strange reason the last argument is getting a V2DI
mode vector type instead of expected vector boolean V16QI.
Ilya, can you please have a look?

[Bug target/64411] ICE: in verify_target_availability, at sel-sched.c:1577 with -Os -mcmodel=medium -fPIC -fschedule-insns -fselective-scheduling

2016-01-22 Thread abel at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64411

--- Comment #2 from Andrey Belevantsev  ---
Created attachment 37432
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=37432&action=edit
patch

In this case, we get an inconsistency between the sched-deps interface, saying
we can't move an insn writing si register through a vector insn, and the
liveness analysis, saying we can.  The latter doesn't take into account
implicit_reg_pending_clobbers set calculated in sched-deps before register
allocation.  The solution is to reflect this set in our insn data
(sets/uses/clobbers).  An interesting thing would be to check what happens with
the register allocator if we'd actually moved one insn past the other.

[Bug target/69012] gcc-6.0.0 internal compiler error building libgfortran for mips64el target

2016-01-22 Thread nickc at redhat dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69012

--- Comment #18 from Nick Clifton  ---
Hi Bernd,

> I am still unsure, if we shouldn't also do something like this,
> to prevent any remaining possibility for a further regression:

> +  /* Don't change the frame info after reload completed.  */
> +  if (reload_completed)
> +return;

Actually that might not be a bad idea.  Or maybe, to be even more paranoid, we
should check that a post-reload frame computation matches the last pre-reload
frame computation.  Hmm, maybe that is going to far.

Anyway I like your patch idea, but I cannot approve it.  Maybe the MIPS
maintainers will like it...

Cheers
   Nick

[Bug fortran/69385] [6 regression] ICE on valid with -fcheck=mem

2016-01-22 Thread janus at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69385

--- Comment #13 from janus at gcc dot gnu.org ---
(In reply to Paul Thomas from comment #11)
> Changing the entire block to:
>  [...]
> fixes Martin's problem and makes the following work correctly:

It also cures my problem, i.e. comment 5. Thanks a lot for the fix!


> For some reason that I cannot for the life of me understand, my svn+ssh
> connection from my laptop is failing because of some problem with my public
> keys.

I recently got an email from the sourceware admins which said they are
currently scanning the ssh keys for continued compatibility. Possibly you need
to generate a new key (in case yours is too weak). Mine is apparently still
working, luckily.

[Bug libstdc++/69295] [6 Regression] New special math function failures

2016-01-22 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69295

--- Comment #8 from Jakub Jelinek  ---
On i686-linux, it is clearly a matter of excess precision that sometimes
substantially changes the result.  With -mfpmath=sse -msse2 or -ffloat-store it
passes.
The abs errors for various tests that fail are (first NNN in test(dataNNN,
tolerNNN), then max_abs_frac, then tolerNNN), the patch I've used was:
@@ -11554,7 +11554,7 @@ const double toler245 = 2.50

 template
   void
-  test(const testcase_hyperg (&data)[Num], Tp toler)
+  test(const testcase_hyperg (&data)[Num], Tp toler, int nnn)
   {
 bool test __attribute__((unused)) = true;
 const Tp eps = std::numeric_limits::epsilon();
@@ -11576,256 +11576,258 @@ template
  max_abs_frac = std::abs(frac);
  }
   }
-VERIFY(max_abs_frac < toler);
+if (max_abs_frac >= toler)
+  __builtin_printf ("%d %a %a\n", nnn, max_abs_frac, toler);
+//VERIFY(max_abs_frac < toler);
   }

plus adjusting all the test(dataNNN, tolerNNN); calls to test(dataNNN,
tolerNNN, NNN);

167 0x1.8ab4f2f1f35bcp-40 0x1.19799812dea15p-42
171 0x1.890df8f35d42ep-38 0x1.19799812dea15p-42
172 0x1.1acd4227e561bp-34 0x1.19799812dea15p-42
173 0x1.6f73999c8e5adp-40 0x1.19799812dea15p-42
197 0x1.8ab4f2f1f35bcp-40 0x1.19799812dea15p-42
201 0x1.d4e2f28348906p-39 0x1.19799812dea15p-42
202 0x1.afc3fee12aee8p-36 0x1.19799812dea15p-42
203 0x1.9f229da628598p-39 0x1.19799812dea15p-42
204 0x1.949b76928c351p-40 0x1.19799812dea15p-42
206 0x1.24585756ecfbap-33 0x1.19799812dea15p-42
207 0x1.662797d1185e5p-31 0x1.19799812dea15p-42
208 0x1.27de1e24e6ac3p-27 0x1.19799812dea15p-42
209 0x1.a0ac9ec2d7f45p-34 0x1.19799812dea15p-42
231 0x1.890df8f35d42ep-38 0x1.19799812dea15p-42
232 0x1.1acd4227e561bp-34 0x1.19799812dea15p-42
233 0x1.6f73999c8e5adp-40 0x1.19799812dea15p-42
236 0x1.24585756ecfbap-33 0x1.19799812dea15p-42
237 0x1.662797d1185e5p-31 0x1.19799812dea15p-42
238 0x1.27de1e24e6ac3p-27 0x1.19799812dea15p-42
239 0x1.a0ac9ec2d7f45p-34 0x1.19799812dea15p-42
241 0x1.67ee0388ff7a7p-27 0x1.19799812dea15p-42
242 0x1.7aa254470eb52p-26 0x1.19799812dea15p-42
243 0x1.fb4f73983f28cp-19 0x1.19799812dea15p-42
244 0x1.3b46fd92feda9p-22 0x1.19799812dea15p-42
245 0x1.58d8d7350d864p-21 0x1.19799812dea15p-42

What are the problematic tests on powerpc* (that one is not excess precision
target though)?  Would it be acceptable to just increase the tolerNNN values
mentioned above (plus whatever powerpc needs)?

[Bug libstdc++/69331] [6 regression] FAIL: 20_util/shared_ptr/thread/default_weaktoshared.cc execution test

2016-01-22 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69331

Jakub Jelinek  changed:

   What|Removed |Added

   Priority|P3  |P4
 CC||jakub at gcc dot gnu.org

[Bug target/69421] [6 Regression] ICE in maybe_legitimize_operand, at optabs.c:6888 with -O3

2016-01-22 Thread ienkovich at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69421

Ilya Enkovich  changed:

   What|Removed |Added

 Status|NEW |ASSIGNED

--- Comment #9 from Ilya Enkovich  ---
Here we don't check boolean values get compatible vectypes when analyze
VEC_COND statement.  Here statement gets V16QI mode due to boolean type size. 
And one of its operand gets V2DI mode because it is a result of comparison of
doubles.

We have patterns to catch such cases and add additional mask conversion for
comparison and bit operations but don't have them for VEC_COND.

Suppose vectorization of such cases should be delayed until stage1.  For now
this patch helps to compile both reduced and original tests:

diff --git a/gcc/tree-vect-stmts.c b/gcc/tree-vect-stmts.c
index 1d2246d..8cb1bfe 100644
--- a/gcc/tree-vect-stmts.c
+++ b/gcc/tree-vect-stmts.c
@@ -7528,6 +7528,7 @@ vectorizable_condition (gimple *stmt,
gimple_stmt_iterator *gsi,

   tree vectype = STMT_VINFO_VECTYPE (stmt_info);
   int nunits = TYPE_VECTOR_SUBPARTS (vectype);
+  tree vectype1 = NULL_TREE, vectype2 = NULL_TREE;

   if (slp_node || PURE_SLP_STMT (stmt_info))
 ncopies = 1;
@@ -7547,9 +7548,19 @@ vectorizable_condition (gimple *stmt,
gimple_stmt_iterator *gsi,
 return false;

   gimple *def_stmt;
-  if (!vect_is_simple_use (then_clause, stmt_info->vinfo, &def_stmt, &dt))
+  if (!vect_is_simple_use (then_clause, stmt_info->vinfo, &def_stmt, &dt,
+  &vectype1))
+return false;
+  if (!vect_is_simple_use (else_clause, stmt_info->vinfo, &def_stmt, &dt,
+  &vectype2))
 return false;
-  if (!vect_is_simple_use (else_clause, stmt_info->vinfo, &def_stmt, &dt))
+
+  if (vectype1
+  && TYPE_VECTOR_SUBPARTS (vectype1) != TYPE_VECTOR_SUBPARTS (vectype))
+return false;
+
+  if (vectype2
+  && TYPE_VECTOR_SUBPARTS (vectype2) != TYPE_VECTOR_SUBPARTS (vectype))
 return false;

   masked = !COMPARISON_CLASS_P (cond_expr);

[Bug target/69421] [6 Regression] ICE in maybe_legitimize_operand, at optabs.c:6888 with -O3

2016-01-22 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69421

--- Comment #10 from Jakub Jelinek  ---
Wouldn't a useless_type_conversion_p check be better instead of just testing
number of elements?

[Bug c++/68949] [5/6 Regression] Implicit initialization of array member silently miscompiling.

2016-01-22 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68949

Jakub Jelinek  changed:

   What|Removed |Added

   Priority|P3  |P2
 Status|UNCONFIRMED |NEW
   Last reconfirmed||2016-01-22
 Ever confirmed|0   |1

[Bug target/69421] [6 Regression] ICE in maybe_legitimize_operand, at optabs.c:6888 with -O3

2016-01-22 Thread ienkovich at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69421

--- Comment #11 from Ilya Enkovich  ---
(In reply to Jakub Jelinek from comment #10)
> Wouldn't a useless_type_conversion_p check be better instead of just testing
> number of elements?

Yep. Will use it.

[Bug c++/68514] [6 Regression] ICE in tr1/5_numerical_facilities libstdc++ test cases

2016-01-22 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68514

Jakub Jelinek  changed:

   What|Removed |Added

 CC||jakub at gcc dot gnu.org

--- Comment #1 from Jakub Jelinek  ---
Can you still reproduce it?  If yes, can you attach preprocessed source for one
of those, so it can be reduced even with a cross-compiler?

[Bug c++/68514] [6 Regression] ICE in tr1/5_numerical_facilities libstdc++ test cases

2016-01-22 Thread rai...@emrich-ebersheim.de
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68514

--- Comment #2 from Rainer Emrich  ---
I'm starting bootstrap and testsuite run at the moment, will take some hours.

[Bug c/69429] gcc create sparse exec/libs

2016-01-22 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69429

Jakub Jelinek  changed:

   What|Removed |Added

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

--- Comment #1 from Jakub Jelinek  ---
Why do you file this against gcc?  If anything, it is related to binutils,
which is separate project.  But, I'd say it is not a bug nevertheless, sparse
files are an optimization, if you want to force no use of sparse files, you'd
just always get the larger ones.  If using tar doesn't preserve holes in sparse
files, use other means of copying them.

[Bug rtl-optimization/63384] scheduler loops on endless fence list with -fselective-scheduling2 on x86

2016-01-22 Thread abel at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63384

Andrey Belevantsev  changed:

   What|Removed |Added

 Status|UNCONFIRMED |ASSIGNED
   Last reconfirmed||2016-01-22
 Ever confirmed|0   |1

--- Comment #5 from Andrey Belevantsev  ---
We're looping because we decrease the counter of the insns we still can issue
(can_issue_more) on a DEBUG_INSN.  The following helps us to get away with it
but frankly I have no idea why it was not surfaced before -- no such insns with
usual debug info?

diff --git a/gcc/sel-sched.c b/gcc/sel-sched.c
index c798935..893a3e5 100644
--- a/gcc/sel-sched.c
+++ b/gcc/sel-sched.c
@@ -4249,7 +4249,8 @@ invoke_aftermath_hooks (fence_t fence, rtx_insn
*best_insn, int issue_more)
   issue_more);
   memcpy (FENCE_STATE (fence), curr_state, dfa_state_size);
 }
-  else if (GET_CODE (PATTERN (best_insn)) != USE
+  else if (! DEBUG_INSN_P (best_insn)
+  && GET_CODE (PATTERN (best_insn)) != USE
&& GET_CODE (PATTERN (best_insn)) != CLOBBER)
 issue_more--;

[Bug c++/68357] [6 Regression] FAIL: g++.dg/other/darwin-cfstring1.C -std=* (internal compiler error) on x86_64-apple-darwin1(0|4|5)

2016-01-22 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68357

Jakub Jelinek  changed:

   What|Removed |Added

 CC||jakub at gcc dot gnu.org

--- Comment #4 from Jakub Jelinek  ---
Can you attach preprocessed source for the testcase?

[Bug rtl-optimization/69238] [4.9/5/6 Regression] gcc.dg/vect/vect-multitypes-1.c FAILs with -O2 -fno-dce -fno-forward-propagate -fno-rerun-cse-after-loop -funroll-loops

2016-01-22 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69238

Jakub Jelinek  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |DUPLICATE

--- Comment #2 from Jakub Jelinek  ---
Let's just close it as a DUP.

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

[Bug rtl-optimization/69195] [4.9/5/6 Regression] gcc.dg/torture/pr44913.c FAILs with -O3 -fno-dce -fno-forward-propagate

2016-01-22 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69195

--- Comment #5 from Jakub Jelinek  ---
*** Bug 69238 has been marked as a duplicate of this bug. ***

[Bug rtl-optimization/69195] [4.9/5/6 Regression] gcc.dg/torture/pr44913.c FAILs with -O3 -fno-dce -fno-forward-propagate

2016-01-22 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69195

--- Comment #6 from Jakub Jelinek  ---
Once we have a fix, please make sure to also check the PR69238 testcase and add
it into the testsuite.

[Bug c/69429] gcc create sparse exec/libs

2016-01-22 Thread joakim.tjernlund at transmode dot se
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69429

--- Comment #2 from joakim.tjernlund at transmode dot se  ---
(In reply to Jakub Jelinek from comment #1)
> Why do you file this against gcc?  If anything, it is related to binutils,

You are right, I though it was a gcc problem because I downgraded binutils
to 2.24 but not I ses I only thought I did so.

> which is separate project.  But, I'd say it is not a bug nevertheless,
> sparse files are an optimization, if you want to force no use of sparse
> files, you'd just always get the larger ones.  If using tar doesn't preserve
> holes in sparse files, use other means of copying them.

Well, it breaks and tar cannot handle these sparse files and I think
a lot of packing tools uses tar.
I cannot change to something else on my targets as there is only tar installed

I found this binutils 2.15.x commit:

https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=commitdiff;h=9059a151e33f2f9b7b989a22e63d711a2c8a335b;hp=6e7e69e72dc1c53c8d5a8794c845026c48ff343a
(Set ppc COMMONPAGESIZE to 64k)

I do wonder why it now became necessary to increase page size in binutils?

[Bug c++/69327] [6 Regression] constexpr leaves reference member var uninitialized

2016-01-22 Thread doko at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69327

Matthias Klose  changed:

   What|Removed |Added

   Last reconfirmed||2016-1-22
 CC||doko at gcc dot gnu.org
  Known to work||5.3.1
Summary|constexpr leaves reference  |[6 Regression] constexpr
   |member var uninitialized|leaves reference member var
   ||uninitialized
  Known to fail||6.0

--- Comment #1 from Matthias Klose  ---
$ cat tst.cc 
struct S {
constexpr S(int & x): n(x) {}
int & n;
};
constexpr S f1(int & x) { return S(x); }
constexpr S f2(int & x) { return f1(x); }
S f3(int & x) { return f2(x); }
int main() {
  int n = 1;
  return f3(n).n;
}

$ g++ -std=c++11 tst.cc && ./a.out
Segmentation fault (core dumped)

[Bug libstdc++/69413] [6 Regression] r232327 prevents libstdc++ working after upgrading glibc to 2.23

2016-01-22 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69413

--- Comment #1 from Jonathan Wakely  ---
Author: redi
Date: Fri Jan 22 12:47:26 2016
New Revision: 232726

URL: https://gcc.gnu.org/viewcvs?rev=232726&root=gcc&view=rev
Log:
Allow _GLIBCXX_HAVE_OBSOLETE_ISINF_ISNAN to be overridden

PR libstdc++/69413
* config/os/gnu-linux/os_defines.h: Define
_GLIBCXX_NO_OBSOLETE_ISINF_ISNAN_DYNAMIC.
* include/c_global/cmath (isinf, isnan): Check it.
* doc/xml/manual/internals.xml: Document it.
* doc/html/*: Regenerate.

Modified:
trunk/libstdc++-v3/ChangeLog
trunk/libstdc++-v3/config/os/gnu-linux/os_defines.h
trunk/libstdc++-v3/doc/html/manual/internals.html
trunk/libstdc++-v3/doc/xml/manual/internals.xml
trunk/libstdc++-v3/include/c_global/cmath

[Bug c/69429] gcc create sparse exec/libs

2016-01-22 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69429

--- Comment #3 from Jakub Jelinek  ---
Because most of the powerpc distros now use 64KB page size instead of 4KB, so
having only 4KB common page size means security protection of relro area
usually does not work or covers smaller amount of data.
You can probably use -z common-page-size=4096 if you are sure you are never
going to run your binaries on a kernel with 64KB pages.

[Bug libstdc++/69413] [6 Regression] r232327 prevents libstdc++ working after upgrading glibc to 2.23

2016-01-22 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69413

Jonathan Wakely  changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution|--- |FIXED

--- Comment #2 from Jonathan Wakely  ---
GCC 6 will now work if it is built against glibc <= 2.22 and then glibc is
upgraded to >= 2.23

Using recent glibc 2.22 snapshots from git still requires rebuilding libstdc++.

Specifically, if you build GCC against glibc before
https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=d9b965fa56350d6eea9f7f438a0714c7ffbb183f
and then update glibc to a snapshot of 2.22 from git master after that commit,
libstdc++ will not work. In that case glibc still reports itself as 2.22 and
libstdc++ won't detect that the isinf and isnan declarations are gone, so must
be reconfigured and rebuilt against the new glibc headers.

When glibc releases 2.23 it weill be possible to upgrade to that without
rebuilding libstdc++, because the version bump will tell libstdc++ the
functions are gone.

[Bug c++/69327] [6 Regression] constexpr leaves reference member var uninitialized

2016-01-22 Thread doko at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69327

Matthias Klose  changed:

   What|Removed |Added

   Keywords||wrong-code

--- Comment #2 from Matthias Klose  ---
r232725

[Bug c++/69327] [6 Regression] constexpr leaves reference member var uninitialized

2016-01-22 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69327

--- Comment #3 from Jonathan Wakely  ---
(In reply to Matthias Klose from comment #2)
> r232725

That commit is newer than Stephan's original report.

[Bug c++/69327] [6 Regression] constexpr leaves reference member var uninitialized

2016-01-22 Thread doko at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69327

--- Comment #4 from Matthias Klose  ---
more verbose: still seen with r232725

[Bug target/68273] [5/6 Regression] Wrong code on mips/mipsel due to (invalid?) peeking at alignments in function_arg.

2016-01-22 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68273

Jakub Jelinek  changed:

   What|Removed |Added

 CC||jakub at gcc dot gnu.org

--- Comment #11 from Jakub Jelinek  ---
(In reply to Jeffrey A. Law from comment #10)
> I understand everything you're saying Richi.  Note however that the MIPS
> backend explicitly wants to align things based on the object's alignment --
> even scalars passed in registers:

And that is the bug, backend should never do that.
Alignment of a scalar object is a property of that object, but if you pass it
by value, you just pass the value, so copy it to some other location.
Except for calls to unprototyped C (and Fortran) functions, one could argue
that some ABI could be using the alignment of the argument type on the function
definition (and require declarations to be matching).  But with calls to
unprototyped functions this becomes major problem.
As for ARM, the questions are what the compiler will do say on:
typedef int alignedint __attribute__((aligned(8)));
int  __attribute__((weak)) foo (int a, alignedint b)
{ return b;}
void bar (alignedint x)
{
  foo (1, x);
}

void
bar2 (alignedint x)
{
  foo (1, (alignedint) 1);
}

void
bar3 (alignedint x)
{
  foo (1, x + (alignedint) 1);
}

alignedint q;

void
bar4 (alignedint x)
{
  foo (1, q);
}

extern int baz (int, int);

void
bar5 (alignedint x)
{
  baz (1, x);
}

[Bug tree-optimization/69376] [6 Regression] wrong code at -Os and above on x86_64-linux-gnu

2016-01-22 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69376

--- Comment #5 from Richard Biener  ---
Created attachment 37433
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=37433&action=edit
patch

Patch that I have tested but which exposes another latent issue?

FAIL: 21_strings/basic_string/requirements/exception/generation_prohibited.cc
ex
ecution test
FAIL: ext/vstring/requirements/exception/generation_prohibited.cc execution
test


on x86_64 both -m32 and -m64 with allocating gigabytes of memory and eventually
throwing bad_alloc ().  -fno-tree-pre recovers from this, so does -fno-tree-vrp
(as expected), so does disabling only vrp2 (or vrp1).

[Bug c++/56260] [C++11] GCC hangs/crashes on invalid source

2016-01-22 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56260

Paolo Carlini  changed:

   What|Removed |Added

 Status|NEW |ASSIGNED
   Assignee|unassigned at gcc dot gnu.org  |paolo.carlini at oracle 
dot com

--- Comment #1 from Paolo Carlini  ---
Mine.

[Bug tree-optimization/69376] [6 Regression] wrong code at -Os and above on x86_64-linux-gnu

2016-01-22 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69376

--- Comment #6 from Jakub Jelinek  ---
(In reply to Richard Biener from comment #5)
> Created attachment 37433 [details]
> patch
> 
> Patch that I have tested but which exposes another latent issue?

That patch LGTM.

> FAIL:
> 21_strings/basic_string/requirements/exception/generation_prohibited.cc ex
> ecution test
> FAIL: ext/vstring/requirements/exception/generation_prohibited.cc execution
> test
> 
> 
> on x86_64 both -m32 and -m64 with allocating gigabytes of memory and
> eventually throwing bad_alloc ().  -fno-tree-pre recovers from this, so does
> -fno-tree-vrp
> (as expected), so does disabling only vrp2 (or vrp1).

Are you going to debug those, or shall I have a look?

[Bug target/67172] [5/6 regression] i686-w64-mingw32 dwarf2 bootstrap fails with undefined reference to __EH_FRAME_BEGIN__

2016-01-22 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67172

Jakub Jelinek  changed:

   What|Removed |Added

 CC||jakub at gcc dot gnu.org

--- Comment #7 from Jakub Jelinek  ---
If cygwin or mingw or what wants to ensure EH_FRAME_SECTION_NAME is not set to
the default, then perhaps allow it to be set to NULL too, and change the few
uses of that macro, like:
#ifdef EH_FRAME_SECTION_NAME
  eh_frame_section = get_section (EH_FRAME_SECTION_NAME, flags, NULL);
#else
  eh_frame_section = ((flags == SECTION_WRITE)
  ? data_section : readonly_data_section);
#endif /* EH_FRAME_SECTION_NAME */
to
#ifdef EH_FRAME_SECTION_NAME
  if (EH_FRAME_SECTION_NAME != NULL)
eh_frame_section = get_section (EH_FRAME_SECTION_NAME, flags, NULL);
  else
#endif
eh_frame_section = ((flags == SECTION_WRITE)
  ? data_section : readonly_data_section);
and
#ifdef EH_FRAME_SECTION_NAME
  builtin_define_with_value ("__LIBGCC_EH_FRAME_SECTION_NAME__",
 EH_FRAME_SECTION_NAME, 1);
#endif
to
#ifdef EH_FRAME_SECTION_NAME
  if (EH_FRAME_SECTION_NAME != NULL)
builtin_define_with_value ("__LIBGCC_EH_FRAME_SECTION_NAME__",
   EH_FRAME_SECTION_NAME, 1);
#endif
and then just #define EH_FRAME_SECTION_NAME NULL for the ports that need that
(and add big comment why).  You'd need to adjust also the tm.texi documentation
to explain that NULL means use the data sections as if named sections weren't
supported.

[Bug libstdc++/69413] [6 Regression] r232327 prevents libstdc++ working after upgrading glibc to 2.23

2016-01-22 Thread vogt at linux dot vnet.ibm.com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69413

--- Comment #3 from Dominik Vogt  ---
So, what is the proper way to compile

  -- snip --
  #include 
  -- snip --

using a current Gcc compiled with an old system Glibc so that the program uses
a new (not installed) Glibc?  The hack I tried earlier still does not work:

$ g++ -std=c++11 x.C -v \
  --sysroot ~/src/git/glibc/install \
  -idirafter ~/src/git/glibc/install/usr/include \
  -idirafter /usr/local/include \
  -idirafter /usr/include

...
ignoring nonexistent directory "~/src/git/glibc/install/usr/local/include"
ignoring nonexistent directory
"~/src/git/gcc/install/lib/gcc/s390x-ibm-linux-gnu/6.0.0/../../../../s390x-ibm-linux-gnu/include"
ignoring duplicate directory "~/src/git/glibc/install/usr/include"
#include "..." search starts here:
#include <...> search starts here:

~/src/git/gcc/install/lib/gcc/s390x-ibm-linux-gnu/6.0.0/../../../../include/c++/6.0.0

~/src/git/gcc/install/lib/gcc/s390x-ibm-linux-gnu/6.0.0/../../../../include/c++/6.0.0/s390x-ibm-linux-gnu

~/src/git/gcc/install/lib/gcc/s390x-ibm-linux-gnu/6.0.0/../../../../include/c++/6.0.0/backward
 ~/src/git/gcc/install/lib/gcc/s390x-ibm-linux-gnu/6.0.0/include
 ~/src/git/gcc/install/include
 ~/src/git/gcc/install/lib/gcc/s390x-ibm-linux-gnu/6.0.0/include-fixed
 ~/src/git/glibc/install/usr/include
 /usr/local/include
 /usr/include
End of search list.
 of search list.
...

[Bug tree-optimization/69376] [6 Regression] wrong code at -Os and above on x86_64-linux-gnu

2016-01-22 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69376

--- Comment #7 from Richard Biener  ---
Ah, forgot to update free_scc_vn - retesting.

[Bug target/69403] [4.9/5/6 Regression] Wrong thumb2_ior_scc_strict_it insn pattern.

2016-01-22 Thread ktkachov at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69403

--- Comment #4 from ktkachov at gcc dot gnu.org ---
Author: ktkachov
Date: Fri Jan 22 13:58:11 2016
New Revision: 232727

URL: https://gcc.gnu.org/viewcvs?rev=232727&root=gcc&view=rev
Log:
[ARM] Fix PR target/69403: Bug in thumb2_ior_scc_strict_it pattern

PR target/69403
* config/arm/thumb2.md (*thumb2_ior_scc_strict_it): Convert to
define_insn_and_split.  Ensure operands[1] and operands[0] do not
get assigned the same register.

* gcc.c-torture/execute/pr69403.c: New test.


Added:
trunk/gcc/testsuite/gcc.c-torture/execute/pr69403.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/arm/thumb2.md
trunk/gcc/testsuite/ChangeLog

[Bug c++/69327] [6 Regression] constexpr leaves reference member var uninitialized

2016-01-22 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69327

Jakub Jelinek  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 CC||jakub at gcc dot gnu.org,
   ||jason at gcc dot gnu.org
   Target Milestone|--- |6.0
 Ever confirmed|0   |1

--- Comment #5 from Jakub Jelinek  ---
Started with r230365. In the testcase for testsuite you want f3(n).n == 1
instead, otherwise it will fail with non-zero return code even if not
miscompiled.

[Bug tree-optimization/69376] [6 Regression] wrong code at -Os and above on x86_64-linux-gnu

2016-01-22 Thread bernds at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69376

--- Comment #8 from Bernd Schmidt  ---
Why not put this bit into range_info_def so as to not have the information
scattered across two different places? Seems like it would be more robust and
more readable.

[Bug tree-optimization/69376] [6 Regression] wrong code at -Os and above on x86_64-linux-gnu

2016-01-22 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69376

--- Comment #9 from Jakub Jelinek  ---
(In reply to Bernd Schmidt from comment #8)
> Why not put this bit into range_info_def so as to not have the information
> scattered across two different places? Seems like it would be more robust
> and more readable.

It would, but it would increase the size of it by 64 bits.  As we want to use
these more and more, even for IPA VRP, the memory footprint of the range info
matters.

[Bug target/68674] ARM/AARCH64 attribute target neon internal compiler error: in copy_to_mode_reg, at explow.c:595

2016-01-22 Thread chrbr at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68674

--- Comment #16 from chrbr at gcc dot gnu.org ---
Author: chrbr
Date: Fri Jan 22 14:16:47 2016
New Revision: 232728

URL: https://gcc.gnu.org/viewcvs?rev=232728&root=gcc&view=rev
Log:
2016-01-22  Christian Bruel  

PR target/68674
* expr.c (expand_expr_real_1): Reset DECL_MODE if VECTOR_TYPE_P
changed.

// testsuite
2016-01-21  Christian Bruel  

PR target/68674
* gcc.target/i386/pr68674.c
* gcc.target/aarch64/pr68674.c
* gcc.target/arm/pr68674.c


Added:
trunk/gcc/testsuite/gcc.target/aarch64/pr68674.c
trunk/gcc/testsuite/gcc.target/arm/pr68674.c
trunk/gcc/testsuite/gcc.target/i386/pr68674.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/expr.c
trunk/gcc/testsuite/ChangeLog

[Bug lto/69393] [6 Regression] ICE in dwarf2out_finish, at dwarf2out.c:27175 with LTO

2016-01-22 Thread trippels at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69393

Markus Trippelsdorf  changed:

   What|Removed |Added

 CC||trippels at gcc dot gnu.org

--- Comment #11 from Markus Trippelsdorf  ---
trippels@CFARM-IUT-TLSE3 ~ % cat STAR.ii
class A {
public:
  int runThreadN, outBAMsortingThreadNactual;
};
class B {
public:
  long *binTotalN;
};
class C {
public:
  B *chunkOutBAMcoord;
};
main() {
  A *P;
  C *a[P->runThreadN];
#pragma omp parallel num_threads(P->outBAMsortingThreadNactual)
  int b = a[0]->chunkOutBAMcoord->binTotalN[0];
}

trippels@CFARM-IUT-TLSE3 ~ % g++ -r -nostdlib -flto -g -O2 -fopenmp STAR.ii
lto1: internal compiler error: in dwarf2out_finish, at dwarf2out.c:27200

[Bug c++/68514] [6 Regression] ICE in tr1/5_numerical_facilities libstdc++ test cases

2016-01-22 Thread rai...@emrich-ebersheim.de
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68514

--- Comment #3 from Rainer Emrich  ---
Will take more time, trunk doesn't bootstrap atm. I have to investigate.

[Bug lto/69393] [6 Regression] ICE in dwarf2out_finish, at dwarf2out.c:27175 with LTO

2016-01-22 Thread trippels at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69393

--- Comment #12 from Markus Trippelsdorf  ---
Perhaps "-shared -fPIC" instead of "-r -nostdlib" should be used for the
testsuite.

[Bug libstdc++/69413] [6 Regression] r232327 prevents libstdc++ working after upgrading glibc to 2.23

2016-01-22 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69413

--- Comment #4 from Jonathan Wakely  ---
(In reply to Dominik Vogt from comment #3)
> So, what is the proper way to compile
> 
>   -- snip --
>   #include 
>   -- snip --
> 
> using a current Gcc compiled with an old system Glibc so that the program
> uses a new (not installed) Glibc? 

You can't, that's not supported.

As I said, if you want to use glibc 2.22 headers from after the mentioned
commit, libstdc++ must be built with those same headers.

I thought this was fairly explicit:

(In reply to Jonathan Wakely from comment #2)
> Specifically, if you build GCC against glibc before
> https://sourceware.org/git/gitweb.cgi?p=glibc.git;
> h=d9b965fa56350d6eea9f7f438a0714c7ffbb183f and then update glibc to a
> snapshot of 2.22 from git master after that commit, libstdc++ will not work.
> In that case glibc still reports itself as 2.22 and libstdc++ won't detect
> that the isinf and isnan declarations are gone, so must be reconfigured and
> rebuilt against the new glibc headers.


As a quick hack you can bump the value of __GLIBC_MINOR__ in
~/src/git/glibc/install/usr/include/features.h to make it appear to be glibc
2.23, but obviously that isn't supported either.

[Bug lto/69393] [6 Regression] ICE in dwarf2out_finish, at dwarf2out.c:27175 with LTO

2016-01-22 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69393

--- Comment #13 from Jakub Jelinek  ---
More reduced testcase:
int e = 5;

int
main ()
{
  int a[e];
  a[0] = 6;
#pragma omp parallel
  if (a[0] != 6)
__builtin_abort ();
  return 0;
}

Or it can be put into libgomp/testsuite/libgomp.c++/ and just have
// { dg-do run }
// { dg-options "-flto -g -fopenmp" }
?

[Bug fortran/69397] ICE on missing subprogram in generic interface

2016-01-22 Thread jvdelisle at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69397

Jerry DeLisle  changed:

   What|Removed |Added

 Status|WAITING |ASSIGNED

[Bug target/63681] ICE in cfg_layout_initialize, at cfgrtl.c:4233

2016-01-22 Thread bernds at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63681

Bernd Schmidt  changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution|--- |FIXED

--- Comment #10 from Bernd Schmidt  ---
Done.

[Bug libstdc++/69116] [4.9/5/6 Regression] compile error when including valarray

2016-01-22 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69116

--- Comment #7 from Jonathan Wakely  ---
The problem overload is this one:

template
  inline _Expr<_BinClos<__shift_left, _Constant, _ValArray, _Tp, _Tp>, typename
__fun<__shift_left, _Tp>::result_type>
  operator <<(const _Tp& __t, const valarray<_Tp>& __v)
  {
typedef _BinClos<__shift_left, _Constant, _ValArray, _Tp, _Tp> _Closure;
typedef typename __fun<__shift_left, _Tp>::result_type _Rt;
return _Expr<_Closure, _Rt>(_Closure(__t, __v));
  }

That deduces _Tp as x and so tries to instantiate valarray to see if __v can
be initialized from std::endl, which causes the "invalid abstract return type"
outside the immediate context.

It can be fixed using enable_if (or __gnu_cxx::__enable_if since this is C++98
code) to reject invalid types for valarray, maybe using __is_abstract. I just
need to figure out the best place to put it, and how many of the other
overloaded operators are affected.

It might make sense to make the first argument a non-deduced context, so we
only use this operator when the RHS is really a valarray, rather than matching
for anything on the LHS and then trying to convert the RHS to a valarray. I
don't know if that would break real code using valarray.

[Bug target/63681] ICE in cfg_layout_initialize, at cfgrtl.c:4233

2016-01-22 Thread bernds at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63681

--- Comment #9 from Bernd Schmidt  ---
Author: bernds
Date: Fri Jan 22 14:49:22 2016
New Revision: 232730

URL: https://gcc.gnu.org/viewcvs?rev=232730&root=gcc&view=rev
Log:
Backport PR63681 fix

PR target/63681
* cfgrtl.c (cfg_layout_initialize): Weaken assert to only trigger if
flag_reorder_blocks_and_partition.
* hw-doloop.c (reorg_loops): Avoid reordering if that flag is set.


Modified:
branches/gcc-4_9-branch/gcc/ChangeLog
branches/gcc-4_9-branch/gcc/cfgrtl.c
branches/gcc-4_9-branch/gcc/hw-doloop.c

[Bug tree-optimization/69426] [5/6 Regression] ICE: verify_ssa failed (error: missing definition) w/ -O2 (and above) -ftree-parallelize-loops=2

2016-01-22 Thread vries at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69426

vries at gcc dot gnu.org changed:

   What|Removed |Added

  Known to work|5.3.0   |
Summary|[6 Regression] ICE: |[5/6 Regression] ICE:
   |verify_ssa failed (error:   |verify_ssa failed (error:
   |missing definition) w/ -O2  |missing definition) w/ -O2
   |(and above) |(and above)
   |-ftree-parallelize-loops=2  |-ftree-parallelize-loops=2
  Known to fail||5.3.0

--- Comment #3 from vries at gcc dot gnu.org ---
Reproduced (on x86_64) with 5 branch.

The ICE seems to have been triggered by removing the expand_omp_local from
parloops and using a separate omp_expand_ssa pass.

[Bug rtl-optimization/69430] [6 regression] stage2 miscompiled by CCMP

2016-01-22 Thread sch...@linux-m68k.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69430

Andreas Schwab  changed:

   What|Removed |Added

   Target Milestone|--- |6.0

[Bug rtl-optimization/69430] [6 regression] stage2 miscompiled by CCMP

2016-01-22 Thread ktkachov at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69430

ktkachov at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 CC||ktkachov at gcc dot gnu.org
 Resolution|--- |DUPLICATE

--- Comment #1 from ktkachov at gcc dot gnu.org ---
Dup.

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

[Bug c/69415] -Wmisleading-indentation warns on "if (__b < __a) return __b; return __a;"

2016-01-22 Thread dmalcolm at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69415

--- Comment #9 from David Malcolm  ---
Similar issue seen here:
  https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=811579
Package: mosh

> make[5]: Entering directory '/<>/src/protobufs'
...
> userinput.pb.cc: In member function 'virtual bool 
> ClientBuffers::Instruction::IsInitialized() const':
> userinput.pb.cc:375:53: error: statement is indented as if it were guarded 
> by... [-Werror=misleading-indentation]
>if (!_extensions_.IsInitialized()) return false;  return true;
>  ^~
> 
> userinput.pb.cc:375:3: note: ...this 'if' clause, but it is not
>if (!_extensions_.IsInitialized()) return false;  return true;
>^~

The code looks like it was autogenerated from:
 
https://github.com/mobile-shell/mosh/blob/master/src/protobufs/userinput.proto
presumably using https://github.com/google/protobuf

[Bug rtl-optimization/69430] New: [6 regression] stage2 miscompiled by CCMP

2016-01-22 Thread sch...@linux-m68k.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69430

Bug ID: 69430
   Summary: [6 regression] stage2 miscompiled by CCMP
   Product: gcc
   Version: 6.0
Status: UNCONFIRMED
  Keywords: build, ice-on-valid-code
  Severity: normal
  Priority: P3
 Component: rtl-optimization
  Assignee: unassigned at gcc dot gnu.org
  Reporter: sch...@linux-m68k.org
CC: jiong.wang at arm dot com
  Target Milestone: ---
Target: aarch64-*-*

make[4]: Entering directory
'/opt/gcc/gcc-20160122/Build/aarch64-suse-linux/libstdc++-v3/libsupc++'
/bin/sh ../libtool --tag CC --tag disable-shared  --mode=compile
/opt/gcc/gcc-20160122/Build/./gcc/xgcc -B/opt/gcc/gcc-20160122/Build/./gcc/
-B/usr/aarch64-suse-linux/bin/ -B/usr/aarch64-suse-linux/lib/ -isystem
/usr/aarch64-suse-linux/include -isystem /usr/aarch64-suse-linux/sys-include   
-DHAVE_CONFIG_H -I.. -I/opt/gcc/gcc-20160122/libstdc++-v3/../libiberty
-I/opt/gcc/gcc-20160122/libstdc++-v3/../include -prefer-pic -D_GLIBCXX_SHARED
-I/opt/gcc/gcc-20160122/Build/aarch64-suse-linux/libstdc++-v3/include/aarch64-suse-linux
-I/opt/gcc/gcc-20160122/Build/aarch64-suse-linux/libstdc++-v3/include
-I/opt/gcc/gcc-20160122/libstdc++-v3/libsupc++-O2 -g -DIN_GLIBCPP_V3
-Wno-error -c cp-demangle.c
libtool: compile:  /opt/gcc/gcc-20160122/Build/./gcc/xgcc
-B/opt/gcc/gcc-20160122/Build/./gcc/ -B/usr/aarch64-suse-linux/bin/
-B/usr/aarch64-suse-linux/lib/ -isystem /usr/aarch64-suse-linux/include
-isystem /usr/aarch64-suse-linux/sys-include -DHAVE_CONFIG_H -I..
-I/opt/gcc/gcc-20160122/libstdc++-v3/../libiberty
-I/opt/gcc/gcc-20160122/libstdc++-v3/../include -D_GLIBCXX_SHARED
-I/opt/gcc/gcc-20160122/Build/aarch64-suse-linux/libstdc++-v3/include/aarch64-suse-linux
-I/opt/gcc/gcc-20160122/Build/aarch64-suse-linux/libstdc++-v3/include
-I/opt/gcc/gcc-20160122/libstdc++-v3/libsupc++ -O2 -g -DIN_GLIBCPP_V3
-Wno-error -c cp-demangle.c  -fPIC -DPIC -o cp-demangle.o
cp-demangle.c: In function ‘d_type’:
cp-demangle.c:2346:40: internal compiler error: RTL flag check: MEM_VOLATILE_P
used with unexpected rtx code 'mem' in set_mem_attributes_minus_bitpos, at
emit-rtl.c:1833
   di->expansion += ret->u.s_builtin.type->len;
^

0x5c3077 ???
../sysdeps/aarch64/start.S:81
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <http://gcc.gnu.org/bugs.html> for instructions.
Makefile:844: recipe for target 'cp-demangle.lo' failed
make[4]: *** [cp-demangle.lo] Error 1
make[4]: Leaving directory
'/opt/gcc/gcc-20160122/Build/aarch64-suse-linux/libstdc++-v3/libsupc++'
Makefile:507: recipe for target 'all-recursive' failed
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory
'/opt/gcc/gcc-20160122/Build/aarch64-suse-linux/libstdc++-v3'
Makefile:414: recipe for target 'all' failed
make[2]: *** [all] Error 2
make[2]: Leaving directory
'/opt/gcc/gcc-20160122/Build/aarch64-suse-linux/libstdc++-v3'
Makefile:13324: recipe for target 'all-stage2-target-libstdc++-v3' failed
make[1]: *** [all-stage2-target-libstdc++-v3] Error 2
make[1]: Leaving directory '/opt/gcc/gcc-20160122/Build'
Makefile:22659: recipe for target 'stage2-bubble' failed
make: *** [stage2-bubble] Error 2

07bd240ed93406c063fd6f7a42e18a533f7ae556 is the first bad commit
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@232565
138bc75d-0d04-0410-961f-82ee72b054a4

[Bug target/69416] [6 Regression] Nonsense rtl checking failure

2016-01-22 Thread ktkachov at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69416

ktkachov at gcc dot gnu.org changed:

   What|Removed |Added

 CC||sch...@linux-m68k.org

--- Comment #8 from ktkachov at gcc dot gnu.org ---
*** Bug 69430 has been marked as a duplicate of this bug. ***

[Bug target/68674] ARM/AARCH64 attribute target neon internal compiler error: in copy_to_mode_reg, at explow.c:595

2016-01-22 Thread chrbr at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68674

chrbr at gcc dot gnu.org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |FIXED

--- Comment #17 from chrbr at gcc dot gnu.org ---
fixed for gcc 6.0

[Bug target/69403] [4.9/5/6 Regression] Wrong thumb2_ior_scc_strict_it insn pattern.

2016-01-22 Thread ktkachov at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69403

--- Comment #5 from ktkachov at gcc dot gnu.org ---
Author: ktkachov
Date: Fri Jan 22 15:37:50 2016
New Revision: 232733

URL: https://gcc.gnu.org/viewcvs?rev=232733&root=gcc&view=rev
Log:
[ARM] Fix PR target/69403: Bug in thumb2_ior_scc_strict_it pattern

Backport from mainline
2016-01-22  Kyrylo Tkachov  

PR target/69403
* config/arm/thumb2.md (*thumb2_ior_scc_strict_it): Convert to
define_insn_and_split.  Ensure operands[1] and operands[0] do not
get assigned the same register.

* gcc.c-torture/execute/pr69403.c: New test.


Added:
branches/gcc-5-branch/gcc/testsuite/gcc.c-torture/execute/pr69403.c
Modified:
branches/gcc-5-branch/gcc/ChangeLog
branches/gcc-5-branch/gcc/config/arm/thumb2.md
branches/gcc-5-branch/gcc/testsuite/ChangeLog

[Bug target/69403] [4.9/5/6 Regression] Wrong thumb2_ior_scc_strict_it insn pattern.

2016-01-22 Thread ktkachov at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69403

--- Comment #6 from ktkachov at gcc dot gnu.org ---
Author: ktkachov
Date: Fri Jan 22 15:42:30 2016
New Revision: 232734

URL: https://gcc.gnu.org/viewcvs?rev=232734&root=gcc&view=rev
Log:
[ARM] Fix PR target/69403: Bug in thumb2_ior_scc_strict_it pattern

Backport from mainline
2016-01-22  Kyrylo Tkachov  

PR target/69403
* config/arm/thumb2.md (*thumb2_ior_scc_strict_it): Convert to
define_insn_and_split.  Ensure operands[1] and operands[0] do not
get assigned the same register.

* gcc.c-torture/execute/pr69403.c: New test.


Added:
branches/gcc-4_9-branch/gcc/testsuite/gcc.c-torture/execute/pr69403.c
Modified:
branches/gcc-4_9-branch/gcc/ChangeLog
branches/gcc-4_9-branch/gcc/config/arm/thumb2.md
branches/gcc-4_9-branch/gcc/testsuite/ChangeLog

[Bug target/69403] [4.9/5/6 Regression] Wrong thumb2_ior_scc_strict_it insn pattern.

2016-01-22 Thread ktkachov at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69403

ktkachov at gcc dot gnu.org changed:

   What|Removed |Added

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

--- Comment #7 from ktkachov at gcc dot gnu.org ---
Fixed on all active branches.
Thanks for pinpointing the problematic pattern.

[Bug c++/69428] [6 Regression] Many libstdc++ failures on aarch64-linux-gnu

2016-01-22 Thread pinskia at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69428

Andrew Pinski  changed:

   What|Removed |Added

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

--- Comment #3 from Andrew Pinski  ---
My patch, woops.

[Bug c/69415] -Wmisleading-indentation warns on "if (__b < __a) return __b; return __a;"

2016-01-22 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69415

Jakub Jelinek  changed:

   What|Removed |Added

 CC||jakub at gcc dot gnu.org

--- Comment #10 from Jakub Jelinek  ---
I think the people who would be generally expecting indentation to mean
something would not use a one liner, but instead
  if (foo)
stmt
stmt2
and if it is a one-liner, it is just much more likely that one simply wanted to
stick more stuff one a single line.  Perhaps have different
-Wmisleading-indentation levels and warn about this only in some non-default
2nd level, not the first one?

[Bug c++/60177] Unable to deduce template base of derived class in call to function taking a `simple-template-id`

2016-01-22 Thread ville.voutilainen at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60177

Ville Voutilainen  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |DUPLICATE

--- Comment #3 from Ville Voutilainen  ---
This looks like a duplicate of a much older PR.

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

[Bug c++/42329] Deduction of template template argument via base class fails

2016-01-22 Thread ville.voutilainen at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=42329

Ville Voutilainen  changed:

   What|Removed |Added

 CC||filip.roseen at gmail dot com

--- Comment #1 from Ville Voutilainen  ---
*** Bug 60177 has been marked as a duplicate of this bug. ***

[Bug c++/42329] Deduction of template template argument via base class fails

2016-01-22 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=42329

--- Comment #2 from Jonathan Wakely  ---
A more recent EDG than Comeau 4.3 still accepts this, Clang gives the same
errors as GCC.

[Bug target/69431] New: There should be builtins for PowerPC mtfsb0, mtfsb1

2016-01-22 Thread segher at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69431

Bug ID: 69431
   Summary: There should be builtins for PowerPC mtfsb0, mtfsb1
   Product: gcc
   Version: unknown
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: target
  Assignee: unassigned at gcc dot gnu.org
  Reporter: segher at gcc dot gnu.org
  Target Milestone: ---
Target: powerpc*-*-*

As it is, ppu_intrinsics.h has some support for mtfsb[01], nothing
else does.

[Bug lto/69394] [5.3] ICE when linking with lto

2016-01-22 Thread daniel.f.starke at freenet dot de
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69394

--- Comment #4 from Daniel Starke  ---
I see, but the output of the same GCC version should be the same regardless the
host if the target is the same, right?
I used the same source tree to build GCC 5.3.0 for x86_64-linux-gnu and for
x86_64-w64-mingw32 host, both targeting x86_64-w64-mingw32.
When I compile for example libsqlite3 on x86_64-w64-mingw32 with LTO enabled
and try to link it on x86_64-linux-gnu, I get the ICE.
If I compile libsqlite on x86_64-linux-gnu with the same options it works
without an issue. So I guess the LTO format does not only depend on the used
GCC version but also on the host. But this would be something I do not expect.
Having the same GCC version (in all 3 places) and the same target should also
give me the same result IMHO.

Nevertheless, should I create a new PR for the problem with the non-executable
result? I fail for example to run
boost_1_54_0/libs/program_options/example/first.cpp on Windows, when I enable
LTO on my Linux host.

[Bug c++/33911] attribute deprecated vs. templates

2016-01-22 Thread pipping at exherbo dot org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=33911

Elias Pipping  changed:

   What|Removed |Added

 CC||pipping at exherbo dot org

--- Comment #18 from Elias Pipping  ---
The current status (with gcc 5.3) of these deprecation warnings is quite
surprising: from my point of view there are both false negatives and false
positives. Since clang's behaviour, additionally, differs considerably from
gcc's, it's currently almost impossible to deprecate something in a portable
fashion.

Here's an example. Let's assume I've reimplemented enable_if and want to
deprecated it.

namespace Dune {
  template
  struct [[deprecated]] enable_if
  {};

  template
  struct enable_if
  {
typedef T type;
  };
}

This generates a warning even if enable_if is never used anywhere, simply
through the template specialisation (if I were to remove the specialisation,
the warning would go away):

% g++ -c -std=c++14 test.cc -Wall -Wextra
test.cc:7:10: warning: ‘template struct Dune::enable_if’ is
deprecated [-Wdeprecated-declarations]
   struct enable_if
  ^
test.cc:3:25: note: declared here
   struct [[deprecated]] enable_if
 ^
%

Clang does not emit a warning here.

Fair enough, maybe I should deprecate specialisations rather than the template.
But this does not work as expected, either. The following code surprisingly
does not emit a single warning:

#include 

namespace Dune {
  template
  struct enable_if
  {};

  template
  struct [[deprecated]] enable_if
  {};

  template
  struct [[deprecated]] enable_if
  {
typedef T type;
  };
}

int
main()
{
  using newint = Dune::enable_if::value,int>::type;
  newint i = 2;
  ++i;
}

[Bug c/69415] -Wmisleading-indentation warns on "if (__b < __a) return __b; return __a;"

2016-01-22 Thread dmalcolm at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69415

--- Comment #11 from David Malcolm  ---
Contrast with:
  https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=811591
which has lots of one-liners e.g.
  http://sources.debian.net/src/ifhp/3.5.20-13/src/ifhp.c/#L1348
which is:
if( tempfd > 0 ) close(tempfd); tempfd = -1;

Another example from this one:
   if( hash ) FREE_OBJ( hash ); hash = 0;

All of these seem to be in the idiom of "clean up FOO if necessary; reset FOO
always".

[Bug target/69416] [6 Regression] Nonsense rtl checking failure

2016-01-22 Thread rth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69416

--- Comment #9 from Richard Henderson  ---
Author: rth
Date: Fri Jan 22 17:21:41 2016
New Revision: 232737

URL: https://gcc.gnu.org/viewcvs?rev=232737&root=gcc&view=rev
Log:
PR target/69416

  * config/aarch64/aarch64.md (UNSPEC_NZCV): New.
  (ccmp, fccmp, fccmpe): Use it.

Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/aarch64/aarch64.md

[Bug c++/59759] internal compiler error: in unify, using std::enable_if on classes

2016-01-22 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=59759

Paolo Carlini  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |FIXED
   Target Milestone|--- |6.0

--- Comment #18 from Paolo Carlini  ---
Fixed then.

[Bug other/69432] New: ICE in connect_traces, at dwarf2cfi.c with -O3 -m32 -minline-stringops-dynamically

2016-01-22 Thread jamborm at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69432

Bug ID: 69432
   Summary: ICE in connect_traces, at dwarf2cfi.c with -O3 -m32
-minline-stringops-dynamically
   Product: gcc
   Version: 6.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: other
  Assignee: unassigned at gcc dot gnu.org
  Reporter: jamborm at gcc dot gnu.org
  Target Milestone: ---
  Host: x86_64-linux
Target: i686-linux

Created attachment 37434
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=37434&action=edit
C-reduced testcase

The attached testcase is reduced from cromfs-1.5.10.2.
On my x86_64-linux desktop, compiling with

path_to_trunk/inst/bin/g++ -O3 -m32 -minline-stringops-dynamically -S
creduced.C

leads to:

  creduced.C: In function ‘void LZMADeCompress()’:
  creduced.C:63:33: internal compiler error: in connect_traces, at
dwarf2cfi.c:2752
   void LZMADeCompress() { F b(a); }
 ^

  0xaa8a6a connect_traces
  /home/mjambor/gcc/trunk/src/gcc/dwarf2cfi.c:2752
  0xaac866 execute_dwarf2_frame
  /home/mjambor/gcc/trunk/src/gcc/dwarf2cfi.c:2975

The ICE happens with trunk and branches for gcc 5 and 4.9 but does not
with 4.8.

(Please change the component if you can think of a more suitable one.
As you can see, -g is not necessary so I suspect this is an EH bug,
rather than a debug issue.  I also can't tell to what extent this is a
target bug.)

[Bug lto/69254] [6 Regression] ICE in streamer_get_builtin_tree when using -fsanitize=shift on the compile side only

2016-01-22 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69254

--- Comment #14 from Jakub Jelinek  ---
Created attachment 37435
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=37435&action=edit
gcc6-pr69254-wip.patch

WIP patch.  This handles the merging of the -fsanitize=/-fno-sanitize= options
from the various TUs, except for the first TU (we don't call merge_and_complain
for that, so right now it just passes through all the
-fsanitize=/-fno-sanitize=, which is undesirable, it should do what
merge_and_complain does with those options and remove the others).  Perhaps
merge_and_complain should be called in all cases, and for the first file be
told by some bool arg it is the first one.

But, before handling that, I see much bigger problem, and it is not only
related to -fsanitize=, but to various other options.
The thing is that the linker options are appended after the options derived
from the TUs.  If I say have a TU that has some OpenMP code in it and compile
it with -c -flto -fopenmp, and then link with -flto or -flto -fopenmp, it works
fine, but if I link with -flto -fno-openmp, I get very similar ICE to this PR.
So clearly there are some options that should at least in some cases override
even the linker options/

[Bug c++/69315] [6 Regression] ICE in finish_function with constexpr and templates

2016-01-22 Thread aoliva at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69315

Alexandre Oliva  changed:

   What|Removed |Added

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

--- Comment #2 from Alexandre Oliva  ---
Looking into this...

[Bug target/69416] [6 Regression] Nonsense rtl checking failure

2016-01-22 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69416

Jakub Jelinek  changed:

   What|Removed |Added

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

--- Comment #10 from Jakub Jelinek  ---
Fixed.

[Bug c/69415] -Wmisleading-indentation warns on "if (__b < __a) return __b; return __a;"

2016-01-22 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69415

--- Comment #12 from Jakub Jelinek  ---
Ok, I stand convinced.

[Bug fortran/69423] [6 Regression] Invalid optimization with deferred-length character

2016-01-22 Thread pault at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69423

Paul Thomas  changed:

   What|Removed |Added

   Assignee|unassigned at gcc dot gnu.org  |pault at gcc dot gnu.org

--- Comment #2 from Paul Thomas  ---
As the guilty party, I had better take it!

Thanks for the report

Paul

  1   2   >