Closed mizar closed 1 year ago
related: https://github.com/yosupo06/library-checker-problems/pull/983
Example of test procedure (docker + archlinux)
docker run -it --rm archlinux:base-devel-20230430.0.146624
# install clang, git pacman -Sy --noconfirm clang git # checkout testlib # https://github.com/MikeMirzayanov/testlib/tree/7fd543d7e6ae36a04bb382c5ebb4eee254362c6a mkdir -p ~/testlib cd ~/testlib git init git remote add origin https://github.com/MikeMirzayanov/testlib.git git fetch --depth 1 origin 7fd543d7e6ae36a04bb382c5ebb4eee254362c6a git checkout FETCH_HEAD # g++ version check ## gcc version 12.2.1 20230201 (GCC) g++ -v # clang++ version check ## clang version 15.0.7 clang++ -v # g++ run tests (some tests pass, cause error `empty_file`) ~/testlib/tests/t.sh # clang++ run tests (some tests pass, cause error `empty_file`) ~/testlib/tests/run.sh clang++ 11 v0 $* # update gcc pacman -Sy --noconfirm gcc # g++ version check ## gcc version 13.1.1 20230429 (GCC) g++ -v # clang++ version check ## clang version 15.0.7 clang++ -v # g++ run tests (cause error `uint64_t`) ~/testlib/tests/t.sh # clang++ run tests (cause error `uint64_t`) ~/testlib/tests/run.sh clang++ 11 v0 $*
Example of test procedure (docker + ubuntu 23.04)
docker run -it --rm ubuntu:23.04
apt update && apt install -y ca-certificates # use mirror sources # Note that connecting to an https mirror site before installing the `ca-certificates` package will trigger a warning # `No system certificates available. Try installing ca-certificates.` ## sed -i.bak -r 's!(deb|deb-src) http://archive.ubuntu.com/\S+!\1 mirror://mirrors.ubuntu.com/mirrors.txt!' /etc/apt/sources.list && apt update # install clang, g++-12, git apt install -y clang-13 clang-14 clang-15 clang-16 g++-12 git # checkout testlib # https://github.com/MikeMirzayanov/testlib/tree/7fd543d7e6ae36a04bb382c5ebb4eee254362c6a mkdir -p ~/testlib cd ~/testlib git init git remote add origin https://github.com/MikeMirzayanov/testlib.git git fetch --depth 1 origin 7fd543d7e6ae36a04bb382c5ebb4eee254362c6a git checkout FETCH_HEAD # g++ version check ## gcc version 12.2.0 (Ubuntu 12.2.0-17ubuntu1) g++-12 -v # clang++ version check ## Ubuntu clang version 13.0.1-11ubuntu14 ## Ubuntu clang version 14.0.6 ## Ubuntu clang version 15.0.7 ## Ubuntu clang version 16.0.0 (1~exp5ubuntu3) clang++-13 -v clang++-14 -v clang++-15 -v clang++-16 -v # g++ run tests (some tests pass, cause error `empty_file`) ~/testlib/tests/run.sh g++ 11 v12 $* # clang++ run tests (some tests pass, cause error `empty_file`) ~/testlib/tests/run.sh clang++ 11 v13 $* ~/testlib/tests/run.sh clang++ 11 v14 $* ~/testlib/tests/run.sh clang++ 11 v15 $* ~/testlib/tests/run.sh clang++ 11 v16 $* # install g++-13 apt install -y g++-13 # g++ version check ## gcc version 12.2.0 (Ubuntu 12.2.0-17ubuntu1) ## gcc version 13.0.1 20230320 (experimental) [master r13-6759-g5194ad1958c] (Ubuntu 13-20230320-1ubuntu1) g++-12 -v g++-13 -v # clang++ version check ## Ubuntu clang version 13.0.1-11ubuntu14 ## Ubuntu clang version 14.0.6 ## Ubuntu clang version 15.0.7 ## Ubuntu clang version 16.0.0 (1~exp5ubuntu3) clang++-13 -v clang++-14 -v clang++-15 -v clang++-16 -v # g++ run tests (some tests pass, cause error `empty_file`) ~/testlib/tests/run.sh g++ 11 v12 $* # g++ run tests (cause error `uint64_t`) ~/testlib/tests/run.sh g++ 11 v13 $* # clang++ run tests (cause error `uint64_t`) ~/testlib/tests/run.sh clang++ 11 v13 $* ~/testlib/tests/run.sh clang++ 11 v14 $* ~/testlib/tests/run.sh clang++ 11 v15 $* ~/testlib/tests/run.sh clang++ 11 v16 $*
Example of error (gcc 12.2.1, g++):
[INFO] Filter CPP: g++ [INFO] Filter standards: 11 [INFO] Filter versions: 0 GNU-like compilers: g++ Standards: --std=c++11 Valgrind mode is OFF Compiler 'g++' has been found Running tests (g++@--std=c++11) Running test-000_compile-all-cpp (g++@--std=c++11) Using built-in specs. COLLECT_GCC=g++ COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-pc-linux-gnu/12.2.1/lto-wrapper Target: x86_64-pc-linux-gnu Configured with: /build/gcc/src/gcc/configure --enable-languages=c,c++,ada,fortran,go,lto,objc,obj-c++,d --enable-bootstrap --prefix=/usr --libdir=/usr/lib --libexecdir=/usr/lib --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=https://bugs.archlinux.org/ --with-build-config=bootstrap-lto --with-linker-hash-style=gnu --with-system-zlib --enable-__cxa_atexit --enable-cet=auto --enable-checking=release --enable-clocale=gnu --enable-default-pie --enable-default-ssp --enable-gnu-indirect-function --enable-gnu-unique-object --enable-libstdcxx-backtrace --enable-link-serialization=1 --enable-linker-build-id --enable-lto --enable-multilib --enable-plugin --enable-shared --enable-threads=posix --disable-libssp --disable-libstdcxx-pch --disable-werror Thread model: posix Supported LTO compression algorithms: zlib zstd gcc version 12.2.1 20230201 (GCC) Compiling /root/testlib/tests/../generators/gen-bipartite-graph.cpp, running: g++ --std=c++11 -Wpedantic -Werror -I/root/testlib/tests/.. -ogen-bipartite-graph -O2 /root/testlib/tests/../generators/gen-bipartite-graph.cpp [SUCCESS] /root/testlib/tests/../generators/gen-bipartite-graph.cpp compiled (snip) Using built-in specs. COLLECT_GCC=g++ COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-pc-linux-gnu/12.2.1/lto-wrapper Target: x86_64-pc-linux-gnu Configured with: /build/gcc/src/gcc/configure --enable-languages=c,c++,ada,fortran,go,lto,objc,obj-c++,d --enable-bootstrap --prefix=/usr --libdir=/usr/lib --libexecdir=/usr/lib --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=https://bugs.archlinux.org/ --with-build-config=bootstrap-lto --with-linker-hash-style=gnu --with-system-zlib --enable-__cxa_atexit --enable-cet=auto --enable-checking=release --enable-clocale=gnu --enable-default-pie --enable-default-ssp --enable-gnu-indirect-function --enable-gnu-unique-object --enable-libstdcxx-backtrace --enable-link-serialization=1 --enable-linker-build-id --enable-lto --enable-multilib --enable-plugin --enable-shared --enable-threads=posix --disable-libssp --disable-libstdcxx-pch --disable-werror Thread model: posix Supported LTO compression algorithms: zlib zstd gcc version 12.2.1 20230201 (GCC) Compiling /root/testlib/tests/../empty_file.cpp, running: g++ --std=c++11 -Wpedantic -Werror -I/root/testlib/tests/.. -oempty_file -O2 /root/testlib/tests/../empty_file.cpp /usr/sbin/ld: /usr/lib/gcc/x86_64-pc-linux-gnu/12.2.1/../../../../lib/Scrt1.o: in function `_start': (.text+0x1b): undefined reference to `main' collect2: error: ld returned 1 exit status
Example of error (gcc 12.2.1, clang++):
[INFO] Filter CPP: clang++ [INFO] Filter standards: 11 [INFO] Filter versions: 0 GNU-like compilers: clang++ Standards: --std=c++11 Valgrind mode is OFF Compiler 'clang++' has been found Running tests (clang++@--std=c++11) Running test-000_compile-all-cpp (clang++@--std=c++11) clang version 15.0.7 Target: x86_64-pc-linux-gnu Thread model: posix InstalledDir: /usr/sbin Found candidate GCC installation: /usr/sbin/../lib/gcc/x86_64-pc-linux-gnu/12.2.1 Found candidate GCC installation: /usr/sbin/../lib64/gcc/x86_64-pc-linux-gnu/12.2.1 Selected GCC installation: /usr/sbin/../lib64/gcc/x86_64-pc-linux-gnu/12.2.1 Candidate multilib: .;@m64 Candidate multilib: 32;@m32 Selected multilib: .;@m64 Compiling /root/testlib/tests/../generators/gen-bipartite-graph.cpp, running: clang++ --std=c++11 -Wpedantic -Werror -I/root/testlib/tests/.. -ogen-bipartite-graph -O2 /root/testlib/tests/../generators/gen-bipartite-graph.cpp [SUCCESS] /root/testlib/tests/../generators/gen-bipartite-graph.cpp compiled (snip) clang version 15.0.7 Target: x86_64-pc-linux-gnu Thread model: posix InstalledDir: /usr/sbin Found candidate GCC installation: /usr/sbin/../lib/gcc/x86_64-pc-linux-gnu/12.2.1 Found candidate GCC installation: /usr/sbin/../lib64/gcc/x86_64-pc-linux-gnu/12.2.1 Selected GCC installation: /usr/sbin/../lib64/gcc/x86_64-pc-linux-gnu/12.2.1 Candidate multilib: .;@m64 Candidate multilib: 32;@m32 Selected multilib: .;@m64 Compiling /root/testlib/tests/../empty_file.cpp, running: clang++ --std=c++11 -Wpedantic -Werror -I/root/testlib/tests/.. -oempty_file -O2 /root/testlib/tests/../empty_file.cpp /usr/sbin/ld: /usr/sbin/../lib64/gcc/x86_64-pc-linux-gnu/12.2.1/../../../../lib64/Scrt1.o: in function `_start': (.text+0x1b): undefined reference to `main' clang-15: error: linker command failed with exit code 1 (use -v to see invocation)
Example of error (gcc 13.1.1, g++):
[INFO] Filter CPP: g++ [INFO] Filter standards: 11 [INFO] Filter versions: 0 GNU-like compilers: g++ Standards: --std=c++11 Valgrind mode is OFF Compiler 'g++' has been found Running tests (g++@--std=c++11) Running test-000_compile-all-cpp (g++@--std=c++11) Using built-in specs. COLLECT_GCC=g++ COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-pc-linux-gnu/13.1.1/lto-wrapper Target: x86_64-pc-linux-gnu Configured with: /build/gcc/src/gcc/configure --enable-languages=ada,c,c++,d,fortran,go,lto,objc,obj-c++ --enable-bootstrap --prefix=/usr --libdir=/usr/lib --libexecdir=/usr/lib --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=https://bugs.archlinux.org/ --with-build-config=bootstrap-lto --with-linker-hash-style=gnu --with-system-zlib --enable-__cxa_atexit --enable-cet=auto --enable-checking=release --enable-clocale=gnu --enable-default-pie --enable-default-ssp --enable-gnu-indirect-function --enable-gnu-unique-object --enable-libstdcxx-backtrace --enable-link-serialization=1 --enable-linker-build-id --enable-lto --enable-multilib --enable-plugin --enable-shared --enable-threads=posix --disable-libssp --disable-libstdcxx-pch --disable-werror Thread model: posix Supported LTO compression algorithms: zlib zstd gcc version 13.1.1 20230429 (GCC) Compiling /root/testlib/tests/../generators/gen-bipartite-graph.cpp, running: g++ --std=c++11 -Wpedantic -Werror -I/root/testlib/tests/.. -ogen-bipartite-graph -O2 /root/testlib/tests/../generators/gen-bipartite-graph.cpp In file included from /root/testlib/tests/../generators/gen-bipartite-graph.cpp:1: /root/testlib/tests/../testlib.h: In member function ‘std::vector<T> random_t::distinct(int, T, T)’: /root/testlib/tests/../testlib.h:1136:9: error: ‘uint64_t’ was not declared in this scope 1136 | uint64_t n = to - from + 1; | ^~~~~~~~ /root/testlib/tests/../testlib.h:207:1: note: ‘uint64_t’ is defined in header ‘<cstdint>’; did you forget to ‘#include <cstdint>’? 206 | # include <unistd.h> +++ |+#include <cstdint> 207 | #endif /root/testlib/tests/../testlib.h:1137:30: error: ‘n’ was not declared in this scope 1137 | if (uint64_t(size) > n) | ^ /root/testlib/tests/../testlib.h:1142:32: error: ‘n’ was not declared in this scope 1142 | expected += double(n) / double(n - i + 1); | ^ /root/testlib/tests/../testlib.h:1144:31: error: ‘n’ was not declared in this scope 1144 | if (expected < double(n)) { | ^
Example of error (gcc 13.1.1, clang++):
[INFO] Filter CPP: clang++ [INFO] Filter standards: 11 [INFO] Filter versions: 0 GNU-like compilers: clang++ Standards: --std=c++11 Valgrind mode is OFF Compiler 'clang++' has been found Running tests (clang++@--std=c++11) Running test-000_compile-all-cpp (clang++@--std=c++11) clang version 15.0.7 Target: x86_64-pc-linux-gnu Thread model: posix InstalledDir: /usr/sbin Found candidate GCC installation: /usr/sbin/../lib/gcc/x86_64-pc-linux-gnu/13.1.1 Found candidate GCC installation: /usr/sbin/../lib64/gcc/x86_64-pc-linux-gnu/13.1.1 Selected GCC installation: /usr/sbin/../lib64/gcc/x86_64-pc-linux-gnu/13.1.1 Candidate multilib: .;@m64 Candidate multilib: 32;@m32 Selected multilib: .;@m64 Compiling /root/testlib/tests/../generators/gen-bipartite-graph.cpp, running: clang++ --std=c++11 -Wpedantic -Werror -I/root/testlib/tests/.. -ogen-bipartite-graph -O2 /root/testlib/tests/../generators/gen-bipartite-graph.cpp In file included from /root/testlib/tests/../generators/gen-bipartite-graph.cpp:1: /root/testlib/tests/../testlib.h:1136:9: error: unknown type name 'uint64_t' uint64_t n = to - from + 1; ^ /root/testlib/tests/../testlib.h:1137:13: error: use of undeclared identifier 'uint64_t' if (uint64_t(size) > n) ^ 2 errors generated.
Thanks. Can you confirm that now it is fixed?
It seems, now it is fixed
related: https://github.com/yosupo06/library-checker-problems/pull/983
Example of test procedure (docker + archlinux)
Example of test procedure (docker + ubuntu 23.04)
Example of error (gcc 12.2.1, g++):
Example of error (gcc 12.2.1, clang++):
Example of error (gcc 13.1.1, g++):
Example of error (gcc 13.1.1, clang++):