Closed Bug 1229587 Opened 9 years ago Closed 9 years ago

VS2015u1 breaks build of certverifier

Categories

(Core :: Security, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla45
Tracking Status
firefox45 --- fixed

People

(Reporter: xidorn, Assigned: xidorn)

References

Details

Attachments

(2 files)

After I upgraded VS2015 to Update 1, it reports two warnings (which is then treated as error and stops building): > 0:28.50 central/obj-firefox-opt/security/certverifier/Unified_cpp_certverifier0.cpp: error C2220: warning treated as error - no 'object' file generated > 0:28.50 central/obj-firefox-opt/security/certverifier/Unified_cpp_certverifier0.cpp: warning C4464: relative include path contains '..' > 0:28.52 central\security\manager\ssl\ScopedNSSTypes.h(219): warning C4061: enumerator 'SEC_OID_BUSINESS_CATEGORY' in switch of enum 'SECOidTag' is not explicitly handled by a case label > 0:28.52 central\obj-firefox-opt\dist\include\nss\secoidt.h(34): note: see declaration of 'SECOidTag' > 0:28.53 ccentral\security\manager\ssl\ScopedNSSTypes.h(219): warning C4061: enumerator 'SEC_OID_HMAC_SHA256' in switch of enum 'SECOidTag' is not explicitly handled by a case label There is no line number for C4464, so I have no idea where it is. C4061 should have been suppressed for the switch in question via macro MOZ_NON_EXHAUSTIVE_SWITCH which adds __pragma(warning(suppress:4061)) before switch statement. So it is likely a new bug introduced in Update 1. I don't think it would get fixed before the next update, so we probably need to find a way to workaround it.
I've submitted https://connect.microsoft.com/VisualStudio/feedback/details/2081008 for C4061 issue. we can use push/disable/pop pragma to work around this issue. C4464 is a new warning added in VS2015u1, which we could just disable directly in moz.build. I'll submit patches for these workarounds as far as I can complete the build...
Bug 1229587 part 1 - Disable C4464 warning newly added in VS2015u1.
Attachment #8694512 - Flags: review?(dkeeler)
Bug 1229587 part 2 - Use verbose format to disable C4061 to workaround bug of VS2015u1.
Attachment #8694513 - Flags: review?(dkeeler)
Comment on attachment 8694512 [details] MozReview Request: Bug 1229587 part 1 - Disable C4464 warning newly added in VS2015u1. https://reviewboard.mozilla.org/r/26809/#review24311
Attachment #8694512 - Flags: review?(dkeeler) → review+
Comment on attachment 8694513 [details] MozReview Request: Bug 1229587 part 2 - Use verbose format to disable C4061 to workaround bug of VS2015u1. https://reviewboard.mozilla.org/r/26811/#review24313 Seems reasonable. ::: security/manager/ssl/ScopedNSSTypes.h:205 (Diff revision 1) > +#pragma warning(disable:4061) It would be nice to keep the comment describing what warning 4061 is.
Attachment #8694513 - Flags: review?(dkeeler) → review+
https://hg.mozilla.org/integration/mozilla-inbound/rev/d274136019db1c59cb3d4d8464b3ac4e6ac4ecbc Bug 1229587 part 1 - Disable C4464 warning newly added in VS2015u1. r=keeler https://hg.mozilla.org/integration/mozilla-inbound/rev/177b0d0529e9fe4c206bd9f9e1d857e765ba8377 Bug 1229587 part 2 - Use verbose format to disable C4061 to workaround bug of VS2015u1. r=keeler
Assignee: nobody → quanxunzhen
Status: NEW → RESOLVED
Closed: 9 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla45
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: