Closed
Bug 1397942
Opened 7 years ago
Closed 7 years ago
Build failed with MSVC2017 because of warnings like 'nsTString<char16_t>::Find': an out-of-line definition of a member of a class template cannot have default arguments
Categories
(Core :: XPCOM, defect)
Core
XPCOM
Tracking
()
RESOLVED
FIXED
mozilla57
Tracking | Status | |
---|---|---|
firefox57 | --- | fixed |
People
(Reporter: xidorn, Assigned: xidorn)
References
Details
Attachments
(1 file)
> xpcom/string/precompiled_templates.cpp(77): error C2220: warning treated as error - no 'object' file generated
> xpcom/string/precompiled_templates.cpp(77): warning C5037: 'nsTString<char16_t>::Find': an out-of-line definition of a member of a class template cannot have default arguments
> xpcom/string/precompiled_templates.cpp(77): note: to simplify migration, consider the temporary use of /Wv:18 flag with the version of the compiler with which you used to build without warnings
> xpcom/string/precompiled_templates.cpp(81): warning C5037: 'nsTString<char16_t>::Find': an out-of-line definition of a member of a class template cannot have default arguments
> xpcom/string/precompiled_templates.cpp(81): note: to simplify migration, consider the temporary use of /Wv:18 flag with the version of the compiler with which you used to build without warnings
> xpcom/string/precompiled_templates.cpp(85): warning C5037: 'nsTString<char16_t>::RFind': an out-of-line definition of a member of a class template cannot have default arguments
> xpcom/string/precompiled_templates.cpp(85): note: to simplify migration, consider the temporary use of /Wv:18 flag with the version of the compiler with which you used to build without warnings
> xpcom/string/precompiled_templates.cpp(89): warning C5037: 'nsTString<char16_t>::RFind': an out-of-line definition of a member of a class template cannot have default arguments
> xpcom/string/precompiled_templates.cpp(89): note: to simplify migration, consider the temporary use of /Wv:18 flag with the version of the compiler with which you used to build without warnings
> xpcom/string/precompiled_templates.cpp(93): warning C5037: 'nsTString<char16_t>::FindCharInSet': an out-of-line definition of a member of a class template cannot have default arguments
> xpcom/string/precompiled_templates.cpp(93): note: to simplify migration, consider the temporary use of /Wv:18 flag with the version of the compiler with which you used to build without warnings
> xpcom/string/precompiled_templates.cpp(97): warning C5037: 'nsTString<char>::Compare': an out-of-line definition of a member of a class template cannot have default arguments
> xpcom/string/precompiled_templates.cpp(97): note: to simplify migration, consider the temporary use of /Wv:18 flag with the version of the compiler with which you used to build without warnings
> xpcom/string/precompiled_templates.cpp(102): warning C5037: 'nsTString<char16_t>::EqualsIgnoreCase': an out-of-line definition of a member of a class template cannot have default arguments
> xpcom/string/precompiled_templates.cpp(102): note: to simplify migration, consider the temporary use of /Wv:18 flag with the version of the compiler with which you used to build without warnings
Assignee | ||
Comment 1•7 years ago
|
||
This seems to be a pretty new warning, introduced in VC2017u1 [1], and it doesn't have lots of document at the moment...
[1] https://docs.microsoft.com/en-us/cpp/error-messages/compiler-warnings/compiler-warnings-by-compiler-version#warnings-introduced-in-visual-c-2017-update-1
Comment 2•7 years ago
|
||
If this is blocking anyone I think just disabling the warning in xpcom/string/moz.build should do the trick. It's a bizarre warning to have, I'm not sure it's legit. Something like the following should suffice:
> if CONFIG['_MSC_VER']:
> CXXFLAGS += ['-wd5037']
Assignee | ||
Comment 3•7 years ago
|
||
This indeed seems to be a MSVC bug which they may fix in the next release: https://developercommunity.visualstudio.com/content/problem/81223/incorrect-error-c5037-with-permissive.html
It is said that there is no workaround for this issue, unfortunately.
Comment hidden (mozreview-request) |
Updated•7 years ago
|
Attachment #8905778 -
Flags: review?(mh+mozilla) → review?(nfroyd)
Comment 5•7 years ago
|
||
mozreview-review |
Comment on attachment 8905778 [details]
Bug 1397942 - Disable C5037 in xpcom/string to workaround MSVC bug.
https://reviewboard.mozilla.org/r/177576/#review183440
Attachment #8905778 -
Flags: review?(nfroyd) → review+
Pushed by xquan@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/867e6e5787fa
Disable C5037 in xpcom/string to workaround MSVC bug. r=froydnj
Comment 7•7 years ago
|
||
bugherder |
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla57
Updated•7 years ago
|
Assignee: nobody → xidorn+moz
You need to log in
before you can comment on or make changes to this bug.
Description
•