[Bug middle-end/82694] [8 regression] Linux kernel miscompiled since r250765

2018-01-16 Thread trippels at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82694

Markus Trippelsdorf  changed:

   What|Removed |Added

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

--- Comment #18 from Markus Trippelsdorf  ---
(In reply to Jakub Jelinek from comment #17)
> Does the kernel boot now with the latest trunk?

Yes. (Sorry for the delay.)

[Bug c++/83814] [8 Regression] ICE: in fold_binary_loc, at fold-const.c:9733

2018-01-12 Thread trippels at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83814

Markus Trippelsdorf  changed:

   What|Removed |Added

   Keywords||ice-on-valid-code
   Priority|P3  |P1
  Component|rtl-optimization|c++
   Target Milestone|--- |8.0

--- Comment #2 from Markus Trippelsdorf  ---
 % cat read_graphviz_new.ii
template  void *a{__builtin_memset(0, 0, int() - char())};

 % g++ -c read_graphviz_new.ii
read_graphviz_new.ii:1:63: internal compiler error: in fold_binary_loc, at
fold-const.c:9733
 template  void *a{__builtin_memset(0, 0, int() - char())};
   ^
0x10838f8f fold_binary_loc(unsigned int, tree_code, tree_node*, tree_node*,
tree_node*)
../../gcc/gcc/fold-const.c:9733
0x1085b0c7 fold(tree_node*)
../../gcc/gcc/fold-const.c:11957
0x1026d17b cp_fold
../../gcc/gcc/cp/cp-gimplify.c:2279
0x1026f057 cp_fold_maybe_rvalue
../../gcc/gcc/cp/cp-gimplify.c:2005
0x1053a773 fold_for_warn(tree_node*)
../../gcc/gcc/c-family/c-common.c:878
0x105e0a8b warn_for_memset(unsigned int, tree_node*, tree_node*, int)
../../gcc/gcc/c-family/c-warn.c:1872
0x103ca8c7 cp_parser_postfix_expression
../../gcc/gcc/cp/parser.c:7182
0x103cb24f cp_parser_unary_expression
../../gcc/gcc/cp/parser.c:8281
0x103997f3 cp_parser_cast_expression
../../gcc/gcc/cp/parser.c:9049
0x1039a2c7 cp_parser_binary_expression
../../gcc/gcc/cp/parser.c:9150
0x1039c3af cp_parser_assignment_expression
../../gcc/gcc/cp/parser.c:9437
0x1039af57 cp_parser_constant_expression
../../gcc/gcc/cp/parser.c:9721
0x1039c2e7 cp_parser_initializer_clause
../../gcc/gcc/cp/parser.c:21840
0x1039b75f cp_parser_initializer_list
../../gcc/gcc/cp/parser.c:22109
0x1039b75f cp_parser_braced_list
../../gcc/gcc/cp/parser.c:21880
0x103a02bf cp_parser_initializer
../../gcc/gcc/cp/parser.c:21798
0x103d132b cp_parser_init_declarator
../../gcc/gcc/cp/parser.c:19599
0x103dc26b cp_parser_single_declaration
../../gcc/gcc/cp/parser.c:27091
0x103dc4df cp_parser_template_declaration_after_parameters
../../gcc/gcc/cp/parser.c:26693
0x103dd183 cp_parser_explicit_template_declaration
../../gcc/gcc/cp/parser.c:26930

[Bug rtl-optimization/83814] [8 Regression] ICE: in fold_binary_loc, at fold-const.c:9733

2018-01-12 Thread trippels at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83814

Markus Trippelsdorf  changed:

   What|Removed |Added

 CC||msebor at gcc dot gnu.org
Summary|[8 Regression] ICE: |[8 Regression] ICE: in
   |Segmentation fault  |fold_binary_loc, at
   ||fold-const.c:9733

--- Comment #1 from Markus Trippelsdorf  ---
 % g++ -c read_graphviz_new.ii
In file included from ../boost/regex/v4/regex.hpp:70,
 from ../boost/regex.hpp:31,
 from ../libs/graph/src/read_graphviz_new.cpp:46:
../boost/regex/v4/basic_regex_creator.hpp: In member function
‘boost::re_detail_106700::re_syntax_base*
boost::re_detail_106700::basic_regex_creator::append_set(const
boost::re_detail_106700::basic_char_set&, mpl_::true_*)’:
../boost/regex/v4/basic_regex_creator.hpp:592:142: internal compiler error: in
fold_binary_loc, at fold-const.c:9733
  std::memset(result->_map + static_cast(c1), true, 1 +
static_cast(c2) - static_cast(c1));
   
  ^

Reducing...

[Bug rtl-optimization/83814] New: [8 Regression] ICE: Segmentation fault

2018-01-12 Thread trippels at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83814

Bug ID: 83814
   Summary: [8 Regression] ICE: Segmentation fault
   Product: gcc
   Version: 8.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: rtl-optimization
  Assignee: unassigned at gcc dot gnu.org
  Reporter: trippels at gcc dot gnu.org
  Target Milestone: ---

[Bug c++/83799] [8 Regression] bogus "no matching function for call to" error when building llvm

2018-01-11 Thread trippels at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83799

Markus Trippelsdorf  changed:

   What|Removed |Added

   Target Milestone|--- |8.0

[Bug c++/83799] [8 Regression] bogus "no matching function for call to" error when building llvm

2018-01-11 Thread trippels at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83799

Markus Trippelsdorf  changed:

   What|Removed |Added

   Keywords||rejects-valid
   Priority|P3  |P1
 CC||dmalcolm at gcc dot gnu.org

--- Comment #1 from Markus Trippelsdorf  ---
Started with r256448.

[Bug c++/83799] New: [8 Regression] bogus "no matching function for call to" error when building llvm

2018-01-11 Thread trippels at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83799

Bug ID: 83799
   Summary: [8 Regression] bogus "no matching function for call
to" error when building llvm
   Product: gcc
   Version: 8.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
  Assignee: unassigned at gcc dot gnu.org
  Reporter: trippels at gcc dot gnu.org
  Target Milestone: ---

Created attachment 43100
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=43100=edit
unreduced testcase

trippels@gcc2-power8 llvm_build % /home/trippels/gcc_test/usr/local/bin/g++ 
-DGTEST_HAS_RTTI=0 -D_DEBUG -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS
-D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -Ilib/CodeGen
-I/home/trippels/llvm/llvm/lib/CodeGen -Iinclude
-I/home/trippels/llvm/llvm/include -fPIC -fvisibility-inlines-hidden
-Werror=date-time -std=c++11 -Wall -W
 -Wno-unused-parameter -Wwrite-strings -Wcast-qual
-Wno-missing-field-initializers -pedantic -Wno-long-long
-Wno-maybe-uninitialized -Wdelete-non-virtual-dtor -Wno-comment -ffunct
ion-sections -fdata-sections -Wno-implicit-fallthrough -Wno-class-memaccess
-fdiagnostics-color=always -O3 -pipe -UNDEBUG -fno-exceptions -fno-rtti -MD -MT
lib/CodeGen/CMakeFiles/
LLVMCodeGen.dir/BasicTargetTransformInfo.cpp.o -MF
lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/BasicTargetTransformInfo.cpp.o.d -o
lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/BasicTargetTra
nsformInfo.cpp.o -c
/home/trippels/llvm/llvm/lib/CodeGen/BasicTargetTransformInfo.cpp   
In file included from
/home/trippels/llvm/llvm/lib/CodeGen/BasicTargetTransformInfo.cpp:18:
/home/trippels/llvm/llvm/include/llvm/CodeGen/BasicTTIImpl.h: In member
function ‘bool llvm::BasicTTIImplBase::haveFastSqrt(llvm::Type*)’:
/home/trippels/llvm/llvm/include/llvm/CodeGen/BasicTTIImpl.h:295:38: error: no
matching function for call to
‘llvm::TargetLoweringBase::getValueType(llvm::TargetTransformInfoImplB
ase, llvm::Type*&) const’
 EVT VT = TLI->getValueType(DL, Ty);
  ^
In file included from
/home/trippels/llvm/llvm/include/llvm/CodeGen/BasicTTIImpl.h:30,
 from
/home/trippels/llvm/llvm/lib/CodeGen/BasicTargetTransformInfo.cpp:18:
/home/trippels/llvm/llvm/include/llvm/CodeGen/TargetLowering.h:1023:7: note:
candidate: ‘llvm::EVT llvm::TargetLoweringBase::getValueType(const
llvm::DataLayout&, llvm::Type*, bool) const’
   EVT getValueType(const DataLayout , Type *Ty,
   ^~~~
/home/trippels/llvm/llvm/include/llvm/CodeGen/TargetLowering.h:1023:7: note:  
no known conversion for argument 1 from ‘llvm::TargetTransformInfoImplBase’ to
‘const llvm::DataLayo
ut&’
...etc.

Was fine yesterday.

[Bug c++/82514] [8 Regression] ICE: in operator[], at vec.h:749

2018-01-07 Thread trippels at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82514

--- Comment #4 from Markus Trippelsdorf  ---
Smaller testcase from PR83727:

namespace a {
template  b *begin(b (&)[c]);
}
class d {
public:
  d(const char *);
};
struct e {
  int f;
  d docstring;
  void (*func)(int &, int);
};
namespace a {
template  h i(h, h, g) { return 0; }
}
using a::begin;
template 
auto i(j &, k l) -> decltype(begin(container)) {
  return a::i(container, container, l);
}
enum { m };
template  void n(int &, int) {
  [] {
struct p {
} o[]{{}};
i(o, p{});
  };
}
e cmds{'i', "", n};

[Bug c++/83727] [8 Regression] ICE (Segmentation fault) in local_class_index

2018-01-07 Thread trippels at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83727

Markus Trippelsdorf  changed:

   What|Removed |Added

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

--- Comment #1 from Markus Trippelsdorf  ---
Dup of PR82514, but your testcase is smaller.

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

[Bug c++/82514] [8 Regression] ICE: in operator[], at vec.h:749

2018-01-07 Thread trippels at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82514

--- Comment #3 from Markus Trippelsdorf  ---
*** Bug 83727 has been marked as a duplicate of this bug. ***

[Bug c/83698] New: [8 Regression] -Wrestrict oddities

2018-01-05 Thread trippels at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83698

Bug ID: 83698
   Summary: [8 Regression] -Wrestrict oddities
   Product: gcc
   Version: 8.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
  Assignee: unassigned at gcc dot gnu.org
  Reporter: trippels at gcc dot gnu.org
CC: msebor at gcc dot gnu.org
  Target Milestone: ---

1)
warning: ‘__builtin_strcat’ accessing 0 or more bytes at offsets 36 and 20 may
overlap 1 byte at offset [36, -9223372036854775773] [-Wrestrict]

???

2)
warning: ‘__builtin_memcpy’ accessing 32 bytes at offsets 0 and 0 overlaps 32
bytes at offset 0 [-Wrestrict]

"offsets 0 and 0" looks redundant. "offset 0" would be better.

[Bug c++/82882] [8 regression] ICE Segmentation fault

2018-01-04 Thread trippels at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82882

Markus Trippelsdorf  changed:

   What|Removed |Added

 CC||doko at gcc dot gnu.org

--- Comment #5 from Markus Trippelsdorf  ---
*** Bug 83686 has been marked as a duplicate of this bug. ***

[Bug c++/83686] [8 Regression] ICE (segfault) in determine_visibility

2018-01-04 Thread trippels at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83686

Markus Trippelsdorf  changed:

   What|Removed |Added

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

--- Comment #1 from Markus Trippelsdorf  ---
dup.

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

[Bug middle-end/83665] [8 regression] Big code size regression and some code quality improvement at Jan 2 2018

2018-01-04 Thread trippels at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83665

Markus Trippelsdorf  changed:

   What|Removed |Added

   Target Milestone|--- |8.0

[Bug middle-end/83665] [8 regression] Big code size regression and some code quality improvement at Jan 2 2018

2018-01-04 Thread trippels at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83665

Markus Trippelsdorf  changed:

   What|Removed |Added

   Keywords||needs-bisection
 Status|UNCONFIRMED |NEW
   Last reconfirmed||2018-01-04
 Ever confirmed|0   |1

--- Comment #3 from Markus Trippelsdorf  ---
403.gcc with -flto is now ~6% slower.

[Bug middle-end/83665] [8 regression] Big code size regression and some code quality improvement at Jan 2 2018

2018-01-03 Thread trippels at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83665

Markus Trippelsdorf  changed:

   What|Removed |Added

 CC||trippels at gcc dot gnu.org

--- Comment #1 from Markus Trippelsdorf  ---
Also visible here:
https://vmakarov.fedorapeople.org/spec/spec2000.topka/gcc/home.html

[Bug c++/82410] [7/8 Regression] ICE in replace_placeholders_r

2017-12-30 Thread trippels at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82410

Markus Trippelsdorf  changed:

   What|Removed |Added

 CC||jeanmichael.celerier@gmail.
   ||com

--- Comment #6 from Markus Trippelsdorf  ---
*** Bug 83630 has been marked as a duplicate of this bug. ***

[Bug c++/83630] GCC 7.2.1: ICE in replace_placeholders_r, at cp/tree.c:2796

2017-12-30 Thread trippels at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83630

Markus Trippelsdorf  changed:

   What|Removed |Added

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

--- Comment #2 from Markus Trippelsdorf  ---
dup.

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

[Bug c++/83630] GCC 7.2.1: ICE in replace_placeholders_r, at cp/tree.c:2796

2017-12-30 Thread trippels at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83630

Markus Trippelsdorf  changed:

   What|Removed |Added

 CC||trippels at gcc dot gnu.org

--- Comment #1 from Markus Trippelsdorf  ---
Looks like a dup of PR82410.

[Bug c++/83592] New: [8 Regression] Annoying -Wparentheses warnings

2017-12-26 Thread trippels at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83592

Bug ID: 83592
   Summary: [8 Regression] Annoying -Wparentheses warnings
   Product: gcc
   Version: 8.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
  Assignee: unassigned at gcc dot gnu.org
  Reporter: trippels at gcc dot gnu.org
CC: nathan at gcc dot gnu.org
  Target Milestone: ---

Building anything QT related gives many annoying -Wparentheses warnings, e.g.:

 % cat test.ii
int* foo(long ) { return reinterpret_cast<int(*)>(); }

 % g++ -Wall -c test.ii
test.ii: In function ‘int* foo(long int&)’:
test.ii:1:48: warning: unnecessary parentheses in declaration of ‘type name’
[-Wparentheses]
 int* foo(long ) { return reinterpret_cast<int(*)>(); }
^
I don't see what harm these parentheses could cause in this context.

[Bug target/83585] [8 Regression] Assembler messages: Error: can't resolve `.text' {.text section} - `.LCOLDB0' {.text.unlikely section}

2017-12-25 Thread trippels at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83585

Markus Trippelsdorf  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2017-12-25
 CC||trippels at gcc dot gnu.org
 Ever confirmed|0   |1

--- Comment #1 from Markus Trippelsdorf  ---
The testcase is invalid. Perhaps we should simply reject return
statements without a value in non void functions (like clang).

[Bug c++/83564] Compiling 'retdec' causes 'internal compiler error'

2017-12-23 Thread trippels at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83564

--- Comment #3 from Markus Trippelsdorf  ---
(In reply to hjek from comment #2)
> (Perhaps the error message should be changed to say that?)

Yes. It was fixed for gcc-8.

[Bug c++/83564] Compiling 'retdec' causes 'internal compiler error'

2017-12-23 Thread trippels at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83564

Markus Trippelsdorf  changed:

   What|Removed |Added

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

--- Comment #1 from Markus Trippelsdorf  ---
internal compiler error: Killed (program cc1plus)
means you were running out of memory and the OOM killer kicked in.

Not a gcc bug.

[Bug debug/83547] New: [8 Regression] (statement-frontiers) error: void value not ignored as it ought to be

2017-12-21 Thread trippels at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83547

Bug ID: 83547
   Summary: [8 Regression] (statement-frontiers) error: void value
not ignored as it ought to be
   Product: gcc
   Version: 8.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: debug
  Assignee: unassigned at gcc dot gnu.org
  Reporter: trippels at gcc dot gnu.org
CC: aoliva at gcc dot gnu.org
  Target Milestone: ---

trippels@gcc2-power8 linux % cat lpar.i
void foo(void) {
  if (({ 0; }))
;
}

trippels@gcc2-power8 linux % gcc -O2 -c lpar.i
trippels@gcc2-power8 linux % gcc -gno-statement-frontiers -O2 -g -c lpar.i
trippels@gcc2-power8 linux % gcc -O2 -g -c lpar.i
lpar.i: In function ‘foo’:
lpar.i:2:7: error: void value not ignored as it ought to be
   if (({ 0; }))
   ^

[Bug debug/83547] [8 Regression] (statement-frontiers) error: void value not ignored as it ought to be

2017-12-21 Thread trippels at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83547

Markus Trippelsdorf  changed:

   What|Removed |Added

   Keywords||rejects-valid
   Priority|P3  |P1
   Target Milestone|--- |8.0

[Bug target/83528] Nios2: redundant pointers to the record fields

2017-12-21 Thread trippels at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83528

--- Comment #10 from Markus Trippelsdorf  ---
And BTW in the future you can easily check all this yourself by building a 
stage1 cross-compiler:

 gcc_build_dir % ../gcc/configure --disable-bootstrap --enable-languages=c
--target=nios2-elf
 gcc_build_dir % make -j64
 gcc_build_dir % ./gcc/cc1 -fpreprocessed foo.i -quiet -dumpbase foo.i
-auxbase-strip - -O2 -version -o -

[Bug target/83528] Nios2: redundant pointers to the record fields

2017-12-21 Thread trippels at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83528

Markus Trippelsdorf  changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution|--- |WONTFIX

--- Comment #9 from Markus Trippelsdorf  ---
Messages crossed each other. 
Closing again.

[Bug target/83528] Nios2: redundant pointers to the record fields

2017-12-21 Thread trippels at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83528

Markus Trippelsdorf  changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution|--- |WONTFIX

--- Comment #7 from Markus Trippelsdorf  ---
gcc-6.4.1 is also fine, so there is nothing we can do.
Closing.

[Bug target/83528] Nios2: redundant pointers to the record fields

2017-12-21 Thread trippels at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83528

--- Comment #6 from Markus Trippelsdorf  ---
(In reply to Michael_S from comment #3)
> Well, the guidline here https://gcc.gnu.org/bugs/ specifically tells me that
> it's one of the things that you don't want ;)

The rule is there to discourage folks from posting assembly output of huge C++
compile units.

For small testcases like yours, it is easier to see what is going on directly
in assembly rather than parsing prose descriptions.

Anyway, gcc trunk generates:

.file   "foo.i"
.section.text
.align  2
.global foo
.type   foo, @function
foo:
movhi   r10, %hiadj(lottery)
movhi   r9, %hiadj(bars+220)
addir10, r10, %lo(lottery)
addir9, r9, %lo(bars+220)
movir11, 42
.L3:
movhi   r2, %hiadj(bars)
addir2, r2, %lo(bars)
.L2:
movhi   r3, %hiadj(lottery)
ldw r5, 0(r2)
ldw r7, %lo(lottery)(r3)
ldw r3, 4(r2)
ldw r4, 8(r2)
add r7, r7, r5
cmpeq   r6, r7, zero
add r6, r6, r3
cmpeq   r5, r6, zero
ldw r3, 12(r2)
add r5, r5, r4
ldw r8, 16(r2)
cmpeq   r4, r5, zero
add r4, r4, r3
cmpeq   r3, r4, zero
add r3, r3, r8
sub r8, r11, r3
stw r7, 0(r2)
stw r6, 4(r2)
stw r5, 8(r2)
stw r4, 12(r2)
stw r3, 16(r2)
stw r8, 4(r10)
addir2, r2, 20
bne r2, r9, .L2
br  .L3
.size   foo, .-foo
.comm   lottery,8,4
.section.bss
.type   bars, @object
.size   bars, 220
.align  2
bars:
.zero   220
.ident  "GCC: (GNU) 8.0.0 20171221 (experimental)"

So the issue looks to be fixed already.
The only question is for which version it was fixed.

[Bug target/83528] Nios2: redundant pointers to the record fields

2017-12-21 Thread trippels at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83528

Markus Trippelsdorf  changed:

   What|Removed |Added

 Target||nios2-elf
 CC||trippels at gcc dot gnu.org
  Component|c   |target

--- Comment #2 from Markus Trippelsdorf  ---
Could you please post the assembly output of both good and bad code gen?

[Bug debug/83527] New: [8 Regression] Another statement-frontiers -fcompare-debug failure

2017-12-21 Thread trippels at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83527

Bug ID: 83527
   Summary: [8 Regression] Another statement-frontiers
-fcompare-debug failure
   Product: gcc
   Version: 8.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: debug
  Assignee: unassigned at gcc dot gnu.org
  Reporter: trippels at gcc dot gnu.org
CC: aoliva at gcc dot gnu.org
  Target Milestone: ---

On ppc64le:

trippels@gcc2-power8 linux % cat qla1280.i
extern void fn2(void);
extern void fn3(void);
int a, b;
void fn1() {
  int c;
  short d;
  switch (a) {
  case 32800:
fn2();
  case 32769:
b = 0;
  case 32771:
  case 32772:
  case 32782:
fn3();
  }
  if (d || c) {
do
  ;
while (0);
  }
}

trippels@gcc2-power8 linux % gcc -fcompare-debug -O2 -c qla1280.i --save-temps
gcc: error: qla1280.i: -fcompare-debug failure (length)
trippels@gcc2-power8 linux % diff -u qla1280.gkd qla1280.gk.gkd
--- qla1280.gkd 2017-12-21 09:36:57.037420552 +
+++ qla1280.gk.gkd  2017-12-21 09:36:57.077421516 +
@@ -7,7 +7,7 @@
 5:   void ;
 2:   void ;
 3:   void ;
-1:   void ;
+1:   void ;

 ;; Function fn1 (fn1, funcdef_no=0, cgraph_uid=0, symbol_order=2)

[Bug bootstrap/82831] [8 Regression] Broken PGO bootstrap after r254379

2017-12-21 Thread trippels at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82831

Markus Trippelsdorf  changed:

   What|Removed |Added

   Priority|P3  |P1
Summary|[8 Regression] Broken PGO   |[8 Regression] Broken PGO
   |bootstrap on i586-linux-gnu |bootstrap after r254379
   |after r254379   |

--- Comment #26 from Markus Trippelsdorf  ---
Now also happens on X86_64 -march=amdfam10.

[Bug c/83526] -Wrestrict makes no sense with -fno-strict-aliasing

2017-12-21 Thread trippels at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83526

Markus Trippelsdorf  changed:

   What|Removed |Added

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

--- Comment #1 from Markus Trippelsdorf  ---
Ah, _restrict works even with -fno-strict-aliasing.
sorry for the noise.

[Bug c/83526] New: -Wrestrict makes no sense with -fno-strict-aliasing

2017-12-21 Thread trippels at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83526

Bug ID: 83526
   Summary: -Wrestrict makes no sense with -fno-strict-aliasing
   Product: gcc
   Version: unknown
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
  Assignee: unassigned at gcc dot gnu.org
  Reporter: trippels at gcc dot gnu.org
CC: msebor at gcc dot gnu.org
  Target Milestone: ---

Currently -Wrestrict warns even when -fno-strict-aliasing is used.

[Bug target/83087] -fcf-protection -mcet enabled unconditionally for target libs

2017-12-19 Thread trippels at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83087

--- Comment #15 from Markus Trippelsdorf  ---
(In reply to H.J. Lu from comment #14)
> (In reply to Markus Trippelsdorf from comment #13)
> > (In reply to Jakub Jelinek from comment #12)
> > > 1.4% increase is not negligible if it is forced on all users without easy
> > > option to disable it when they don't need/want it.
> > 
> > To be fair, it can be easily disabled with --disable-cet.
> > The question is, if it should be enabled by default.
> 
> We want to enable Intel CET by default in GCC and glibc, which can be
> disabled by --disable-cet.

Do you have any performance numbers? What is the impact of all these
NOPs on non CET CPUs?

[Bug target/83087] -fcf-protection -mcet enabled unconditionally for target libs

2017-12-19 Thread trippels at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83087

--- Comment #13 from Markus Trippelsdorf  ---
(In reply to Jakub Jelinek from comment #12)
> 1.4% increase is not negligible if it is forced on all users without easy
> option to disable it when they don't need/want it.

To be fair, it can be easily disabled with --disable-cet.
The question is, if it should be enabled by default.

[Bug tree-optimization/83440] Internal compiler error: in vect_transform_stmt, at tree-vect-stmts.c:8692

2017-12-18 Thread trippels at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83440

Markus Trippelsdorf  changed:

   What|Removed |Added

 Status|WAITING |RESOLVED
 CC||trippels at gcc dot gnu.org
 Resolution|--- |FIXED

--- Comment #3 from Markus Trippelsdorf  ---
This issue is already fixed on the latest gcc-7 branch.
Not sure which revision fixed it.

[Bug c/83463] [8 Regression] ICE: tree check: expected integer_type or enumeral_type or boolean_type or real_type or fixed_point_type, have pointer_type in builtin_memr ef, at gimple-ssa-warn-restrict

2017-12-18 Thread trippels at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83463

--- Comment #1 from Markus Trippelsdorf  ---
int *a;
void *memcpy();
void m(void *p1) { memcpy(0, p1, 0); }
void p() {
  m(p + (long)a);
}

[Bug c/83463] New: [8 Regression] ICE: tree check: expected integer_type or enumeral_type or boolean_type or real_type or fixed_point_type, have pointer_type in builtin_memr ef, at gimple-ssa-warn-res

2017-12-18 Thread trippels at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83463

Bug ID: 83463
   Summary: [8 Regression] ICE: tree check: expected integer_type
or enumeral_type or boolean_type or real_type or
fixed_point_type, have pointer_type in builtin_memr
ef, at gimple-ssa-warn-restrict.c:297
   Product: gcc
   Version: 8.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
  Assignee: unassigned at gcc dot gnu.org
  Reporter: trippels at gcc dot gnu.org
CC: msebor at gcc dot gnu.org
  Target Milestone: ---

trippels@gcc67 mplayer % gcc -c -Wall -O2 m_option.i
during GIMPLE pass: wrestrict   
m_option.i: In function ‘bar’:  
m_option.i:4:6: internal compiler error: tree check: expected integer_type or
enumeral_type or boolean_type or real_type or fixed_point_type, have
pointer_type in builtin_memref, at gimple-ssa-warn-restrict.c:297   
 void bar() {   
  ^~~   
0x788352 tree_check_failed(tree_node const*, char const*, int, char const*,
...) 
../../gcc/gcc/tree.c:9129   
0x88d5bb tree_check5(tree_node*, char const*, int, char const*, tree_code,
tree_code, tree_code, tree_code, tree_code) 
../../gcc/gcc/tree.h:3210   
0x6230ec builtin_memref 
../../gcc/gcc/gimple-ssa-warn-restrict.c:297
0xb018aa check_bounds_or_overlap(gcall*, tree_node*, tree_node*, tree_node*,
tree_node*, bool)   
../../gcc/gcc/gimple-ssa-warn-restrict.c:1712   
0x6238f2 check_call 
../../gcc/gcc/gimple-ssa-warn-restrict.c:1683   
0x6238f2 before_dom_children
../../gcc/gcc/gimple-ssa-warn-restrict.c:106
0x13c6767 dom_walker::walk(basic_block_def*)
../../gcc/gcc/domwalk.c:308 
0xafae29 execute
../../gcc/gcc/gimple-ssa-warn-restrict.c:120 

Reducing...

[Bug c++/83322] [8 Regression] r255469 causes: ICE: tree check: expected class ‘type’, have ‘exceptional’ (baselink) in diag_attr_exclusions, at attribs.c:393

2017-12-18 Thread trippels at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83322

Markus Trippelsdorf  changed:

   What|Removed |Added

 CC||sylvestre at debian dot org

--- Comment #7 from Markus Trippelsdorf  ---
*** Bug 83461 has been marked as a duplicate of this bug. ***

[Bug c++/83461] [8 regression] Segmentation fault on __attribute__ with multiple inheritance

2017-12-18 Thread trippels at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83461

Markus Trippelsdorf  changed:

   What|Removed |Added

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

--- Comment #1 from Markus Trippelsdorf  ---
dup.

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

[Bug c++/83322] [8 Regression] r255469 causes: ICE: tree check: expected class ‘type’, have ‘exceptional’ (baselink) in diag_attr_exclusions, at attribs.c:393

2017-12-18 Thread trippels at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83322

--- Comment #6 from Markus Trippelsdorf  ---
Ping? This issue causes segfaults with a checking=release compiler...

[Bug lto/83121] [8 Regression] ICE: in linemap_ordinary_map_lookup, at libcpp/line-map.c:995

2017-12-17 Thread trippels at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83121

--- Comment #4 from Markus Trippelsdorf  ---
Just to be clear: the attached testcase triggers the ICE both on 
X86_64 and ppc64le.

[Bug c++/83437] [8 Regression] bogus warning: cast between incompatible function types from ‘int (*)()’ to ‘V’ {aka ‘void* (*)()’ [-Wcast-function-type]

2017-12-15 Thread trippels at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83437

--- Comment #2 from Markus Trippelsdorf  ---
I think casting to/from void* (*)() should always be silently accepted.
Or perhaps the warning should not be enabled even for -Wextra like clang's
-Wbad-function-cast. (BTW why didn't you use that name?)

[Bug debug/83419] New: [8 Regression] -fcompare-debug failure (length)

2017-12-13 Thread trippels at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83419

Bug ID: 83419
   Summary: [8 Regression] -fcompare-debug failure (length)
   Product: gcc
   Version: 8.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: debug
  Assignee: unassigned at gcc dot gnu.org
  Reporter: trippels at gcc dot gnu.org
CC: aoliva at gcc dot gnu.org
  Target Milestone: ---

trippels@gcc67 ffmpeg % cat utils.i
int a, b;
void fn1();
void fn2() {
  if (a || 1 == b)
fn1();
  else
0;
  fn1(1, 0);
}

trippels@gcc67 ffmpeg % gcc -fcompare-debug -O2 -c utils.i --save-temps
gcc: error: utils.i: -fcompare-debug failure (length)

trippels@gcc67 ffmpeg % diff -u utils.gkd utils.gk.gkd
--- utils.gkd   2017-12-14 08:40:37.017897604 +0100
+++ utils.gk.gkd2017-12-14 08:40:37.037897592 +0100
@@ -112,7 +112,7 @@
 (expr_list (use (reg:QI 0 ax))
 (nil)))
 (jump_insn # 0 0 5 (set (pc)
-(label_ref #))# {jump}
+(label_ref #)) "utils.i":5# {jump}
  (nil)
  -> 3)
 (barrier # 0 0)

[Bug c++/83322] [8 Regression] r255469 causes: ICE: tree check: expected class ‘type’, have ‘exceptional’ (baselink) in diag_attr_exclusions, at attribs.c:393

2017-12-13 Thread trippels at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83322

--- Comment #4 from Markus Trippelsdorf  ---
Another variant:

struct A {
  void foo();
};
struct B {
  bool foo;
};
struct C : A, B {
  __attribute__((warn_unused_result)) int foo();
};

trippels@gcc67 ~ % g++ -Wall -c nsHttpHandler.ii
nsHttpHandler.ii:8:47: internal compiler error: tree check: expected class
‘type’, have ‘exceptional’ (tree_list) in diag_attr_exclusions, at
attribs.c:393
   __attribute__((warn_unused_result)) int foo();
   ^
0x82f443 tree_class_check_failed(tree_node const*, tree_code_class, char
const*, int, char const*)
../../gcc/gcc/tree.c:9153
0x66892f tree_class_check(tree_node*, tree_code_class, char const*, int, char
const*)
../../gcc/gcc/tree.h:3242
0x66892f diag_attr_exclusions
../../gcc/gcc/attribs.c:393
0xac239f diag_attr_exclusions
../../gcc/gcc/attribs.c:376
0xac415f decl_attributes(tree_node**, tree_node*, int, tree_node*)
../../gcc/gcc/attribs.c:702
0x97fe70 cplus_decl_attributes(tree_node**, tree_node*, int)
../../gcc/gcc/cp/decl2.c:1508
0x96703c grokfndecl
../../gcc/gcc/cp/decl.c:8844
0x978dfc grokdeclarator(cp_declarator const*, cp_decl_specifier_seq*,
decl_context, int, tree_node**)
../../gcc/gcc/cp/decl.c:11987
0x984d78 grokfield(cp_declarator const*, cp_decl_specifier_seq*, tree_node*,
bool, tree_node*, tree_node*)
../../gcc/gcc/cp/decl2.c:829
0x9f9e6a cp_parser_member_declaration
../../gcc/gcc/cp/parser.c:23842
0x9fadaa cp_parser_member_specification_opt
../../gcc/gcc/cp/parser.c:23316
0x9fadaa cp_parser_class_specifier_1
../../gcc/gcc/cp/parser.c:22458
0x9fce09 cp_parser_class_specifier
../../gcc/gcc/cp/parser.c:22710
0x9fce09 cp_parser_type_specifier
../../gcc/gcc/cp/parser.c:16718
0xa09f1c cp_parser_decl_specifier_seq
../../gcc/gcc/cp/parser.c:13579
0xa0f810 cp_parser_simple_declaration
../../gcc/gcc/cp/parser.c:12888
0xa107e8 cp_parser_block_declaration
../../gcc/gcc/cp/parser.c:12835
0xa14732 cp_parser_declaration
../../gcc/gcc/cp/parser.c:12733
0xa14b71 cp_parser_declaration_seq_opt
../../gcc/gcc/cp/parser.c:12609
0xa14e64 cp_parser_translation_unit
../../gcc/gcc/cp/parser.c:4558

[Bug tree-optimization/83391] [8 Regression] error: definition in block 9 does not dominate use in block 8

2017-12-12 Thread trippels at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83391

--- Comment #2 from Markus Trippelsdorf  ---
s/I reload ICEs/I get reload ICEs

[Bug tree-optimization/83391] [8 Regression] error: definition in block 9 does not dominate use in block 8

2017-12-12 Thread trippels at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83391

Markus Trippelsdorf  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2017-12-12
 CC||aoliva at gcc dot gnu.org
   Target Milestone|--- |8.0
 Ever confirmed|0   |1

--- Comment #1 from Markus Trippelsdorf  ---
Started with the SFN patches. Unfortunately they are impossible
to bisect, because I reload ICEs during bisection.

[Bug tree-optimization/83391] New: [8 Regression] error: definition in block 9 does not dominate use in block 8

2017-12-12 Thread trippels at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83391

Bug ID: 83391
   Summary: [8 Regression] error: definition in block 9 does not
dominate use in block 8
   Product: gcc
   Version: 8.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: tree-optimization
  Assignee: unassigned at gcc dot gnu.org
  Reporter: trippels at gcc dot gnu.org
  Target Milestone: ---

On ppc64le:

trippels@gcc2-power8 src % < node_url.ii
char a;
enum url_parse_state { kSchemeStart, kScheme, kRelative } b;
int c, d;
void fn1() {
  int e;
  bool f;
  url_parse_state g = b;
  while (1) {
char h = a ? d : 0;
switch (g) {
case 0:
  f = h <= 'Z' || h >= 'a' && h <= 'z';
  break;
case 1: {
  char i = h;
  e = 0;
}
  if (e || h)
g = kRelative;
default:
  c = 0;
}
  }
}

trippels@gcc2-power8 src % g++ -c -O2 node_url.ii
trippels@gcc2-power8 src % g++ -g -c -O2 node_url.ii
node_url.ii: In function ‘void fn1()’:
node_url.ii:4:6: error: definition in block 9 does not dominate use in block 8
 void fn1() {
  ^~~
for SSA_NAME: iftmp.0_19 in statement:
# DEBUG i => iftmp.0_19
during GIMPLE pass: dom
node_url.ii:4:6: internal compiler error: verify_ssa failed
0x10f0e35b verify_ssa(bool, bool)
../../gcc/gcc/tree-ssa.c:1188
0x10b03b07 execute_function_todo
../../gcc/gcc/passes.c:2001
0x10b0514b do_per_function
../../gcc/gcc/passes.c:1659
0x10b0535b execute_todo
../../gcc/gcc/passes.c:2048

[Bug c/83390] valgrind error in lra_eliminate_regs_1

2017-12-12 Thread trippels at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83390

Markus Trippelsdorf  changed:

   What|Removed |Added

 CC||trippels at gcc dot gnu.org

--- Comment #1 from Markus Trippelsdorf  ---
Note that you need to use valgrind trunk for gcc trunk to avoid false
positives.
See: https://bugs.kde.org/show_bug.cgi?id=387766.

[Bug c++/83372] Compiler segfaults

2017-12-11 Thread trippels at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83372

--- Comment #8 from Markus Trippelsdorf  ---
Thanks. However, I still cannot reproduce.
Perhaps someone who has access to Red Hat 7.2.1-2 has more luck.

[Bug c++/83372] Compiler segfaults

2017-12-11 Thread trippels at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83372

--- Comment #6 from Markus Trippelsdorf  ---
Still cannot reproduce. Please post the full gcc invocation. Add -v to it and
please post the full output, too.

[Bug c++/83372] Compiler segfaults

2017-12-11 Thread trippels at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83372

Markus Trippelsdorf  changed:

   What|Removed |Added

 Status|WAITING |UNCONFIRMED
 Ever confirmed|1   |0

--- Comment #3 from Markus Trippelsdorf  ---
Thanks. I cannot reproduce the issue.

[Bug c++/83372] Compiler segfaults

2017-12-11 Thread trippels at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83372

Markus Trippelsdorf  changed:

   What|Removed |Added

 Status|UNCONFIRMED |WAITING
   Last reconfirmed||2017-12-11
 CC||trippels at gcc dot gnu.org
 Ever confirmed|0   |1

--- Comment #1 from Markus Trippelsdorf  ---
The attached file is not usable.
Please attach the compressed preprocessed source.

[Bug tree-optimization/83320] Mismatched free() / delete / delete [] in gimple-loop-interchange.cc:948

2017-12-11 Thread trippels at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83320

Markus Trippelsdorf  changed:

   What|Removed |Added

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

--- Comment #4 from Markus Trippelsdorf  ---
Fixed. Thanks.

[Bug target/83358] [8 Regression] division not converted with Intel tuning since r253934

2017-12-11 Thread trippels at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83358

--- Comment #2 from Markus Trippelsdorf  ---
The following fixes this particular issue:

diff --git a/gcc/config/i386/x86-tune-costs.h
b/gcc/config/i386/x86-tune-costs.h 
index 312467d9788..00f1dae9085 100644   
--- a/gcc/config/i386/x86-tune-costs.h  
+++ b/gcc/config/i386/x86-tune-costs.h  
@@ -2345,7 +2345,7 @@ struct processor_costs core_cost = {  
   {COSTS_N_INSNS (8),  /* cost of a divide/mod for QI */   
COSTS_N_INSNS (8),  /*  HI */   
/* 8-11 */  
-   COSTS_N_INSNS (11), /*  SI */   
+   COSTS_N_INSNS (13), /*  SI */   
/* 24-81 */ 
COSTS_N_INSNS (81), /*  DI */   
COSTS_N_INSNS (81)},/* 
other */ 

Perhaps the div costs are a bit too tight in general?

[Bug target/83358] [8 Regression] division not converted with Intel tuning since r253934

2017-12-10 Thread trippels at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83358

--- Comment #1 from Markus Trippelsdorf  ---
The output above is from:
 % gcc -O2 -mtune=haswell foo.i -S -o -

[Bug target/83358] New: [8 Regression] division not converted with Intel tuning since r253934

2017-12-10 Thread trippels at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83358

Bug ID: 83358
   Summary: [8 Regression] division not converted with Intel
tuning since r253934
   Product: gcc
   Version: 8.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: target
  Assignee: unassigned at gcc dot gnu.org
  Reporter: trippels at gcc dot gnu.org
CC: hubicka at ucw dot cz
  Target Milestone: ---

The following code snipped came up on the realworldtech forum recently:

#include 

__attribute__((noinline, noclone))
void bin2ascii(uint64_t val, char *dst) {
  const int64_t POW10_10 = ((int64_t)10) * 1000 * 1000 * 1000;
  int64_t hix = val / POW10_10;
  int64_t lox = val % POW10_10;
  int32_t v0 = hix / 10;
  int32_t v1 = hix % 10;
  int32_t v2 = lox / 10;
  int32_t v3 = lox % 10;
  for (int i = 4; i != 0; --i) {
dst[i + 0 * 5] = v0 % 10 + '0';
v0 /= 10;
dst[i + 1 * 5] = v1 % 10 + '0';
v1 /= 10;
dst[i + 2 * 5] = v2 % 10 + '0';
v2 /= 10;
dst[i + 3 * 5] = v3 % 10 + '0';
v3 /= 10;
  }
  dst[0 * 5] = v0 + '0';
  dst[1 * 5] = v1 + '0';
  dst[2 * 5] = v2 + '0';
  dst[3 * 5] = v3 + '0';
  dst[4 * 5] = 0;
}

int main() {
  char ch[20];
  for (int i = 0; i < 1000; i++) {
bin2ascii(10010155021040540, ch);
  }
}

Since r253934 gcc doesn't convert divisions anymore when tuning for Intel with
e.g. -mtune=haswell. The result is ~5x slower than before.

bin2ascii:
.LFB0:
.cfi_startproc
movq%rdi, %rax
pushq   %rbx
.cfi_def_cfa_offset 16
.cfi_offset 3, -16
leaq4(%rsi), %r9
movl$-858993459, %ebx
movabsq $-260570856684097, %rdx
movabsq $755578637259143235, %rcx
mulq%rdx
movabsq $100, %rax
movq%rdx, %r8
shrq$38, %rdx
shrq$33, %r8
imulq   %r8, %rax
subq%rax, %rdi
movq%rdx, %rax
mulq%rcx
shrq$7, %rdx
movl%edx, %r10d
imulq   $10, %rdx, %rdx
subl%edx, %r8d
movq%rdi, %rdx
shrq$5, %rdx
movq%rdx, %rax
mulq%rcx
movl$10, %ecx
shrq$7, %rdx
movl%edx, %r11d
imulq   $10, %rdx, %rdx
subl%edx, %edi
.L2:
movl%r10d, %eax
decq%r9
cltd
idivl   %ecx
movl%r10d, %eax
addl$48, %edx
movb%dl, 1(%r9)
mull%ebx
movl%r8d, %eax
movl%edx, %r10d
cltd
idivl   %ecx
movl%r8d, %eax
shrl$3, %r10d
addl$48, %edx
movb%dl, 6(%r9)
mull%ebx
movl%r11d, %eax
movl%edx, %r8d
cltd
idivl   %ecx
movl%r11d, %eax
shrl$3, %r8d
addl$48, %edx
movb%dl, 11(%r9)
mull%ebx
movl%edi, %eax
movl%edx, %r11d
cltd
idivl   %ecx
movl%edi, %eax
shrl$3, %r11d
addl$48, %edx
movb%dl, 16(%r9)
mull%ebx
movl%edx, %edi
shrl$3, %edi
cmpq%r9, %rsi
jne .L2
addl$48, %r10d
addl$48, %r8d
leal48(%r11), %edx
addl$48, %edi
movb%r10b, (%rsi)
popq%rbx
.cfi_def_cfa_offset 8
movb%r8b, 5(%rsi)
movb%dl, 10(%rsi)
movb%dil, 15(%rsi)
movb$0, 20(%rsi)
ret

[Bug target/83321] [8 Regression] Conditional jump or move depends on uninitialised value in ira.c/ira-color.c

2017-12-10 Thread trippels at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83321

Markus Trippelsdorf  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
URL||https://bugs.kde.org/show_b
   ||ug.cgi?id=387766
 Resolution|--- |MOVED

--- Comment #13 from Markus Trippelsdorf  ---
Moved to https://bugs.kde.org/show_bug.cgi?id=387766

[Bug target/83321] [8 Regression] Conditional jump or move depends on uninitialised value in ira.c/ira-color.c

2017-12-09 Thread trippels at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83321

--- Comment #12 from Markus Trippelsdorf  ---
I mean Sign flag, of course.

[Bug target/83321] [8 Regression] Conditional jump or move depends on uninitialised value in ira.c/ira-color.c

2017-12-09 Thread trippels at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83321

--- Comment #11 from Markus Trippelsdorf  ---
Hmm, for example this is the assembly diff of update_costs_from_copies()

@@ -8450,7 +8446,6 @@
movl12(%rdi), %eax
sall$10, %eax
sarl$16, %eax
-   testl   %eax, %eax
js  .L1539
cmpw$0, 10(%rdi)
je  .L1539

So it looks like valgrind doesn't know that SAR also sets the Zero flag.

[Bug target/83321] [8 Regression] Conditional jump or move depends on uninitialised value in ira.c/ira-color.c

2017-12-09 Thread trippels at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83321

Markus Trippelsdorf  changed:

   What|Removed |Added

 Target||x86_64-*-*, i?86-*-*
  Component|rtl-optimization|target

--- Comment #10 from Markus Trippelsdorf  ---
-mtune-ctrl="partial_flag_reg_stall" fixes the issue.

[Bug rtl-optimization/83321] [8 Regression] Conditional jump or move depends on uninitialised value in ira.c/ira-color.c

2017-12-09 Thread trippels at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83321

--- Comment #9 from Markus Trippelsdorf  ---
Started with r255357.
But when using -march=znver1 I can reproduce the issue even with gcc-6.

[Bug rtl-optimization/83321] [8 Regression] Conditional jump or move depends on uninitialised value in ira.c/ira-color.c

2017-12-09 Thread trippels at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83321

--- Comment #8 from Markus Trippelsdorf  ---
Just to be clear:

% ~/gcc/configure --enable-valgrind-annotations --disable-bootstrap
--enable-languages=c,c++

and then building with trunk is enough to reproduce.

[Bug rtl-optimization/83321] [8 Regression] Conditional jump or move depends on uninitialised value in ira.c/ira-color.c

2017-12-09 Thread trippels at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83321

Markus Trippelsdorf  changed:

   What|Removed |Added

Summary|[7/8 Regression]|[8 Regression] Conditional
   |Conditional jump or move|jump or move depends on
   |depends on uninitialised|uninitialised value in
   |value in ira.c/ira-color.c  |ira.c/ira-color.c

--- Comment #5 from Markus Trippelsdorf  ---
No sorry, gcc-7 is fine. Only happens on trunk.

Here's a testcase:

trippels@gcc67 ~ % cat test.i   
int foo(int i) {
  if (i)
return 0;   
  return 1; 
} 

trippels@gcc67 ~ % valgrind --track-origins=yes --trace-children=yes gcc -c -O2
test.i
==25182== Memcheck, a memory error detector 
==25182== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al.   
==25182== Using Valgrind-3.13.0 and LibVEX; rerun with -h for copyright info
==25182== Command: /home/trippels/gcc_test/usr/local/bin/gcc -c -O2 test.i  
==25182==   
==25184== Memcheck, a memory error detector 
==25184== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al.   
==25184== Using Valgrind-3.13.0 and LibVEX; rerun with -h for copyright info
==25184== Command:
/home/trippels/gcc_test/usr/local/bin/../libexec/gcc/x86_64-pc-linux-gnu/8.0.0/cc1
-fpreprocessed test.i -quiet -dumpbase test.i -mtune=generic -march=x86-64
-auxbase test -O2 -o /home/trippels/tmp/ccOBBcep.s
==25184==   
==25184== Conditional jump or move depends on uninitialised value(s)
==25184==at 0xBB45AD: update_costs_from_copies(ira_allocno*, bool, bool)
(ira-color.c:1434)
...

[Bug rtl-optimization/83321] [7/8 Regression] Conditional jump or move depends on uninitialised value in ira.c/ira-color.c

2017-12-09 Thread trippels at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83321

Markus Trippelsdorf  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2017-12-09
Summary|Conditional jump or move|[7/8 Regression]
   |depends on uninitialised|Conditional jump or move
   |value in ira.c/ira-color.c  |depends on uninitialised
   ||value in ira.c/ira-color.c
 Ever confirmed|0   |1

--- Comment #4 from Markus Trippelsdorf  ---
Only happens with gcc-7 or gcc-8. Even -O2 optimizes the VALGRIND_DISCARDs
away.

Building stage1 with gcc-6 shows no issues.

[Bug tree-optimization/83337] ICE at -O3 x86_64-linux-gnu: in interpret_rhs_expr, at tree-scalar-evolution.c:1775

2017-12-08 Thread trippels at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83337

Markus Trippelsdorf  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2017-12-09
 CC||amker at gcc dot gnu.org,
   ||trippels at gcc dot gnu.org
   Target Milestone|--- |8.0
 Ever confirmed|0   |1

[Bug rtl-optimization/83321] Conditional jump or move depends on uninitialised value in ira.c/ira-color.c

2017-12-08 Thread trippels at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83321

--- Comment #3 from Markus Trippelsdorf  ---
It makes no sense:

==23914== Conditional jump or move depends on uninitialised value(s)
==23914==at 0x10C8165: improve_allocation() (ira-color.c:2820)  
==23914==by 0x10C12B8: UnknownInlinedFun (ira-color.c:3150) 
==23914==by 0x10C12B8: color_pass(ira_loop_tree_node*) [clone
.lto_priv.9395] (ira-color.c:3259)
==23914==by 0xF51C1E: ira_traverse_loop_tree(bool, ira_loop_tree_node*,
void (*)(ira_loop_tree_node*), void (*)(ira_loop_tree_node*))
(ira-build.c:1781)
==23914==by 0xF83AEE: UnknownInlinedFun (ira-color.c:3410)  
==23914==by 0xF83AEE: UnknownInlinedFun (ira-color.c:4784)  
==23914==by 0xF83AEE: ira_color() (ira-color.c:4899)   
==23914==by 0xF0D4C5: UnknownInlinedFun (ira.c:5286)
==23914==by 0xF0D4C5: (anonymous namespace)::pass_ira::execute(function*)
[clone .lto_priv.2822] (ira.c:5584)   
==23914==by 0x5DB61E: execute_one_pass(opt_pass*) [clone .cold.509]
(passes.c:2497) 
==23914==by 0xC85404: UnknownInlinedFun (passes.c:2586) 
==23914==by 0xC85404: UnknownInlinedFun (passes.c:2587) 
==23914==by 0xC85404: execute_pass_list(function*, opt_pass*)
(passes.c:2597) 
==23914==by 0xDF4B53: cgraph_node::expand() (cgraphunit.c:2139) 
==23914==by 0xC1941B: UnknownInlinedFun (cgraphunit.c:2275) 
==23914==by 0xC1941B: symbol_table::compile() (cgraphunit.c:2623)   
==23914==by 0xC14E7C: symbol_table::finalize_compilation_unit()
(cgraphunit.c:2716) 
==23914==by 0xC07EAA: compile_file() [clone .lto_priv.3055] (toplev.c:480)  
==23914==by 0xB6E217: UnknownInlinedFun (toplev.c:2059) 
==23914==by 0xB6E217: toplev::main(int, char**) (toplev.c:2194) 
==23914==  Uninitialised value was created by a client request  
==23914==at 0xD02289: base_pool_allocator::allocate()
(alloc-pool.h:419)
==23914==by 0xF544EB: UnknownInlinedFun (alloc-pool.h:502)  
==23914==by 0xF544EB: ira_create_allocno(int, bool, ira_loop_tree_node*)
(ira-build.c:486)   
==23914==by 0xF54123: create_insn_allocnos(rtx_def*, rtx_def*, bool)
(ira-build.c:1852)
==23914==by 0xF52DE5: UnknownInlinedFun (ira-build.c:1888)  
==23914==by 0xF52DE5: UnknownInlinedFun (ira-build.c:1896)  
==23914==by 0xF52DE5: UnknownInlinedFun (ira-build.c:1918)  
==23914==by 0xF52DE5: create_loop_tree_node_allocnos(ira_loop_tree_node*)
(ira-build.c:1964)  
==23914==by 0xF51CB8: ira_traverse_loop_tree(bool, ira_loop_tree_node*,
void (*)(ira_loop_tree_node*), void (*)(ira_loop_tree_node*))
(ira-build.c:1799)   
==23914==by 0xF47DF7: UnknownInlinedFun (ira-build.c:2060)  
==23914==by 0xF47DF7: ira_build() (ira-build.c:3420)
==23914==by 0xF0D074: UnknownInlinedFun (ira.c:5273)
==23914==by 0xF0D074: (anonymous namespace)::pass_ira::execute(function*)
[clone .lto_priv.2822] (ira.c:5584)
==23914==by 0x5DB61E: execute_one_pass(opt_pass*) [clone .cold.509]
(passes.c:2497) 
==23914==by 0xC85404: UnknownInlinedFun (passes.c:2586) 
==23914==by 0xC85404: UnknownInlinedFun (passes.c:2587) 
==23914==by 0xC85404: execute_pass_list(function*, opt_pass*)
(passes.c:2597)  
==23914==by 0xDF4B53: cgraph_node::expand() (cgraphunit.c:2139) 
==23914==by 0xC1941B: UnknownInlinedFun (cgraphunit.c:2275) 
==23914==by 0xC1941B: symbol_table::compile() (cgraphunit.c:2623)   
==23914==by 0xC14E7C: symbol_table::finalize_compilation_unit()
(cgraphunit.c:2716) 

and alloc-pool.h:419 reads:
 419   VALGRIND_DISCARD (VALGRIND_MAKE_MEM_UNDEFINED (header, size)); 

So somehow VALGRIND_DISCARD gets ignored with -O3.
Looks more like a valgrind bug.

[Bug rtl-optimization/83321] Conditional jump or move depends on uninitialised value in ira.c/ira-color.c

2017-12-08 Thread trippels at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83321

--- Comment #2 from Markus Trippelsdorf  ---
(In reply to Jakub Jelinek from comment #1)
> Any idea on which source file it is (or at least a small set of them)?
> What your -march=native is?

It happens almost an any source file, for example most libgcc files
already hit the issue. 
I was testing on gcc67, so march=znver1.

[Bug c++/83322] New: [8 Regression] r255469 causes: ICE: tree check: expected class ‘type’, have ‘exceptional’ (baselink) in diag_attr_exclusions, at attribs.c:393

2017-12-08 Thread trippels at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83322

Bug ID: 83322
   Summary: [8 Regression] r255469 causes: ICE: tree check:
expected class ‘type’, have ‘exceptional’ (baselink)
in diag_attr_exclusions, at attribs.c:393
   Product: gcc
   Version: 8.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
  Assignee: unassigned at gcc dot gnu.org
  Reporter: trippels at gcc dot gnu.org
CC: msebor at gcc dot gnu.org
  Target Milestone: ---

Since r255469:

 % cat common_factor_test.ii
struct A {
  template  operator T();
  __attribute__((__always_inline__)) operator int();
};

 % g++ -c common_factor_test.ii
common_factor_test.ii:3:51: internal compiler error: tree check: expected class
‘type’, have ‘exceptional’ (baselink) in diag_attr_exclusions, at attribs.c:393
   __attribute__((__always_inline__)) operator int();
   ^
0x1019c667 tree_class_check_failed(tree_node const*, tree_code_class, char
const*, int, char const*)
../../gcc/gcc/tree.c:9149
0x10528977 tree_class_check(tree_node*, tree_code_class, char const*, int, char
const*)
../../gcc/gcc/tree.h:3236
0x10528977 diag_attr_exclusions
../../gcc/gcc/attribs.c:393
0x105288a3 diag_attr_exclusions
../../gcc/gcc/attribs.c:376
0x1052b9c3 decl_attributes(tree_node**, tree_node*, int, tree_node*)
../../gcc/gcc/attribs.c:702
0x102d92e7 cplus_decl_attributes(tree_node**, tree_node*, int)
../../gcc/gcc/cp/decl2.c:1508
0x10179123 grokfndecl
../../gcc/gcc/cp/decl.c:8865
0x102ca46b grokdeclarator(cp_declarator const*, cp_decl_specifier_seq*,
decl_context, int, tree_node**)
../../gcc/gcc/cp/decl.c:12008
0x102e30f3 grokfield(cp_declarator const*, cp_decl_specifier_seq*, tree_node*,
bool, tree_node*, tree_node*)
../../gcc/gcc/cp/decl2.c:829
0x103b5463 cp_parser_member_declaration
../../gcc/gcc/cp/parser.c:23828
0x103b6907 cp_parser_member_specification_opt
../../gcc/gcc/cp/parser.c:23302
0x103b6907 cp_parser_class_specifier_1
../../gcc/gcc/cp/parser.c:22444
0x103b94d7 cp_parser_class_specifier
../../gcc/gcc/cp/parser.c:22696
0x103b94d7 cp_parser_type_specifier
../../gcc/gcc/cp/parser.c:16704
0x103cccf3 cp_parser_decl_specifier_seq
../../gcc/gcc/cp/parser.c:13565
0x103d64af cp_parser_simple_declaration
../../gcc/gcc/cp/parser.c:12874
0x103d798f cp_parser_block_declaration
../../gcc/gcc/cp/parser.c:12821
0x103def17 cp_parser_declaration
../../gcc/gcc/cp/parser.c:12719
0x103df4a3 cp_parser_declaration_seq_opt
../../gcc/gcc/cp/parser.c:12595
0x103df88f cp_parser_translation_unit
../../gcc/gcc/cp/parser.c:4558

[Bug rtl-optimization/83321] New: Conditional jump or move depends on uninitialised value in ira.c/ira-color.c

2017-12-08 Thread trippels at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83321

Bug ID: 83321
   Summary: Conditional jump or move depends on uninitialised
value in ira.c/ira-color.c
   Product: gcc
   Version: 8.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: rtl-optimization
  Assignee: unassigned at gcc dot gnu.org
  Reporter: trippels at gcc dot gnu.org
CC: vmakarov at gcc dot gnu.org
  Target Milestone: ---

Building gcc with -O3:

 % ../gcc/configure --disable-libstdcxx-pch --disable-libvtv --disable-cet
--disable-libitm --disable-libcilkrts --disable-libssp --disable-libgomp
--disable-werror --disable-multilib --enable-languages=c,c++,fortran
--disable-cet --enable-checking=valgrind --enable-valgrind-annotations
--with-build-config="bootstrap-O3"

 % make -j8 BOOT_CFLAGS="-march=native -g -O3 -pipe"
STAGE1_CFLAGS="-march=native -g -O3 -pipe" CFLAGS_FOR_TARGET="-march=native -g
-O3 -pipe" CXXFLAGS_FOR_TARGET="-march=native -g -O3 -pipe" bootstrap 2>&1 |
tee out

Shows:

==938== Conditional jump or move depends on uninitialised value(s)
==938==at 0x98E10F: improve_allocation() (ira-color.c:2820)
==938==by 0x9931FE: color_allocnos (ira-color.c:3150)
==938==by 0x9931FE: color_pass(ira_loop_tree_node*) (ira-color.c:3259)
==938==by 0x973356: ira_traverse_loop_tree(bool, ira_loop_tree_node*, void
(*)(ira_loop_tree_node*), void (*)(ira_loop_tree_node*)) (ira-build.c:1781)
==938==by 0x98B67B: do_coloring (ira-color.c:3410)
==938==by 0x98B67B: color (ira-color.c:4784)
==938==by 0x98B67B: ira_color() (ira-color.c:4899)
==938==by 0x96E19D: ira (ira.c:5286)
==938==by 0x96E19D: (anonymous namespace)::pass_ira::execute(function*)
(ira.c:5584)
==938==by 0xA6DBE4: execute_one_pass(opt_pass*) (passes.c:2497)
==938==by 0xA6EF6C: execute_pass_list_1 (passes.c:2586)
==938==by 0xA6EF6C: execute_pass_list_1 (passes.c:2587)
==938==by 0xA6EF6C: execute_pass_list(function*, opt_pass*) (passes.c:2597)
==938==by 0x723651: cgraph_node::expand() (cgraphunit.c:2139)
==938==by 0x724AEF: expand_all_functions (cgraphunit.c:2275)
==938==by 0x724AEF: symbol_table::compile() [clone .part.55]
(cgraphunit.c:2623)
==938==by 0x726E3E: compile (cgraphunit.c:2719)
==938==by 0x726E3E: symbol_table::finalize_compilation_unit()
(cgraphunit.c:2716)
==938==by 0xB7E6AA: compile_file() (toplev.c:480)
==938==by 0x5B1787: do_compile (toplev.c:2059)
==938==by 0x5B1787: toplev::main(int, char**) (toplev.c:2194)
==938==
==938== Conditional jump or move depends on uninitialised value(s)
==938==at 0x98B7FB: move_spill_restore (ira-color.c:3448)
==938==by 0x98B7FB: color (ira-color.c:4787)
==938==by 0x98B7FB: ira_color() (ira-color.c:4899)
==938==by 0x96E19D: ira (ira.c:5286)
==938==by 0x96E19D: (anonymous namespace)::pass_ira::execute(function*)
(ira.c:5584)
==938==by 0xA6DBE4: execute_one_pass(opt_pass*) (passes.c:2497)
==938==by 0xA6EF6C: execute_pass_list_1 (passes.c:2586)
==938==by 0xA6EF6C: execute_pass_list_1 (passes.c:2587)
==938==by 0xA6EF6C: execute_pass_list(function*, opt_pass*) (passes.c:2597)
==938==by 0x723651: cgraph_node::expand() (cgraphunit.c:2139)
==938==by 0x724AEF: expand_all_functions (cgraphunit.c:2275)
==938==by 0x724AEF: symbol_table::compile() [clone .part.55]
(cgraphunit.c:2623)
==938==by 0x726E3E: compile (cgraphunit.c:2719)
==938==by 0x726E3E: symbol_table::finalize_compilation_unit()
(cgraphunit.c:2716)
==938==by 0xB7E6AA: compile_file() (toplev.c:480)
==938==by 0x5B1787: do_compile (toplev.c:2059)
==938==by 0x5B1787: toplev::main(int, char**) (toplev.c:2194)
==938==by 0x5B344A: main (main.c:39)
==938==
==938== Conditional jump or move depends on uninitialised value(s)
==938==at 0x96E52D: calculate_allocation_cost (ira.c:2454)
==938==by 0x96E52D: ira (ira.c:5355)
==938==by 0x96E52D: (anonymous namespace)::pass_ira::execute(function*)
(ira.c:5584)
==938==by 0xA6DBE4: execute_one_pass(opt_pass*) (passes.c:2497)
==938==by 0xA6EF6C: execute_pass_list_1 (passes.c:2586)
==938==by 0xA6EF6C: execute_pass_list_1 (passes.c:2587)
==938==by 0xA6EF6C: execute_pass_list(function*, opt_pass*) (passes.c:2597)
==938==by 0x723651: cgraph_node::expand() (cgraphunit.c:2139)
==938==by 0x724AEF: expand_all_functions (cgraphunit.c:2275)
==938==by 0x724AEF: symbol_table::compile() [clone .part.55]
(cgraphunit.c:2623)
==938==by 0x726E3E: compile (cgraphunit.c:2719)
==938==by 0x726E3E: symbol_table::finalize_compilation_unit()
(cgraphunit.c:2716)
==938==by 0xB7E6AA: compile_file() (toplev.c:480)
==938==by 0x5B1787: do_compile (toplev.c:2059)
==938==by 0x5B1787: toplev::main(int, char**) (toplev.c:2194)
==938==by 0x5B344A: main (main.c:39)
==938==

[Bug tree-optimization/83320] New: Mismatched free() / delete / delete [] in gimple-loop-interchange.cc:948

2017-12-07 Thread trippels at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83320

Bug ID: 83320
   Summary: Mismatched free() / delete / delete []  in
gimple-loop-interchange.cc:948
   Product: gcc
   Version: 8.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: tree-optimization
  Assignee: unassigned at gcc dot gnu.org
  Reporter: trippels at gcc dot gnu.org
CC: amker at gcc dot gnu.org
  Target Milestone: ---

Building libgfortran with -O3 shows:

==20156== Mismatched free() / delete / delete []   
   
   ==20156==at 0x402E246: free (vg_replace_malloc.c:530)   
   
  ==20156==by 0x129DB9F:
free_data_refs_with_aux (gimple-loop-interchange.cc:948)   
   
==20156==by 0x129DB9F: (anonymous
namespace)::pass_linterchange::execute(function*)
(gimple-loop-interchange.cc:2023)  
   ==20156==by 0xAE0761: execute_one_pass(opt_pass*)
(passes.c:2497) 
==20156==by 0xAE13F4: execute_pass_list_1 (passes.c:2586)   
==20156==by 0xAE13F4: execute_pass_list_1 (passes.c:2587)  
   
   ==20156==by 0xAE13F4: execute_pass_list_1
(passes.c:2587)
 ==20156==by 0xAE13F4:
execute_pass_list(function*, opt_pass*) (passes.c:2597)

==20156==by 0x8179F4: cgraph_node::expand() (cgraphunit.c:2139)
   
   ==20156==by 0x818AA2: expand_all_functions
(cgraphunit.c:2275)
==20156==by 0x818AA2:
symbol_table::compile() [clone .part.71] (cgraphunit.c:2623)   

==20156==by 0x81AEA1: compile (cgraphunit.c:2537)  
   
   ==20156==by 0x81AEA1:
symbol_table::finalize_compilation_unit() (cgraphunit.c:2716)   
==20156==by 0xBC5D67: compile_file() (toplev.c:480)
   
   ==20156==by 0x6C4692: do_compile (toplev.c:2059)
   
  ==20156==by 0x6C4692:
toplev::main(int, char**) (toplev.c:2194)  

==20156==by 0x6C61DA: main (main.c:39) 
   
   ==20156==  Address 0x5d4a8a0 is 0 bytes inside a block of
size 8 alloc'd 
 ==20156==at 0x402D6F8: operator
new(unsigned long) (vg_replace_malloc.c:334)   
   ==20156==by
0x129DD64: compute_access_stride (gimple-loop-interchange.cc:1283)  
==20156==by 0x129DD64: compute_access_strides
(gimple-loop-interchange.cc:1341)  
 ==20156==by 0x129DD64:
prepare_perfect_loop_nest (gimple-loop-interchange.cc:1958)
   
==20156==by 0x129DD64: (anonymous
namespace)::pass_linterchange::execute(function*)
(gimple-loop-interchange.cc:2017)  
   ==20156==by 0xAE0761: execute_one_pass(opt_pass*)
(passes.c:2497)
 ==20156==by 0xAE13F4:
execute_pass_list_1 (passes.c:2586)

==20156==by 0xAE13F4: execute_pass_list_1 (passes.c:2587

[Bug tree-optimization/83293] New: [8 regression] ICE: in gsi_insert_seq_nodes_after, at gimple-iterator.c:278

2017-12-05 Thread trippels at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83293

Bug ID: 83293
   Summary: [8 regression] ICE: in gsi_insert_seq_nodes_after,  at
gimple-iterator.c:278
   Product: gcc
   Version: 8.0
Status: UNCONFIRMED
  Keywords: needs-bisection
  Severity: normal
  Priority: P3
 Component: tree-optimization
  Assignee: unassigned at gcc dot gnu.org
  Reporter: trippels at gcc dot gnu.org
  Target Milestone: ---

trippels@gcc67 ~ % cat XMPMeta-Serialize.ii
typedef long unsigned size_t;
template  struct A {
  _Iterator _M_current;
  A(_Iterator p1) : _M_current(p1) {}
  _Iterator m_fn1() { return _M_current; }
};
template 
int operator==(A<_IteratorL, _Container> p1, A<_IteratorR, _Container> p2) {
  return p1.m_fn1() == p2.m_fn1();
}
struct B {
  struct {
int *_M_start;
int *_M_finish;
  } _M_impl;
};
struct C : B {
  A m_fn2() { return _M_impl._M_start; }
  A m_fn3() { return _M_impl._M_finish; }
  size_t m_fn4() { return _M_impl._M_finish - _M_impl._M_start; }
  int m_fn5() { return m_fn2() == m_fn3(); }
};
struct XMP_Node {
  C qualifiers;
} a;
size_t b;
size_t EstimateRDFSize(int p1) {
  size_t c(p1 * b);
  if (!a.qualifiers.m_fn5()) {
p1 += 2;
for (size_t d = 0, e = a.qualifiers.m_fn4(); d < e; ++d)
  c += EstimateRDFSize(0);
  }
  c += (p1 - 1) * b;
  return c;
}

trippels@gcc67 ~ % g++ -O2 -c XMPMeta-Serialize.ii
during GIMPLE pass: slsr
XMPMeta-Serialize.ii: In function ‘size_t EstimateRDFSize(int)’:
XMPMeta-Serialize.ii:27:8: internal compiler error: in
gsi_insert_seq_nodes_after, at gimple-iterator.c:278
 size_t EstimateRDFSize(int p1) {
^~~
0xada0d3 gsi_insert_seq_nodes_after
../../gcc/gcc/gimple-iterator.c:278
0x154254f insert_initializers
../../gcc/gcc/gimple-ssa-strength-reduction.c:3421
0x154254f analyze_candidates_and_replace
../../gcc/gcc/gimple-ssa-strength-reduction.c:3896
0x154254f execute
../../gcc/gcc/gimple-ssa-strength-reduction.c:3978

[Bug c++/82799] [8 Regression] -Wunused-but-set-variable false positive

2017-12-04 Thread trippels at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82799

Markus Trippelsdorf  changed:

   What|Removed |Added

 CC||trippels at gcc dot gnu.org

--- Comment #2 from Markus Trippelsdorf  ---
Looks like a dup of PR82728.

[Bug c++/82728] [8 regression] Incorrect -Wunused-but-set-variable warning with a const

2017-12-04 Thread trippels at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82728

Markus Trippelsdorf  changed:

   What|Removed |Added

   Keywords|needs-bisection |
 CC||jason at gcc dot gnu.org
  Component|c   |c++

--- Comment #1 from Markus Trippelsdorf  ---
Started with r253266:

commit 4cedc476c94a41551d965bc57fbbe0186983c3c4
Author: jason 
Date:   Thu Sep 28 19:39:45 2017 +

PR c++/56973, DR 696 - capture constant variables only as needed.

[Bug c/82728] [8 regression] Incorrect -Wunused-but-set-variable warning with a const

2017-12-04 Thread trippels at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82728

Markus Trippelsdorf  changed:

   What|Removed |Added

   Target Milestone|--- |8.0

[Bug c/82728] [8 regression] Incorrect -Wunused-but-set-variable warning with a const

2017-12-04 Thread trippels at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82728

Markus Trippelsdorf  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2017-12-04
 Ever confirmed|0   |1

[Bug c++/83160] [8 regression] lvalue required as unary ‘&’ operand

2017-12-03 Thread trippels at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83160

Markus Trippelsdorf  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2017-12-04
 CC||trippels at gcc dot gnu.org
 Ever confirmed|0   |1

--- Comment #4 from Markus Trippelsdorf  ---
markus@x4 /tmp % cat foo.ii
template  void CmpHelperLT(T &);
void TestBody() {
  const int a = 0;
  [] { CmpHelperLT(a); };
}

markus@x4 /tmp % clang++ -w -c foo.ii
markus@x4 /tmp % icpc -c foo.ii
markus@x4 /tmp % g++ -c foo.ii
foo.ii: In lambda function:
foo.ii:4:23: error: lvalue required as unary ‘&’ operand
   [] { CmpHelperLT(a); };
   ^

[Bug c++/83160] [8 regression] lvalue required as unary ‘&’ operand

2017-12-03 Thread trippels at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83160

Markus Trippelsdorf  changed:

   What|Removed |Added

 CC||sylvestre at debian dot org

--- Comment #3 from Markus Trippelsdorf  ---
*** Bug 82751 has been marked as a duplicate of this bug. ***

[Bug c++/82751] g++ 8 is breaking assert_lt (gtest) called from a lambda function

2017-12-03 Thread trippels at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82751

Markus Trippelsdorf  changed:

   What|Removed |Added

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

--- Comment #1 from Markus Trippelsdorf  ---
dup.

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

[Bug driver/83243] -fuse-ld=lld

2017-12-01 Thread trippels at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83243

Markus Trippelsdorf  changed:

   What|Removed |Added

 CC||trippels at gcc dot gnu.org

--- Comment #3 from Markus Trippelsdorf  ---
(In reply to Andrew Pinski from comment #2)
> I think this is a bad idea.

I fully agree. There are several problems with the proposal:

 We already have two functioning GNU linkers. I see lld as a direct
 attack on the GNU licence.

 Amdahl’s law: Even if lld links some apps faster than gold, nobody
 will notice, because the linker is usually not the bottleneck.
 In fact in most code bases compiling a single CU takes more time than
 the final link.

 The lld developers don't like/understand Linux in general.  
 Here is an example quote (from Rui Ueyama): 

»Aah, I knew Unix DSO's are not efficient in resolving symbol names, but
it's too slow. I really don't like the Unix semantics of the dynamic
linking object. Windows is much better. 

I also dislike the fact that ELF/Unix/C are trying to make DSOs usable  
transparently. On Windows, you have to explicitly mark imported/exported
functions as dllimported/dllexported, and that is IMO much better than  
trying to hide it.«

 He also recently proposed to drop TLS relaxations in general, because
 the lld relaxation code is a mess and does slow down lld...

So, I see no reason at all to support -fuse-ld=lld.

[Bug tree-optimization/83170] [8 Regression] ICE: Segmentation fault - during GIMPLE pass: store-merging

2017-12-01 Thread trippels at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83170

--- Comment #5 from Markus Trippelsdorf  ---
Looks like a dup of PR83241. The untested patch posted there fixes the issue.

[Bug tree-optimization/83170] [8 Regression] ICE: Segmentation fault - during GIMPLE pass: store-merging

2017-12-01 Thread trippels at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83170

Markus Trippelsdorf  changed:

   What|Removed |Added

   Keywords||ice-on-valid-code
   Priority|P3  |P1
 CC||trippels at gcc dot gnu.org
  Component|c++ |tree-optimization
   Target Milestone|--- |8.0
Summary|ice in verify_use with -O3  |[8 Regression] ICE:
   ||Segmentation fault - during
   ||GIMPLE pass: store-merging

--- Comment #4 from Markus Trippelsdorf  ---
Also happens when building Wireshark.

Jakub?

[Bug tree-optimization/83233] New: [8 Regression] gimple-ssa-store-merging.c:183:3: warning: unnamed type with no linkage used to declare variable with linkage

2017-11-30 Thread trippels at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83233

Bug ID: 83233
   Summary: [8 Regression] gimple-ssa-store-merging.c:183:3:
warning: unnamed type with no linkage used to declare
variable with linkage
   Product: gcc
   Version: 8.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: tree-optimization
  Assignee: unassigned at gcc dot gnu.org
  Reporter: trippels at gcc dot gnu.org
CC: jakub at gcc dot gnu.org
  Target Milestone: ---

In stage 1 with -std=gnu++98:

../../gcc/gcc/gimple-ssa-store-merging.c:183:3: warning: unnamed type with no
linkage used to declare variable ‘{anonymous}::
{anonymous}::nop_stats’ with linkage
 } nop_stats, bswap_stats;
   ^
../../gcc/gcc/gimple-ssa-store-merging.c:183:14: warning: unnamed type with no
linkage used to declare variable ‘{anonymous}::
{anonymous}::bswap_stats’ with linka
ge
 } nop_stats, bswap_stats;
  ^~~
Could be fixed by using idiomatic C++, instead of

namespace {
struct
{
...
} nop_stats, bswap_stats;
}

something like:

namespace {
struct Stats
{
...
};
Stats nop_stats, bswap_stats;
}

[Bug middle-end/83069] [8 Regression] internal compiler error: in from_gcov_type, at profile-count.h:676

2017-11-30 Thread trippels at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83069

Markus Trippelsdorf  changed:

   What|Removed |Added

 CC||rguenth at gcc dot gnu.org

--- Comment #15 from Markus Trippelsdorf  ---
*** Bug 83229 has been marked as a duplicate of this bug. ***

[Bug ipa/83229] [8 Regression] ICE in from_gcov_type, at profile-count.h:676

2017-11-30 Thread trippels at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83229

Markus Trippelsdorf  changed:

   What|Removed |Added

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

--- Comment #1 from Markus Trippelsdorf  ---
dup.

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

[Bug rtl-optimization/82488] UBSAN in gcc/expr.c:4098:17: runtime error: signed integer overflow: 0 - -9223372036854775808 cannot be represented in type 'long int'

2017-11-26 Thread trippels at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82488

Markus Trippelsdorf  changed:

   What|Removed |Added

   Target Milestone|--- |8.0

[Bug rtl-optimization/82488] UBSAN in gcc/expr.c:4098:17: runtime error: signed integer overflow: 0 - -9223372036854775808 cannot be represented in type 'long int'

2017-11-26 Thread trippels at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82488

Markus Trippelsdorf  changed:

   What|Removed |Added

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

--- Comment #4 from Markus Trippelsdorf  ---
Fixed.

[Bug rtl-optimization/82488] UBSAN in gcc/expr.c:4098:17: runtime error: signed integer overflow: 0 - -9223372036854775808 cannot be represented in type 'long int'

2017-11-26 Thread trippels at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82488

--- Comment #3 from Markus Trippelsdorf  ---
Author: trippels
Date: Mon Nov 27 05:20:43 2017
New Revision: 255159

URL: https://gcc.gnu.org/viewcvs?rev=255159=gcc=rev
Log:
Fix PR82488 - signed integer overflow in expr.c

bootstrap-ubsan shows:
 gcc/expr.c:4103:17: runtime error: signed integer overflow: 0 -
-9223372036854775808 cannot be represented in type 'long int'

Fix by handling the saw_unknown case earlier.

PR rtl-optimization/82488
* expr.c (fixup_args_size_notes): Avoid signed integer overflow.

diff --git a/gcc/expr.c b/gcc/expr.c
index ee07de5aaa44..e9d8555c9452 100644
--- a/gcc/expr.c
+++ b/gcc/expr.c
@@ -4100,10 +4100,13 @@ fixup_args_size_notes (rtx_insn *prev, rtx_insn *last,
int end_args_size)
   if (STACK_GROWS_DOWNWARD)
this_delta = -(unsigned HOST_WIDE_INT) this_delta;

-  args_size -= this_delta;
+  if (saw_unknown)
+   args_size = INT_MIN;
+  else
+   args_size -= this_delta;
 }

-  return saw_unknown ? INT_MIN : args_size;
+  return args_size;
 }

 #ifdef PUSH_ROUNDING
--
Markus

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

[Bug c++/83165] [8 regression] cannot convert ‘GPrivate’ {aka ‘_GPrivate’} to ‘GPrivate*’ {aka ‘_GPrivate*’} in return

2017-11-25 Thread trippels at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83165

Markus Trippelsdorf  changed:

   What|Removed |Added

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

--- Comment #4 from Markus Trippelsdorf  ---
The error is correct. Not a bug.

[Bug rtl-optimization/82488] UBSAN in gcc/expr.c:4098:17: runtime error: signed integer overflow: 0 - -9223372036854775808 cannot be represented in type 'long int'

2017-11-25 Thread trippels at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82488

Markus Trippelsdorf  changed:

   What|Removed |Added

 CC||trippels at gcc dot gnu.org

--- Comment #2 from Markus Trippelsdorf  ---
diff --git a/gcc/expr.c b/gcc/expr.c
index ee07de5aaa44..e9d8555c9452 100644
--- a/gcc/expr.c
+++ b/gcc/expr.c
@@ -4100,10 +4100,13 @@ fixup_args_size_notes (rtx_insn *prev, rtx_insn *last,
int end_args_size)
   if (STACK_GROWS_DOWNWARD)
this_delta = -(unsigned HOST_WIDE_INT) this_delta;

-  args_size -= this_delta;
+  if (saw_unknown)
+   args_size = INT_MIN;
+  else
+   args_size -= this_delta;
 }

-  return saw_unknown ? INT_MIN : args_size;
+  return args_size;
 }

 #ifdef PUSH_ROUNDING

[Bug lto/83121] [8 Regression] ICE: in linemap_ordinary_map_lookup, at libcpp/line-map.c:995

2017-11-23 Thread trippels at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83121

Markus Trippelsdorf  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2017-11-23
 CC||mpolacek at gcc dot gnu.org
 Ever confirmed|0   |1

--- Comment #3 from Markus Trippelsdorf  ---
Strangely, it started with r255066.

[Bug c++/83121] [8 Regression] ICE: in linemap_ordinary_map_lookup, at libcpp/line-map.c:995

2017-11-23 Thread trippels at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83121

--- Comment #1 from Markus Trippelsdorf  ---
Created attachment 42693
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=42693=edit
reduced testcase

trippels@gcc67 ~ % g++ -g -flto -r -nostdlib -O2 test_environment.ii
node_buffer.ii
node_buffer.ii:98:10: warning: type ‘struct AsyncHooks’ violates the C++ One
Definition Rule [-Wodr]
   struct AsyncHooks {
  ^
test_environment.ii:117:10: note: a different type is defined in another
translation unit
   struct AsyncHooks {
  ^
node_buffer.ii:99:39: note: the first difference of corresponding definitions
is field ‘providers_’
 int providers_[B::PROVIDERS_LENGTH];
   ^
test_environment.ii:118:67: note: a field of same name but different type is
defined in another translation unit
 v8::Eternal providers_[AsyncWrap::PROVIDERS_LENGTH];
   ^

lto1: internal compiler error: in linemap_ordinary_map_lookup, at
libcpp/line-map.c:995
0x139f7a4 linemap_ordinary_map_lookup
../../gcc/libcpp/line-map.c:995
0x139f7a4 linemap_lookup(line_maps*, unsigned int)
../../gcc/libcpp/line-map.c:948
0x13a068b linemap_macro_loc_to_def_point
../../gcc/libcpp/line-map.c:1453
0x13a068b linemap_resolve_location(line_maps*, unsigned int,
location_resolution_kind, line_map_ordinary const**)
../../gcc/libcpp/line-map.c:1585
0x136bb45 diagnostic_report_current_module(diagnostic_context*, unsigned int)
../../gcc/gcc/diagnostic.c:581
0xb0a6b1 diagnostic_report_current_function(diagnostic_context*,
diagnostic_info*)
../../gcc/gcc/tree-diagnostic.c:39
0xb0a6f0 default_tree_diagnostic_starter
../../gcc/gcc/tree-diagnostic.c:48
0x136a48a diagnostic_report_diagnostic(diagnostic_context*, diagnostic_info*)
../../gcc/gcc/diagnostic.c:985
0x136a84e diagnostic_impl
../../gcc/gcc/diagnostic.c:1108
0x136aa98 inform(unsigned int, char const*, ...)
../../gcc/gcc/diagnostic.c:1160
0x895b21 odr_types_equivalent_p
../../gcc/gcc/ipa-devirt.c:1569
0x89664e add_type_duplicate
../../gcc/gcc/ipa-devirt.c:1848
0x89664e get_odr_type(tree_node*, bool)
../../gcc/gcc/ipa-devirt.c:2028
0x89b9e4 odr_subtypes_equivalent_p
../../gcc/gcc/ipa-devirt.c:689
0x895740 odr_types_equivalent_p
../../gcc/gcc/ipa-devirt.c:1556
0x89664e add_type_duplicate
../../gcc/gcc/ipa-devirt.c:1848
0x89664e get_odr_type(tree_node*, bool)
../../gcc/gcc/ipa-devirt.c:2028
0x89bbd9 register_odr_type(tree_node*)
../../gcc/gcc/ipa-devirt.c:2111
0x5efea7 lto_read_decls
../../gcc/gcc/lto/lto.c:1748
0x5f14d4 lto_file_finalize
../../gcc/gcc/lto/lto.c:2048
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See  for instructions.
lto-wrapper: fatal error: g++ returned 1 exit status
compilation terminated.
/home/trippels/bin/ld: fatal error: lto-wrapper failed
collect2: error: ld returned 1 exit status

Also happens without -g -O2:
~ % g++ -flto -r -nostdlib test_environment.ii node_buffer.ii

[Bug c++/83121] New: [8 Regression] ICE: in linemap_ordinary_map_lookup, at libcpp/line-map.c:995

2017-11-22 Thread trippels at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83121

Bug ID: 83121
   Summary: [8 Regression] ICE: in linemap_ordinary_map_lookup, at
libcpp/line-map.c:995
   Product: gcc
   Version: 8.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
  Assignee: unassigned at gcc dot gnu.org
  Reporter: trippels at gcc dot gnu.org
  Target Milestone: ---

Building Node.js on ppc64le with "-g -flto" leads to:

  g++ -g -Wno-class-memaccess -Wno-ignored-qualifiers -flto=60 -pthread
-rdynamic -m64
-Wl,--whole-archive,/home/trippels/node/out/Release/obj.target/deps/openssl/libopenssl.a
-Wl,--no-whole-archive -Wl,-z,noexecstack -Wl,--whole-archive
/home/trippels/node/out/Release/obj.target/deps/v8/src/libv8_base.a
-Wl,--no-whole-archive -pthread  -o /home/trippels/node/out/Release/cctest
-Wl,--start-group
/home/trippels/node/out/Release/obj.target/cctest/test/cctest/node_module_reg.o
/home/trippels/node/out/Release/obj.target/cctest/test/cctest/node_test_fixture.o
/home/trippels/node/out/Release/obj.target/cctest/test/cctest/test_aliased_buffer.o
/home/trippels/node/out/Release/obj.target/cctest/test/cctest/test_base64.o
/home/trippels/node/out/Release/obj.target/cctest/test/cctest/test_environment.o
/home/trippels/node/out/Release/obj.target/cctest/test/cctest/test_util.o
/home/trippels/node/out/Release/obj.target/cctest/test/cctest/test_url.o
/home/trippels/node/out/Release/obj.target/cctest/test/cctest/test_inspector_socket.o
/home/trippels/node/out/Release/obj.target/cctest/test/cctest/test_inspector_socket_server.o
/home/trippels/node/out/Release/obj.target/deps/gtest/libgtest.a
/home/trippels/node/out/Release/obj.target/deps/zlib/libzlib.a
/home/trippels/node/out/Release/obj.target/deps/openssl/libopenssl.a
/home/trippels/node/out/Release/obj.target/deps/http_parser/libhttp_parser.a
/home/trippels/node/out/Release/obj.target/deps/uv/libuv.a
/home/trippels/node/out/Release/obj.target/deps/nghttp2/libnghttp2.a
/home/trippels/node/out/Release/obj.target/deps/v8/src/libv8_libplatform.a
/home/trippels/node/out/Release/obj.target/tools/icu/libicui18n.a
/home/trippels/node/out/Release/obj.target/deps/cares/libcares.a
/home/trippels/node/out/Release/obj.target/deps/v8/src/libv8_libbase.a
/home/trippels/node/out/Release/obj.target/deps/v8/src/libv8_base.a
/home/trippels/node/out/Release/obj.target/deps/v8/src/libv8_libsampler.a
/home/trippels/node/out/Release/obj.target/tools/icu/libicuucx.a
/home/trippels/node/out/Release/obj.target/tools/icu/libicudata.a
/home/trippels/node/out/Release/obj.target/tools/icu/libicustubdata.a
/home/trippels/node/out/Release/obj.target/deps/v8/src/libv8_snapshot.a
/home/trippels/node/out/Release/obj.target/node/src/async_wrap.o
/home/trippels/node/out/Release/obj.target/node/src/env.o
/home/trippels/node/out/Release/obj.target/node/src/node.o
/home/trippels/node/out/Release/obj.target/node/src/node_buffer.o
/home/trippels/node/out/Release/obj.target/node/src/node_debug_options.o
/home/trippels/node/out/Release/obj.target/node/src/node_i18n.o
/home/trippels/node/out/Release/obj.target/node/src/node_perf.o
/home/trippels/node/out/Release/obj.target/node/src/node_platform.o
/home/trippels/node/out/Release/obj.target/node/src/node_url.o
/home/trippels/node/out/Release/obj.target/node/src/util.o
/home/trippels/node/out/Release/obj.target/node/src/string_bytes.o
/home/trippels/node/out/Release/obj.target/node/src/string_search.o
/home/trippels/node/out/Release/obj.target/node/src/stream_base.o
/home/trippels/node/out/Release/obj.target/node/src/node_constants.o
/home/trippels/node/out/Release/obj.target/node/src/tracing/agent.o
/home/trippels/node/out/Release/obj.target/node/src/tracing/node_trace_buffer.o
/home/trippels/node/out/Release/obj.target/node/src/tracing/node_trace_writer.o
/home/trippels/node/out/Release/obj.target/node/src/tracing/trace_event.o
/home/trippels/node/out/Release/obj.target/node/gen/node_javascript.o
/home/trippels/node/out/Release/obj.target/node/src/node_crypto.o
/home/trippels/node/out/Release/obj.target/node/src/node_crypto_bio.o
/home/trippels/node/out/Release/obj.target/node/src/node_crypto_clienthello.o
/home/trippels/node/out/Release/obj.target/node/src/tls_wrap.o
/home/trippels/node/out/Release/obj.target/node/src/inspector_agent.o
/home/trippels/node/out/Release/obj.target/node/src/inspector_io.o
/home/trippels/node/out/Release/obj.target/node/src/inspector_js_api.o
/home/trippels/node/out/Release/obj.target/node/src/inspector_socket.o
/home/trippels/node/out/Release/obj.target/node/src/inspector_socket_server.o
/home/trippels/node/out/Release/obj.target/node/src/backtrace_posix.o -lm -ldl
-lrt -Wl,--end-group
../src/env.h:389: warning: type ‘struct AsyncHooks’ violates the C++ One
Definition Rule [-Wodr]
   class AsyncHooks {

../src/env.h:389: note: a different type is defined in another translation unit
   class AsyncHooks

[Bug tree-optimization/83104] [8 Regression] ICE: Segmentation fault

2017-11-22 Thread trippels at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83104

Markus Trippelsdorf  changed:

   What|Removed |Added

 CC||amodra at gmail dot com

--- Comment #6 from Markus Trippelsdorf  ---
*** Bug 83119 has been marked as a duplicate of this bug. ***

[Bug tree-optimization/83119] segmentation fault due to two_valued_val_range_p passing NULL to to_wide

2017-11-22 Thread trippels at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83119

Markus Trippelsdorf  changed:

   What|Removed |Added

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

--- Comment #1 from Markus Trippelsdorf  ---
dup.

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

[Bug tree-optimization/83104] [8 Regression] ICE: Segmentation fault

2017-11-22 Thread trippels at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83104

Markus Trippelsdorf  changed:

   What|Removed |Added

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

--- Comment #5 from Markus Trippelsdorf  ---
Fixed.

[Bug c/83108] Unaligned 128bit dereference causes segfault with -O2 on x86-64

2017-11-22 Thread trippels at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83108

--- Comment #4 from Markus Trippelsdorf  ---
(In reply to Jon Levell from comment #3)
> I'm surprised this was closed invalid.
> 
> "While the x86 architecture originally did not require aligned memory
> access, and still works without it, some SSE2 instructions on x86 CPUs do
> require the data to be 128-bit (16-byte) aligned"
> 
> I'm not doing anything SSE2 related. I'm surprised this is considered
> undefined behaviour?

It has nothing to do with SSE2. GCC simply assumes that __uint128_t is
16byte alignmented and optimizes accordingly (clang does the same).

[Bug c/83108] Unaligned 128bit dereference causes segfault with -O2 on x86-64

2017-11-22 Thread trippels at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83108

Markus Trippelsdorf  changed:

   What|Removed |Added

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

--- Comment #2 from Markus Trippelsdorf  ---
unsigned __int128 always needs 16 byte alignement, otherwise you are invoking
undefined behavior.

[Bug rtl-optimization/81308] [8 regression] ICE in calc_dfs_tree, at dominance.c:458

2017-11-22 Thread trippels at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81308

Markus Trippelsdorf  changed:

   What|Removed |Added

 CC||trippels at gcc dot gnu.org

--- Comment #5 from Markus Trippelsdorf  ---
Same ICE, different pattern on X86_64:

trippels@gcc67 ~ % cat PPCAsmParser.ii
struct A {
  int operator[](int) const {}
};
struct B {
  void m_fn1();
};
struct C {
  virtual bool m_fn2(int, unsigned &, A &, int &, unsigned long &, bool);
};
template  struct D {
  D(int) { MCAsmParserImpl(0, 0, 0, 0); }
};
int a;
namespace {
struct F : C {
  bool m_fn2(int, unsigned &, A &, int &, unsigned long &, bool);
  unsigned m_fn3(const A &, B &);
  F(int, int, int, int) {}
};
}
bool F::m_fn2(int, unsigned &, A , int &, unsigned long &, bool) {
  B b;
  m_fn3(p3, b);
}
void fn1() { D(0); }
unsigned F::m_fn3(const A , B ) {
  for (int *p;; p++)
switch (*p) {
case 0:
  p1[a];
case 1:
  p2.m_fn1();
}
}

trippels@gcc67 ~ % g++ -w -c -O2 PPCAsmParser.ii
during GIMPLE pass: switchconv
PPCAsmParser.ii: In function ‘unsigned int {anonymous}::F::m_fn3(const A&,
B&)’:
PPCAsmParser.ii:34:1: internal compiler error: in calc_dfs_tree, at
dominance.c:458
 }
 ^
0x9cce37 calc_dfs_tree
../../gcc/gcc/dominance.c:458
0x9ce03d calculate_dominance_info(cdi_direction)
../../gcc/gcc/dominance.c:734
0xfdcb93 verify_ssa(bool, bool)
../../gcc/gcc/tree-ssa.c:1082
0xcc80e7 execute_function_todo
../../gcc/gcc/passes.c:2001
0xcc9012 execute_todo
../../gcc/gcc/passes.c:2048

  1   2   3   4   5   6   7   8   9   10   >