From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 26765 invoked by alias); 10 Dec 2014 10:16:43 -0000 Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org Received: (qmail 26627 invoked by uid 48); 10 Dec 2014 10:16:39 -0000 From: "trippels at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug c++/64251] New: [5 Regression] Chromium build error only with --enable-checking=yes Date: Wed, 10 Dec 2014 10:16:00 -0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: new X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: c++ X-Bugzilla-Version: 5.0 X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: trippels at gcc dot gnu.org X-Bugzilla-Status: UNCONFIRMED X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: bug_id short_desc product version bug_status bug_severity priority component assigned_to reporter attachments.created Message-ID: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-SW-Source: 2014-12/txt/msg01027.txt.bz2 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D64251 Bug ID: 64251 Summary: [5 Regression] Chromium build error only with --enable-checking=3Dyes Product: gcc Version: 5.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: trippels at gcc dot gnu.org Created attachment 34237 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=3D34237&action=3Dedit unreduced testcase Chromium build fails with a compiler configured with: ../gcc/configure --disable-libsanitizer --disable-bootstrap --disable-libstdcxx-pch --disable-libvtv --disable-libitm --disable-libcilk= rts --disable-libssp --disable-libgomp --disable-werror --disable-multilib --enable-languages=3Dc,c++ markus@x4 Release % g++ -O2 -std=3Dc++11 -c devtools_protocol_dispatcher.ii In file included from ../../content/browser/devtools/protocol/devtools_protocol_handler.h:8:0, from gen/content/browser/devtools/protocol/devtools_protocol_dispatcher.cc:11: gen/content/browser/devtools/protocol/devtools_protocol_dispatcher.h: In instantiation of =E2=80=98base::Value* content::devtools::CreateValue(const= T&) [with T =3D base::DictionaryValue]=E2=80=99: gen/content/browser/devtools/protocol/devtools_protocol_dispatcher.h:45:31:= =20=20 required from =E2=80=98base::Value* content::devtools::CreateValue(std::vector<_RealType>) [with T =3D base::DictionaryValue]=E2=80=99 gen/content/browser/devtools/protocol/devtools_protocol_dispatcher.h:1140:3= 6:=20=20 required from here gen/content/browser/devtools/protocol/devtools_protocol_dispatcher.h:28:42: error: no matching function for call to =E2=80=98base::FundamentalValue::FundamentalValue(const base::DictionaryVal= ue&)=E2=80=99 return new base::FundamentalValue(param); ^ In file included from ../../content/browser/devtools/protocol/devtools_protocol_client.h:9:0, from gen/content/browser/devtools/protocol/devtools_protocol_dispatcher.h:14, from ../../content/browser/devtools/protocol/devtools_protocol_handler.h:8, from gen/content/browser/devtools/protocol/devtools_protocol_dispatcher.cc:11: ../../base/values.h:123:12: note: candidate: base::FundamentalValue::FundamentalValue(double) explicit FundamentalValue(double in_value); ^ ../../base/values.h:123:12: note: no known conversion for argument 1 from =E2=80=98const base::DictionaryValue=E2=80=99 to =E2=80=98double=E2=80=99 ../../base/values.h:122:12: note: candidate: base::FundamentalValue::FundamentalValue(int) explicit FundamentalValue(int in_value); ^ ../../base/values.h:122:12: note: no known conversion for argument 1 from =E2=80=98const base::DictionaryValue=E2=80=99 to =E2=80=98int=E2=80=99 ../../base/values.h:121:12: note: candidate: base::FundamentalValue::FundamentalValue(bool) explicit FundamentalValue(bool in_value); ^ ../../base/values.h:121:12: note: no known conversion for argument 1 from =E2=80=98const base::DictionaryValue=E2=80=99 to =E2=80=98bool=E2=80=99 ../../base/values.h:119:7: note: candidate: base::FundamentalValue::FundamentalValue(const base::FundamentalValue&) class BASE_EXPORT FundamentalValue : public Value { ^ ../../base/values.h:119:7: note: no known conversion for argument 1 from =E2=80=98const base::DictionaryValue=E2=80=99 to =E2=80=98const base::Funda= mentalValue&=E2=80=99 In file included from ../../content/browser/devtools/protocol/devtools_protocol_client.h:9:0, from gen/content/browser/devtools/protocol/devtools_protocol_dispatcher.h:14, from ../../content/browser/devtools/protocol/devtools_protocol_handler.h:8, from gen/content/browser/devtools/protocol/devtools_protocol_dispatcher.cc:11: /usr/lib/gcc/x86_64-pc-linux-gnu/5.0.0/include/g++-v5/bits/stl_construct.h:= In instantiation of =E2=80=98void std::_Construct(_T1*, _Args&& ...) [with _T1= =3D base::DictionaryValue; _Args =3D {const base::DictionaryValue&}]=E2=80=99: /usr/lib/gcc/x86_64-pc-linux-gnu/5.0.0/include/g++-v5/bits/stl_uninitialize= d.h:75:18: required from =E2=80=98static _ForwardIterator std::__uninitialized_copy<_TrivialValueTypes>::__uninit_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator =3D __gnu_cxx::__normal_iterator >; _ForwardIterator =3D base::DictionaryValue*; bool _TrivialValueTypes =3D false]=E2=80=99 /usr/lib/gcc/x86_64-pc-linux-gnu/5.0.0/include/g++-v5/bits/stl_uninitialize= d.h:125:15: required from =E2=80=98_ForwardIterator std::uninitialized_copy(_InputIte= rator, _InputIterator, _ForwardIterator) [with _InputIterator =3D __gnu_cxx::__normal_iterator >; _ForwardIterator =3D base::DictionaryValue*]=E2=80=99 /usr/lib/gcc/x86_64-pc-linux-gnu/5.0.0/include/g++-v5/bits/stl_uninitialize= d.h:280:37: required from =E2=80=98_ForwardIterator std::__uninitialized_copy_a(_Inpu= tIterator, _InputIterator, _ForwardIterator, std::allocator<_Tp>&) [with _InputIterato= r =3D __gnu_cxx::__normal_iterator >; _ForwardIterator =3D base::DictionaryValue*; _Tp =3D base::DictionaryValue]=E2=80=99 /usr/lib/gcc/x86_64-pc-linux-gnu/5.0.0/include/g++-v5/bits/stl_vector.h:322= :31: required from =E2=80=98std::vector<_Tp, _Alloc>::vector(const std::vector= <_Tp, _Alloc>&) [with _Tp =3D base::DictionaryValue; _Alloc =3D std::allocator]=E2=80=99 gen/content/browser/devtools/protocol/devtools_protocol_dispatcher.h:1140:3= 6:=20=20 required from here ../../base/values.h:370:3: error: =E2=80=98base::DictionaryValue::Dictionar= yValue(const base::DictionaryValue&)=E2=80=99 is private DISALLOW_COPY_AND_ASSIGN(DictionaryValue); ^ In file included from /usr/lib/gcc/x86_64-pc-linux-gnu/5.0.0/include/g++-v5/memory:64:0, from ../../base/threading/thread_collision_warner.h:8, from ../../base/memory/ref_counted.h:17, from ../../base/callback_internal.h:14, from ../../base/callback.h:9, from ../../content/browser/devtools/protocol/devtools_protocol_client.h:8, from gen/content/browser/devtools/protocol/devtools_protocol_dispatcher.h:14, from ../../content/browser/devtools/protocol/devtools_protocol_handler.h:8, from gen/content/browser/devtools/protocol/devtools_protocol_dispatcher.cc:11: /usr/lib/gcc/x86_64-pc-linux-gnu/5.0.0/include/g++-v5/bits/stl_construct.h:= 75:7: error: within this context { ::new(static_cast(__p)) _T1(std::forward<_Args>(__args)...); } ^ Bizarrely, the error vanishes with an -enable-checking=3Drelease compiler. >>From gcc-bugs-return-470022-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org Wed Dec 10 10:24:17 2014 Return-Path: Delivered-To: listarch-gcc-bugs@gcc.gnu.org Received: (qmail 32593 invoked by alias); 10 Dec 2014 10:24:17 -0000 Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org Delivered-To: mailing list gcc-bugs@gcc.gnu.org Received: (qmail 32563 invoked by uid 48); 10 Dec 2014 10:24:13 -0000 From: "jakub at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug target/64252] New: [5 Regression] expand_vec_perm_pblendv caused miscompilation Date: Wed, 10 Dec 2014 10:24:00 -0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: new X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: target X-Bugzilla-Version: 5.0 X-Bugzilla-Keywords: wrong-code X-Bugzilla-Severity: normal X-Bugzilla-Who: jakub at gcc dot gnu.org X-Bugzilla-Status: UNCONFIRMED X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: bug_id short_desc product version bug_status keywords bug_severity priority component assigned_to reporter Message-ID: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-SW-Source: 2014-12/txt/msg01029.txt.bz2 Content-length: 1236 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64252 Bug ID: 64252 Summary: [5 Regression] expand_vec_perm_pblendv caused miscompilation Product: gcc Version: 5.0 Status: UNCONFIRMED Keywords: wrong-code Severity: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: jakub at gcc dot gnu.org As Evgeny reported on gcc-patches, the following testcase is miscompiled on the trunk with -O2 -mavx2: typedef unsigned int V __attribute__((vector_size (32))); __attribute__((noinline, noclone)) void foo (V *a, V *b, V *c, V *d, V *e) { V t = __builtin_shuffle (*a, *b, *c); V v = __builtin_shuffle (t, (V) { ~0U, ~0U, ~0U, ~0U, ~0U, ~0U, ~0U, ~0U }, (V) { 0, 1, 8, 3, 4, 5, 9, 7 }); v = v + *d; *e = v; } int main () { V a, b, c, d, e; int i; a = (V) { 1, 2, 3, 4, 5, 6, 7, 8 }; b = (V) { 9, 10, 11, 12, 13, 14, 15, 16 }; c = (V) { 1, 3, 5, 7, 9, 11, 13, 15 }; d = (V) { 0, 0, 0, 0, 0, 0, 0, 0 }; foo (&a, &b, &c, &d, &e); for (i = 0; i < 8; i++) if (e[i] != ((i == 2 || i == 6) ? ~0U : 2 + 2 * i)) __builtin_abort (); return 0; }