Heads up: Use MSVC's /permissive- to make it more standards conforming

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I just landed <https://git.libreoffice.org/core/+/b4b7e92cbf5a212cc1c648af86df2dee364d48c8%5E%21> "Use MSVC's /permissive- to make it more standards conforming" on master (hoping that it will unblock <https://gerrit.libreoffice.org/c/core/+/108939> "Verify o3tl::temporary of a copied lvalue works as expected", besides standards conformance probably being a good thing anyway).

Apparently due to <https://lists.freedesktop.org/archives/libreoffice/2021-January/086600.html> "MSVC differences among Jenkins gerrit_windows builders", different patch sets of that change had failed on different Jenkins build machines in different ways:

Patch set 1 (<https://gerrit.libreoffice.org/c/core/+/108961/1/>) had failed on tb77 (<https://ci.libreoffice.org/job/gerrit_windows/85301/>) using

export CXX=C:/PROGRA~2/MIB055~1/2019/COMMUN~1/VC/Tools/MSVC/1427~1.291/bin/Hostx64/x86/cl.exe

with a spurious-looking

C:\cygwin\home\tdf\jenkins\workspace\gerrit_windows\sw\source\filter\ww8\ww8par3.cxx(630) : error C2220: the following warning is treated as an error
C:\cygwin\home\tdf\jenkins\workspace\gerrit_windows\sw\source\filter\ww8\ww8par3.cxx(630) : warning C4789: buffer 'aLVL' of size 32 bytes will be overrun; 33 bytes will be written starting at offset 0

that should meanwhile have been addressed with <https://git.libreoffice.org/core/+/b269e95f7ee36fbe6cbe5e3ddc5e10aa4ef651cd%5E%21> "WW8LVL members do not require a specific layout".

Rebased patch set 2 (<https://gerrit.libreoffice.org/c/core/+/108961/2/>) had failed on tb73 (<https://ci.libreoffice.org/job/gerrit_windows/85676/>) using

export CXX=C:/PROGRA~2/MIB055~1/2019/COMMUN~1/VC/Tools/MSVC/1425~1.286/bin/Hostx64/x86/cl.exe

with

C:/cygwin/home/tdf/lode/jenkins/workspace/gerrit_windows@2/include\o3tl/lru_map.hxx(71): error C2039: 'min': is not a member of 'std'
C:/PROGRA~2/MIB055~1/2019/COMMUN~1/VC/Tools/MSVC/1425~1.286/Include\map(25): note: see declaration of 'std'
C:/cygwin/home/tdf/lode/jenkins/workspace/gerrit_windows@2/include\o3tl/lru_map.hxx(174): note: see reference to class template instantiation 'o3tl::lru_map<Key,Value,KeyHash,KeyEqual>' being compiled
[...]
make[1]: *** [C:/cygwin/home/tdf/lode/jenkins/workspace/gerrit_windows@2/solenv/gbuild/LinkTarget.mk:301: C:/cygwin/home/tdf/lode/jenkins/workspace/gerrit_windows@2/workdir/CxxObject/o3tl/qa/test-lru_map.o] Error 2

that should meanwhile have been addressed with <https://git.libreoffice.org/core/+/e24cc814b5b6e50967116cb3908e4bf56b7aee4b%5E%21> "Missing include (for std::min)".

The final rebased patch set 3 (<https://gerrit.libreoffice.org/c/core/+/108961/3/>) has succeeded on tb73 (<https://ci.libreoffice.org/job/gerrit_windows/85758/>), but I haven't seen it succeed with other MSVC versions, e.g. on tb77. (I had seen the change succeed right from the start, without any of the issues, with my local MSVC 2019 16.8.3 build, though.)

So there is apparently a slight chance that builds with different versions of MSVC will still start to fail now. Please let me know if you encounter such an issue that smells like it was caused by the introduction of /permissive-.

_______________________________________________
LibreOffice mailing list
LibreOffice@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/libreoffice



[Index of Archives]     [LARTC]     [Bugtraq]     [Yosemite Forum]     [Photo]

  Powered by Linux