[Bug c++/64251] New: [5 Regression] Chromium build error only with --enable-checking=yes
trippels at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Wed Dec 10 10:16:00 GMT 2014
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64251
Bug ID: 64251
Summary: [5 Regression] Chromium build error only with
--enable-checking=yes
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=34237&action=edit
unreduced testcase
Chromium build fails with a compiler configured with:
../gcc/configure --disable-libsanitizer --disable-bootstrap
--disable-libstdcxx-pch --disable-libvtv --disable-libitm --disable-libcilkrts
--disable-libssp --disable-libgomp --disable-werror --disable-multilib
--enable-languages=c,c++
markus@x4 Release % g++ -O2 -std=c++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 ‘base::Value* content::devtools::CreateValue(const T&) [with T
= base::DictionaryValue]’:
gen/content/browser/devtools/protocol/devtools_protocol_dispatcher.h:45:31:
required from ‘base::Value*
content::devtools::CreateValue(std::vector<_RealType>) [with T =
base::DictionaryValue]’
gen/content/browser/devtools/protocol/devtools_protocol_dispatcher.h:1140:36:
required from here
gen/content/browser/devtools/protocol/devtools_protocol_dispatcher.h:28:42:
error: no matching function for call to
‘base::FundamentalValue::FundamentalValue(const base::DictionaryValue&)’
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
‘const base::DictionaryValue’ to ‘double’
../../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
‘const base::DictionaryValue’ to ‘int’
../../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
‘const base::DictionaryValue’ to ‘bool’
../../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
‘const base::DictionaryValue’ to ‘const base::FundamentalValue&’
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 ‘void std::_Construct(_T1*, _Args&& ...) [with _T1 =
base::DictionaryValue; _Args = {const base::DictionaryValue&}]’:
/usr/lib/gcc/x86_64-pc-linux-gnu/5.0.0/include/g++-v5/bits/stl_uninitialized.h:75:18:
required from ‘static _ForwardIterator
std::__uninitialized_copy<_TrivialValueTypes>::__uninit_copy(_InputIterator,
_InputIterator, _ForwardIterator) [with _InputIterator =
__gnu_cxx::__normal_iterator<const base::DictionaryValue*,
std::vector<base::DictionaryValue> >; _ForwardIterator =
base::DictionaryValue*; bool _TrivialValueTypes = false]’
/usr/lib/gcc/x86_64-pc-linux-gnu/5.0.0/include/g++-v5/bits/stl_uninitialized.h:125:15:
required from ‘_ForwardIterator std::uninitialized_copy(_InputIterator,
_InputIterator, _ForwardIterator) [with _InputIterator =
__gnu_cxx::__normal_iterator<const base::DictionaryValue*,
std::vector<base::DictionaryValue> >; _ForwardIterator =
base::DictionaryValue*]’
/usr/lib/gcc/x86_64-pc-linux-gnu/5.0.0/include/g++-v5/bits/stl_uninitialized.h:280:37:
required from ‘_ForwardIterator std::__uninitialized_copy_a(_InputIterator,
_InputIterator, _ForwardIterator, std::allocator<_Tp>&) [with _InputIterator =
__gnu_cxx::__normal_iterator<const base::DictionaryValue*,
std::vector<base::DictionaryValue> >; _ForwardIterator =
base::DictionaryValue*; _Tp = base::DictionaryValue]’
/usr/lib/gcc/x86_64-pc-linux-gnu/5.0.0/include/g++-v5/bits/stl_vector.h:322:31:
required from ‘std::vector<_Tp, _Alloc>::vector(const std::vector<_Tp,
_Alloc>&) [with _Tp = base::DictionaryValue; _Alloc =
std::allocator<base::DictionaryValue>]’
gen/content/browser/devtools/protocol/devtools_protocol_dispatcher.h:1140:36:
required from here
../../base/values.h:370:3: error: ‘base::DictionaryValue::DictionaryValue(const
base::DictionaryValue&)’ 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<void*>(__p)) _T1(std::forward<_Args>(__args)...); }
^
Bizarrely, the error vanishes with an -enable-checking=release compiler.
More information about the Gcc-bugs
mailing list