H-G-Hristov wrote: > I tried this branch on our Windows builders although I'm not sure if it's > related or not to this patch: > > ``` > # COMPILED WITH > C:/b/s/w/ir/x/w/llvm_build/./bin/clang-cl.exe > C:\b\s\w\ir\x\w\github-H-G-Hristov-llvm-project\libcxx\test\libcxx\fuzzing\random.pass.cpp > --driver-mode=g++ --target=x86_64-pc-windows-msvc -fms-runtime-lib=static > -nostdinc++ -I C:/b/s/w/ir/x/w/llvm_build/include/c++/v1 -I > C:/b/s/w/ir/x/w/llvm_build/include/x86_64-pc-windows-msvc/c++/v1 -I > C:/b/s/w/ir/x/w/github-H-G-Hristov-llvm-project/libcxx/test/support > -D_CRT_SECURE_NO_WARNINGS -D_CRT_NONSTDC_NO_WARNINGS > -D_CRT_STDIO_ISO_WIDE_SPECIFIERS -DNOMINMAX -std=c++26 -Werror -Wall > -Wctad-maybe-unsupported -Wextra -Wshadow -Wundef -Wunused-template > -Wno-unused-command-line-argument -Wno-attributes -Wno-pessimizing-move > -Wno-noexcept-type -Wno-atomic-alignment -Wno-reserved-module-identifier > -Wdeprecated-copy -Wdeprecated-copy-dtor -Wno-user-defined-literals > -Wno-tautological-compare -Wsign-compare -Wunused-variable -Wunused-parameter > -Wunreachable-code -Wno-unused-local-typedef -Wno-local-type-template-args > -Wno-c++11-extensions -Wno-unknown-pragmas -Wno-pass-failed > -Wno-mismatched-new-delete -Wno-redundant-move -Wno-self-move > -D_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER -D_LIBCPP_ENABLE_EXPERIMENTAL > -D_LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_NONE -Werror=thread-safety > -Wuser-defined-warnings -llibc++experimental -nostdlib -L > C:/b/s/w/ir/x/w/llvm_build/./lib/x86_64-pc-windows-msvc -llibc++ -llibcpmt -o > C:\b\s\w\ir\x\w\llvm_build\runtimes\runtimes-x86_64-pc-windows-msvc-bins\test\libcxx\fuzzing\Output\random.pass.cpp.dir\t.tmp.exe > # executed command: C:/b/s/w/ir/x/w/llvm_build/./bin/clang-cl.exe > 'C:\b\s\w\ir\x\w\github-H-G-Hristov-llvm-project\libcxx\test\libcxx\fuzzing\random.pass.cpp' > --driver-mode=g++ --target=x86_64-pc-windows-msvc -fms-runtime-lib=static > -nostdinc++ -I C:/b/s/w/ir/x/w/llvm_build/include/c++/v1 -I > C:/b/s/w/ir/x/w/llvm_build/include/x86_64-pc-windows-msvc/c++/v1 -I > C:/b/s/w/ir/x/w/github-H-G-Hristov-llvm-project/libcxx/test/support > -D_CRT_SECURE_NO_WARNINGS -D_CRT_NONSTDC_NO_WARNINGS > -D_CRT_STDIO_ISO_WIDE_SPECIFIERS -DNOMINMAX -std=c++26 -Werror -Wall > -Wctad-maybe-unsupported -Wextra -Wshadow -Wundef -Wunused-template > -Wno-unused-command-line-argument -Wno-attributes -Wno-pessimizing-move > -Wno-noexcept-type -Wno-atomic-alignment -Wno-reserved-module-identifier > -Wdeprecated-copy -Wdeprecated-copy-dtor -Wno-user-defined-literals > -Wno-tautological-compare -Wsign-compare -Wunused-variable -Wunused-parameter > -Wunreachable-code -Wno-unused-local-typedef -Wno-local-type-template-args > -Wno-c++11-extensions -Wno-unknown-pragmas -Wno-pass-failed > -Wno-mismatched-new-delete -Wno-redundant-move -Wno-self-move > -D_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER -D_LIBCPP_ENABLE_EXPERIMENTAL > -D_LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_NONE -Werror=thread-safety > -Wuser-defined-warnings -llibc++experimental -nostdlib -L > C:/b/s/w/ir/x/w/llvm_build/./lib/x86_64-pc-windows-msvc -llibc++ -llibcpmt -o > 'C:\b\s\w\ir\x\w\llvm_build\runtimes\runtimes-x86_64-pc-windows-msvc-bins\test\libcxx\fuzzing\Output\random.pass.cpp.dir\t.tmp.exe' > # .---command stderr------------ > # | In file included from > C:\b\s\w\ir\x\w\github-H-G-Hristov-llvm-project\libcxx\test\libcxx\fuzzing\random.pass.cpp:16: > # | In file included from C:/b/s/w/ir/x/w/llvm_build/include/c++/v1\cmath:319: > # | In file included from > C:/b/s/w/ir/x/w/llvm_build/include/c++/v1\math.h:301: > # | In file included from C:\b\s\w\ir\cache\windows_sdk\Windows > Kits\10\Include\10.0.19041.0\ucrt\math.h:11: > # | C:\b\s\w\ir\cache\windows_sdk\Windows > Kits\10\Include\10.0.19041.0\ucrt\corecrt_math.h:413:16: error: call to > 'fpclassify' is ambiguous > # | 413 | return fpclassify(_X) == FP_NAN; > # | | ^~~~~~~~~~ > # | > C:\b\s\w\ir\x\w\github-H-G-Hristov-llvm-project\libcxx\test\libcxx\fuzzing\random.pass.cpp:166:12: > note: in instantiation of function template specialization 'isnan<short>' > requested here > # | 166 | if (std::isnan(res)) { > # | | ^ > # | > C:\b\s\w\ir\x\w\github-H-G-Hristov-llvm-project\libcxx\test\libcxx\fuzzing\random.pass.cpp:178:10: > note: in instantiation of function template specialization > 'helper<std::uniform_int_distribution<short>>' requested here > # | 178 | return > helper<std::uniform_int_distribution<std::int16_t>>(data, size) || > # | | ^ > # | C:\b\s\w\ir\cache\windows_sdk\Windows > Kits\10\Include\10.0.19041.0\ucrt\corecrt_math.h:288:31: note: candidate > function > # | 288 | _Check_return_ inline int fpclassify(_In_ float _X) throw() > # | | ^ > # | C:\b\s\w\ir\cache\windows_sdk\Windows > Kits\10\Include\10.0.19041.0\ucrt\corecrt_math.h:293:31: note: candidate > function > # | 293 | _Check_return_ inline int fpclassify(_In_ double _X) throw() > # | | ^ > # | C:\b\s\w\ir\cache\windows_sdk\Windows > Kits\10\Include\10.0.19041.0\ucrt\corecrt_math.h:298:31: note: candidate > function > # | 298 | _Check_return_ inline int fpclassify(_In_ long double _X) > throw() > # | | ^ > # | C:\b\s\w\ir\cache\windows_sdk\Windows > Kits\10\Include\10.0.19041.0\ucrt\corecrt_math.h:413:16: error: call to > 'fpclassify' is ambiguous > # | 413 | return fpclassify(_X) == FP_NAN; > # | | ^~~~~~~~~~ > # | > C:\b\s\w\ir\x\w\github-H-G-Hristov-llvm-project\libcxx\test\libcxx\fuzzing\random.pass.cpp:166:12: > note: in instantiation of function template specialization 'isnan<bool>' > requested here > # | 166 | if (std::isnan(res)) { > # | | ^ > # | > C:\b\s\w\ir\x\w\github-H-G-Hristov-llvm-project\libcxx\test\libcxx\fuzzing\random.pass.cpp:180:10: > note: in instantiation of function template specialization > 'helper<std::bernoulli_distribution>' requested here > # | 180 | helper<std::bernoulli_distribution>(data, size) > || > # | | ^ > # | C:\b\s\w\ir\cache\windows_sdk\Windows > Kits\10\Include\10.0.19041.0\ucrt\corecrt_math.h:288:31: note: candidate > function > # | 288 | _Check_return_ inline int fpclassify(_In_ float _X) throw() > # | | ^ > # | C:\b\s\w\ir\cache\windows_sdk\Windows > Kits\10\Include\10.0.19041.0\ucrt\corecrt_math.h:293:31: note: candidate > function > # | 293 | _Check_return_ inline int fpclassify(_In_ double _X) throw() > # | | ^ > # | C:\b\s\w\ir\cache\windows_sdk\Windows > Kits\10\Include\10.0.19041.0\ucrt\corecrt_math.h:298:31: note: candidate > function > # | 298 | _Check_return_ inline int fpclassify(_In_ long double _X) > throw() > # | | ^ > # | In file included from > C:\b\s\w\ir\x\w\github-H-G-Hristov-llvm-project\libcxx\test\libcxx\fuzzing\random.pass.cpp:20: > # | In file included from > C:/b/s/w/ir/x/w/llvm_build/include/c++/v1\random:1686: > # | > C:/b/s/w/ir/x/w/llvm_build/include/c++/v1\__random/clamp_to_integral.h:36:86: > error: shift count is negative [-Werror,-Wshift-count-negative] > # | 36 | return _FloatBigger ? numeric_limits<_IntT>::max() : > (numeric_limits<_IntT>::max() >> _Bits << _Bits); > # | | > ^ ~~~~~ > # | > C:/b/s/w/ir/x/w/llvm_build/include/c++/v1\__random/clamp_to_integral.h:46:27: > note: in instantiation of function template specialization > 'std::__max_representable_int_for_float<short, double, true, -38>' requested > here > # | 46 | const _IntT __max_val = > __max_representable_int_for_float<_IntT, _RealT>(); > # | | ^ > # | > C:/b/s/w/ir/x/w/llvm_build/include/c++/v1\__random/poisson_distribution.h:153:21: > note: in instantiation of function template specialization > 'std::__clamp_to_integral<short, double>' requested here > # | 153 | return std::__clamp_to_integral<result_type>(__tx); > # | | ^ > # | > C:/b/s/w/ir/x/w/llvm_build/include/c++/v1\__random/poisson_distribution.h:83:12: > note: in instantiation of function template specialization > 'std::poisson_distribution<short>::operator()<std::mersenne_twister_engine<unsigned > int, 32, 624, 397, 31, 2567483615, 11, 4294967295, 7, 2636928640, 15, > 4022730752, 18, 1812433253>>' requested here > # | 83 | return (*this)(__g, __p_); > # | | ^ > # | > C:\b\s\w\ir\x\w\github-H-G-Hristov-llvm-project\libcxx\test\libcxx\fuzzing\random.pass.cpp:165:23: > note: in instantiation of function template specialization > 'std::poisson_distribution<short>::operator()<std::mersenne_twister_engine<unsigned > int, 32, 624, 397, 31, 2567483615, 11, 4294967295, 7, 2636928640, 15, > 4022730752, 18, 1812433253>>' requested here > # | 165 | volatile auto res = d(engine); > # | | ^ > # | > C:\b\s\w\ir\x\w\github-H-G-Hristov-llvm-project\libcxx\test\libcxx\fuzzing\random.pass.cpp:181:10: > note: in instantiation of function template specialization > 'helper<std::poisson_distribution<short>>' requested here > # | 181 | helper<std::poisson_distribution<std::int16_t>>(data, > size) || > # | | ^ > # | In file included from > C:\b\s\w\ir\x\w\github-H-G-Hristov-llvm-project\libcxx\test\libcxx\fuzzing\random.pass.cpp:20: > # | In file included from > C:/b/s/w/ir/x/w/llvm_build/include/c++/v1\random:1686: > # | > C:/b/s/w/ir/x/w/llvm_build/include/c++/v1\__random/clamp_to_integral.h:36:95: > error: shift count is negative [-Werror,-Wshift-count-negative] > # | 36 | return _FloatBigger ? numeric_limits<_IntT>::max() : > (numeric_limits<_IntT>::max() >> _Bits << _Bits); > # | | > ^ ~~~~~ > # | 4 errors generated. > # `----------------------------- > # error: command failed with exit status: 1 > > -- > ``` > > https://logs.chromium.org/logs/fuchsia/led/phosek_google.com/62644843c966785c9dedf065a79d80df8734b4df5ff7703ea3c2a2b5643cec05/+/u/clang/test/stdout > is the full log.
This issue was already reported a while back here: https://github.com/llvm/llvm-project/issues/70225 https://github.com/llvm/llvm-project/pull/79032 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits