Closed Bug 1411049 Opened 7 years ago Closed 5 years ago

Variant.h: type qualifiers ignored on cast result type [-Werror=ignored-qualifiers]

Categories

(Developer Infrastructure :: Source Code Analysis, defect, P3)

defect

Tracking

(firefox58 affected)

RESOLVED FIXED
Tracking Status
firefox58 --- affected

People

(Reporter: Sylvestre, Assigned: andi)

References

()

Details

2:46.84 In file included from /root/firefox-gcc-last/obj-x86_64-pc-linux-gnu/dist/include/mozilla/Result.h:17:0,
 2:46.84                  from /root/firefox-gcc-last/obj-x86_64-pc-linux-gnu/dist/include/js/Result.h:119,
 2:46.84                  from /root/firefox-gcc-last/obj-x86_64-pc-linux-gnu/dist/include/jspubtd.h:22,
 2:46.84                  from /root/firefox-gcc-last/obj-x86_64-pc-linux-gnu/dist/include/nsCycleCollectionTraversalCallback.h:10,
 2:46.84                  from /root/firefox-gcc-last/obj-x86_64-pc-linux-gnu/dist/include/nsCycleCollectionNoteChild.h:13,
 2:46.84                  from /root/firefox-gcc-last/obj-x86_64-pc-linux-gnu/dist/include/nsCOMPtr.h:33,
 2:46.84                  from /root/firefox-gcc-last/obj-x86_64-pc-linux-gnu/dist/include/nsAutoPtr.h:10,
 2:46.84                  from /root/firefox-gcc-last/ipc/chromium/src/chrome/common/ipc_message.h:21,
 2:46.84                  from /root/firefox-gcc-last/ipc/chromium/src/chrome/common/ipc_message_utils.h:22,
 2:46.84                  from /root/firefox-gcc-last/obj-x86_64-pc-linux-gnu/dist/include/ipc/IPCMessageUtils.h:11,
 2:46.84                  from /root/firefox-gcc-last/obj-x86_64-pc-linux-gnu/ipc/ipdl/_ipdlheaders/mozilla/ipc/IPCStream.h:11,
 2:46.84                  from /root/firefox-gcc-last/ipc/glue/IPCStreamUtils.h:10,
 2:46.84                  from /root/firefox-gcc-last/ipc/glue/IPCStreamUtils.cpp:7,
 2:46.84                  from /root/firefox-gcc-last/obj-x86_64-pc-linux-gnu/ipc/glue/Unified_cpp_ipc_glue1.cpp:2:
 2:46.84 /root/firefox-gcc-last/obj-x86_64-pc-linux-gnu/dist/include/mozilla/Variant.h: In instantiation of 'typename mozilla::detail::Nth<N, Ts ...>::Type mozilla::Variant<Ts>::extract() [with long unsigned int N = 0; Ts = {const int, const char*, void (*)(nsITimer*, bool, void*, char*, long unsigned int)}; typename mozilla::detail::Nth<N, Ts ...>::Type = const int]':
 2:46.84 /root/firefox-gcc-last/obj-x86_64-pc-linux-gnu/dist/include/mozilla/Variant.h:219:7:   required from 'static void mozilla::detail::VariantImplementation<Tag, N, T, Ts ...>::moveConstruct(void*, Variant&&) [with Variant = mozilla::Variant<const int, const char*, void (*)(nsITimer*, bool, void*, char*, long unsigned int)>; Tag = unsigned char; long unsigned int N = 0; T = const int; Ts = {const char*, void (*)(nsITimer*, bool, void*, char*, long unsigned int)}]'
 2:46.84 /root/firefox-gcc-last/obj-x86_64-pc-linux-gnu/dist/include/mozilla/Variant.h:588:24:   required from 'mozilla::Variant<Ts>::Variant(mozilla::Variant<Ts>&&) [with Ts = {const int, const char*, void (*)(nsITimer*, bool, void*, char*, long unsigned int)}]'
 2:46.84 /usr/include/c++/8/bits/move.h:193:11:   required from 'typename std::enable_if<std::__and_<std::__not_<std::__is_tuple_like<_Tp> >, std::is_move_constructible<_Tp>, std::is_move_assignable<_Tp> >::value>::type std::swap(_Tp&, _Tp&) [with _Tp = mozilla::Variant<const int, const char*, void (*)(nsITimer*, bool, void*, char*, long unsigned int)>; typename std::enable_if<std::__and_<std::__not_<std::__is_tuple_like<_Tp> >, std::is_move_constructible<_Tp>, std::is_move_assignable<_Tp> >::value>::type = void]'
 2:46.84 /root/firefox-gcc-last/xpcom/threads/nsTimerImpl.h:98:35:   required from here
 2:46.84 /root/firefox-gcc-last/obj-x86_64-pc-linux-gnu/dist/include/mozilla/Variant.h:714:44: error: type qualifiers ignored on cast result type [-Werror=ignored-qualifiers]
 2:46.84      return typename detail::Nth<N, Ts...>::Type(Move(as<N>()));
 2:46.84                                             ^~~~~~~~~~~~~~~~~~~
Priority: -- → P3
Assignee: nobody → bpostelnicu
I think this should be fixed from the gcc since, since we are not doing anything out o the ordinary nor we are breaking the standard.
Product: Core → Firefox Build System
Is this warning still a problem with gcc?

The gcc bug that Andi filed was resolved as not a bug (resolved as a duplicate of a WORKSFORME bug). If gcc still reports these warnings, then we'll need to work around them.

I don't think it's the case with the last versions of GCC. Sylvestre should we close this?

Flags: needinfo?(sledru)

Yeah, I don't see it anymore

Status: NEW → RESOLVED
Closed: 5 years ago
Flags: needinfo?(sledru)
Resolution: --- → FIXED
Product: Firefox Build System → Developer Infrastructure
You need to log in before you can comment on or make changes to this bug.