Closed QuellaZhang closed 5 years ago
@QuellaZhang thanks for the report.
The path forward is to merge a patch into upstream GDCM for the release
branch, then we will merge it into ITK.
It sounds like a refactor to remove goto
could help.
CC: @malaterre
You are not only disabling permissive mode (meaning enabling standards conformance mode), but you are at the same time disabling two-phase lookup. The errors from GDCM library are appearing because it is one of the base libraries in the dependency graph. If those errors are fixed, I would be surprised if no new errors appeared somewhere else. Removing goto
statements would be nice, but I don't think that will be the end of it.
Hello, any updates?
/permissive-
).Why do you want to disable two-phase lookup?
It turns out that adding the switch /Zc:twoPhase-
made no difference after #261 was merged. Closing the issue as fixed.
ITK failed when build with /permissive- by msvc on Windows, I use latset version b95b4c4 on master branch. Could you please help look at this?
You can repro this issue as the steps below:
Failures: D:\ITK\src\Modules\ThirdParty\GDCM\src\gdcm\Source\Common\gdcmCAPICryptographicMessageSyntax.cxx(369,1): error C2362: initialization of 'nrOfRecipientsLen' is skipped by 'goto err' err: ^ D:\ITK\src\Modules\ThirdParty\GDCM\src\gdcm\Source\Common\gdcmCAPICryptographicMessageSyntax.cxx(247): note: see declaration of 'nrOfRecipientsLen' DWORD nrOfRecipeints, nrOfRecipientsLen = sizeof(DWORD); D:\ITK\src\Modules\ThirdParty\GDCM\src\gdcm\Source\Common\gdcmCAPICryptographicMessageSyntax.cxx(369): note: see declaration of 'err' err: D:\ITK\src\Modules\ThirdParty\GDCM\src\gdcm\Source\Common\gdcmCAPICryptographicMessageSyntax.cxx(369,1): error C2362: initialization of 'kekAlgLen' is skipped by 'goto err' err: ^ D:\ITK\src\Modules\ThirdParty\GDCM\src\gdcm\Source\Common\gdcmCAPICryptographicMessageSyntax.cxx(235): note: see declaration of 'kekAlgLen' DWORD kekAlgLen = sizeof(ALG_ID); D:\ITK\src\Modules\ThirdParty\GDCM\src\gdcm\Source\Common\gdcmCAPICryptographicMessageSyntax.cxx(369): note: see declaration of 'err' err: D:\ITK\src\Modules\ThirdParty\GDCM\src\gdcm\Source\Common\gdcmCAPICryptographicMessageSyntax.cxx(369,1): error C2362: initialization of 'cbMessageTypeLen' is skipped by 'goto err' err: ^ D:\ITK\src\Modules\ThirdParty\GDCM\src\gdcm\Source\Common\gdcmCAPICryptographicMessageSyntax.cxx(221): note: see declaration of 'cbMessageTypeLen' DWORD dwMessageType, cbMessageTypeLen = sizeof(DWORD); D:\ITK\src\Modules\ThirdParty\GDCM\src\gdcm\Source\Common\gdcmCAPICryptographicMessageSyntax.cxx(369): note: see declaration of 'err' err: