Closed Bug 1460055 Opened 4 years ago Closed 4 years ago

CmdLineAndEnvUtils.h:60:1: error: mangled name for 'bool mozilla::internal::strimatch(FuncT, const CharT*, const CharT*) [with FuncT = unsigned int (*)(unsigned int) throw (); CharT = wchar_t]' will change in C++17 because the exception specification is p

Categories

(Toolkit :: Startup and Profile System, defect, P2)

defect

Tracking

()

RESOLVED FIXED
mozilla62
Tracking Status
firefox62 --- fixed

People

(Reporter: cpearce, Assigned: cpearce)

References

Details

Attachments

(1 file)

Bug introduced this compile error with "gcc version 7.2.0 (Ubuntu 7.2.0-8ubuntu3.2)":

15:07.81 In file included from /home/cpearce/src/firefox/toolkit/xre/nsAppRunner.cpp:13:0:
15:07.81 /home/cpearce/src/firefox/obj-x86_64-pc-linux-gnu/dist/include/mozilla/CmdLineAndEnvUtils.h:60:1: error: mangled name for 'bool mozilla::internal::strimatch(FuncT, const CharT*, const CharT*) [with FuncT = unsigned int (*)(unsigned int) throw (); CharT = wchar_t]' will change in C++17 because the exception specification is part of a function type [-Werror=noexcept-type]
15:07.81 /home/cpearce/src/firefox/obj-x86_64-pc-linux-gnu/dist/include/mozilla/CmdLineAndEnvUtils.h:60:1: error: mangled name for 'bool mozilla::internal::strimatch(FuncT, const CharT*, const CharT*) [with FuncT = int (*)(int) throw (); CharT = char]' will change in C++17 because the exception specification is part of a function type [-Werror=noexcept-type]
15:07.81 cc1plus: all warnings being treated as errors

The warning here is that strimatch() may be compiled with mangled names in one translation unit where the exception handling is part of the function name, and in another pre C++17 unit it may be compiled without the exception handling in the name (I think).

According to this SO post, making strimatch() static should fix it, (it does for me locally).

https://stackoverflow.com/questions/46798456/handling-gccs-noexcept-type-warning
Comment on attachment 8974171 [details]
Bug 1460055 - Make strimatch static to fix error with GCC about exception handling mangling.

https://reviewboard.mozilla.org/r/242458/#review248380

Thanks!
Attachment #8974171 - Flags: review?(aklotz) → review+
Pushed by cpearce@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/3029b0beea0e
Make strimatch static to fix error with GCC about exception handling mangling. r=aklotz
https://hg.mozilla.org/mozilla-central/rev/3029b0beea0e
Status: NEW → RESOLVED
Closed: 4 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla62
You need to log in before you can comment on or make changes to this bug.