Ticket UUID: | 1dcda0e862a79254fc1188f49848666b9490e991 | |||
Title: | Build broken (trunk branch) tclCompExpr.c tclOOCall.c | |||
Type: | Bug | Version: | trunk, core-9-0-branch | |
Submitter: | fvogel | Created on: | 2025-05-24 08:31:52 | |
Subsystem: | None | Assigned To: | jan.nijtmans | |
Priority: | 5 Medium | Severity: | Severe | |
Status: | Closed | Last Modified: | 2025-05-26 11:51:58 | |
Resolution: | Fixed | Closed By: | jan.nijtmans | |
Closed on: | 2025-05-26 11:51:58 | |||
Description: |
Building Tcl trunk branch on Windows with MSVC 2022 spits: tclCompCmdsSZ.c tclCompExpr.c C:\Users\francois\Documents\Development\tcltk-fossil\tcl\win\..\generic\tclCompExpr.c(175): error C2220: l'avertissement suivant est traité comme une erreur C:\Users\francois\Documents\Development\tcltk-fossil\tcl\win\..\generic\tclCompExpr.c(175): warning C5287: les opérandes sont des types enum différents « LexemeTypes » et « LexemeCodes » ; utilisez un forçage de type explicite pour mettre cet avertissement en sourdine C:\Users\francois\Documents\Development\tcltk-fossil\tcl\win\..\generic\tclCompExpr.c(175): note: pour simplifier la migration, utilisez temporairement l'indicateur /Wv:18 avec la version du compilateur que vous avez utilisé pour générer sans avertissement C:\Users\francois\Documents\Development\tcltk-fossil\tcl\win\..\generic\tclCompExpr.c(185): warning C5287: les opérandes sont des types enum différents « LexemeTypes » et « LexemeCodes » ; utilisez un forçage de type explicite pour mettre cet avertissement en sourdine C:\Users\francois\Documents\Development\tcltk-fossil\tcl\win\..\generic\tclCompExpr.c(185): note: pour simplifier la migration, utilisez temporairement l'indicateur /Wv:18 avec la version du compilateur que vous avez utilisé pour générer sans avertissement C:\Users\francois\Documents\Development\tcltk-fossil\tcl\win\..\generic\tclCompExpr.c(186): warning C5287: les opérandes sont des types enum différents « LexemeTypes » et « LexemeCodes » ; utilisez un forçage de type explicite pour mettre cet avertissement en sourdine C:\Users\francois\Documents\Development\tcltk-fossil\tcl\win\..\generic\tclCompExpr.c(186): note: pour simplifier la migration, utilisez temporairement l'indicateur /Wv:18 avec la version du compilateur que vous avez utilisé pour générer sans avertissement C:\Users\francois\Documents\Development\tcltk-fossil\tcl\win\..\generic\tclCompExpr.c(187): warning C5287: les opérandes sont des types enum différents « LexemeTypes » et « LexemeCodes » ; utilisez un forçage de type explicite pour mettre cet avertissement en sourdine C:\Users\francois\Documents\Development\tcltk-fossil\tcl\win\..\generic\tclCompExpr.c(187): note: pour simplifier la migration, utilisez temporairement l'indicateur /Wv:18 avec la version du compilateur que vous avez utilisé pour générer sans avertissement C:\Users\francois\Documents\Development\tcltk-fossil\tcl\win\..\generic\tclCompExpr.c(218): warning C5287: les opérandes sont des types enum différents « LexemeTypes » et « LexemeCodes » ; utilisez un forçage de type explicite pour mettre cet avertissement en sourdine C:\Users\francois\Documents\Development\tcltk-fossil\tcl\win\..\generic\tclCompExpr.c(218): note: pour simplifier la migration, utilisez temporairement l'indicateur /Wv:18 avec la version du compilateur que vous avez utilisé pour générer sans avertissement C:\Users\francois\Documents\Development\tcltk-fossil\tcl\win\..\generic\tclCompExpr.c(219): warning C5287: les opérandes sont des types enum différents « LexemeTypes » et « LexemeCodes » ; utilisez un forçage de type explicite pour mettre cet avertissement en sourdine C:\Users\francois\Documents\Development\tcltk-fossil\tcl\win\..\generic\tclCompExpr.c(219): note: pour simplifier la migration, utilisez temporairement l'indicateur /Wv:18 avec la version du compilateur que vous avez utilisé pour générer sans avertissement Génération de code en cours... Compilation en cours... tclCompile.c tclConfig.c [...] tclOOBasic.c tclOOCall.c C:\Users\francois\Documents\Development\tcltk-fossil\tcl\win\..\generic\tclOOCall.c(57): error C2220: l'avertissement suivant est traité comme une erreur C:\Users\francois\Documents\Development\tcltk-fossil\tcl\win\..\generic\tclOOCall.c(57): warning C5287: les opérandes sont des types enum différents « TclOOCallChainFlags » et « ObjectFlags » ; utilisez un forçage de type explicite pour mettre cet avertissement en sourdine C:\Users\francois\Documents\Development\tcltk-fossil\tcl\win\..\generic\tclOOCall.c(57): note: pour simplifier la migration, utilisez temporairement l'indicateur /Wv:18 avec la version du compilateur que vous avez utilisé pour générer sans avertissement C:\Users\francois\Documents\Development\tcltk-fossil\tcl\win\..\generic\tclOOCall.c(1082): warning C5287: les opérandes sont des types enum différents « TclOOCallChainFlags » et « CallChainFlags » ; utilisez un forçage de type explicite pour mettre cet avertissement en sourdine C:\Users\francois\Documents\Development\tcltk-fossil\tcl\win\..\generic\tclOOCall.c(1082): note: pour simplifier la migration, utilisez temporairement l'indicateur /Wv:18 avec la version du compilateur que vous avez utilisé pour générer sans avertissement C:\Users\francois\Documents\Development\tcltk-fossil\tcl\win\..\generic\tclOOCall.c(1185): warning C5287: les opérandes sont des types enum différents « CallChainFlags » et « ObjectFlags » ; utilisez un forçage de type explicite pour mettre cet avertissement en sourdine C:\Users\francois\Documents\Development\tcltk-fossil\tcl\win\..\generic\tclOOCall.c(1185): note: pour simplifier la migration, utilisez temporairement l'indicateur /Wv:18 avec la version du compilateur que vous avez utilisé pour générer sans avertissement C:\Users\francois\Documents\Development\tcltk-fossil\tcl\win\..\generic\tclOOCall.c(1503): warning C5287: les opérandes sont des types enum différents « TclOOCallChainFlags » et « ObjectFlags » ; utilisez un forçage de type explicite pour mettre cet avertissement en sourdine C:\Users\francois\Documents\Development\tcltk-fossil\tcl\win\..\generic\tclOOCall.c(1503): note: pour simplifier la migration, utilisez temporairement l'indicateur /Wv:18 avec la version du compilateur que vous avez utilisé pour générer sans avertissement tclOODefineCmds.c tclOOInfo.c [...] tclVar.c Génération de code en cours... NMAKE : fatal error U1077: 'cl -nologo -c /DHAVE_CPUID=1 -W3 -wd4090 -wd4146 -wd4311 -wd4312 -WX -FpC:\Users\francois\Documents\Development\tcltk-fossil\tcl\win\Debug_AMD64_VC1944\tcl_Dynamic\ -Zi -Od -fp:strict -RTC1 -MDd -I"C:\Users\francois\Documents\Development\tcltk-fossil\tcl\win\..\win" -I"C:\Users\francois\Documents\Development\tcltk-fossil\tcl\win\..\generic" -I"C:\Users\francois\Documents\Development\tcltk-fossil\tcl\win\..\libtommath" /DMP_PREC=4 /Dinline=__inline /D_CRT_SECURE_NO_DEPRECATE /D_CRT_NONSTDC_NO_DEPRECATE /DMP_FIXED_CUTOFFS /DSTDC_HEADERS /DUSE_NMAKE=1 /DHAVE_STDINT_H=1 /DHAVE_INTTYPES_H=1 /DHAVE_STDBOOL_H=1 /DTCL_WITH_EXTERNAL_TOMMATH /DMP_64BIT /DTCL_CFG_DO64BIT /DBUILD_tcl -FoC:\Users\francois\Documents\Development\tcltk-fossil\tcl\win\Debug_AMD64_VC1944\tcl_Dynamic\ @C:\Users\francois\AppData\Local\Temp\nmAA18.tmp'á: code retour '0x2' Stop. (Sorry, error messages are in French). Interestingly this does not seem to happen at Github CI. In trunk the issue in tclCompExpr.c happens first with commit [47f9090e53]. In trunk the issue in tclOOCall.c happens first with commit [c6393caddb]. Strangely, these commits are several months old and I'm sure I have built Tcl trunk since these commits went in. Perhaps this is due to a yesterday's update of MSVC. I'm running MSVC 2022 64 biots version 17.14.2 | |||
User Comments: |
jan.nijtmans added on 2025-05-26 11:51:58:
Fixed [a60bfcf236101794|here] by just disabling the warning. Since MSVC is the only compiler spitting out this warning, and the code would only become uglier when adapting for this warning .... fvogel added on 2025-05-25 16:56:44: It really is a new warning from recent VS 2022 versions. And we're not alone: https://bugs.openjdk.org/browse/JDK-8357193 : they disabled the warning. https://fossil-scm.org/forum/forumpost/a5a992e657 : they changed their code. apnadkarni added on 2025-05-25 16:30:07: Strange. I build with VS 2022 too and do not see this. May depend on the revision. Mine is a little old. |
