Warning: Permanently added '2620:52:3:1:dead:beef:cafe:c154' (ED25519) to the list of known hosts. Running (timeout=18000): unbuffer mock --spec /var/lib/copr-rpmbuild/workspace/workdir-bst7m1j9/chibicc/chibicc.spec --sources /var/lib/copr-rpmbuild/workspace/workdir-bst7m1j9/chibicc --resultdir /var/lib/copr-rpmbuild/results --uniqueext 1731320114.584722 -r /var/lib/copr-rpmbuild/results/configs/child.cfg INFO: mock.py version 5.9 starting (python version = 3.12.1, NVR = mock-5.9-1.fc39), args: /usr/libexec/mock/mock --spec /var/lib/copr-rpmbuild/workspace/workdir-bst7m1j9/chibicc/chibicc.spec --sources /var/lib/copr-rpmbuild/workspace/workdir-bst7m1j9/chibicc --resultdir /var/lib/copr-rpmbuild/results --uniqueext 1731320114.584722 -r /var/lib/copr-rpmbuild/results/configs/child.cfg Start(bootstrap): init plugins INFO: tmpfs initialized INFO: selinux enabled INFO: chroot_scan: initialized INFO: compress_logs: initialized Finish(bootstrap): init plugins Start: init plugins INFO: tmpfs initialized INFO: selinux enabled INFO: chroot_scan: initialized INFO: compress_logs: initialized Finish: init plugins INFO: Signal handler active Start: run INFO: Start(/var/lib/copr-rpmbuild/workspace/workdir-bst7m1j9/chibicc/chibicc.spec) Config(fedora-40-x86_64) Start: clean chroot Finish: clean chroot Mock Version: 5.9 INFO: Mock Version: 5.9 Start(bootstrap): chroot init INFO: mounting tmpfs at /var/lib/mock/fedora-40-x86_64-bootstrap-1731320114.584722/root. INFO: calling preinit hooks INFO: enabled root cache INFO: enabled package manager cache Start(bootstrap): cleaning package manager metadata Finish(bootstrap): cleaning package manager metadata INFO: Guessed host environment type: unknown INFO: Using bootstrap image: registry.fedoraproject.org/fedora:40 INFO: Pulling image: registry.fedoraproject.org/fedora:40 INFO: Copy content of container registry.fedoraproject.org/fedora:40 to /var/lib/mock/fedora-40-x86_64-bootstrap-1731320114.584722/root INFO: Checking that registry.fedoraproject.org/fedora:40 image matches host's architecture INFO: mounting registry.fedoraproject.org/fedora:40 with podman image mount INFO: image registry.fedoraproject.org/fedora:40 as /var/lib/containers/storage/overlay/dd75d64b00b60a228ba0ff9dffcaa247c3ac946c8c9ebc39904db0ecdf082123/merged INFO: umounting image registry.fedoraproject.org/fedora:40 (/var/lib/containers/storage/overlay/dd75d64b00b60a228ba0ff9dffcaa247c3ac946c8c9ebc39904db0ecdf082123/merged) with podman image umount INFO: Using 'dnf4' instead of 'dnf5' for bootstrap chroot INFO: Package manager dnf4 detected and used (fallback) INFO: Bootstrap image not marked ready Start(bootstrap): installing dnf5 tooling No matches found for the following disable plugin patterns: local, spacewalk, versionlock Copr repository 7.1 kB/s | 1.8 kB 00:00 fedora 14 MB/s | 20 MB 00:01 updates 15 MB/s | 11 MB 00:00 Dependencies resolved. ================================================================================ Package Architecture Version Repository Size ================================================================================ Installing: dnf5 x86_64 5.1.17-2.fc40 updates 700 k dnf5-plugins x86_64 5.1.17-2.fc40 updates 358 k Installing dependencies: fmt x86_64 10.2.1-5.fc40 updates 125 k libdnf5 x86_64 5.1.17-2.fc40 updates 999 k libdnf5-cli x86_64 5.1.17-2.fc40 updates 231 k sdbus-cpp x86_64 1.4.0-2.fc40 fedora 110 k Transaction Summary ================================================================================ Install 6 Packages Total download size: 2.5 M Installed size: 6.9 M Downloading Packages: (1/6): dnf5-plugins-5.1.17-2.fc40.x86_64.rpm 2.2 MB/s | 358 kB 00:00 (2/6): dnf5-5.1.17-2.fc40.x86_64.rpm 3.3 MB/s | 700 kB 00:00 (3/6): fmt-10.2.1-5.fc40.x86_64.rpm 2.7 MB/s | 125 kB 00:00 (4/6): libdnf5-5.1.17-2.fc40.x86_64.rpm 18 MB/s | 999 kB 00:00 (5/6): libdnf5-cli-5.1.17-2.fc40.x86_64.rpm 4.3 MB/s | 231 kB 00:00 (6/6): sdbus-cpp-1.4.0-2.fc40.x86_64.rpm 319 kB/s | 110 kB 00:00 -------------------------------------------------------------------------------- Total 6.2 MB/s | 2.5 MB 00:00 Running transaction check Transaction check succeeded. Running transaction test Transaction test succeeded. Running transaction Preparing : 1/1 Installing : fmt-10.2.1-5.fc40.x86_64 1/6 Installing : libdnf5-5.1.17-2.fc40.x86_64 2/6 Installing : libdnf5-cli-5.1.17-2.fc40.x86_64 3/6 Installing : sdbus-cpp-1.4.0-2.fc40.x86_64 4/6 Installing : dnf5-5.1.17-2.fc40.x86_64 5/6 Installing : dnf5-plugins-5.1.17-2.fc40.x86_64 6/6 Running scriptlet: dnf5-plugins-5.1.17-2.fc40.x86_64 6/6 Installed: dnf5-5.1.17-2.fc40.x86_64 dnf5-plugins-5.1.17-2.fc40.x86_64 fmt-10.2.1-5.fc40.x86_64 libdnf5-5.1.17-2.fc40.x86_64 libdnf5-cli-5.1.17-2.fc40.x86_64 sdbus-cpp-1.4.0-2.fc40.x86_64 Complete! INFO: Switching package manager from dnf4 to the dnf5 (direct choice) Finish(bootstrap): installing dnf5 tooling Start(bootstrap): creating root cache Finish(bootstrap): creating root cache Finish(bootstrap): chroot init Start: chroot init INFO: mounting tmpfs at /var/lib/mock/fedora-40-x86_64-1731320114.584722/root. INFO: calling preinit hooks INFO: enabled root cache INFO: enabled package manager cache Start: cleaning package manager metadata Finish: cleaning package manager metadata INFO: enabled HW Info plugin INFO: Package manager dnf5 detected and used (direct choice) INFO: Buildroot is handled by package management downloaded with a bootstrap image: rpm-4.19.1.1-1.fc40.x86_64 rpm-sequoia-1.7.0-1.fc40.x86_64 python3-dnf-4.21.1-1.fc40.noarch yum-4.21.1-1.fc40.noarch dnf5-5.1.17-2.fc40.x86_64 dnf5-plugins-5.1.17-2.fc40.x86_64 Start: installing minimal buildroot with dnf5 Updating and loading repositories: updates 100% | 8.6 MiB/s | 11.8 MiB | 00m01s fedora 100% | 829.4 KiB/s | 20.8 MiB | 00m26s Copr repository 100% | 48.9 KiB/s | 3.3 KiB | 00m00s Repositories loaded. Package Arch Version Repository Size Installing group/module packages: bash x86_64 5.2.26-3.fc40 fedora 8.1 MiB bzip2 x86_64 1.0.8-18.fc40 fedora 91.7 KiB coreutils x86_64 9.4-8.fc40 updates 5.8 MiB cpio x86_64 2.15-1.fc40 fedora 1.1 MiB diffutils x86_64 3.10-5.fc40 fedora 1.6 MiB fedora-release-common noarch 40-39 updates 19.1 KiB findutils x86_64 1:4.9.0-9.fc40 updates 1.5 MiB gawk x86_64 5.3.0-3.fc40 fedora 1.7 MiB glibc-minimal-langpack x86_64 2.39-22.fc40 updates 0.0 B grep x86_64 3.11-7.fc40 fedora 1.0 MiB gzip x86_64 1.13-1.fc40 fedora 385.0 KiB info x86_64 7.1-2.fc40 fedora 357.8 KiB patch x86_64 2.7.6-24.fc40 fedora 262.8 KiB redhat-rpm-config noarch 288-1.fc40 updates 185.2 KiB rpm-build x86_64 4.19.1.1-1.fc40 fedora 173.7 KiB sed x86_64 4.9-1.fc40 fedora 861.5 KiB shadow-utils x86_64 2:4.15.1-4.fc40 updates 4.1 MiB tar x86_64 2:1.35-3.fc40 fedora 2.9 MiB unzip x86_64 6.0-63.fc40 fedora 382.8 KiB util-linux x86_64 2.40.2-1.fc40 updates 3.7 MiB which x86_64 2.21-41.fc40 fedora 80.2 KiB xz x86_64 1:5.4.6-3.fc40 fedora 2.0 MiB Installing dependencies: alternatives x86_64 1.27-1.fc40 updates 66.3 KiB ansible-srpm-macros noarch 1-16.fc40 updates 35.7 KiB audit-libs x86_64 4.0.2-1.fc40 updates 327.4 KiB authselect x86_64 1.5.0-6.fc40 updates 153.6 KiB authselect-libs x86_64 1.5.0-6.fc40 updates 818.2 KiB basesystem noarch 11-20.fc40 fedora 0.0 B binutils x86_64 2.41-37.fc40 updates 26.4 MiB binutils-gold x86_64 2.41-37.fc40 updates 2.0 MiB bzip2-libs x86_64 1.0.8-18.fc40 fedora 80.7 KiB ca-certificates noarch 2024.2.69_v8.0.401-1.0.fc40 updates 2.4 MiB coreutils-common x86_64 9.4-8.fc40 updates 11.4 MiB cracklib x86_64 2.9.11-5.fc40 fedora 238.9 KiB crypto-policies noarch 20241011-1.git5930b9a.fc40 updates 158.0 KiB curl x86_64 8.6.0-10.fc40 updates 738.6 KiB cyrus-sasl-lib x86_64 2.1.28-19.fc40 fedora 2.3 MiB debugedit x86_64 5.0-18.fc40 updates 199.3 KiB dwz x86_64 0.15-8.fc40 updates 294.9 KiB ed x86_64 1.20.2-1.fc40 updates 146.9 KiB efi-srpm-macros noarch 5-11.fc40 fedora 40.1 KiB elfutils x86_64 0.192-4.fc40 updates 2.7 MiB elfutils-debuginfod-client x86_64 0.192-4.fc40 updates 76.1 KiB elfutils-default-yama-scope noarch 0.192-4.fc40 updates 1.8 KiB elfutils-libelf x86_64 0.192-4.fc40 updates 1.2 MiB elfutils-libs x86_64 0.192-4.fc40 updates 670.3 KiB fedora-gpg-keys noarch 40-2 updates 124.7 KiB fedora-release noarch 40-39 updates 0.0 B fedora-release-identity-basic noarch 40-39 updates 654.0 B fedora-repos noarch 40-2 updates 4.9 KiB file x86_64 5.45-4.fc40 fedora 103.5 KiB file-libs x86_64 5.45-4.fc40 fedora 9.9 MiB filesystem x86_64 3.18-8.fc40 fedora 106.0 B fonts-srpm-macros noarch 1:2.0.5-14.fc40 fedora 55.3 KiB forge-srpm-macros noarch 0.3.2-1.fc40 updates 39.0 KiB fpc-srpm-macros noarch 1.3-12.fc40 fedora 144.0 B gdb-minimal x86_64 15.2-2.fc40 updates 13.0 MiB gdbm x86_64 1:1.23-6.fc40 fedora 460.9 KiB gdbm-libs x86_64 1:1.23-6.fc40 fedora 121.9 KiB ghc-srpm-macros noarch 1.9.1-1.fc40 updates 747.0 B glibc x86_64 2.39-22.fc40 updates 6.6 MiB glibc-common x86_64 2.39-22.fc40 updates 1.0 MiB glibc-gconv-extra x86_64 2.39-22.fc40 updates 7.8 MiB gmp x86_64 1:6.2.1-8.fc40 fedora 794.6 KiB gnat-srpm-macros noarch 6-5.fc40 fedora 1.0 KiB go-srpm-macros noarch 3.5.0-1.fc40 fedora 60.6 KiB jansson x86_64 2.13.1-9.fc40 fedora 88.3 KiB json-c x86_64 0.17-3.fc40 fedora 82.4 KiB kernel-srpm-macros noarch 1.0-23.fc40 fedora 1.9 KiB keyutils-libs x86_64 1.6.3-3.fc40 fedora 54.4 KiB krb5-libs x86_64 1.21.3-1.fc40 updates 2.3 MiB libacl x86_64 2.3.2-1.fc40 fedora 40.0 KiB libarchive x86_64 3.7.2-7.fc40 updates 922.6 KiB libattr x86_64 2.5.2-3.fc40 fedora 28.5 KiB libblkid x86_64 2.40.2-1.fc40 updates 258.6 KiB libbrotli x86_64 1.1.0-3.fc40 fedora 829.5 KiB libcap x86_64 2.69-8.fc40 updates 219.8 KiB libcap-ng x86_64 0.8.4-4.fc40 fedora 73.1 KiB libcom_err x86_64 1.47.0-5.fc40 fedora 67.2 KiB libcurl x86_64 8.6.0-10.fc40 updates 776.8 KiB libeconf x86_64 0.6.2-2.fc40 updates 58.0 KiB libevent x86_64 2.1.12-12.fc40 fedora 895.6 KiB libfdisk x86_64 2.40.2-1.fc40 updates 362.9 KiB libffi x86_64 3.4.4-7.fc40 fedora 81.6 KiB libgcc x86_64 14.2.1-3.fc40 updates 274.6 KiB libgomp x86_64 14.2.1-3.fc40 updates 523.6 KiB libidn2 x86_64 2.3.7-1.fc40 fedora 329.1 KiB libmount x86_64 2.40.2-1.fc40 updates 355.8 KiB libnghttp2 x86_64 1.59.0-3.fc40 updates 166.1 KiB libnsl2 x86_64 2.0.1-1.fc40 fedora 57.9 KiB libpkgconf x86_64 2.1.1-2.fc40 updates 74.2 KiB libpsl x86_64 0.21.5-3.fc40 fedora 80.5 KiB libpwquality x86_64 1.4.5-9.fc40 fedora 417.8 KiB libselinux x86_64 3.7-5.fc40 updates 177.0 KiB libsemanage x86_64 3.7-2.fc40 updates 293.5 KiB libsepol x86_64 3.7-2.fc40 updates 817.9 KiB libsmartcols x86_64 2.40.2-1.fc40 updates 180.4 KiB libssh x86_64 0.10.6-5.fc40 fedora 509.3 KiB libssh-config noarch 0.10.6-5.fc40 fedora 277.0 B libstdc++ x86_64 14.2.1-3.fc40 updates 2.8 MiB libtasn1 x86_64 4.19.0-6.fc40 fedora 175.7 KiB libtirpc x86_64 1.3.6-0.fc40 updates 202.7 KiB libtool-ltdl x86_64 2.4.7-10.fc40 fedora 66.2 KiB libunistring x86_64 1.1-7.fc40 fedora 1.7 MiB libutempter x86_64 1.2.1-13.fc40 fedora 57.7 KiB libuuid x86_64 2.40.2-1.fc40 updates 37.5 KiB libverto x86_64 0.3.2-8.fc40 fedora 29.5 KiB libxcrypt x86_64 4.4.36-10.fc40 updates 267.5 KiB libxml2 x86_64 2.12.8-1.fc40 updates 1.7 MiB libzstd x86_64 1.5.6-1.fc40 updates 787.9 KiB lua-libs x86_64 5.4.6-5.fc40 fedora 281.1 KiB lua-srpm-macros noarch 1-13.fc40 fedora 1.3 KiB lz4-libs x86_64 1.9.4-6.fc40 fedora 129.4 KiB mpfr x86_64 4.2.1-4.fc40 updates 832.0 KiB ncurses-base noarch 6.4-12.20240127.fc40 fedora 326.2 KiB ncurses-libs x86_64 6.4-12.20240127.fc40 fedora 963.2 KiB ocaml-srpm-macros noarch 9-3.fc40 fedora 1.9 KiB openblas-srpm-macros noarch 2-16.fc40 fedora 104.0 B openldap x86_64 2.6.7-1.fc40 fedora 635.1 KiB openssl-libs x86_64 1:3.2.2-3.fc40 updates 7.8 MiB p11-kit x86_64 0.25.5-1.fc40 updates 2.2 MiB p11-kit-trust x86_64 0.25.5-1.fc40 updates 391.4 KiB package-notes-srpm-macros noarch 0.5-11.fc40 fedora 1.6 KiB pam x86_64 1.6.1-3.fc40 updates 1.8 MiB pam-libs x86_64 1.6.1-3.fc40 updates 135.0 KiB pcre2 x86_64 10.44-1.fc40 updates 653.5 KiB pcre2-syntax noarch 10.44-1.fc40 updates 251.6 KiB perl-srpm-macros noarch 1-53.fc40 fedora 861.0 B pkgconf x86_64 2.1.1-2.fc40 updates 82.9 KiB pkgconf-m4 noarch 2.1.1-2.fc40 updates 13.9 KiB pkgconf-pkg-config x86_64 2.1.1-2.fc40 updates 989.0 B popt x86_64 1.19-6.fc40 fedora 136.9 KiB publicsuffix-list-dafsa noarch 20240107-3.fc40 fedora 67.5 KiB pyproject-srpm-macros noarch 1.16.0-1.fc40 updates 1.9 KiB python-srpm-macros noarch 3.12-8.fc40 updates 50.6 KiB qt5-srpm-macros noarch 5.15.15-1.fc40 updates 500.0 B qt6-srpm-macros noarch 6.7.2-2.fc40 updates 456.0 B readline x86_64 8.2-8.fc40 fedora 489.2 KiB rpm x86_64 4.19.1.1-1.fc40 fedora 3.0 MiB rpm-build-libs x86_64 4.19.1.1-1.fc40 fedora 198.4 KiB rpm-libs x86_64 4.19.1.1-1.fc40 fedora 709.9 KiB rpm-sequoia x86_64 1.7.0-1.fc40 updates 2.4 MiB rust-srpm-macros noarch 26.3-1.fc40 updates 4.8 KiB setup noarch 2.14.5-2.fc40 fedora 720.4 KiB sqlite-libs x86_64 3.45.1-2.fc40 fedora 1.4 MiB systemd-libs x86_64 255.13-1.fc40 updates 1.9 MiB util-linux-core x86_64 2.40.2-1.fc40 updates 1.5 MiB xxhash-libs x86_64 0.8.2-4.fc40 updates 88.5 KiB xz-libs x86_64 1:5.4.6-3.fc40 fedora 209.8 KiB zig-srpm-macros noarch 1-2.fc40 fedora 1.1 KiB zip x86_64 3.0-40.fc40 fedora 703.2 KiB zlib-ng-compat x86_64 2.1.7-2.fc40 updates 134.0 KiB zstd x86_64 1.5.6-1.fc40 updates 1.7 MiB Installing groups: Buildsystem building group Transaction Summary: Installing: 153 packages Total size of inbound packages is 53 MiB. Need to download 53 MiB. After this operation 179 MiB will be used (install 179 MiB, remove 0 B). [ 1/153] bzip2-0:1.0.8-18.fc40.x86_64 100% | 376.7 KiB/s | 52.4 KiB | 00m00s [ 2/153] cpio-0:2.15-1.fc40.x86_64 100% | 1.4 MiB/s | 292.2 KiB | 00m00s [ 3/153] diffutils-0:3.10-5.fc40.x86_6 100% | 4.1 MiB/s | 405.6 KiB | 00m00s [ 4/153] grep-0:3.11-7.fc40.x86_64 100% | 3.5 MiB/s | 300.2 KiB | 00m00s [ 5/153] gzip-0:1.13-1.fc40.x86_64 100% | 3.2 MiB/s | 170.6 KiB | 00m00s [ 6/153] patch-0:2.7.6-24.fc40.x86_64 100% | 4.0 MiB/s | 130.7 KiB | 00m00s [ 7/153] info-0:7.1-2.fc40.x86_64 100% | 3.6 MiB/s | 182.3 KiB | 00m00s [ 8/153] rpm-build-0:4.19.1.1-1.fc40.x 100% | 2.5 MiB/s | 78.2 KiB | 00m00s [ 9/153] sed-0:4.9-1.fc40.x86_64 100% | 3.7 MiB/s | 318.2 KiB | 00m00s [ 10/153] unzip-0:6.0-63.fc40.x86_64 100% | 3.1 MiB/s | 184.5 KiB | 00m00s [ 11/153] which-0:2.21-41.fc40.x86_64 100% | 2.4 MiB/s | 41.4 KiB | 00m00s [ 12/153] bash-0:5.2.26-3.fc40.x86_64 100% | 3.1 MiB/s | 1.8 MiB | 00m01s [ 13/153] tar-2:1.35-3.fc40.x86_64 100% | 3.5 MiB/s | 856.6 KiB | 00m00s [ 14/153] fedora-release-common-0:40-39 100% | 462.9 KiB/s | 21.3 KiB | 00m00s [ 15/153] xz-1:5.4.6-3.fc40.x86_64 100% | 3.7 MiB/s | 557.4 KiB | 00m00s [ 16/153] coreutils-0:9.4-8.fc40.x86_64 100% | 4.4 MiB/s | 1.1 MiB | 00m00s [ 17/153] gawk-0:5.3.0-3.fc40.x86_64 100% | 4.0 MiB/s | 1.1 MiB | 00m00s [ 18/153] redhat-rpm-config-0:288-1.fc4 100% | 726.5 KiB/s | 82.1 KiB | 00m00s [ 19/153] glibc-minimal-langpack-0:2.39 100% | 545.2 KiB/s | 106.3 KiB | 00m00s [ 20/153] findutils-1:4.9.0-9.fc40.x86_ 100% | 998.8 KiB/s | 491.4 KiB | 00m00s [ 21/153] shadow-utils-2:4.15.1-4.fc40. 100% | 3.6 MiB/s | 1.3 MiB | 00m00s [ 22/153] filesystem-0:3.18-8.fc40.x86_ 100% | 4.0 MiB/s | 1.1 MiB | 00m00s [ 23/153] bzip2-libs-0:1.0.8-18.fc40.x8 100% | 2.3 MiB/s | 40.9 KiB | 00m00s [ 24/153] libattr-0:2.5.2-3.fc40.x86_64 100% | 1.1 MiB/s | 18.0 KiB | 00m00s [ 25/153] file-0:5.45-4.fc40.x86_64 100% | 3.0 MiB/s | 49.0 KiB | 00m00s [ 26/153] ncurses-libs-0:6.4-12.2024012 100% | 3.9 MiB/s | 332.5 KiB | 00m00s [ 27/153] popt-0:1.19-6.fc40.x86_64 100% | 2.1 MiB/s | 66.7 KiB | 00m00s [ 28/153] readline-0:8.2-8.fc40.x86_64 100% | 3.2 MiB/s | 213.3 KiB | 00m00s [ 29/153] rpm-build-libs-0:4.19.1.1-1.f 100% | 2.7 MiB/s | 95.0 KiB | 00m00s [ 30/153] util-linux-0:2.40.2-1.fc40.x8 100% | 2.0 MiB/s | 1.2 MiB | 00m01s [ 31/153] rpm-0:4.19.1.1-1.fc40.x86_64 100% | 3.0 MiB/s | 540.1 KiB | 00m00s [ 32/153] rpm-libs-0:4.19.1.1-1.fc40.x8 100% | 2.9 MiB/s | 308.9 KiB | 00m00s [ 33/153] libacl-0:2.3.2-1.fc40.x86_64 100% | 788.1 KiB/s | 24.4 KiB | 00m00s [ 34/153] xz-libs-1:5.4.6-3.fc40.x86_64 100% | 3.4 MiB/s | 110.0 KiB | 00m00s [ 35/153] gmp-1:6.2.1-8.fc40.x86_64 100% | 3.6 MiB/s | 312.5 KiB | 00m00s [ 36/153] efi-srpm-macros-0:5-11.fc40.n 100% | 1.1 MiB/s | 22.3 KiB | 00m00s [ 37/153] fonts-srpm-macros-1:2.0.5-14. 100% | 1.5 MiB/s | 26.5 KiB | 00m00s [ 38/153] fpc-srpm-macros-0:1.3-12.fc40 100% | 522.2 KiB/s | 7.8 KiB | 00m00s [ 39/153] gnat-srpm-macros-0:6-5.fc40.n 100% | 519.0 KiB/s | 8.8 KiB | 00m00s [ 40/153] go-srpm-macros-0:3.5.0-1.fc40 100% | 1.7 MiB/s | 27.5 KiB | 00m00s [ 41/153] kernel-srpm-macros-0:1.0-23.f 100% | 608.0 KiB/s | 9.7 KiB | 00m00s [ 42/153] glibc-common-0:2.39-22.fc40.x 100% | 2.2 MiB/s | 390.4 KiB | 00m00s [ 43/153] lua-srpm-macros-0:1-13.fc40.n 100% | 513.6 KiB/s | 8.7 KiB | 00m00s [ 44/153] ocaml-srpm-macros-0:9-3.fc40. 100% | 567.1 KiB/s | 9.1 KiB | 00m00s [ 45/153] coreutils-common-0:9.4-8.fc40 100% | 9.5 MiB/s | 2.1 MiB | 00m00s [ 46/153] openblas-srpm-macros-0:2-16.f 100% | 441.2 KiB/s | 7.5 KiB | 00m00s [ 47/153] package-notes-srpm-macros-0:0 100% | 621.5 KiB/s | 9.9 KiB | 00m00s [ 48/153] perl-srpm-macros-0:1-53.fc40. 100% | 523.9 KiB/s | 8.4 KiB | 00m00s [ 49/153] zig-srpm-macros-0:1-2.fc40.no 100% | 502.4 KiB/s | 8.0 KiB | 00m00s [ 50/153] zip-0:3.0-40.fc40.x86_64 100% | 4.0 MiB/s | 264.8 KiB | 00m00s [ 51/153] setup-0:2.14.5-2.fc40.noarch 100% | 3.0 MiB/s | 154.7 KiB | 00m00s [ 52/153] libcap-ng-0:0.8.4-4.fc40.x86_ 100% | 1.9 MiB/s | 32.6 KiB | 00m00s [ 53/153] libutempter-0:1.2.1-13.fc40.x 100% | 1.6 MiB/s | 26.4 KiB | 00m00s [ 54/153] ncurses-base-0:6.4-12.2024012 100% | 2.6 MiB/s | 88.8 KiB | 00m00s [ 55/153] util-linux-core-0:2.40.2-1.fc 100% | 4.9 MiB/s | 536.6 KiB | 00m00s [ 56/153] lua-libs-0:5.4.6-5.fc40.x86_6 100% | 2.6 MiB/s | 131.9 KiB | 00m00s [ 57/153] file-libs-0:5.45-4.fc40.x86_6 100% | 4.3 MiB/s | 762.7 KiB | 00m00s [ 58/153] sqlite-libs-0:3.45.1-2.fc40.x 100% | 3.7 MiB/s | 705.1 KiB | 00m00s [ 59/153] glibc-0:2.39-22.fc40.x86_64 100% | 13.9 MiB/s | 2.2 MiB | 00m00s [ 60/153] basesystem-0:11-20.fc40.noarc 100% | 378.3 KiB/s | 7.2 KiB | 00m00s [ 61/153] libsepol-0:3.7-2.fc40.x86_64 100% | 4.9 MiB/s | 342.2 KiB | 00m00s [ 62/153] zlib-ng-compat-0:2.1.7-2.fc40 100% | 2.4 MiB/s | 77.7 KiB | 00m00s [ 63/153] libcap-0:2.69-8.fc40.x86_64 100% | 5.6 MiB/s | 85.7 KiB | 00m00s [ 64/153] libzstd-0:1.5.6-1.fc40.x86_64 100% | 15.1 MiB/s | 309.2 KiB | 00m00s [ 65/153] rpm-sequoia-0:1.7.0-1.fc40.x8 100% | 381.5 KiB/s | 892.8 KiB | 00m02s [ 66/153] elfutils-libelf-0:0.192-4.fc4 100% | 1.8 MiB/s | 208.4 KiB | 00m00s [ 67/153] libselinux-0:3.7-5.fc40.x86_6 100% | 33.4 KiB/s | 88.0 KiB | 00m03s [ 68/153] elfutils-libs-0:0.192-4.fc40. 100% | 2.2 MiB/s | 263.4 KiB | 00m00s [ 69/153] elfutils-debuginfod-client-0: 100% | 1.3 MiB/s | 43.7 KiB | 00m00s [ 70/153] glibc-gconv-extra-0:2.39-22.f 100% | 605.2 KiB/s | 1.7 MiB | 00m03s [ 71/153] json-c-0:0.17-3.fc40.x86_64 100% | 956.9 KiB/s | 44.0 KiB | 00m00s [ 72/153] libgcc-0:14.2.1-3.fc40.x86_64 100% | 3.3 MiB/s | 133.3 KiB | 00m00s [ 73/153] elfutils-0:0.192-4.fc40.x86_6 100% | 1.5 MiB/s | 546.0 KiB | 00m00s [ 74/153] jansson-0:2.13.1-9.fc40.x86_6 100% | 2.5 MiB/s | 44.2 KiB | 00m00s [ 75/153] libgomp-0:14.2.1-3.fc40.x86_6 100% | 1.4 MiB/s | 353.9 KiB | 00m00s [ 76/153] debugedit-0:5.0-18.fc40.x86_6 100% | 1.6 MiB/s | 80.0 KiB | 00m00s [ 77/153] pkgconf-pkg-config-0:2.1.1-2. 100% | 447.5 KiB/s | 9.8 KiB | 00m00s [ 78/153] pkgconf-0:2.1.1-2.fc40.x86_64 100% | 1.3 MiB/s | 43.7 KiB | 00m00s [ 79/153] pkgconf-m4-0:2.1.1-2.fc40.noa 100% | 738.9 KiB/s | 14.0 KiB | 00m00s [ 80/153] libpkgconf-0:2.1.1-2.fc40.x86 100% | 1.3 MiB/s | 37.9 KiB | 00m00s [ 81/153] lz4-libs-0:1.9.4-6.fc40.x86_6 100% | 2.1 MiB/s | 67.2 KiB | 00m00s [ 82/153] zstd-0:1.5.6-1.fc40.x86_64 100% | 2.9 MiB/s | 479.4 KiB | 00m00s [ 83/153] curl-0:8.6.0-10.fc40.x86_64 100% | 2.5 MiB/s | 299.2 KiB | 00m00s [ 84/153] ed-0:1.20.2-1.fc40.x86_64 100% | 1.9 MiB/s | 81.9 KiB | 00m00s [ 85/153] binutils-0:2.41-37.fc40.x86_6 100% | 11.7 MiB/s | 6.2 MiB | 00m01s [ 86/153] pcre2-syntax-0:10.44-1.fc40.n 100% | 6.6 MiB/s | 149.8 KiB | 00m00s [ 87/153] libarchive-0:3.7.2-7.fc40.x86 100% | 3.4 MiB/s | 408.5 KiB | 00m00s [ 88/153] pcre2-0:10.44-1.fc40.x86_64 100% | 2.7 MiB/s | 242.9 KiB | 00m00s [ 89/153] mpfr-0:4.2.1-4.fc40.x86_64 100% | 3.7 MiB/s | 348.9 KiB | 00m00s [ 90/153] libblkid-0:2.40.2-1.fc40.x86_ 100% | 3.2 MiB/s | 124.1 KiB | 00m00s [ 91/153] forge-srpm-macros-0:0.3.2-1.f 100% | 144.6 KiB/s | 19.7 KiB | 00m00s [ 92/153] libuuid-0:2.40.2-1.fc40.x86_6 100% | 189.2 KiB/s | 28.6 KiB | 00m00s [ 93/153] libsmartcols-0:2.40.2-1.fc40. 100% | 2.5 MiB/s | 83.2 KiB | 00m00s [ 94/153] libxcrypt-0:4.4.36-10.fc40.x8 100% | 3.1 MiB/s | 119.0 KiB | 00m00s [ 95/153] libmount-0:2.40.2-1.fc40.x86_ 100% | 671.7 KiB/s | 155.2 KiB | 00m00s [ 96/153] audit-libs-0:4.0.2-1.fc40.x86 100% | 5.6 MiB/s | 125.8 KiB | 00m00s [ 97/153] authselect-libs-0:1.5.0-6.fc4 100% | 7.9 MiB/s | 217.9 KiB | 00m00s [ 98/153] libfdisk-0:2.40.2-1.fc40.x86_ 100% | 7.4 MiB/s | 159.3 KiB | 00m00s [ 99/153] libstdc++-0:14.2.1-3.fc40.x86 100% | 2.1 MiB/s | 886.5 KiB | 00m00s [100/153] systemd-libs-0:255.13-1.fc40. 100% | 3.0 MiB/s | 707.3 KiB | 00m00s [101/153] pam-libs-0:1.6.1-3.fc40.x86_6 100% | 2.7 MiB/s | 57.1 KiB | 00m00s [102/153] gdbm-libs-1:1.23-6.fc40.x86_6 100% | 1.2 MiB/s | 56.2 KiB | 00m00s [103/153] pam-0:1.6.1-3.fc40.x86_64 100% | 2.4 MiB/s | 553.4 KiB | 00m00s [104/153] authselect-0:1.5.0-6.fc40.x86 100% | 638.0 KiB/s | 145.5 KiB | 00m00s [105/153] libnsl2-0:2.0.1-1.fc40.x86_64 100% | 1.8 MiB/s | 29.6 KiB | 00m00s [106/153] libpwquality-0:1.4.5-9.fc40.x 100% | 1.9 MiB/s | 119.7 KiB | 00m00s [107/153] cracklib-0:2.9.11-5.fc40.x86_ 100% | 1.5 MiB/s | 92.5 KiB | 00m00s [108/153] libeconf-0:0.6.2-2.fc40.x86_6 100% | 153.6 KiB/s | 32.0 KiB | 00m00s [109/153] libsemanage-0:3.7-2.fc40.x86_ 100% | 744.0 KiB/s | 116.1 KiB | 00m00s [110/153] ansible-srpm-macros-0:1-16.fc 100% | 1.1 MiB/s | 20.7 KiB | 00m00s [111/153] dwz-0:0.15-8.fc40.x86_64 100% | 6.5 MiB/s | 138.7 KiB | 00m00s [112/153] ghc-srpm-macros-0:1.9.1-1.fc4 100% | 595.1 KiB/s | 8.9 KiB | 00m00s [113/153] pyproject-srpm-macros-0:1.16. 100% | 972.1 KiB/s | 13.6 KiB | 00m00s [114/153] qt5-srpm-macros-0:5.15.15-1.f 100% | 635.9 KiB/s | 8.9 KiB | 00m00s [115/153] python-srpm-macros-0:3.12-8.f 100% | 1.3 MiB/s | 23.4 KiB | 00m00s [116/153] qt6-srpm-macros-0:6.7.2-2.fc4 100% | 642.7 KiB/s | 9.0 KiB | 00m00s [117/153] rust-srpm-macros-0:26.3-1.fc4 100% | 782.0 KiB/s | 12.5 KiB | 00m00s [118/153] libtirpc-0:1.3.6-0.fc40.x86_6 100% | 5.1 MiB/s | 93.9 KiB | 00m00s [119/153] libcom_err-0:1.47.0-5.fc40.x8 100% | 1.5 MiB/s | 25.4 KiB | 00m00s [120/153] gdbm-1:1.23-6.fc40.x86_64 100% | 4.8 MiB/s | 152.5 KiB | 00m00s [121/153] crypto-policies-0:20241011-1. 100% | 412.0 KiB/s | 98.9 KiB | 00m00s [122/153] ca-certificates-0:2024.2.69_v 100% | 3.1 MiB/s | 871.2 KiB | 00m00s [123/153] keyutils-libs-0:1.6.3-3.fc40. 100% | 1.9 MiB/s | 31.5 KiB | 00m00s [124/153] libverto-0:0.3.2-8.fc40.x86_6 100% | 1.3 MiB/s | 20.5 KiB | 00m00s [125/153] openssl-libs-1:3.2.2-3.fc40.x 100% | 4.1 MiB/s | 2.3 MiB | 00m01s [126/153] fedora-repos-0:40-2.noarch 100% | 150.6 KiB/s | 9.5 KiB | 00m00s [127/153] fedora-gpg-keys-0:40-2.noarch 100% | 6.1 MiB/s | 132.1 KiB | 00m00s [128/153] elfutils-default-yama-scope-0 100% | 882.3 KiB/s | 12.4 KiB | 00m00s [129/153] p11-kit-0:0.25.5-1.fc40.x86_6 100% | 7.3 MiB/s | 491.2 KiB | 00m00s [130/153] libffi-0:3.4.4-7.fc40.x86_64 100% | 2.3 MiB/s | 39.4 KiB | 00m00s [131/153] libtasn1-0:4.19.0-6.fc40.x86_ 100% | 2.2 MiB/s | 73.7 KiB | 00m00s [132/153] krb5-libs-0:1.21.3-1.fc40.x86 100% | 2.6 MiB/s | 757.0 KiB | 00m00s [133/153] p11-kit-trust-0:0.25.5-1.fc40 100% | 6.1 MiB/s | 132.0 KiB | 00m00s [134/153] binutils-gold-0:2.41-37.fc40. 100% | 15.9 MiB/s | 780.6 KiB | 00m00s [135/153] fedora-release-0:40-39.noarch 100% | 771.8 KiB/s | 10.8 KiB | 00m00s [136/153] alternatives-0:1.27-1.fc40.x8 100% | 228.8 KiB/s | 40.7 KiB | 00m00s [137/153] libxml2-0:2.12.8-1.fc40.x86_6 100% | 1.6 MiB/s | 687.1 KiB | 00m00s [138/153] xxhash-libs-0:0.8.2-4.fc40.x8 100% | 2.4 MiB/s | 36.9 KiB | 00m00s [139/153] fedora-release-identity-basic 100% | 772.7 KiB/s | 11.6 KiB | 00m00s [140/153] libcurl-0:8.6.0-10.fc40.x86_6 100% | 11.2 MiB/s | 344.8 KiB | 00m00s [141/153] libidn2-0:2.3.7-1.fc40.x86_64 100% | 1.9 MiB/s | 118.7 KiB | 00m00s [142/153] libbrotli-0:1.1.0-3.fc40.x86_ 100% | 3.6 MiB/s | 338.4 KiB | 00m00s [143/153] libpsl-0:0.21.5-3.fc40.x86_64 100% | 2.0 MiB/s | 63.9 KiB | 00m00s [144/153] libssh-0:0.10.6-5.fc40.x86_64 100% | 3.0 MiB/s | 210.6 KiB | 00m00s [145/153] openldap-0:2.6.7-1.fc40.x86_6 100% | 2.0 MiB/s | 254.3 KiB | 00m00s [146/153] publicsuffix-list-dafsa-0:202 100% | 1.2 MiB/s | 58.1 KiB | 00m00s [147/153] libssh-config-0:0.10.6-5.fc40 100% | 451.5 KiB/s | 9.0 KiB | 00m00s [148/153] libunistring-0:1.1-7.fc40.x86 100% | 2.8 MiB/s | 545.5 KiB | 00m00s [149/153] gdb-minimal-0:15.2-2.fc40.x86 100% | 7.4 MiB/s | 4.3 MiB | 00m01s [150/153] libevent-0:2.1.12-12.fc40.x86 100% | 1.9 MiB/s | 257.2 KiB | 00m00s [151/153] libtool-ltdl-0:2.4.7-10.fc40. 100% | 1.2 MiB/s | 36.2 KiB | 00m00s [152/153] cyrus-sasl-lib-0:2.1.28-19.fc 100% | 3.2 MiB/s | 789.3 KiB | 00m00s [153/153] libnghttp2-0:1.59.0-3.fc40.x8 100% | 738.4 KiB/s | 75.3 KiB | 00m00s -------------------------------------------------------------------------------- [153/153] Total 100% | 6.6 MiB/s | 52.9 MiB | 00m08s Running transaction Importing PGP key 0xA15B79CC: Userid : "Fedora (40) " Fingerprint: 115DF9AEF857853EE8445D0A0727707EA15B79CC From : file:///usr/share/distribution-gpg-keys/fedora/RPM-GPG-KEY-fedora-40-primary The key was successfully imported. [ 1/155] Verify package files 100% | 721.0 B/s | 153.0 B | 00m00s >>> Running pre-transaction scriptlet: filesystem-0:3.18-8.fc40.x86_64 >>> Stop pre-transaction scriptlet: filesystem-0:3.18-8.fc40.x86_64 [ 2/155] Prepare transaction 100% | 1.8 KiB/s | 153.0 B | 00m00s [ 3/155] Installing libgcc-0:14.2.1-3. 100% | 134.9 MiB/s | 276.3 KiB | 00m00s >>> Running post-install scriptlet: libgcc-0:14.2.1-3.fc40.x86_64 >>> Stop post-install scriptlet: libgcc-0:14.2.1-3.fc40.x86_64 [ 4/155] Installing crypto-policies-0: 100% | 15.5 MiB/s | 190.6 KiB | 00m00s >>> Running post-install scriptlet: crypto-policies-0:20241011-1.git5930b9a.fc40 >>> Stop post-install scriptlet: crypto-policies-0:20241011-1.git5930b9a.fc40.no [ 5/155] Installing fedora-release-ide 100% | 890.6 KiB/s | 912.0 B | 00m00s [ 6/155] Installing fedora-gpg-keys-0: 100% | 20.7 MiB/s | 169.7 KiB | 00m00s [ 7/155] Installing fedora-repos-0:40- 100% | 0.0 B/s | 5.7 KiB | 00m00s [ 8/155] Installing fedora-release-com 100% | 11.4 MiB/s | 23.3 KiB | 00m00s [ 9/155] Installing fedora-release-0:4 100% | 0.0 B/s | 124.0 B | 00m00s [ 10/155] Installing setup-0:2.14.5-2.f 100% | 47.3 MiB/s | 725.8 KiB | 00m00s >>> Running post-install scriptlet: setup-0:2.14.5-2.fc40.noarch >>> Stop post-install scriptlet: setup-0:2.14.5-2.fc40.noarch [ 11/155] Installing filesystem-0:3.18- 100% | 1.7 MiB/s | 212.4 KiB | 00m00s [ 12/155] Installing basesystem-0:11-20 100% | 0.0 B/s | 124.0 B | 00m00s [ 13/155] Installing libssh-config-0:0. 100% | 0.0 B/s | 816.0 B | 00m00s [ 14/155] Installing publicsuffix-list- 100% | 66.7 MiB/s | 68.3 KiB | 00m00s [ 15/155] Installing rust-srpm-macros-0 100% | 5.4 MiB/s | 5.6 KiB | 00m00s [ 16/155] Installing qt6-srpm-macros-0: 100% | 0.0 B/s | 732.0 B | 00m00s [ 17/155] Installing qt5-srpm-macros-0: 100% | 0.0 B/s | 776.0 B | 00m00s [ 18/155] Installing ghc-srpm-macros-0: 100% | 0.0 B/s | 1.0 KiB | 00m00s [ 19/155] Installing ansible-srpm-macro 100% | 0.0 B/s | 36.2 KiB | 00m00s [ 20/155] Installing pcre2-syntax-0:10. 100% | 124.1 MiB/s | 254.1 KiB | 00m00s [ 21/155] Installing pkgconf-m4-0:2.1.1 100% | 14.0 MiB/s | 14.3 KiB | 00m00s [ 22/155] Installing ncurses-base-0:6.4 100% | 38.2 MiB/s | 351.6 KiB | 00m00s [ 23/155] Installing glibc-minimal-lang 100% | 0.0 B/s | 124.0 B | 00m00s [ 24/155] Installing ncurses-libs-0:6.4 100% | 135.3 MiB/s | 969.7 KiB | 00m00s >>> Running pre-install scriptlet: glibc-0:2.39-22.fc40.x86_64 >>> Stop pre-install scriptlet: glibc-0:2.39-22.fc40.x86_64 [ 25/155] Installing glibc-0:2.39-22.fc 100% | 116.3 MiB/s | 6.6 MiB | 00m00s >>> Running post-install scriptlet: glibc-0:2.39-22.fc40.x86_64 >>> Stop post-install scriptlet: glibc-0:2.39-22.fc40.x86_64 [ 26/155] Installing bash-0:5.2.26-3.fc 100% | 255.0 MiB/s | 8.2 MiB | 00m00s >>> Running post-install scriptlet: bash-0:5.2.26-3.fc40.x86_64 >>> Stop post-install scriptlet: bash-0:5.2.26-3.fc40.x86_64 [ 27/155] Installing glibc-common-0:2.3 100% | 114.3 MiB/s | 1.0 MiB | 00m00s [ 28/155] Installing glibc-gconv-extra- 100% | 127.2 MiB/s | 7.9 MiB | 00m00s >>> Running post-install scriptlet: glibc-gconv-extra-0:2.39-22.fc40.x86_64 >>> Stop post-install scriptlet: glibc-gconv-extra-0:2.39-22.fc40.x86_64 [ 29/155] Installing zlib-ng-compat-0:2 100% | 65.8 MiB/s | 134.8 KiB | 00m00s [ 30/155] Installing xz-libs-1:5.4.6-3. 100% | 103.0 MiB/s | 210.9 KiB | 00m00s [ 31/155] Installing bzip2-libs-0:1.0.8 100% | 79.9 MiB/s | 81.8 KiB | 00m00s [ 32/155] Installing popt-0:1.19-6.fc40 100% | 35.0 MiB/s | 143.5 KiB | 00m00s [ 33/155] Installing readline-0:8.2-8.f 100% | 239.9 MiB/s | 491.4 KiB | 00m00s [ 34/155] Installing libzstd-0:1.5.6-1. 100% | 256.9 MiB/s | 789.2 KiB | 00m00s [ 35/155] Installing elfutils-libelf-0: 100% | 292.5 MiB/s | 1.2 MiB | 00m00s [ 36/155] Installing libstdc++-0:14.2.1 100% | 251.5 MiB/s | 2.8 MiB | 00m00s [ 37/155] Installing libuuid-0:2.40.2-1 100% | 37.7 MiB/s | 38.6 KiB | 00m00s [ 38/155] Installing libblkid-0:2.40.2- 100% | 126.8 MiB/s | 259.7 KiB | 00m00s [ 39/155] Installing libattr-0:2.5.2-3. 100% | 28.8 MiB/s | 29.5 KiB | 00m00s [ 40/155] Installing libacl-0:2.3.2-1.f 100% | 0.0 B/s | 40.8 KiB | 00m00s [ 41/155] Installing gmp-1:6.2.1-8.fc40 100% | 194.5 MiB/s | 796.8 KiB | 00m00s [ 42/155] Installing libxcrypt-0:4.4.36 100% | 131.9 MiB/s | 270.2 KiB | 00m00s [ 43/155] Installing lz4-libs-0:1.9.4-6 100% | 127.4 MiB/s | 130.5 KiB | 00m00s [ 44/155] Installing gdbm-libs-1:1.23-6 100% | 120.7 MiB/s | 123.6 KiB | 00m00s [ 45/155] Installing libeconf-0:0.6.2-2 100% | 58.3 MiB/s | 59.6 KiB | 00m00s [ 46/155] Installing mpfr-0:4.2.1-4.fc4 100% | 203.5 MiB/s | 833.7 KiB | 00m00s [ 47/155] Installing gawk-0:5.3.0-3.fc4 100% | 172.8 MiB/s | 1.7 MiB | 00m00s [ 48/155] Installing dwz-0:0.15-8.fc40. 100% | 144.7 MiB/s | 296.3 KiB | 00m00s [ 49/155] Installing unzip-0:6.0-63.fc4 100% | 125.8 MiB/s | 386.3 KiB | 00m00s [ 50/155] Installing file-libs-0:5.45-4 100% | 431.7 MiB/s | 9.9 MiB | 00m00s [ 51/155] Installing file-0:5.45-4.fc40 100% | 102.6 MiB/s | 105.0 KiB | 00m00s [ 52/155] Installing libcap-ng-0:0.8.4- 100% | 73.2 MiB/s | 75.0 KiB | 00m00s [ 53/155] Installing audit-libs-0:4.0.2 100% | 160.8 MiB/s | 329.3 KiB | 00m00s [ 54/155] Installing pam-libs-0:1.6.1-3 100% | 134.2 MiB/s | 137.4 KiB | 00m00s [ 55/155] Installing libcap-0:2.69-8.fc 100% | 73.2 MiB/s | 224.8 KiB | 00m00s [ 56/155] Installing systemd-libs-0:255 100% | 241.8 MiB/s | 1.9 MiB | 00m00s [ 57/155] Installing lua-libs-0:5.4.6-5 100% | 275.7 MiB/s | 282.3 KiB | 00m00s [ 58/155] Installing libsepol-0:3.7-2.f 100% | 266.5 MiB/s | 818.8 KiB | 00m00s [ 59/155] Installing jansson-0:2.13.1-9 100% | 87.6 MiB/s | 89.7 KiB | 00m00s [ 60/155] Installing pcre2-0:10.44-1.fc 100% | 213.2 MiB/s | 654.9 KiB | 00m00s [ 61/155] Installing libselinux-0:3.7-5 100% | 87.0 MiB/s | 178.3 KiB | 00m00s [ 62/155] Installing sed-0:4.9-1.fc40.x 100% | 121.3 MiB/s | 869.7 KiB | 00m00s [ 63/155] Installing grep-0:3.11-7.fc40 100% | 125.4 MiB/s | 1.0 MiB | 00m00s [ 64/155] Installing findutils-1:4.9.0- 100% | 162.9 MiB/s | 1.5 MiB | 00m00s [ 65/155] Installing xz-1:5.4.6-3.fc40. 100% | 133.5 MiB/s | 2.0 MiB | 00m00s [ 66/155] Installing libmount-0:2.40.2- 100% | 174.3 MiB/s | 356.9 KiB | 00m00s [ 67/155] Installing libsmartcols-0:2.4 100% | 177.3 MiB/s | 181.5 KiB | 00m00s [ 68/155] Installing libcom_err-0:1.47. 100% | 66.7 MiB/s | 68.3 KiB | 00m00s [ 69/155] Installing libffi-0:3.4.4-7.f 100% | 81.0 MiB/s | 83.0 KiB | 00m00s [ 70/155] Installing libtasn1-0:4.19.0- 100% | 86.7 MiB/s | 177.5 KiB | 00m00s [ 71/155] Installing p11-kit-0:0.25.5-1 100% | 147.2 MiB/s | 2.2 MiB | 00m00s [ 72/155] Installing alternatives-0:1.2 100% | 66.4 MiB/s | 68.0 KiB | 00m00s [ 73/155] Installing libunistring-0:1.1 100% | 247.2 MiB/s | 1.7 MiB | 00m00s [ 74/155] Installing libidn2-0:2.3.7-1. 100% | 81.8 MiB/s | 335.0 KiB | 00m00s [ 75/155] Installing libpsl-0:0.21.5-3. 100% | 79.7 MiB/s | 81.6 KiB | 00m00s [ 76/155] Installing p11-kit-trust-0:0. 100% | 24.0 MiB/s | 393.1 KiB | 00m00s >>> Running post-install scriptlet: p11-kit-trust-0:0.25.5-1.fc40.x86_64 >>> Stop post-install scriptlet: p11-kit-trust-0:0.25.5-1.fc40.x86_64 [ 77/155] Installing util-linux-core-0: 100% | 123.8 MiB/s | 1.5 MiB | 00m00s [ 78/155] Installing tar-2:1.35-3.fc40. 100% | 227.0 MiB/s | 3.0 MiB | 00m00s [ 79/155] Installing libsemanage-0:3.7- 100% | 96.1 MiB/s | 295.2 KiB | 00m00s [ 80/155] Installing shadow-utils-2:4.1 100% | 78.8 MiB/s | 4.2 MiB | 00m00s >>> Running pre-install scriptlet: libutempter-0:1.2.1-13.fc40.x86_64 >>> Stop pre-install scriptlet: libutempter-0:1.2.1-13.fc40.x86_64 [ 81/155] Installing libutempter-0:1.2. 100% | 29.2 MiB/s | 59.7 KiB | 00m00s [ 82/155] Installing zip-0:3.0-40.fc40. 100% | 138.1 MiB/s | 707.1 KiB | 00m00s [ 83/155] Installing gdbm-1:1.23-6.fc40 100% | 113.7 MiB/s | 465.8 KiB | 00m00s [ 84/155] Installing cyrus-sasl-lib-0:2 100% | 228.3 MiB/s | 2.3 MiB | 00m00s [ 85/155] Installing zstd-0:1.5.6-1.fc4 100% | 279.3 MiB/s | 1.7 MiB | 00m00s [ 86/155] Installing libfdisk-0:2.40.2- 100% | 177.7 MiB/s | 364.0 KiB | 00m00s [ 87/155] Installing bzip2-0:1.0.8-18.f 100% | 47.0 MiB/s | 96.2 KiB | 00m00s [ 88/155] Installing libxml2-0:2.12.8-1 100% | 244.6 MiB/s | 1.7 MiB | 00m00s [ 89/155] Installing sqlite-libs-0:3.45 100% | 233.6 MiB/s | 1.4 MiB | 00m00s [ 90/155] Installing ed-0:1.20.2-1.fc40 100% | 145.7 MiB/s | 149.2 KiB | 00m00s [ 91/155] Installing patch-0:2.7.6-24.f 100% | 129.0 MiB/s | 264.3 KiB | 00m00s [ 92/155] Installing elfutils-default-y 100% | 170.2 KiB/s | 2.0 KiB | 00m00s >>> Running post-install scriptlet: elfutils-default-yama-scope-0:0.192-4.fc40.n >>> Stop post-install scriptlet: elfutils-default-yama-scope-0:0.192-4.fc40.noar [ 93/155] Installing cpio-0:2.15-1.fc40 100% | 137.5 MiB/s | 1.1 MiB | 00m00s [ 94/155] Installing diffutils-0:3.10-5 100% | 176.2 MiB/s | 1.6 MiB | 00m00s [ 95/155] Installing json-c-0:0.17-3.fc 100% | 81.7 MiB/s | 83.6 KiB | 00m00s [ 96/155] Installing libgomp-0:14.2.1-3 100% | 256.3 MiB/s | 525.0 KiB | 00m00s [ 97/155] Installing libpkgconf-0:2.1.1 100% | 73.5 MiB/s | 75.3 KiB | 00m00s [ 98/155] Installing pkgconf-0:2.1.1-2. 100% | 41.7 MiB/s | 85.4 KiB | 00m00s [ 99/155] Installing pkgconf-pkg-config 100% | 1.7 MiB/s | 1.8 KiB | 00m00s [100/155] Installing keyutils-libs-0:1. 100% | 54.5 MiB/s | 55.8 KiB | 00m00s [101/155] Installing libverto-0:0.3.2-8 100% | 30.5 MiB/s | 31.3 KiB | 00m00s [102/155] Installing xxhash-libs-0:0.8. 100% | 87.7 MiB/s | 89.9 KiB | 00m00s [103/155] Installing libbrotli-0:1.1.0- 100% | 203.1 MiB/s | 831.8 KiB | 00m00s [104/155] Installing libtool-ltdl-0:2.4 100% | 65.7 MiB/s | 67.3 KiB | 00m00s [105/155] Installing libnghttp2-0:1.59. 100% | 163.3 MiB/s | 167.2 KiB | 00m00s [106/155] Installing perl-srpm-macros-0 100% | 0.0 B/s | 1.1 KiB | 00m00s [107/155] Installing package-notes-srpm 100% | 0.0 B/s | 2.0 KiB | 00m00s [108/155] Installing openblas-srpm-macr 100% | 0.0 B/s | 384.0 B | 00m00s [109/155] Installing ocaml-srpm-macros- 100% | 0.0 B/s | 2.2 KiB | 00m00s [110/155] Installing kernel-srpm-macros 100% | 0.0 B/s | 2.3 KiB | 00m00s [111/155] Installing gnat-srpm-macros-0 100% | 0.0 B/s | 1.3 KiB | 00m00s [112/155] Installing fpc-srpm-macros-0: 100% | 410.2 KiB/s | 420.0 B | 00m00s [113/155] Installing coreutils-common-0 100% | 243.9 MiB/s | 11.5 MiB | 00m00s [114/155] Installing openssl-libs-1:3.2 100% | 301.0 MiB/s | 7.8 MiB | 00m00s [115/155] Installing coreutils-0:9.4-8. 100% | 145.7 MiB/s | 5.8 MiB | 00m00s >>> Running pre-install scriptlet: ca-certificates-0:2024.2.69_v8.0.401-1.0.fc40 >>> Stop pre-install scriptlet: ca-certificates-0:2024.2.69_v8.0.401-1.0.fc40.no [116/155] Installing ca-certificates-0: 100% | 2.5 MiB/s | 2.4 MiB | 00m01s >>> Running post-install scriptlet: ca-certificates-0:2024.2.69_v8.0.401-1.0.fc4 >>> Stop post-install scriptlet: ca-certificates-0:2024.2.69_v8.0.401-1.0.fc40.n [117/155] Installing krb5-libs-0:1.21.3 100% | 191.6 MiB/s | 2.3 MiB | 00m00s [118/155] Installing libtirpc-0:1.3.6-0 100% | 99.9 MiB/s | 204.5 KiB | 00m00s [119/155] Installing gzip-0:1.13-1.fc40 100% | 127.1 MiB/s | 390.6 KiB | 00m00s [120/155] Installing authselect-libs-0: 100% | 90.4 MiB/s | 833.2 KiB | 00m00s [121/155] Installing libarchive-0:3.7.2 100% | 225.7 MiB/s | 924.5 KiB | 00m00s [122/155] Installing authselect-0:1.5.0 100% | 51.4 MiB/s | 157.9 KiB | 00m00s [123/155] Installing cracklib-0:2.9.11- 100% | 40.7 MiB/s | 250.3 KiB | 00m00s [124/155] Installing libpwquality-0:1.4 100% | 52.5 MiB/s | 430.1 KiB | 00m00s [125/155] Installing libnsl2-0:2.0.1-1. 100% | 57.7 MiB/s | 59.0 KiB | 00m00s [126/155] Installing pam-0:1.6.1-3.fc40 100% | 79.1 MiB/s | 1.8 MiB | 00m00s [127/155] Installing libssh-0:0.10.6-5. 100% | 166.5 MiB/s | 511.4 KiB | 00m00s [128/155] Installing rpm-sequoia-0:1.7. 100% | 236.8 MiB/s | 2.4 MiB | 00m00s [129/155] Installing rpm-libs-0:4.19.1. 100% | 231.6 MiB/s | 711.4 KiB | 00m00s [130/155] Installing libevent-0:2.1.12- 100% | 219.6 MiB/s | 899.4 KiB | 00m00s [131/155] Installing openldap-0:2.6.7-1 100% | 156.0 MiB/s | 638.9 KiB | 00m00s [132/155] Installing libcurl-0:8.6.0-10 100% | 253.2 MiB/s | 777.9 KiB | 00m00s [133/155] Installing elfutils-libs-0:0. 100% | 164.1 MiB/s | 672.1 KiB | 00m00s [134/155] Installing elfutils-debuginfo 100% | 38.2 MiB/s | 78.2 KiB | 00m00s [135/155] Installing binutils-0:2.41-37 100% | 258.9 MiB/s | 26.4 MiB | 00m00s >>> Running post-install scriptlet: binutils-0:2.41-37.fc40.x86_64 >>> Stop post-install scriptlet: binutils-0:2.41-37.fc40.x86_64 [136/155] Installing binutils-gold-0:2. 100% | 101.5 MiB/s | 2.0 MiB | 00m00s >>> Running post-install scriptlet: binutils-gold-0:2.41-37.fc40.x86_64 >>> Stop post-install scriptlet: binutils-gold-0:2.41-37.fc40.x86_64 [137/155] Installing elfutils-0:0.192-4 100% | 221.7 MiB/s | 2.7 MiB | 00m00s [138/155] Installing gdb-minimal-0:15.2 100% | 302.1 MiB/s | 13.0 MiB | 00m00s [139/155] Installing debugedit-0:5.0-18 100% | 98.6 MiB/s | 202.0 KiB | 00m00s [140/155] Installing rpm-build-libs-0:4 100% | 194.5 MiB/s | 199.2 KiB | 00m00s [141/155] Installing curl-0:8.6.0-10.fc 100% | 36.2 MiB/s | 740.9 KiB | 00m00s >>> Running pre-install scriptlet: rpm-0:4.19.1.1-1.fc40.x86_64 >>> Stop pre-install scriptlet: rpm-0:4.19.1.1-1.fc40.x86_64 [142/155] Installing rpm-0:4.19.1.1-1.f 100% | 88.8 MiB/s | 2.4 MiB | 00m00s [143/155] Installing efi-srpm-macros-0: 100% | 40.2 MiB/s | 41.2 KiB | 00m00s [144/155] Installing lua-srpm-macros-0: 100% | 1.9 MiB/s | 1.9 KiB | 00m00s [145/155] Installing zig-srpm-macros-0: 100% | 0.0 B/s | 1.7 KiB | 00m00s [146/155] Installing fonts-srpm-macros- 100% | 55.1 MiB/s | 56.5 KiB | 00m00s [147/155] Installing go-srpm-macros-0:3 100% | 60.2 MiB/s | 61.6 KiB | 00m00s [148/155] Installing forge-srpm-macros- 100% | 39.4 MiB/s | 40.4 KiB | 00m00s [149/155] Installing python-srpm-macros 100% | 50.6 MiB/s | 51.8 KiB | 00m00s [150/155] Installing redhat-rpm-config- 100% | 62.5 MiB/s | 191.9 KiB | 00m00s [151/155] Installing rpm-build-0:4.19.1 100% | 44.4 MiB/s | 182.0 KiB | 00m00s [152/155] Installing pyproject-srpm-mac 100% | 1.2 MiB/s | 2.5 KiB | 00m00s [153/155] Installing util-linux-0:2.40. 100% | 87.2 MiB/s | 3.7 MiB | 00m00s >>> Running post-install scriptlet: util-linux-0:2.40.2-1.fc40.x86_64 >>> Stop post-install scriptlet: util-linux-0:2.40.2-1.fc40.x86_64 [154/155] Installing which-0:2.21-41.fc 100% | 40.3 MiB/s | 82.4 KiB | 00m00s [155/155] Installing info-0:7.1-2.fc40. 100% | 280.5 KiB/s | 358.2 KiB | 00m01s >>> Running post-transaction scriptlet: filesystem-0:3.18-8.fc40.x86_64 >>> Stop post-transaction scriptlet: filesystem-0:3.18-8.fc40.x86_64 >>> Running post-transaction scriptlet: ca-certificates-0:2024.2.69_v8.0.401-1.0 >>> Stop post-transaction scriptlet: ca-certificates-0:2024.2.69_v8.0.401-1.0.fc >>> Running post-transaction scriptlet: authselect-libs-0:1.5.0-6.fc40.x86_64 >>> Stop post-transaction scriptlet: authselect-libs-0:1.5.0-6.fc40.x86_64 >>> Running post-transaction scriptlet: rpm-0:4.19.1.1-1.fc40.x86_64 >>> Stop post-transaction scriptlet: rpm-0:4.19.1.1-1.fc40.x86_64 >>> Running trigger-install scriptlet: glibc-common-0:2.39-22.fc40.x86_64 >>> Stop trigger-install scriptlet: glibc-common-0:2.39-22.fc40.x86_64 >>> Running trigger-install scriptlet: info-0:7.1-2.fc40.x86_64 >>> Stop trigger-install scriptlet: info-0:7.1-2.fc40.x86_64 Finish: installing minimal buildroot with dnf5 Start: creating root cache Finish: creating root cache Finish: chroot init INFO: Installed packages: INFO: alternatives-1.27-1.fc40.x86_64 ansible-srpm-macros-1-16.fc40.noarch audit-libs-4.0.2-1.fc40.x86_64 authselect-1.5.0-6.fc40.x86_64 authselect-libs-1.5.0-6.fc40.x86_64 basesystem-11-20.fc40.noarch bash-5.2.26-3.fc40.x86_64 binutils-2.41-37.fc40.x86_64 binutils-gold-2.41-37.fc40.x86_64 bzip2-1.0.8-18.fc40.x86_64 bzip2-libs-1.0.8-18.fc40.x86_64 ca-certificates-2024.2.69_v8.0.401-1.0.fc40.noarch coreutils-9.4-8.fc40.x86_64 coreutils-common-9.4-8.fc40.x86_64 cpio-2.15-1.fc40.x86_64 cracklib-2.9.11-5.fc40.x86_64 crypto-policies-20241011-1.git5930b9a.fc40.noarch curl-8.6.0-10.fc40.x86_64 cyrus-sasl-lib-2.1.28-19.fc40.x86_64 debugedit-5.0-18.fc40.x86_64 diffutils-3.10-5.fc40.x86_64 dwz-0.15-8.fc40.x86_64 ed-1.20.2-1.fc40.x86_64 efi-srpm-macros-5-11.fc40.noarch elfutils-0.192-4.fc40.x86_64 elfutils-debuginfod-client-0.192-4.fc40.x86_64 elfutils-default-yama-scope-0.192-4.fc40.noarch elfutils-libelf-0.192-4.fc40.x86_64 elfutils-libs-0.192-4.fc40.x86_64 fedora-gpg-keys-40-2.noarch fedora-release-40-39.noarch fedora-release-common-40-39.noarch fedora-release-identity-basic-40-39.noarch fedora-repos-40-2.noarch file-5.45-4.fc40.x86_64 file-libs-5.45-4.fc40.x86_64 filesystem-3.18-8.fc40.x86_64 findutils-4.9.0-9.fc40.x86_64 fonts-srpm-macros-2.0.5-14.fc40.noarch forge-srpm-macros-0.3.2-1.fc40.noarch fpc-srpm-macros-1.3-12.fc40.noarch gawk-5.3.0-3.fc40.x86_64 gdb-minimal-15.2-2.fc40.x86_64 gdbm-1.23-6.fc40.x86_64 gdbm-libs-1.23-6.fc40.x86_64 ghc-srpm-macros-1.9.1-1.fc40.noarch glibc-2.39-22.fc40.x86_64 glibc-common-2.39-22.fc40.x86_64 glibc-gconv-extra-2.39-22.fc40.x86_64 glibc-minimal-langpack-2.39-22.fc40.x86_64 gmp-6.2.1-8.fc40.x86_64 gnat-srpm-macros-6-5.fc40.noarch go-srpm-macros-3.5.0-1.fc40.noarch gpg-pubkey-a15b79cc-63d04c2c grep-3.11-7.fc40.x86_64 gzip-1.13-1.fc40.x86_64 info-7.1-2.fc40.x86_64 jansson-2.13.1-9.fc40.x86_64 json-c-0.17-3.fc40.x86_64 kernel-srpm-macros-1.0-23.fc40.noarch keyutils-libs-1.6.3-3.fc40.x86_64 krb5-libs-1.21.3-1.fc40.x86_64 libacl-2.3.2-1.fc40.x86_64 libarchive-3.7.2-7.fc40.x86_64 libattr-2.5.2-3.fc40.x86_64 libblkid-2.40.2-1.fc40.x86_64 libbrotli-1.1.0-3.fc40.x86_64 libcap-2.69-8.fc40.x86_64 libcap-ng-0.8.4-4.fc40.x86_64 libcom_err-1.47.0-5.fc40.x86_64 libcurl-8.6.0-10.fc40.x86_64 libeconf-0.6.2-2.fc40.x86_64 libevent-2.1.12-12.fc40.x86_64 libfdisk-2.40.2-1.fc40.x86_64 libffi-3.4.4-7.fc40.x86_64 libgcc-14.2.1-3.fc40.x86_64 libgomp-14.2.1-3.fc40.x86_64 libidn2-2.3.7-1.fc40.x86_64 libmount-2.40.2-1.fc40.x86_64 libnghttp2-1.59.0-3.fc40.x86_64 libnsl2-2.0.1-1.fc40.x86_64 libpkgconf-2.1.1-2.fc40.x86_64 libpsl-0.21.5-3.fc40.x86_64 libpwquality-1.4.5-9.fc40.x86_64 libselinux-3.7-5.fc40.x86_64 libsemanage-3.7-2.fc40.x86_64 libsepol-3.7-2.fc40.x86_64 libsmartcols-2.40.2-1.fc40.x86_64 libssh-0.10.6-5.fc40.x86_64 libssh-config-0.10.6-5.fc40.noarch libstdc++-14.2.1-3.fc40.x86_64 libtasn1-4.19.0-6.fc40.x86_64 libtirpc-1.3.6-0.fc40.x86_64 libtool-ltdl-2.4.7-10.fc40.x86_64 libunistring-1.1-7.fc40.x86_64 libutempter-1.2.1-13.fc40.x86_64 libuuid-2.40.2-1.fc40.x86_64 libverto-0.3.2-8.fc40.x86_64 libxcrypt-4.4.36-10.fc40.x86_64 libxml2-2.12.8-1.fc40.x86_64 libzstd-1.5.6-1.fc40.x86_64 lua-libs-5.4.6-5.fc40.x86_64 lua-srpm-macros-1-13.fc40.noarch lz4-libs-1.9.4-6.fc40.x86_64 mpfr-4.2.1-4.fc40.x86_64 ncurses-base-6.4-12.20240127.fc40.noarch ncurses-libs-6.4-12.20240127.fc40.x86_64 ocaml-srpm-macros-9-3.fc40.noarch openblas-srpm-macros-2-16.fc40.noarch openldap-2.6.7-1.fc40.x86_64 openssl-libs-3.2.2-3.fc40.x86_64 p11-kit-0.25.5-1.fc40.x86_64 p11-kit-trust-0.25.5-1.fc40.x86_64 package-notes-srpm-macros-0.5-11.fc40.noarch pam-1.6.1-3.fc40.x86_64 pam-libs-1.6.1-3.fc40.x86_64 patch-2.7.6-24.fc40.x86_64 pcre2-10.44-1.fc40.x86_64 pcre2-syntax-10.44-1.fc40.noarch perl-srpm-macros-1-53.fc40.noarch pkgconf-2.1.1-2.fc40.x86_64 pkgconf-m4-2.1.1-2.fc40.noarch pkgconf-pkg-config-2.1.1-2.fc40.x86_64 popt-1.19-6.fc40.x86_64 publicsuffix-list-dafsa-20240107-3.fc40.noarch pyproject-srpm-macros-1.16.0-1.fc40.noarch python-srpm-macros-3.12-8.fc40.noarch qt5-srpm-macros-5.15.15-1.fc40.noarch qt6-srpm-macros-6.7.2-2.fc40.noarch readline-8.2-8.fc40.x86_64 redhat-rpm-config-288-1.fc40.noarch rpm-4.19.1.1-1.fc40.x86_64 rpm-build-4.19.1.1-1.fc40.x86_64 rpm-build-libs-4.19.1.1-1.fc40.x86_64 rpm-libs-4.19.1.1-1.fc40.x86_64 rpm-sequoia-1.7.0-1.fc40.x86_64 rust-srpm-macros-26.3-1.fc40.noarch sed-4.9-1.fc40.x86_64 setup-2.14.5-2.fc40.noarch shadow-utils-4.15.1-4.fc40.x86_64 sqlite-libs-3.45.1-2.fc40.x86_64 systemd-libs-255.13-1.fc40.x86_64 tar-1.35-3.fc40.x86_64 unzip-6.0-63.fc40.x86_64 util-linux-2.40.2-1.fc40.x86_64 util-linux-core-2.40.2-1.fc40.x86_64 which-2.21-41.fc40.x86_64 xxhash-libs-0.8.2-4.fc40.x86_64 xz-5.4.6-3.fc40.x86_64 xz-libs-5.4.6-3.fc40.x86_64 zig-srpm-macros-1-2.fc40.noarch zip-3.0-40.fc40.x86_64 zlib-ng-compat-2.1.7-2.fc40.x86_64 zstd-1.5.6-1.fc40.x86_64 Start: buildsrpm Start: rpmbuild -bs Building target platforms: x86_64 Building for target x86_64 setting SOURCE_DATE_EPOCH=1731283200 Wrote: /builddir/build/SRPMS/chibicc-0.0^20201207.90d1f7f-1.fc40.src.rpm Finish: rpmbuild -bs INFO: chroot_scan: 1 files copied to /var/lib/copr-rpmbuild/results/chroot_scan INFO: /var/lib/mock/fedora-40-x86_64-1731320114.584722/root/var/log/dnf5.log INFO: chroot_scan: creating tarball /var/lib/copr-rpmbuild/results/chroot_scan.tar.gz /bin/tar: Removing leading `/' from member names Finish: buildsrpm INFO: Done(/var/lib/copr-rpmbuild/workspace/workdir-bst7m1j9/chibicc/chibicc.spec) Config(child) 1 minutes 15 seconds INFO: Results and/or logs in: /var/lib/copr-rpmbuild/results INFO: Cleaning up build root ('cleanup_on_success=True') Start: clean chroot INFO: unmounting tmpfs. Finish: clean chroot INFO: Start(/var/lib/copr-rpmbuild/results/chibicc-0.0^20201207.90d1f7f-1.fc40.src.rpm) Config(fedora-40-x86_64) Start(bootstrap): chroot init INFO: mounting tmpfs at /var/lib/mock/fedora-40-x86_64-bootstrap-1731320114.584722/root. INFO: reusing tmpfs at /var/lib/mock/fedora-40-x86_64-bootstrap-1731320114.584722/root. INFO: calling preinit hooks INFO: enabled root cache INFO: enabled package manager cache Start(bootstrap): cleaning package manager metadata Finish(bootstrap): cleaning package manager metadata Finish(bootstrap): chroot init Start: chroot init INFO: mounting tmpfs at /var/lib/mock/fedora-40-x86_64-1731320114.584722/root. INFO: calling preinit hooks INFO: enabled root cache Start: unpacking root cache Finish: unpacking root cache INFO: enabled package manager cache Start: cleaning package manager metadata Finish: cleaning package manager metadata INFO: enabled HW Info plugin INFO: Buildroot is handled by package management downloaded with a bootstrap image: rpm-4.19.1.1-1.fc40.x86_64 rpm-sequoia-1.7.0-1.fc40.x86_64 python3-dnf-4.21.1-1.fc40.noarch yum-4.21.1-1.fc40.noarch dnf5-5.1.17-2.fc40.x86_64 dnf5-plugins-5.1.17-2.fc40.x86_64 Finish: chroot init Start: build phase for chibicc-0.0^20201207.90d1f7f-1.fc40.src.rpm Start: build setup for chibicc-0.0^20201207.90d1f7f-1.fc40.src.rpm Building target platforms: x86_64 Building for target x86_64 setting SOURCE_DATE_EPOCH=1731283200 Wrote: /builddir/build/SRPMS/chibicc-0.0^20201207.90d1f7f-1.fc40.src.rpm Updating and loading repositories: updates 100% | 1.1 MiB/s | 30.4 KiB | 00m00s fedora 100% | 1.2 MiB/s | 31.3 KiB | 00m00s Copr repository 100% | 50.4 KiB/s | 1.5 KiB | 00m00s Repositories loaded. Package Arch Version Repository Size Installing: gcc x86_64 14.2.1-3.fc40 updates 104.3 MiB glibc-devel x86_64 2.39-22.fc40 updates 35.8 KiB glibc-static x86_64 2.39-22.fc40 updates 11.3 MiB make x86_64 1:4.4.1-6.fc40 fedora 1.8 MiB Installing dependencies: annobin-docs noarch 12.60-1.fc40 updates 96.2 KiB annobin-plugin-gcc x86_64 12.60-1.fc40 updates 976.2 KiB cpp x86_64 14.2.1-3.fc40 updates 35.0 MiB gc x86_64 8.2.2-6.fc40 fedora 258.7 KiB gcc-plugin-annobin x86_64 14.2.1-3.fc40 updates 57.1 KiB glibc-headers-x86 noarch 2.39-22.fc40 updates 2.2 MiB guile30 x86_64 3.0.7-12.fc40 fedora 51.5 MiB kernel-headers x86_64 6.11.3-200.fc40 updates 6.4 MiB libmpc x86_64 1.3.1-5.fc40 fedora 164.7 KiB libxcrypt-devel x86_64 4.4.36-10.fc40 updates 30.5 KiB libxcrypt-static x86_64 4.4.36-10.fc40 updates 280.4 KiB Transaction Summary: Installing: 15 packages Total size of inbound packages is 63 MiB. Need to download 63 MiB. After this operation 214 MiB will be used (install 214 MiB, remove 0 B). [ 1/15] make-1:4.4.1-6.fc40.x86_64 100% | 3.5 MiB/s | 587.6 KiB | 00m00s [ 2/15] glibc-devel-0:2.39-22.fc40.x86_ 100% | 676.2 KiB/s | 115.6 KiB | 00m00s [ 3/15] guile30-0:3.0.7-12.fc40.x86_64 100% | 39.9 MiB/s | 8.1 MiB | 00m00s [ 4/15] glibc-static-0:2.39-22.fc40.x86 100% | 3.7 MiB/s | 1.7 MiB | 00m00s [ 5/15] libmpc-0:1.3.1-5.fc40.x86_64 100% | 2.6 MiB/s | 71.1 KiB | 00m00s [ 6/15] glibc-headers-x86-0:2.39-22.fc4 100% | 16.1 MiB/s | 609.6 KiB | 00m00s [ 7/15] gc-0:8.2.2-6.fc40.x86_64 100% | 6.0 MiB/s | 110.2 KiB | 00m00s [ 8/15] cpp-0:14.2.1-3.fc40.x86_64 100% | 25.5 MiB/s | 12.0 MiB | 00m00s [ 9/15] libxcrypt-static-0:4.4.36-10.fc 100% | 3.7 MiB/s | 93.9 KiB | 00m00s [10/15] gcc-plugin-annobin-0:14.2.1-3.f 100% | 2.2 MiB/s | 55.1 KiB | 00m00s [11/15] libxcrypt-devel-0:4.4.36-10.fc4 100% | 150.4 KiB/s | 28.9 KiB | 00m00s [12/15] annobin-plugin-gcc-0:12.60-1.fc 100% | 8.6 MiB/s | 966.0 KiB | 00m00s [13/15] annobin-docs-0:12.60-1.fc40.noa 100% | 2.4 MiB/s | 89.5 KiB | 00m00s [14/15] gcc-0:14.2.1-3.fc40.x86_64 100% | 28.7 MiB/s | 37.0 MiB | 00m01s [15/15] kernel-headers-0:6.11.3-200.fc4 100% | 4.1 MiB/s | 1.6 MiB | 00m00s -------------------------------------------------------------------------------- [15/15] Total 100% | 46.7 MiB/s | 63.1 MiB | 00m01s Running transaction [ 1/17] Verify package files 100% | 73.0 B/s | 15.0 B | 00m00s [ 2/17] Prepare transaction 100% | 394.0 B/s | 15.0 B | 00m00s [ 3/17] Installing libmpc-0:1.3.1-5.fc4 100% | 81.2 MiB/s | 166.2 KiB | 00m00s [ 4/17] Installing cpp-0:14.2.1-3.fc40. 100% | 294.1 MiB/s | 35.0 MiB | 00m00s [ 5/17] Installing annobin-docs-0:12.60 100% | 31.7 MiB/s | 97.4 KiB | 00m00s [ 6/17] Installing kernel-headers-0:6.1 100% | 116.8 MiB/s | 6.5 MiB | 00m00s [ 7/17] Installing gc-0:8.2.2-6.fc40.x8 100% | 63.8 MiB/s | 261.2 KiB | 00m00s [ 8/17] Installing guile30-0:3.0.7-12.f 100% | 307.1 MiB/s | 51.6 MiB | 00m00s [ 9/17] Installing make-1:4.4.1-6.fc40. 100% | 163.7 MiB/s | 1.8 MiB | 00m00s [10/17] Installing glibc-headers-x86-0: 100% | 94.0 MiB/s | 2.3 MiB | 00m00s [11/17] Installing libxcrypt-devel-0:4. 100% | 32.1 MiB/s | 32.9 KiB | 00m00s [12/17] Installing glibc-devel-0:2.39-2 100% | 12.8 MiB/s | 39.3 KiB | 00m00s [13/17] Installing gcc-0:14.2.1-3.fc40. 100% | 310.7 MiB/s | 104.4 MiB | 00m00s >>> Running trigger-install scriptlet: redhat-rpm-config-0:288-1.fc40.noarch >>> Stop trigger-install scriptlet: redhat-rpm-config-0:288-1.fc40.noarch [14/17] Installing glibc-static-0:2.39- 100% | 388.0 MiB/s | 11.3 MiB | 00m00s [15/17] Installing libxcrypt-static-0:4 100% | 137.2 MiB/s | 281.0 KiB | 00m00s [16/17] Installing gcc-plugin-annobin-0 100% | 2.6 MiB/s | 58.6 KiB | 00m00s >>> Running trigger-install scriptlet: redhat-rpm-config-0:288-1.fc40.noarch >>> Stop trigger-install scriptlet: redhat-rpm-config-0:288-1.fc40.noarch [17/17] Installing annobin-plugin-gcc-0 100% | 5.0 MiB/s | 977.9 KiB | 00m00s >>> Running trigger-install scriptlet: redhat-rpm-config-0:288-1.fc40.noarch >>> Stop trigger-install scriptlet: redhat-rpm-config-0:288-1.fc40.noarch >>> Running trigger-install scriptlet: glibc-common-0:2.39-22.fc40.x86_64 >>> Stop trigger-install scriptlet: glibc-common-0:2.39-22.fc40.x86_64 >>> Running trigger-install scriptlet: info-0:7.1-2.fc40.x86_64 >>> Stop trigger-install scriptlet: info-0:7.1-2.fc40.x86_64 Finish: build setup for chibicc-0.0^20201207.90d1f7f-1.fc40.src.rpm Start: rpmbuild chibicc-0.0^20201207.90d1f7f-1.fc40.src.rpm Building target platforms: x86_64 Building for target x86_64 setting SOURCE_DATE_EPOCH=1731283200 Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.FUKpaN + umask 022 + cd /builddir/build/BUILD + cd /builddir/build/BUILD + rm -rf chibicc-90d1f7f199cc55b13c7fdb5839d1409806633fdb + /usr/lib/rpm/rpmuncompress -x /builddir/build/SOURCES/chibicc-90d1f7f.tar.gz + STATUS=0 + '[' 0 -ne 0 ']' + cd chibicc-90d1f7f199cc55b13c7fdb5839d1409806633fdb + rm -rf /builddir/build/BUILD/chibicc-90d1f7f199cc55b13c7fdb5839d1409806633fdb-SPECPARTS + /usr/bin/mkdir -p /builddir/build/BUILD/chibicc-90d1f7f199cc55b13c7fdb5839d1409806633fdb-SPECPARTS + /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w . + sed -i s/CFLAGS=-std=c11/CFLAGS+=-std=c11/g Makefile + RPM_EC=0 ++ jobs -p + exit 0 Executing(%build): /bin/sh -e /var/tmp/rpm-tmp.4kq0Pi + umask 022 + cd /builddir/build/BUILD + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + export CFLAGS + CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + export CXXFLAGS + FFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + export FFLAGS + FCFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + export FCFLAGS + VALAFLAGS=-g + export VALAFLAGS + RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn' + export RUSTFLAGS + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,pack-relative-relocs -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes ' + export LDFLAGS + LT_SYS_LIBRARY_PATH=/usr/lib64: + export LT_SYS_LIBRARY_PATH + CC=gcc + export CC + CXX=g++ + export CXX + cd chibicc-90d1f7f199cc55b13c7fdb5839d1409806633fdb + /usr/bin/make -O -j2 V=1 VERBOSE=1 gcc -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -std=c11 -g -fno-common -Wall -Wno-switch -c -o hashmap.o hashmap.c gcc -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -std=c11 -g -fno-common -Wall -Wno-switch -c -o codegen.o codegen.c gcc -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -std=c11 -g -fno-common -Wall -Wno-switch -c -o main.o main.c gcc -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -std=c11 -g -fno-common -Wall -Wno-switch -c -o preprocess.o preprocess.c gcc -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -std=c11 -g -fno-common -Wall -Wno-switch -c -o strings.o strings.c gcc -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -std=c11 -g -fno-common -Wall -Wno-switch -c -o tokenize.o tokenize.c gcc -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -std=c11 -g -fno-common -Wall -Wno-switch -c -o type.o type.c gcc -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -std=c11 -g -fno-common -Wall -Wno-switch -c -o unicode.o unicode.c gcc -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -std=c11 -g -fno-common -Wall -Wno-switch -c -o parse.o parse.c gcc -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -std=c11 -g -fno-common -Wall -Wno-switch -o chibicc codegen.o hashmap.o main.o parse.o preprocess.o strings.o tokenize.o type.o unicode.o -Wl,-z,relro -Wl,--as-needed -Wl,-z,pack-relative-relocs -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes + RPM_EC=0 ++ jobs -p + exit 0 Executing(%install): /bin/sh -e /var/tmp/rpm-tmp.SVNnB1 + umask 022 + cd /builddir/build/BUILD + '[' '/builddir/build/BUILDROOT/chibicc-0.0^20201207.90d1f7f-1.fc40.x86_64' '!=' / ']' + rm -rf '/builddir/build/BUILDROOT/chibicc-0.0^20201207.90d1f7f-1.fc40.x86_64' ++ dirname '/builddir/build/BUILDROOT/chibicc-0.0^20201207.90d1f7f-1.fc40.x86_64' + mkdir -p /builddir/build/BUILDROOT + mkdir '/builddir/build/BUILDROOT/chibicc-0.0^20201207.90d1f7f-1.fc40.x86_64' + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + export CFLAGS + CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + export CXXFLAGS + FFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + export FFLAGS + FCFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + export FCFLAGS + VALAFLAGS=-g + export VALAFLAGS + RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn' + export RUSTFLAGS + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,pack-relative-relocs -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes ' + export LDFLAGS + LT_SYS_LIBRARY_PATH=/usr/lib64: + export LT_SYS_LIBRARY_PATH + CC=gcc + export CC + CXX=g++ + export CXX + cd chibicc-90d1f7f199cc55b13c7fdb5839d1409806633fdb + mkdir -p '/builddir/build/BUILDROOT/chibicc-0.0^20201207.90d1f7f-1.fc40.x86_64/usr/bin' + install -m 755 chibicc '/builddir/build/BUILDROOT/chibicc-0.0^20201207.90d1f7f-1.fc40.x86_64/usr/bin' + mkdir -p '/builddir/build/BUILDROOT/chibicc-0.0^20201207.90d1f7f-1.fc40.x86_64/usr/include/chibicc' + install -m 644 include/float.h include/stdalign.h include/stdarg.h include/stdatomic.h include/stdbool.h include/stddef.h include/stdnoreturn.h '/builddir/build/BUILDROOT/chibicc-0.0^20201207.90d1f7f-1.fc40.x86_64/usr/include/chibicc/' + install -m 644 chibicc.h '/builddir/build/BUILDROOT/chibicc-0.0^20201207.90d1f7f-1.fc40.x86_64/usr/include/' + /usr/bin/find-debuginfo -j2 --strict-build-id -m -i --build-id-seed '0.0^20201207.90d1f7f-1.fc40' --unique-debug-suffix '-0.0^20201207.90d1f7f-1.fc40.x86_64' --unique-debug-src-base 'chibicc-0.0^20201207.90d1f7f-1.fc40.x86_64' --run-dwz --dwz-low-mem-die-limit 10000000 --dwz-max-die-limit 110000000 -S debugsourcefiles.list /builddir/build/BUILD/chibicc-90d1f7f199cc55b13c7fdb5839d1409806633fdb find-debuginfo: starting Extracting debug info from 1 files DWARF-compressing 1 files sepdebugcrcfix: Updated 1 CRC32s, 0 CRC32s did match. Creating .debug symlinks for symlinks to ELF files Copying sources found by 'debugedit -l' to /usr/src/debug/chibicc-0.0^20201207.90d1f7f-1.fc40.x86_64 460 blocks find-debuginfo: done + /usr/lib/rpm/check-buildroot + /usr/lib/rpm/redhat/brp-ldconfig + /usr/lib/rpm/brp-compress + /usr/lib/rpm/redhat/brp-strip-lto /usr/bin/strip + /usr/lib/rpm/brp-strip-static-archive /usr/bin/strip + /usr/lib/rpm/check-rpaths + /usr/lib/rpm/redhat/brp-mangle-shebangs + /usr/lib/rpm/brp-remove-la-files + env /usr/lib/rpm/redhat/brp-python-bytecompile '' 1 0 -j2 + /usr/lib/rpm/redhat/brp-python-hardlink Executing(%check): /bin/sh -e /var/tmp/rpm-tmp.EYM5gx + umask 022 + cd /builddir/build/BUILD + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + export CFLAGS + CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + export CXXFLAGS + FFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + export FFLAGS + FCFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + export FCFLAGS + VALAFLAGS=-g + export VALAFLAGS + RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn' + export RUSTFLAGS + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,pack-relative-relocs -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes ' + export LDFLAGS + LT_SYS_LIBRARY_PATH=/usr/lib64: + export LT_SYS_LIBRARY_PATH + CC=gcc + export CC + CXX=g++ + export CXX + cd chibicc-90d1f7f199cc55b13c7fdb5839d1409806633fdb + make test-all ./chibicc -Iinclude -Itest -c -o test/alignof.o test/alignof.c gcc -pthread -o test/alignof.exe test/alignof.o -xc test/common ./chibicc -Iinclude -Itest -c -o test/alloca.o test/alloca.c gcc -pthread -o test/alloca.exe test/alloca.o -xc test/common ./chibicc -Iinclude -Itest -c -o test/arith.o test/arith.c gcc -pthread -o test/arith.exe test/arith.o -xc test/common ./chibicc -Iinclude -Itest -c -o test/asm.o test/asm.c gcc -pthread -o test/asm.exe test/asm.o -xc test/common ./chibicc -Iinclude -Itest -c -o test/atomic.o test/atomic.c gcc -pthread -o test/atomic.exe test/atomic.o -xc test/common ./chibicc -Iinclude -Itest -c -o test/attribute.o test/attribute.c gcc -pthread -o test/attribute.exe test/attribute.o -xc test/common ./chibicc -Iinclude -Itest -c -o test/bitfield.o test/bitfield.c gcc -pthread -o test/bitfield.exe test/bitfield.o -xc test/common ./chibicc -Iinclude -Itest -c -o test/builtin.o test/builtin.c gcc -pthread -o test/builtin.exe test/builtin.o -xc test/common ./chibicc -Iinclude -Itest -c -o test/cast.o test/cast.c gcc -pthread -o test/cast.exe test/cast.o -xc test/common ./chibicc -Iinclude -Itest -c -o test/commonsym.o test/commonsym.c gcc -pthread -o test/commonsym.exe test/commonsym.o -xc test/common ./chibicc -Iinclude -Itest -c -o test/compat.o test/compat.c gcc -pthread -o test/compat.exe test/compat.o -xc test/common ./chibicc -Iinclude -Itest -c -o test/complit.o test/complit.c gcc -pthread -o test/complit.exe test/complit.o -xc test/common ./chibicc -Iinclude -Itest -c -o test/const.o test/const.c gcc -pthread -o test/const.exe test/const.o -xc test/common ./chibicc -Iinclude -Itest -c -o test/constexpr.o test/constexpr.c gcc -pthread -o test/constexpr.exe test/constexpr.o -xc test/common ./chibicc -Iinclude -Itest -c -o test/control.o test/control.c gcc -pthread -o test/control.exe test/control.o -xc test/common ./chibicc -Iinclude -Itest -c -o test/decl.o test/decl.c gcc -pthread -o test/decl.exe test/decl.o -xc test/common ./chibicc -Iinclude -Itest -c -o test/enum.o test/enum.c gcc -pthread -o test/enum.exe test/enum.o -xc test/common ./chibicc -Iinclude -Itest -c -o test/extern.o test/extern.c gcc -pthread -o test/extern.exe test/extern.o -xc test/common ./chibicc -Iinclude -Itest -c -o test/float.o test/float.c gcc -pthread -o test/float.exe test/float.o -xc test/common ./chibicc -Iinclude -Itest -c -o test/function.o test/function.c gcc -pthread -o test/function.exe test/function.o -xc test/common ./chibicc -Iinclude -Itest -c -o test/generic.o test/generic.c gcc -pthread -o test/generic.exe test/generic.o -xc test/common ./chibicc -Iinclude -Itest -c -o test/initializer.o test/initializer.c gcc -pthread -o test/initializer.exe test/initializer.o -xc test/common ./chibicc -Iinclude -Itest -c -o test/line.o test/line.c gcc -pthread -o test/line.exe test/line.o -xc test/common ./chibicc -Iinclude -Itest -c -o test/literal.o test/literal.c gcc -pthread -o test/literal.exe test/literal.o -xc test/common ./chibicc -Iinclude -Itest -c -o test/macro.o test/macro.c gcc -pthread -o test/macro.exe test/macro.o -xc test/common ./chibicc -Iinclude -Itest -c -o test/offsetof.o test/offsetof.c gcc -pthread -o test/offsetof.exe test/offsetof.o -xc test/common ./chibicc -Iinclude -Itest -c -o test/pointer.o test/pointer.c gcc -pthread -o test/pointer.exe test/pointer.o -xc test/common ./chibicc -Iinclude -Itest -c -o test/pragma-once.o test/pragma-once.c gcc -pthread -o test/pragma-once.exe test/pragma-once.o -xc test/common ./chibicc -Iinclude -Itest -c -o test/sizeof.o test/sizeof.c gcc -pthread -o test/sizeof.exe test/sizeof.o -xc test/common ./chibicc -Iinclude -Itest -c -o test/stdhdr.o test/stdhdr.c gcc -pthread -o test/stdhdr.exe test/stdhdr.o -xc test/common ./chibicc -Iinclude -Itest -c -o test/string.o test/string.c gcc -pthread -o test/string.exe test/string.o -xc test/common ./chibicc -Iinclude -Itest -c -o test/struct.o test/struct.c gcc -pthread -o test/struct.exe test/struct.o -xc test/common ./chibicc -Iinclude -Itest -c -o test/tls.o test/tls.c gcc -pthread -o test/tls.exe test/tls.o -xc test/common ./chibicc -Iinclude -Itest -c -o test/typedef.o test/typedef.c gcc -pthread -o test/typedef.exe test/typedef.o -xc test/common ./chibicc -Iinclude -Itest -c -o test/typeof.o test/typeof.c gcc -pthread -o test/typeof.exe test/typeof.o -xc test/common ./chibicc -Iinclude -Itest -c -o test/unicode.o test/unicode.c gcc -pthread -o test/unicode.exe test/unicode.o -xc test/common ./chibicc -Iinclude -Itest -c -o test/union.o test/union.c gcc -pthread -o test/union.exe test/union.o -xc test/common ./chibicc -Iinclude -Itest -c -o test/usualconv.o test/usualconv.c gcc -pthread -o test/usualconv.exe test/usualconv.o -xc test/common ./chibicc -Iinclude -Itest -c -o test/varargs.o test/varargs.c gcc -pthread -o test/varargs.exe test/varargs.o -xc test/common ./chibicc -Iinclude -Itest -c -o test/variable.o test/variable.c gcc -pthread -o test/variable.exe test/variable.o -xc test/common ./chibicc -Iinclude -Itest -c -o test/vla.o test/vla.c gcc -pthread -o test/vla.exe test/vla.o -xc test/common for i in test/alignof.exe test/alloca.exe test/arith.exe test/asm.exe test/atomic.exe test/attribute.exe test/bitfield.exe test/builtin.exe test/cast.exe test/commonsym.exe test/compat.exe test/complit.exe test/const.exe test/constexpr.exe test/control.exe test/decl.exe test/enum.exe test/extern.exe test/float.exe test/function.exe test/generic.exe test/initializer.exe test/line.exe test/literal.exe test/macro.exe test/offsetof.exe test/pointer.exe test/pragma-once.exe test/sizeof.exe test/stdhdr.exe test/string.exe test/struct.exe test/tls.exe test/typedef.exe test/typeof.exe test/unicode.exe test/union.exe test/usualconv.exe test/varargs.exe test/variable.exe test/vla.exe; do echo $i; ./$i || exit 1; echo; done test/alignof.exe _Alignof(char) => 1 _Alignof(short) => 2 _Alignof(int) => 4 _Alignof(long) => 8 _Alignof(long long) => 8 _Alignof(char[3]) => 1 _Alignof(int[3]) => 4 _Alignof(struct {char a; char b;}[2]) => 1 _Alignof(struct {char a; long b;}[2]) => 8 ({ _Alignas(char) char x, y; &y-&x; }) => 1 ({ _Alignas(long) char x, y; &y-&x; }) => 8 ({ _Alignas(32) char x, y; &y-&x; }) => 32 ({ _Alignas(32) int *x, *y; ((char *)&y)-((char *)&x); }) => 32 ({ struct { _Alignas(16) char x, y; } a; &a.y-&a.x; }) => 16 ({ struct T { _Alignas(8) char a; }; _Alignof(struct T); }) => 8 (long)(char *)&g1 % 512 => 0 (long)(char *)&g2 % 512 => 0 (long)(char *)&g4 % 4 => 0 (long)(char *)&g5 % 8 => 0 ({ char x; _Alignof(x); }) => 1 ({ int x; _Alignof(x); }) => 4 ({ char x; _Alignof x; }) => 1 ({ int x; _Alignof x; }) => 4 _Alignof(char) << 31 >> 31 => 1 _Alignof(char) << 63 >> 63 => 1 ({ char x; _Alignof(x) << 63 >> 63; }) => 1 ({ char x[16]; (unsigned long)&x % 16; }) => 0 ({ char x[17]; (unsigned long)&x % 16; }) => 0 ({ char x[100]; (unsigned long)&x % 16; }) => 0 ({ char x[101]; (unsigned long)&x % 16; }) => 0 OK test/alloca.exe p1 - p2 => 16 p2 - p3 => 16 p3 - p4 => 16 memcmp(p1, "0123456789abcdef", 16) => 0 memcmp(p2, "ghijklmnopqrstuv", 16) => 0 memcmp(p3, "wxy", 3) => 0 OK test/arith.exe 0 => 0 42 => 42 5+20-4 => 21 12 + 34 - 5 => 41 5+6*7 => 47 5*(9-6) => 15 (3+5)/2 => 4 -10+20 => 10 - -10 => 10 - - +10 => 10 0==1 => 0 42==42 => 1 0!=1 => 1 42!=42 => 0 0<1 => 1 1<1 => 0 2<1 => 0 0<=1 => 1 1<=1 => 1 2<=1 => 0 1>0 => 1 1>1 => 0 1>2 => 0 1>=0 => 1 1>=1 => 1 1>=2 => 0 1073741824 * 100 / 100 => 0 ({ int i=2; i+=5; i; }) => 7 ({ int i=2; i+=5; }) => 7 ({ int i=5; i-=2; i; }) => 3 ({ int i=5; i-=2; }) => 3 ({ int i=3; i*=2; i; }) => 6 ({ int i=3; i*=2; }) => 6 ({ int i=6; i/=2; i; }) => 3 ({ int i=6; i/=2; }) => 3 ({ int i=2; ++i; }) => 3 ({ int a[3]; a[0]=0; a[1]=1; a[2]=2; int *p=a+1; ++*p; }) => 2 ({ int a[3]; a[0]=0; a[1]=1; a[2]=2; int *p=a+1; --*p; }) => 0 ({ int i=2; i++; }) => 2 ({ int i=2; i--; }) => 2 ({ int i=2; i++; i; }) => 3 ({ int i=2; i--; i; }) => 1 ({ int a[3]; a[0]=0; a[1]=1; a[2]=2; int *p=a+1; *p++; }) => 1 ({ int a[3]; a[0]=0; a[1]=1; a[2]=2; int *p=a+1; *p--; }) => 1 ({ int a[3]; a[0]=0; a[1]=1; a[2]=2; int *p=a+1; (*p++)--; a[0]; }) => 0 ({ int a[3]; a[0]=0; a[1]=1; a[2]=2; int *p=a+1; (*(p--))--; a[1]; }) => 0 ({ int a[3]; a[0]=0; a[1]=1; a[2]=2; int *p=a+1; (*p)--; a[2]; }) => 2 ({ int a[3]; a[0]=0; a[1]=1; a[2]=2; int *p=a+1; (*p)--; p++; *p; }) => 2 ({ int a[3]; a[0]=0; a[1]=1; a[2]=2; int *p=a+1; (*p++)--; a[0]; }) => 0 ({ int a[3]; a[0]=0; a[1]=1; a[2]=2; int *p=a+1; (*p++)--; a[1]; }) => 0 ({ int a[3]; a[0]=0; a[1]=1; a[2]=2; int *p=a+1; (*p++)--; a[2]; }) => 2 ({ int a[3]; a[0]=0; a[1]=1; a[2]=2; int *p=a+1; (*p++)--; *p; }) => 2 !1 => 0 !2 => 0 !0 => 1 !(char)0 => 1 !(long)3 => 0 sizeof(!(char)0) => 4 sizeof(!(long)0) => 4 ~0 => -1 ~-1 => 0 17%6 => 5 ((long)17)%6 => 5 ({ int i=10; i%=4; i; }) => 2 ({ long i=10; i%=4; i; }) => 2 0&1 => 0 3&1 => 1 7&3 => 3 -1&10 => 10 0|1 => 1 0b10000|0b00011 => 19 0^0 => 0 0b1111^0b1111 => 0 0b111000^0b001100 => 52 ({ int i=6; i&=3; i; }) => 2 ({ int i=6; i|=3; i; }) => 7 ({ int i=15; i^=5; i; }) => 10 1<<0 => 1 1<<3 => 8 5<<1 => 10 5>>1 => 2 -1>>1 => -1 ({ int i=1; i<<=0; i; }) => 1 ({ int i=1; i<<=3; i; }) => 8 ({ int i=5; i<<=1; i; }) => 10 ({ int i=5; i>>=1; i; }) => 2 -1 => -1 ({ int i=-1; i; }) => -1 ({ int i=-1; i>>=1; i; }) => -1 0?1:2 => 2 1?1:2 => 1 0?-2:-1 => -1 1?-2:-1 => -2 sizeof(0?1:2) => 4 sizeof(0?(long)1:(long)2) => 8 0?(long)-2:-1 => -1 0?-2:(long)-1 => -1 1?(long)-2:-1 => -2 1?-2:(long)-1 => -2 ({ int x; int *p=&x; p+20-p; }) => 20 ({ int x; int *p=&x; p+20-p>0; }) => 1 ({ int x; int *p=&x; p-20-p; }) => -20 ({ int x; int *p=&x; p-20-p<0; }) => 1 (char *)0xffffffffffffffff - (char *)0xfffffffffffffff0 => 15 (char *)0xfffffffffffffff0 - (char *)0xffffffffffffffff => -15 (void *)0xffffffffffffffff > (void *)0 => 1 3?:5 => 3 0?:5 => 5 ({ int i = 3; ++i?:10; }) => 4 (long double)3 => 3 (long double)3+2 => 5 (long double)3*2 => 6 (long double)3+2.0 => 5 OK test/asm.exe asm_fn1() => 50 asm_fn2() => 55 OK test/atomic.exe add_millions() => 6000000 ({ int x=3; __builtin_atomic_exchange((&x), (5)); }) => 3 ({ int x=3; __builtin_atomic_exchange((&x), (5)); x; }) => 5 OK test/attribute.exe ({ struct { char a; int b; } __attribute__((packed)) x; sizeof(x); }) => 5 offsetof(struct __attribute__((packed)) { char a; int b; }, a) => 0 offsetof(struct __attribute__((packed)) { char a; int b; }, b) => 1 ({ struct __attribute__((packed)) { char a; int b; } x; sizeof(x); }) => 5 offsetof(struct { char a; int b; } __attribute__((packed)), a) => 0 offsetof(struct { char a; int b; } __attribute__((packed)), b) => 1 ({ typedef struct { char a; int b[2]; } __attribute__((packed)) T; sizeof(T); }) => 9 ({ typedef struct __attribute__((packed)) { char a; int b[2]; } T; sizeof(T); }) => 9 offsetof(struct __attribute__((packed)) T { char a; int b[2]; }, b) => 1 _Alignof(struct __attribute__((packed)) { char a; int b[2]; }) => 1 ({ struct __attribute__((aligned(8))) { int a; } x; _Alignof(x); }) => 8 ({ struct { int a; } __attribute__((aligned(8))) x; _Alignof(x); }) => 8 ({ struct __attribute__((aligned(8), packed)) { char a; int b; } x; _Alignof(x); }) => 8 ({ struct { char a; int b; } __attribute__((aligned(8), packed)) x; _Alignof(x); }) => 8 offsetof(struct __attribute__((aligned(8), packed)) { char a; int b; }, b) => 1 offsetof(struct { char a; int b; } __attribute__((aligned(8), packed)), b) => 1 ({ struct __attribute__((aligned(8))) __attribute__((packed)) { char a; int b; } x; _Alignof(x); }) => 8 ({ struct { char a; int b; } __attribute__((aligned(8))) __attribute__((packed)) x; _Alignof(x); }) => 8 offsetof(struct __attribute__((aligned(8))) __attribute__((packed)) { char a; int b; }, b) => 1 offsetof(struct { char a; int b; } __attribute__((aligned(8))) __attribute__((packed)), b) => 1 ({ struct __attribute__((aligned(8))) { char a; int b; } __attribute__((packed)) x; _Alignof(x); }) => 8 offsetof(struct __attribute__((aligned(8))) { char a; int b; } __attribute__((packed)), b) => 1 ({ struct __attribute__((aligned(8+8))) { char a; int b; } x; _Alignof(x); }) => 16 OK test/bitfield.exe sizeof(struct {int x:1; }) => 4 sizeof(struct {long x:1; }) => 8 sizeof(struct bit1) => 4 ({ struct bit1 x; x.a=1; x.b=2; x.c=3; x.d=4; x.e=5; x.a; }) => 1 ({ struct bit1 x={1,2,3,4,5}; x.a; }) => 1 ({ struct bit1 x={1,2,3,4,5}; x.b; }) => 2 ({ struct bit1 x={1,2,3,4,5}; x.c; }) => -1 ({ struct bit1 x={1,2,3,4,5}; x.d; }) => -4 ({ struct bit1 x={1,2,3,4,5}; x.e; }) => -3 g45.a => 1 g45.b => 2 g45.c => 3 g46.a => 0 g46.b => 0 g46.c => 0 ({ T3 x={1,2,3}; x.a++; }) => 1 ({ T3 x={1,2,3}; x.b++; }) => 2 ({ T3 x={1,2,3}; x.c++; }) => 3 ({ T3 x={1,2,3}; ++x.a; }) => 2 ({ T3 x={1,2,3}; ++x.b; }) => 3 ({ T3 x={1,2,3}; ++x.c; }) => 4 sizeof(struct {int a:3; int c:1; int c:5;}) => 4 sizeof(struct {int a:3; int:0; int c:5;}) => 8 sizeof(struct {int a:3; int:0;}) => 4 OK test/builtin.exe __builtin_types_compatible_p(int, int) => 1 __builtin_types_compatible_p(double, double) => 1 __builtin_types_compatible_p(int, long) => 0 __builtin_types_compatible_p(long, float) => 0 __builtin_types_compatible_p(int *, int *) => 1 __builtin_types_compatible_p(short *, int *) => 0 __builtin_types_compatible_p(int **, int *) => 0 __builtin_types_compatible_p(const int, int) => 1 __builtin_types_compatible_p(unsigned, int) => 0 __builtin_types_compatible_p(signed, int) => 1 __builtin_types_compatible_p(struct {int a;}, struct {int a;}) => 0 __builtin_types_compatible_p(int (*)(void), int (*)(void)) => 1 __builtin_types_compatible_p(void (*)(int), void (*)(int)) => 1 __builtin_types_compatible_p(void (*)(int, double), void (*)(int, double)) => 1 __builtin_types_compatible_p(int (*)(float, double), int (*)(float, double)) => 1 __builtin_types_compatible_p(int (*)(float, double), int) => 0 __builtin_types_compatible_p(int (*)(float, double), int (*)(float)) => 0 __builtin_types_compatible_p(int (*)(float, double), int (*)(float, double, int)) => 0 __builtin_types_compatible_p(double (*)(...), double (*)(...)) => 1 __builtin_types_compatible_p(double (*)(...), double (*)(void)) => 0 ({ typedef struct {int a;} T; __builtin_types_compatible_p(T, T); }) => 1 ({ typedef struct {int a;} T; __builtin_types_compatible_p(T, const T); }) => 1 ({ struct {int a; int b;} x; __builtin_types_compatible_p(typeof(x.a), typeof(x.b)); }) => 1 OK test/cast.exe (int)8590066177 => 131585 (short)8590066177 => 513 (char)8590066177 => 1 (long)1 => 1 (long)&*(int *)0 => 0 ({ int x=512; *(char *)&x=1; x; }) => 513 ({ int x=5; long y=(long)&x; *(int*)y; }) => 5 (char)255 => -1 (signed char)255 => -1 (unsigned char)255 => 255 (short)65535 => -1 (unsigned short)65535 => 65535 (int)0xffffffff => -1 (unsigned)0xffffffff => -1 -1<1 => 1 -1<(unsigned)1 => 0 (char)127+(char)127 => 254 (short)32767+(short)32767 => 65534 -1>>1 => -1 (unsigned long)-1 => -1 ((unsigned)-1)>>1 => 2147483647 (-100)/2 => -50 ((unsigned)-100)/2 => 2147483598 ((unsigned long)-100)/2 => -50 ((long)-1)/(unsigned)100 => 0 (-100)%7 => -2 ((unsigned)-100)%7 => 2 ((unsigned long)-100)%9 => 6 (int)(unsigned short)65535 => 65535 ({ unsigned short x = 65535; x; }) => 65535 ({ unsigned short x = 65535; (int)x; }) => 65535 ({ typedef short T; T x = 65535; (int)x; }) => -1 ({ typedef unsigned short T; T x = 65535; (int)x; }) => 65535 (_Bool)0.0 => 0 (_Bool)0.1 => 1 (char)3.0 => 3 (short)1000.3 => 1000 (int)3.99 => 3 (long)2e15 => 1233977344 (float)3.5 => 3 (double)(float)5.5 => 5 (float)3 => 3 (double)3 => 3 (float)3L => 3 (double)3L => 3 OK test/commonsym.exe x => 5 y => 7 common_ext1 => 0 common_ext2 => 3 OK test/compat.exe OK test/complit.exe (int){1} => 1 ((int[]){0,1,2})[2] => 2 ((struct {char a; int b;}){'a', 3}).a => 97 ({ int x=3; (int){x}; }) => 3 tree->val => 1 tree->lhs->val => 2 tree->lhs->lhs->val => 3 tree->lhs->rhs->val => 4 OK test/const.exe ({ const x = 5; x; }) => 5 ({ const x = 8; int *const y=&x; *y; }) => 8 ({ const x = 6; *(const * const)&x; }) => 6 OK test/constexpr.exe ({ enum { ten=1+2+3+4 }; ten; }) => 10 ({ int i=0; switch(3) { case 5-2+0*3: i++; } i; }) => 1 ({ int x[1+1]; sizeof(x); }) => 8 ({ char x[8-2]; sizeof(x); }) => 6 ({ char x[2*3]; sizeof(x); }) => 6 ({ char x[12/4]; sizeof(x); }) => 3 ({ char x[12%10]; sizeof(x); }) => 2 ({ char x[0b110&0b101]; sizeof(x); }) => 4 ({ char x[0b110|0b101]; sizeof(x); }) => 7 ({ char x[0b111^0b001]; sizeof(x); }) => 6 ({ char x[1<<2]; sizeof(x); }) => 4 ({ char x[4>>1]; sizeof(x); }) => 2 ({ char x[(1==1)+1]; sizeof(x); }) => 2 ({ char x[(1!=1)+1]; sizeof(x); }) => 1 ({ char x[(1<1)+1]; sizeof(x); }) => 1 ({ char x[(1<=1)+1]; sizeof(x); }) => 2 ({ char x[1?2:3]; sizeof(x); }) => 2 ({ char x[0?2:3]; sizeof(x); }) => 3 ({ char x[(1,3)]; sizeof(x); }) => 3 ({ char x[!0+1]; sizeof(x); }) => 2 ({ char x[!1+1]; sizeof(x); }) => 1 ({ char x[~-3]; sizeof(x); }) => 2 ({ char x[(5||6)+1]; sizeof(x); }) => 2 ({ char x[(0||0)+1]; sizeof(x); }) => 1 ({ char x[(1&&1)+1]; sizeof(x); }) => 2 ({ char x[(1&&0)+1]; sizeof(x); }) => 1 ({ char x[(int)3]; sizeof(x); }) => 3 ({ char x[(char)0xffffff0f]; sizeof(x); }) => 15 ({ char x[(short)0xffff010f]; sizeof(x); }) => 271 ({ char x[(int)0xfffffffffff+5]; sizeof(x); }) => 4 ({ char x[(int*)0+2]; sizeof(x); }) => 8 ({ char x[(int*)16-1]; sizeof(x); }) => 12 ({ char x[(int*)16-(int*)4]; sizeof(x); }) => 3 ({ char x[(-1>>31)+5]; sizeof(x); }) => 4 ({ char x[(unsigned char)0xffffffff]; sizeof(x); }) => 255 ({ char x[(unsigned short)0xffff800f]; sizeof(x); }) => 32783 ({ char x[(unsigned int)0xfffffffffff>>31]; sizeof(x); }) => 1 ({ char x[(long)-1/((long)1<<62)+1]; sizeof(x); }) => 1 ({ char x[(unsigned long)-1/((long)1<<62)+1]; sizeof(x); }) => 4 ({ char x[(unsigned)1<-1]; sizeof(x); }) => 1 ({ char x[(unsigned)1<=-1]; sizeof(x); }) => 1 g40==1.5 => 1 g41==11 => 1 OK test/control.exe ({ int x; if (0) x=2; else x=3; x; }) => 3 ({ int x; if (1-1) x=2; else x=3; x; }) => 3 ({ int x; if (1) x=2; else x=3; x; }) => 2 ({ int x; if (2-1) x=2; else x=3; x; }) => 2 ({ int i=0; int j=0; for (i=0; i<=10; i=i+1) j=i+j; j; }) => 55 ({ int i=0; while(i<10) i=i+1; i; }) => 10 ({ 1; {2;} 3; }) => 3 ({ ;;; 5; }) => 5 ({ int i=0; while(i<10) i=i+1; i; }) => 10 ({ int i=0; int j=0; while(i<=10) {j=i+j; i=i+1;} j; }) => 55 (1,2,3) => 3 ({ int i=2, j=3; (i=5,j)=6; i; }) => 5 ({ int i=2, j=3; (i=5,j)=6; j; }) => 6 ({ int j=0; for (int i=0; i<=10; i=i+1) j=j+i; j; }) => 55 ({ int i=3; int j=0; for (int i=0; i<=10; i=i+1) j=j+i; i; }) => 3 0||1 => 1 0||(2-2)||5 => 1 0||0 => 0 0||(2-2) => 0 0&&1 => 0 (2-2)&&5 => 0 1&&5 => 1 ({ int i=0; goto a; a: i++; b: i++; c: i++; i; }) => 3 ({ int i=0; goto e; d: i++; e: i++; f: i++; i; }) => 2 ({ int i=0; goto i; g: i++; h: i++; i: i++; i; }) => 1 ({ typedef int foo; goto foo; foo:; 1; }) => 1 ({ int i=0; for(;i<10;i++) { if (i == 3) break; } i; }) => 3 ({ int i=0; while (1) { if (i++ == 3) break; } i; }) => 4 ({ int i=0; for(;i<10;i++) { for (;;) break; if (i == 3) break; } i; }) => 3 ({ int i=0; while (1) { while(1) break; if (i++ == 3) break; } i; }) => 4 ({ int i=0; int j=0; for (;i<10;i++) { if (i>5) continue; j++; } i; }) => 10 ({ int i=0; int j=0; for (;i<10;i++) { if (i>5) continue; j++; } j; }) => 6 ({ int i=0; int j=0; for(;!i;) { for (;j!=10;j++) continue; break; } j; }) => 10 ({ int i=0; int j=0; while (i++<10) { if (i>5) continue; j++; } i; }) => 11 ({ int i=0; int j=0; while (i++<10) { if (i>5) continue; j++; } j; }) => 5 ({ int i=0; int j=0; while(!i) { while (j++!=10) continue; break; } j; }) => 11 ({ int i=0; switch(0) { case 0:i=5;break; case 1:i=6;break; case 2:i=7;break; } i; }) => 5 ({ int i=0; switch(1) { case 0:i=5;break; case 1:i=6;break; case 2:i=7;break; } i; }) => 6 ({ int i=0; switch(2) { case 0:i=5;break; case 1:i=6;break; case 2:i=7;break; } i; }) => 7 ({ int i=0; switch(3) { case 0:i=5;break; case 1:i=6;break; case 2:i=7;break; } i; }) => 0 ({ int i=0; switch(0) { case 0:i=5;break; default:i=7; } i; }) => 5 ({ int i=0; switch(1) { case 0:i=5;break; default:i=7; } i; }) => 7 ({ int i=0; switch(1) { case 0: 0; case 1: 0; case 2: 0; i=2; } i; }) => 2 ({ int i=0; switch(3) { case 0: 0; case 1: 0; case 2: 0; i=2; } i; }) => 0 ({ int i=0; switch(-1) { case 0xffffffff: i=3; break; } i; }) => 3 ({ int i=0; int j=0; do { j++; } while (i++ < 6); j; }) => 7 ({ int i=0; int j=0; int k=0; do { if (++j > 3) break; continue; k++; } while (1); j; }) => 4 0.0 && 0.0 => 0 0.0 && 0.1 => 0 0.3 && 0.0 => 0 0.3 && 0.5 => 1 0.0 || 0.0 => 0 0.0 || 0.1 => 1 0.3 || 0.0 => 1 0.3 || 0.5 => 1 ({ int x; if (0.0) x=3; else x=5; x; }) => 5 ({ int x; if (0.1) x=3; else x=5; x; }) => 3 ({ int x=5; if (0.0) x=3; x; }) => 5 ({ int x=5; if (0.1) x=3; x; }) => 3 ({ double i=10.0; int j=0; for (; i; i--, j++); j; }) => 10 ({ double i=10.0; int j=0; do j++; while(--i); j; }) => 10 ({ int i=0; switch(7) { case 0 ... 5: i=1; break; case 6 ... 20: i=2; break; } i; }) => 2 ({ int i=0; switch(7) { case 0 ... 7: i=1; break; case 8 ... 10: i=2; break; } i; }) => 1 ({ int i=0; switch(7) { case 0: i=1; break; case 7 ... 7: i=1; break; } i; }) => 1 ({ void *p = &&v11; int i=0; goto *p; v11:i++; v12:i++; v13:i++; i; }) => 3 ({ void *p = &&v22; int i=0; goto *p; v21:i++; v22:i++; v23:i++; i; }) => 2 ({ void *p = &&v33; int i=0; goto *p; v31:i++; v32:i++; v33:i++; i; }) => 1 ({ static void *p[]={&&v41,&&v42,&&v43}; int i=0; goto *p[0]; v41:i++; v42:i++; v43:i++; i; }) => 3 ({ static void *p[]={&&v52,&&v52,&&v53}; int i=0; goto *p[1]; v51:i++; v52:i++; v53:i++; i; }) => 2 ({ static void *p[]={&&v62,&&v62,&&v63}; int i=0; goto *p[2]; v61:i++; v62:i++; v63:i++; i; }) => 1 OK test/decl.exe ({ char x; sizeof(x); }) => 1 ({ short int x; sizeof(x); }) => 2 ({ int short x; sizeof(x); }) => 2 ({ int x; sizeof(x); }) => 4 ({ long int x; sizeof(x); }) => 8 ({ int long x; sizeof(x); }) => 8 ({ long long x; sizeof(x); }) => 8 ({ _Bool x=0; x; }) => 0 ({ _Bool x=1; x; }) => 1 ({ _Bool x=2; x; }) => 1 (_Bool)1 => 1 (_Bool)2 => 1 (_Bool)(char)256 => 0 OK test/enum.exe ({ enum { zero, one, two }; zero; }) => 0 ({ enum { zero, one, two }; one; }) => 1 ({ enum { zero, one, two }; two; }) => 2 ({ enum { five=5, six, seven }; five; }) => 5 ({ enum { five=5, six, seven }; six; }) => 6 ({ enum { zero, five=5, three=3, four }; zero; }) => 0 ({ enum { zero, five=5, three=3, four }; five; }) => 5 ({ enum { zero, five=5, three=3, four }; three; }) => 3 ({ enum { zero, five=5, three=3, four }; four; }) => 4 ({ enum { zero, one, two } x; sizeof(x); }) => 4 ({ enum t { zero, one, two }; enum t y; sizeof(y); }) => 4 OK test/extern.exe ext1 => 5 *ext2 => 5 ext3 => 7 ext_fn1(5) => 5 ext_fn2(8) => 8 OK test/float.exe (float)(char)35 => 35 (float)(short)35 => 35 (float)(int)35 => 35 (float)(long)35 => 35 (float)(unsigned char)35 => 35 (float)(unsigned short)35 => 35 (float)(unsigned int)35 => 35 (float)(unsigned long)35 => 35 (double)(char)35 => 35 (double)(short)35 => 35 (double)(int)35 => 35 (double)(long)35 => 35 (double)(unsigned char)35 => 35 (double)(unsigned short)35 => 35 (double)(unsigned int)35 => 35 (double)(unsigned long)35 => 35 (char)(float)35 => 35 (short)(float)35 => 35 (int)(float)35 => 35 (long)(float)35 => 35 (unsigned char)(float)35 => 35 (unsigned short)(float)35 => 35 (unsigned int)(float)35 => 35 (unsigned long)(float)35 => 35 (char)(double)35 => 35 (short)(double)35 => 35 (int)(double)35 => 35 (long)(double)35 => 35 (unsigned char)(double)35 => 35 (unsigned short)(double)35 => 35 (unsigned int)(double)35 => 35 (unsigned long)(double)35 => 35 (double)(unsigned long)(long)-1 => -2147483648 2e3==2e3 => 1 2e3==2e5 => 0 2.0==2 => 1 5.1<5 => 0 5.0<5 => 0 4.9<5 => 1 5.1<=5 => 0 5.0<=5 => 1 4.9<=5 => 1 2e3f==2e3 => 1 2e3f==2e5 => 0 2.0f==2 => 1 5.1f<5 => 0 5.0f<5 => 0 4.9f<5 => 1 5.1f<=5 => 0 5.0f<=5 => 1 4.9f<=5 => 1 2.3+3.8 => 6 2.3-3.8 => -1 -3.8 => -3 3.3*4 => 13 5.0/2 => 2 2.3f+3.8f => 6 2.3f+3.8 => 6 2.3f-3.8 => -1 -3.8f => -3 3.3f*4 => 13 5.0f/2 => 2 0.0/0.0 == 0.0/0.0 => 0 0.0/0.0 != 0.0/0.0 => 1 0.0/0.0 < 0 => 0 0.0/0.0 <= 0 => 0 0.0/0.0 > 0 => 0 0.0/0.0 >= 0 => 0 !3. => 0 !0. => 1 !3.f => 0 !0.f => 1 0.0 ? 3 : 5 => 5 1.2 ? 3 : 5 => 3 OK test/function.exe ret3() => 3 add2(3, 5) => 8 sub2(5, 3) => 2 add6(1,2,3,4,5,6) => 21 add6(1,2,add6(3,4,5,6,7,8),9,10,11) => 66 add6(1,2,add6(3,add6(4,5,6,7,8,9),10,11,12,13),14,15,16) => 136 add2(3,4) => 7 sub2(4,3) => 1 fib(9) => 55 ({ sub_char(7, 3, 3); }) => 1 sub_long(7, 3, 3) => 1 sub_short(7, 3, 3) => 1 *g1_ptr() => 3 int_to_char(261) => 5 int_to_char(261) => 5 div_long(-10, 2) => -5 bool_fn_add(3) => 1 bool_fn_sub(3) => 0 bool_fn_add(-3) => 1 bool_fn_sub(-3) => 0 bool_fn_add(0) => 1 bool_fn_sub(0) => 1 static_fn() => 3 ({ int x[2]; x[0]=3; param_decay(x); }) => 3 counter() => 2 counter() => 4 counter() => 6 true_fn() => 1 false_fn() => 0 char_fn() => 3 short_fn() => 5 add_all(3,1,2,3) => 6 add_all(4,1,2,3,-1) => 5 1 2 foo ({ char buf[100]; sprintf(buf, "%d %d %s", 1, 2, "foo"); strcmp("1 2 foo", buf); }) => 0 ({ char buf[100]; fmt(buf, "%d %d %s", 1, 2, "foo"); strcmp("1 2 foo", buf); }) => 0 uchar_fn() => 251 ushort_fn() => 65528 schar_fn() => -5 sshort_fn() => -8 add_float(2.3, 3.8) => 6 add_double(2.3, 3.8) => 6 add_float3(2.5, 2.5, 2.5) => 7 add_double3(2.5, 2.5, 2.5) => 7 ({ char buf[100]; sprintf(buf, "%.1f", (float)3.5); strcmp(buf, "3.5"); }) => 0 ({ char buf[100]; fmt(buf, "%.1f", (float)3.5); strcmp(buf, "3.5"); }) => 0 (add2)(2,3) => 5 (&add2)(2,3) => 5 ({ int (*fn)(int,int) = add2; fn(2,5); }) => 7 fnptr(add_all)(3, 1, 2, 3) => 6 param_decay2(ret3) => 3 sizeof(__func__) => 5 strcmp("main", __func__) => 0 strcmp("func_fn", func_fn()) => 0 strcmp("main", __FUNCTION__) => 0 strcmp("function_fn", function_fn()) => 0 add10_int(1,2,3,4,5,6,7,8,9,10) => 55 add10_float(1,2,3,4,5,6,7,8,9,10) => 55 add10_double(1,2,3,4,5,6,7,8,9,10) => 55 ({ char buf[200]; sprintf(buf, "%d %.1f %.1f %.1f %d %d %.1f %d %d %d %d %.1f %d %d %.1f %.1f %.1f %.1f %d", 1, 1.0, 1.0, 1.0, 1, 1, 1.0, 1, 1, 1, 1, 1.0, 1, 1, 1.0, 1.0, 1.0, 1.0, 1); strcmp("1 1.0 1.0 1.0 1 1 1.0 1 1 1 1 1.0 1 1 1.0 1.0 1.0 1.0 1", buf); }) => 0 many_args1(1,2,3,4,5,6,40,10) => 4 many_args2(1,2,3,4,5,6,7,8,40,10) => 4 many_args3(1,2,3,4,5,6,7,8,9,10,11,12,13,14,80,10) => 8 ({ Ty4 x={10,20,30,40}; struct_test4(x, 0); }) => 10 ({ Ty4 x={10,20,30,40}; struct_test4(x, 1); }) => 20 ({ Ty4 x={10,20,30,40}; struct_test4(x, 2); }) => 30 ({ Ty4 x={10,20,30,40}; struct_test4(x, 3); }) => 40 ({ Ty5 x={10,20,30}; struct_test5(x, 0); }) => 10 ({ Ty5 x={10,20,30}; struct_test5(x, 1); }) => 20 ({ Ty5 x={10,20,30}; struct_test5(x, 2); }) => 30 ({ Ty6 x={10,20,30}; struct_test6(x, 0); }) => 10 ({ Ty6 x={10,20,30}; struct_test6(x, 1); }) => 20 ({ Ty6 x={10,20,30}; struct_test6(x, 2); }) => 30 ({ Ty7 x={10,20,30}; struct_test7(x, 0); }) => 10 ({ Ty7 x={10,20,30}; struct_test7(x, 1); }) => 20 ({ Ty7 x={10,20,30}; struct_test7(x, 2); }) => 30 ({ Ty4 x={10,20,30,40}; struct_test14(x, 0); }) => 10 ({ Ty4 x={10,20,30,40}; struct_test14(x, 1); }) => 20 ({ Ty4 x={10,20,30,40}; struct_test14(x, 2); }) => 30 ({ Ty4 x={10,20,30,40}; struct_test14(x, 3); }) => 40 ({ Ty5 x={10,20,30}; struct_test15(x, 0); }) => 10 ({ Ty5 x={10,20,30}; struct_test15(x, 1); }) => 20 ({ Ty5 x={10,20,30}; struct_test15(x, 2); }) => 30 struct_test24().a => 10 struct_test24().b => 20 struct_test24().c => 30 struct_test24().d => 40 struct_test25().a => 10 struct_test25().b => 20 struct_test25().c => 30 struct_test26().a[0] => 10 struct_test26().a[1] => 20 struct_test26().a[2] => 30 struct_test27().a[0] => 10 struct_test27().a[5] => 60 struct_test27().a[9] => 100 struct_test28().a[0] => 1 struct_test28().a[4] => 5 struct_test28().a[9] => 10 struct_test28().a[14] => 15 struct_test28().a[19] => 20 struct_test34().a => 10 struct_test34().b => 20 struct_test34().c => 30 struct_test34().d => 40 struct_test35().a => 10 struct_test35().b => 20 struct_test35().c => 30 struct_test36().a[0] => 10 struct_test36().a[1] => 20 struct_test36().a[2] => 30 struct_test37().a[0] => 10 struct_test37().a[5] => 60 struct_test37().a[9] => 100 struct_test38().a[0] => 1 struct_test38().a[4] => 5 struct_test38().a[9] => 10 struct_test38().a[14] => 15 struct_test38().a[19] => 20 (***add2)(2,3) => 5 inline_fn() => 3 ({ char buf[100]; sprintf(buf, "%Lf", (long double)12.3); strncmp(buf, "12.3", 4); }) => 0 to_double(3.5) == 3.5 => 1 to_double(3.5) == 3 => 0 (long double)5.0 == (long double)5.0 => 1 (long double)5.0 == (long double)5.2 => 0 to_ldouble(5.0) == 5.0 => 1 to_ldouble(5.0) == 5.2 => 0 OK test/generic.exe _Generic(100.0, double: 1, int *: 2, int: 3, float: 4) => 1 _Generic((int *)0, double: 1, int *: 2, int: 3, float: 4) => 2 _Generic((int[3]){}, double: 1, int *: 2, int: 3, float: 4) => 2 _Generic(100, double: 1, int *: 2, int: 3, float: 4) => 3 _Generic(100f, double: 1, int *: 2, int: 3, float: 4) => 4 OK test/initializer.exe ({ int x[3]={1,2,3}; x[0]; }) => 1 ({ int x[3]={1,2,3}; x[1]; }) => 2 ({ int x[3]={1,2,3}; x[2]; }) => 3 ({ int x[3]={1,2,3}; x[2]; }) => 3 ({ int x[2][3]={{1,2,3},{4,5,6}}; x[0][1]; }) => 2 ({ int x[2][3]={{1,2,3},{4,5,6}}; x[1][0]; }) => 4 ({ int x[2][3]={{1,2,3},{4,5,6}}; x[1][2]; }) => 6 ({ int x[3]={}; x[0]; }) => 0 ({ int x[3]={}; x[1]; }) => 0 ({ int x[3]={}; x[2]; }) => 0 ({ int x[2][3]={{1,2}}; x[0][1]; }) => 2 ({ int x[2][3]={{1,2}}; x[1][0]; }) => 0 ({ int x[2][3]={{1,2}}; x[1][2]; }) => 0 ({ char x[4]="abc"; x[0]; }) => 97 ({ char x[4]="abc"; x[2]; }) => 99 ({ char x[4]="abc"; x[3]; }) => 0 ({ char x[2][4]={"abc","def"}; x[0][0]; }) => 97 ({ char x[2][4]={"abc","def"}; x[0][3]; }) => 0 ({ char x[2][4]={"abc","def"}; x[1][0]; }) => 100 ({ char x[2][4]={"abc","def"}; x[1][2]; }) => 102 ({ int x[]={1,2,3,4}; x[3]; }) => 4 ({ int x[]={1,2,3,4}; sizeof(x); }) => 16 ({ char x[]="foo"; sizeof(x); }) => 4 ({ typedef char T[]; T x="foo"; T y="x"; sizeof(x); }) => 4 ({ typedef char T[]; T x="foo"; T y="x"; sizeof(y); }) => 2 ({ typedef char T[]; T x="x"; T y="foo"; sizeof(x); }) => 2 ({ typedef char T[]; T x="x"; T y="foo"; sizeof(y); }) => 4 ({ struct {int a; int b; int c;} x={1,2,3}; x.a; }) => 1 ({ struct {int a; int b; int c;} x={1,2,3}; x.b; }) => 2 ({ struct {int a; int b; int c;} x={1,2,3}; x.c; }) => 3 ({ struct {int a; int b; int c;} x={1}; x.a; }) => 1 ({ struct {int a; int b; int c;} x={1}; x.b; }) => 0 ({ struct {int a; int b; int c;} x={1}; x.c; }) => 0 ({ struct {int a; int b;} x[2]={{1,2},{3,4}}; x[0].a; }) => 1 ({ struct {int a; int b;} x[2]={{1,2},{3,4}}; x[0].b; }) => 2 ({ struct {int a; int b;} x[2]={{1,2},{3,4}}; x[1].a; }) => 3 ({ struct {int a; int b;} x[2]={{1,2},{3,4}}; x[1].b; }) => 4 ({ struct {int a; int b;} x[2]={{1,2}}; x[1].b; }) => 0 ({ struct {int a; int b;} x={}; x.a; }) => 0 ({ struct {int a; int b;} x={}; x.b; }) => 0 ({ typedef struct {int a,b,c,d,e,f;} T; T x={1,2,3,4,5,6}; T y; y=x; y.e; }) => 5 ({ typedef struct {int a,b;} T; T x={1,2}; T y, z; z=y=x; z.b; }) => 2 ({ typedef struct {int a,b;} T; T x={1,2}; T y=x; y.a; }) => 1 ({ union { int a; char b[4]; } x={0x01020304}; x.b[0]; }) => 4 ({ union { int a; char b[4]; } x={0x01020304}; x.b[1]; }) => 3 ({ union { struct { char a,b,c,d; } e; int f; } x={{4,3,2,1}}; x.f; }) => 16909060 g3 => 3 g4 => 4 g5 => 5 g6 => 6 g9[0] => 0 g9[1] => 1 g9[2] => 2 g11[0].a => 1 g11[0].b => 2 g11[1].a => 3 g11[1].b => 4 g12[0].a[0] => 1 g12[0].a[1] => 2 g12[1].a[0] => 0 g12[1].a[1] => 0 g13[0].b[0] => 4 g13[0].b[1] => 3 g13[1].b[0] => 8 g13[1].b[1] => 7 sizeof(g17) => 7 sizeof(g18) => 10 sizeof(g19) => 3 memcmp(g17, "foobar", 7) => 0 memcmp(g18, "foobar\0\0\0", 10) => 0 memcmp(g19, "foo", 3) => 0 strcmp(g20, "foobar") => 0 strcmp(g21, "bar") => 0 strcmp(g22+3, "foobar") => 0 strcmp(g23[0], "foobar") => 0 strcmp(g23[1], "bar") => 0 strcmp(g23[2]+3, "foobar") => 0 g24 => 3 *g25 => 3 *g27 => 2 *g28 => 3 *(int *)g29 => 1 g31[0] => 1 g31[1] => 2 g31[2] => 3 g40[0].a[0] => 1 g40[0].a[1] => 2 g40[1].a[0] => 3 g40[1].a[1] => 4 g41[0].a[0] => 1 g41[0].a[1] => 2 g41[1].a[0] => 3 g41[1].a[1] => 4 ({ int x[2][3]={0,1,2,3,4,5}; x[0][0]; }) => 0 ({ int x[2][3]={0,1,2,3,4,5}; x[1][0]; }) => 3 ({ struct {int a; int b;} x[2]={0,1,2,3}; x[0].a; }) => 0 ({ struct {int a; int b;} x[2]={0,1,2,3}; x[1].a; }) => 2 strcmp(g43[0], "foo") => 0 strcmp(g43[1], "bar") => 0 strcmp(g44, "foo") => 0 ({ int a[]={1,2,3,}; a[2]; }) => 3 ({ struct {int a,b,c;} x={1,2,3,}; x.a; }) => 1 ({ union {int a; char b;} x={1,}; x.a; }) => 1 ({ enum {x,y,z,}; z; }) => 2 sizeof(g60) => 3 sizeof(g61) => 6 sizeof(g65) => 4 sizeof(g66) => 7 strcmp(g65.b, "oo") => 0 strcmp(g66.b, "oobar") => 0 ({ int x[3]={1, 2, 3, [0]=4, 5}; x[0]; }) => 4 ({ int x[3]={1, 2, 3, [0]=4, 5}; x[1]; }) => 5 ({ int x[3]={1, 2, 3, [0]=4, 5}; x[2]; }) => 3 ({ int x[2][3]={1,2,3,4,5,6,[0][1]=7,8,[0]=9,[0]=10,11,[1][0]=12}; x[0][0]; }) => 10 ({ int x[2][3]={1,2,3,4,5,6,[0][1]=7,8,[0]=9,[0]=10,11,[1][0]=12}; x[0][1]; }) => 11 ({ int x[2][3]={1,2,3,4,5,6,[0][1]=7,8,[0]=9,[0]=10,11,[1][0]=12}; x[0][2]; }) => 8 ({ int x[2][3]={1,2,3,4,5,6,[0][1]=7,8,[0]=9,[0]=10,11,[1][0]=12}; x[1][0]; }) => 12 ({ int x[2][3]={1,2,3,4,5,6,[0][1]=7,8,[0]=9,[0]=10,11,[1][0]=12}; x[1][1]; }) => 5 ({ int x[2][3]={1,2,3,4,5,6,[0][1]=7,8,[0]=9,[0]=10,11,[1][0]=12}; x[1][2]; }) => 6 ({ int x[2][3]={1,2,3,4,5,6,[0]={7,8},9,10}; x[0][0]; }) => 7 ({ int x[2][3]={1,2,3,4,5,6,[0]={7,8},9,10}; x[0][1]; }) => 8 ({ int x[2][3]={1,2,3,4,5,6,[0]={7,8},9,10}; x[0][2]; }) => 3 ({ int x[2][3]={1,2,3,4,5,6,[0]={7,8},9,10}; x[1][0]; }) => 9 ({ int x[2][3]={1,2,3,4,5,6,[0]={7,8},9,10}; x[1][1]; }) => 10 ({ int x[2][3]={1,2,3,4,5,6,[0]={7,8},9,10}; x[1][2]; }) => 6 ((int[10]){ [3]=7 })[3] => 7 ((int[10]){ [3]=7 })[4] => 0 ({ char x[]={[10-3]=1,2,3}; sizeof(x); }) => 10 ({ char x[][2]={[8][1]=1,2}; sizeof(x); }) => 20 sizeof(g60) => 3 sizeof(g61) => 6 sizeof(g65) => 4 sizeof(g66) => 7 strcmp(g65.b, "oo") => 0 strcmp(g66.b, "oobar") => 0 ((int[10]){ [3] 7 })[3] => 7 ((int[10]){ [3] 7 })[4] => 0 ({ struct { int a,b; } x={1,2,.b=3,.a=4}; x.a; }) => 4 ({ struct { int a,b; } x={1,2,.b=3,.a=4}; x.b; }) => 3 ({ struct { struct { int a,b; } c; } x={.c=1,2}; x.c.a; }) => 1 ({ struct { struct { int a,b; } c; } x={.c=1,2}; x.c.b; }) => 2 ({ struct { struct { int a,b; } c; } x={.c.b=1}; x.c.a; }) => 0 ({ struct { struct { int a,b; } c; } x={.c.b=1}; x.c.b; }) => 1 ({ struct { int a[2]; } x={.a=1,2}; x.a[0]; }) => 1 ({ struct { int a[2]; } x={.a=1,2}; x.a[1]; }) => 2 ({ struct { int a[2]; } x={.a[1]=1}; x.a[0]; }) => 0 ({ struct { int a[2]; } x={.a[1]=1}; x.a[1]; }) => 1 ({ struct { int a,b; } x[]={[1].b=1,2,[0]=3,4,}; x[0].a; }) => 3 ({ struct { int a,b; } x[]={[1].b=1,2,[0]=3,4,}; x[0].b; }) => 4 ({ struct { int a,b; } x[]={[1].b=1,2,[0]=3,4,}; x[1].a; }) => 0 ({ struct { int a,b; } x[]={[1].b=1,2,[0]=3,4,}; x[1].b; }) => 1 ({ struct { int a,b; } x[]={[1].b=1,2,[0]=3,4,}; x[2].a; }) => 2 ({ struct { int a,b; } x[]={[1].b=1,2,[0]=3,4,}; x[2].b; }) => 0 ({ typedef struct { int a,b; } T; T x={1,2}; T y[]={x}; y[0].a; }) => 1 ({ typedef struct { int a,b; } T; T x={1,2}; T y[]={x}; y[0].b; }) => 2 ({ typedef struct { int a,b; } T; T x={1,2}; T y[]={x, [0].b=3}; y[0].a; }) => 0 ({ typedef struct { int a,b; } T; T x={1,2}; T y[]={x, [0].b=3}; y[0].b; }) => 3 ((struct { int a,b,c; }){ .c=5 }).c => 5 ((struct { int a,b,c; }){ .c=5 }).a => 0 ({ union { unsigned short a; char b[2]; } x={.b[0]=0xff}; x.a; }) => 255 ({ union { unsigned short a; char b[2]; } x={.b[1]=0xff}; x.a; }) => 65280 g50.a => 1179648 g51[0].a => 0 g51[1].a => 0 ({ struct { struct { int a; struct { int b; }; }; int c; } x={1,2,3,.b=4,5}; x.a; }) => 1 ({ struct { struct { int a; struct { int b; }; }; int c; } x={1,2,3,.b=4,5}; x.b; }) => 4 ({ struct { struct { int a; struct { int b; }; }; int c; } x={1,2,3,.b=4,5}; x.c; }) => 5 ({ char x[]={[2 ... 10]='a', [7]='b', [15 ... 15]='c', [3 ... 5]='d'}; sizeof(x); }) => 16 ({ char x[]={[2 ... 10]='a', [7]='b', [15 ... 15]='c', [3 ... 5]='d'}; memcmp(x, "\0\0adddabaaa\0\0\0\0c", 16); }) => 0 OK test/line.exe __LINE__ => 501 strcmp("foo", "foo") => 0 __LINE__ => 801 strcmp("bar", "bar") => 0 __LINE__ => 2 __LINE__ => 201 strcmp("xyz", "xyz") => 0 OK test/literal.exe 'a' => 97 '\n' => 10 '\x80' => -128 0777 => 511 0x0 => 0 0xa => 10 0XA => 10 0xbeef => 48879 0xBEEF => 48879 0XBEEF => 48879 0b0 => 0 0b1 => 1 0b101111 => 47 0B101111 => 47 sizeof(0) => 4 sizeof(0L) => 8 sizeof(0LU) => 8 sizeof(0UL) => 8 sizeof(0LL) => 8 sizeof(0LLU) => 8 sizeof(0Ull) => 8 sizeof(0l) => 8 sizeof(0ll) => 8 sizeof(0x0L) => 8 sizeof(0b0L) => 8 sizeof(2147483647) => 4 sizeof(2147483648) => 8 0xffffffffffffffff => -1 sizeof(0xffffffffffffffff) => 8 sizeof(4294967295U) => 4 sizeof(4294967296U) => 8 -1U>>30 => 3 -1Ul>>62 => 3 -1ull>>62 => 3 0xffffffffffffffffl>>63 => 1 0xffffffffffffffffll>>63 => 1 18446744073709551615 => -1 sizeof(18446744073709551615) => 8 18446744073709551615>>63 => -1 0xffffffffffffffff => -1 sizeof(0xffffffffffffffff) => 8 0xffffffffffffffff>>63 => 1 01777777777777777777777 => -1 sizeof(01777777777777777777777) => 8 01777777777777777777777>>63 => 1 0b1111111111111111111111111111111111111111111111111111111111111111 => -1 sizeof(0b1111111111111111111111111111111111111111111111111111111111111111) => 8 0b1111111111111111111111111111111111111111111111111111111111111111>>63 => 1 sizeof(2147483648) => 8 sizeof(2147483647) => 4 sizeof(0x1ffffffff) => 8 sizeof(0xffffffff) => 4 0xffffffff>>31 => 1 sizeof(040000000000) => 8 sizeof(037777777777) => 4 037777777777>>31 => 1 sizeof(0b111111111111111111111111111111111) => 8 sizeof(0b11111111111111111111111111111111) => 4 0b11111111111111111111111111111111>>31 => 1 1 << 31 >> 31 => -1 01 << 31 >> 31 => -1 0x1 << 31 >> 31 => -1 0b1 << 31 >> 31 => -1 sizeof(8f) => 4 sizeof(0.3F) => 4 sizeof(0.) => 8 sizeof(.0) => 8 sizeof(5.l) => 16 sizeof(2.0L) => 16 sizeof(char) => 1 sizeof(L'\0') => 4 L'a' => 97 OK test/macro.exe include1 => 5 include2 => 7 m => 5 m => 3 m => 3 m => 2 m => 2 m => 3 m => 1 m => 2 M1 => 3 M1 => 4 M1 5 => 12 M1*5 => 23 5 => 5 m => 5 m => 5 M2 => 9 M3 => 12 M4 => 13 m => 3 m => 5 m => 3 m => 5 M7() => 1 M7 => 5 ret3 () => 3 M8(3, 4) => 7 M8(3+4, 4+5) => 24 M8(3+4, 4+5) => 63 M8(, 4+5) => 9 M8((2+3), 4) => 20 M8((2,3), 4) => 12 dbl(2) => 10 M11( a!b `""c)[0] => 97 M11( a!b `""c)[1] => 33 M11( a!b `""c)[2] => 98 M11( a!b `""c)[3] => 32 M11( a!b `""c)[4] => 96 M11( a!b `""c)[5] => 34 M11( a!b `""c)[6] => 34 M11( a!b `""c)[7] => 99 M11( a!b `""c)[8] => 0 paste(1,5) => 15 paste(0,xff) => 255 ({ int foobar=3; foobar; }) => 3 paste(5,) => 5 paste(,5) => 5 ({ int i3=100; 1+i3; }) => 101 paste2(1+2) => 26 paste3(1+2) => 23 paste4(1,2,3) => 123 m => 3 m => 3 m => 4 m => 4 m => 5 strcmp("foo.bar", "foo.bar") => 0 strcmp("foo. bar", "foo. bar") => 0 strcmp("bar.foo", "bar.foo") => 0 strcmp("bar. foo", "bar. foo") => 0 foo => 3 foo => 4 foo => 3 foo => 4 __STDC__ => 1 strcmp(main_filename1, "test/macro.c") => 0 main_line1 => 5 main_line2 => 7 strcmp(include1_filename, "test/include1.h") => 0 include1_line => 4 M14() => 3 M14() 2 => 2 M14(5) => 5 M14(2, 6) => 8 M14(3,4,5) => 21 M14(3,4,5) => 21 M14() => 3 M14(5) => 5 M14() 2 => 2 M14(5) => 5 M14(2, 6) => 8 M14(3,4,5) => 21 M14(3,4,5) => 21 M14(5) => 5 ({ int f0zz=5; f0zz; }) => 5 ({ 4.57 + 0.5; }) => 5 strlen("Nov 11 2024") => 11 strlen("10:16:44") => 8 __COUNTER__ => 0 __COUNTER__ => 1 __COUNTER__ => 2 strlen("Mon Dec 7 03:00:06 2020") => 24 strcmp("test/macro.c", "test/macro.c") => 0 ({ char buf[100]; sprintf(buf, "foo"); strcmp(buf, "foo"); }) => 0 ({ char buf[100]; sprintf(buf, "foo%d", 3); strcmp(buf, "foo3"); }) => 0 ({ char buf[100]; sprintf(buf, "foo%d%d", 3, 5); strcmp(buf, "foo35"); }) => 0 ({ char buf[100]; sprintf(buf, "foo"); strcmp(buf, "foo"); }) => 0 ({ char buf[100]; sprintf(buf, "foo%d", 3); strcmp(buf, "foo3"); }) => 0 ({ char buf[100]; sprintf(buf, "foo%d%d", 3, 5); strcmp(buf, "foo35"); }) => 0 M31(, 3) => 3 OK test/offsetof.exe offsetof(T, a) => 0 offsetof(T, b) => 4 offsetof(T, c) => 8 offsetof(T, d) => 16 OK test/pointer.exe ({ int x=3; *&x; }) => 3 ({ int x=3; int *y=&x; int **z=&y; **z; }) => 3 ({ int x=3; int y=5; *(&x+1); }) => 5 ({ int x=3; int y=5; *(&y-1); }) => 3 ({ int x=3; int y=5; *(&x-(-1)); }) => 5 ({ int x=3; int *y=&x; *y=5; x; }) => 5 ({ int x=3; int y=5; *(&x+1)=7; y; }) => 7 ({ int x=3; int y=5; *(&y-2+1)=7; x; }) => 7 ({ int x=3; (&x+2)-&x+3; }) => 5 ({ int x, y; x=3; y=5; x+y; }) => 8 ({ int x=3, y=5; x+y; }) => 8 ({ int x[2]; int *y=&x; *y=3; *x; }) => 3 ({ int x[3]; *x=3; *(x+1)=4; *(x+2)=5; *x; }) => 3 ({ int x[3]; *x=3; *(x+1)=4; *(x+2)=5; *(x+1); }) => 4 ({ int x[3]; *x=3; *(x+1)=4; *(x+2)=5; *(x+2); }) => 5 ({ int x[2][3]; int *y=x; *y=0; **x; }) => 0 ({ int x[2][3]; int *y=x; *(y+1)=1; *(*x+1); }) => 1 ({ int x[2][3]; int *y=x; *(y+2)=2; *(*x+2); }) => 2 ({ int x[2][3]; int *y=x; *(y+3)=3; **(x+1); }) => 3 ({ int x[2][3]; int *y=x; *(y+4)=4; *(*(x+1)+1); }) => 4 ({ int x[2][3]; int *y=x; *(y+5)=5; *(*(x+1)+2); }) => 5 ({ int x[3]; *x=3; x[1]=4; x[2]=5; *x; }) => 3 ({ int x[3]; *x=3; x[1]=4; x[2]=5; *(x+1); }) => 4 ({ int x[3]; *x=3; x[1]=4; x[2]=5; *(x+2); }) => 5 ({ int x[3]; *x=3; x[1]=4; x[2]=5; *(x+2); }) => 5 ({ int x[3]; *x=3; x[1]=4; 2[x]=5; *(x+2); }) => 5 ({ int x[2][3]; int *y=x; y[0]=0; x[0][0]; }) => 0 ({ int x[2][3]; int *y=x; y[1]=1; x[0][1]; }) => 1 ({ int x[2][3]; int *y=x; y[2]=2; x[0][2]; }) => 2 ({ int x[2][3]; int *y=x; y[3]=3; x[1][0]; }) => 3 ({ int x[2][3]; int *y=x; y[4]=4; x[1][1]; }) => 4 ({ int x[2][3]; int *y=x; y[5]=5; x[1][2]; }) => 5 OK test/pragma-once.exe OK test/sizeof.exe sizeof(char) => 1 sizeof(short) => 2 sizeof(short int) => 2 sizeof(int short) => 2 sizeof(int) => 4 sizeof(long) => 8 sizeof(long int) => 8 sizeof(long int) => 8 sizeof(char *) => 8 sizeof(int *) => 8 sizeof(long *) => 8 sizeof(int **) => 8 sizeof(int(*)[4]) => 8 sizeof(int*[4]) => 32 sizeof(int[4]) => 16 sizeof(int[3][4]) => 48 sizeof(struct {int a; int b;}) => 8 sizeof(-10 + (long)5) => 8 sizeof(-10 - (long)5) => 8 sizeof(-10 * (long)5) => 8 sizeof(-10 / (long)5) => 8 sizeof((long)-10 + 5) => 8 sizeof((long)-10 - 5) => 8 sizeof((long)-10 * 5) => 8 sizeof((long)-10 / 5) => 8 ({ char i; sizeof(++i); }) => 1 ({ char i; sizeof(i++); }) => 1 sizeof(int(*)[10]) => 8 sizeof(int(*)[][10]) => 8 sizeof(struct { int x, y[]; }) => 4 sizeof(char) => 1 sizeof(signed char) => 1 sizeof(signed char signed) => 1 sizeof(unsigned char) => 1 sizeof(unsigned char unsigned) => 1 sizeof(short) => 2 sizeof(int short) => 2 sizeof(short int) => 2 sizeof(signed short) => 2 sizeof(int short signed) => 2 sizeof(unsigned short) => 2 sizeof(int short unsigned) => 2 sizeof(int) => 4 sizeof(signed int) => 4 sizeof(signed) => 4 sizeof(signed signed) => 4 sizeof(unsigned int) => 4 sizeof(unsigned) => 4 sizeof(unsigned unsigned) => 4 sizeof(long) => 8 sizeof(signed long) => 8 sizeof(signed long int) => 8 sizeof(unsigned long) => 8 sizeof(unsigned long int) => 8 sizeof(long long) => 8 sizeof(signed long long) => 8 sizeof(signed long long int) => 8 sizeof(unsigned long long) => 8 sizeof(unsigned long long int) => 8 sizeof((char)1) => 1 sizeof((short)1) => 2 sizeof((int)1) => 4 sizeof((long)1) => 8 sizeof((char)1 + (char)1) => 4 sizeof((short)1 + (short)1) => 4 sizeof(1?2:3) => 4 sizeof(1?(short)2:(char)3) => 4 sizeof(1?(long)2:(char)3) => 8 sizeof(char) << 31 >> 31 => 1 sizeof(char) << 63 >> 63 => 1 sizeof(float) => 4 sizeof(double) => 8 sizeof(1f+2) => 4 sizeof(1.0+2) => 8 sizeof(1f-2) => 4 sizeof(1.0-2) => 8 sizeof(1f*2) => 4 sizeof(1.0*2) => 8 sizeof(1f/2) => 4 sizeof(1.0/2) => 8 sizeof(long double) => 16 sizeof(main) => 1 OK test/stdhdr.exe OK test/string.exe ""[0] => 0 sizeof("") => 1 "abc"[0] => 97 "abc"[1] => 98 "abc"[2] => 99 "abc"[3] => 0 sizeof("abc") => 4 "\a"[0] => 7 "\b"[0] => 8 "\t"[0] => 9 "\n"[0] => 10 "\v"[0] => 11 "\f"[0] => 12 "\r"[0] => 13 "\e"[0] => 27 "\j"[0] => 106 "\k"[0] => 107 "\l"[0] => 108 "\ax\ny"[0] => 7 "\ax\ny"[1] => 120 "\ax\ny"[2] => 10 "\ax\ny"[3] => 121 "\0"[0] => 0 "\20"[0] => 16 "\101"[0] => 65 "\1500"[0] => 104 "\x00"[0] => 0 "\x77"[0] => 119 sizeof("abc" "def") => 7 sizeof("abc" "d" "efgh") => 9 strcmp("abc" "d" "\nefgh", "abcd\nefgh") => 0 !strcmp("abc" "d", "abcd\nefgh") => 0 strcmp("\x9" "0", "\t0") => 0 sizeof(L"abc" "") => 16 sizeof(L"abc" "def") => 28 sizeof(L"abc" L"def") => 28 sizeof(u"abc" "def") => 14 sizeof(u"abc" u"def") => 14 (L"abc" "def")[0] => 97 (L"abc" "def")[3] => 100 (L"abc" "def")[6] => 0 (u"abc" "def")[0] => 97 (u"abc" "def")[3] => 100 (u"abc" "def")[6] => 0 ("あ" L"")[0] => 12354 ("\343\201\202" L"")[0] => 227 ("\343\201\202" L"")[1] => 129 ("\343\201\202" L"")[2] => 130 ("\343\201\202" L"")[3] => 0 ("a" "b" L"c")[0] => 97 ("a" "b" L"c")[1] => 98 ("a" "b" L"c")[2] => 99 ("a" "b" L"c")[3] => 0 OK test/struct.exe ({ struct {int a; int b;} x; x.a=1; x.b=2; x.a; }) => 1 ({ struct {int a; int b;} x; x.a=1; x.b=2; x.b; }) => 2 ({ struct {char a; int b; char c;} x; x.a=1; x.b=2; x.c=3; x.a; }) => 1 ({ struct {char a; int b; char c;} x; x.b=1; x.b=2; x.c=3; x.b; }) => 2 ({ struct {char a; int b; char c;} x; x.a=1; x.b=2; x.c=3; x.c; }) => 3 ({ struct {char a; char b;} x[3]; char *p=x; p[0]=0; x[0].a; }) => 0 ({ struct {char a; char b;} x[3]; char *p=x; p[1]=1; x[0].b; }) => 1 ({ struct {char a; char b;} x[3]; char *p=x; p[2]=2; x[1].a; }) => 2 ({ struct {char a; char b;} x[3]; char *p=x; p[3]=3; x[1].b; }) => 3 ({ struct {char a[3]; char b[5];} x; char *p=&x; x.a[0]=6; p[0]; }) => 6 ({ struct {char a[3]; char b[5];} x; char *p=&x; x.b[0]=7; p[3]; }) => 7 ({ struct { struct { char b; } a; } x; x.a.b=6; x.a.b; }) => 6 ({ struct {int a;} x; sizeof(x); }) => 4 ({ struct {int a; int b;} x; sizeof(x); }) => 8 ({ struct {int a, b;} x; sizeof(x); }) => 8 ({ struct {int a[3];} x; sizeof(x); }) => 12 ({ struct {int a;} x[4]; sizeof(x); }) => 16 ({ struct {int a[3];} x[2]; sizeof(x); }) => 24 ({ struct {char a; char b;} x; sizeof(x); }) => 2 ({ struct {} x; sizeof(x); }) => 0 ({ struct {char a; int b;} x; sizeof(x); }) => 8 ({ struct {int a; char b;} x; sizeof(x); }) => 8 ({ struct t {int a; int b;} x; struct t y; sizeof(y); }) => 8 ({ struct t {int a; int b;}; struct t y; sizeof(y); }) => 8 ({ struct t {char a[2];}; { struct t {char a[4];}; } struct t y; sizeof(y); }) => 2 ({ struct t {int x;}; int t=1; struct t y; y.x=2; t+y.x; }) => 3 ({ struct t {char a;} x; struct t *y = &x; x.a=3; y->a; }) => 3 ({ struct t {char a;} x; struct t *y = &x; y->a=3; x.a; }) => 3 ({ struct {int a,b;} x,y; x.a=3; y=x; y.a; }) => 3 ({ struct t {int a,b;}; struct t x; x.a=7; struct t y; struct t *z=&y; *z=x; y.a; }) => 7 ({ struct t {int a,b;}; struct t x; x.a=7; struct t y, *p=&x, *q=&y; *q=*p; y.a; }) => 7 ({ struct t {char a, b;} x, y; x.a=5; y=x; y.a; }) => 5 ({ struct {int a,b;} x,y; x.a=3; y=x; y.a; }) => 3 ({ struct t {int a,b;}; struct t x; x.a=7; struct t y; struct t *z=&y; *z=x; y.a; }) => 7 ({ struct t {int a,b;}; struct t x; x.a=7; struct t y, *p=&x, *q=&y; *q=*p; y.a; }) => 7 ({ struct t {char a, b;} x, y; x.a=5; y=x; y.a; }) => 5 ({ struct t {int a; int b;} x; struct t y; sizeof(y); }) => 8 ({ struct t {int a; int b;}; struct t y; sizeof(y); }) => 8 ({ struct {char a; long b;} x; sizeof(x); }) => 16 ({ struct {char a; short b;} x; sizeof(x); }) => 4 ({ struct foo *bar; sizeof(bar); }) => 8 ({ struct T *foo; struct T {int x;}; sizeof(struct T); }) => 4 ({ struct T { struct T *next; int x; } a; struct T b; b.x=1; a.next=&b; a.next->x; }) => 1 ({ typedef struct T T; struct T { int x; }; sizeof(T); }) => 4 ({ struct {int a;} x={1}, y={2}; (x=y).a; }) => 2 ({ struct {int a;} x={1}, y={2}; (1?x:y).a; }) => 1 ({ struct {int a;} x={1}, y={2}; (0?x:y).a; }) => 2 OK test/tls.exe v1 => 0 v2 => 5 v3 => 7 pthread_create(&thr, ((void *)0), thread_main, ((void *)0)) => 0 v1 => 0 v2 => 5 v3 => 7 v1 => 1 v2 => 2 v3 => 3 pthread_join(thr, ((void *)0)) => 0 v1 => 0 v2 => 5 v3 => 3 OK test/typedef.exe ({ typedef int t; t x=1; x; }) => 1 ({ typedef struct {int a;} t; t x; x.a=1; x.a; }) => 1 ({ typedef int t; t t=1; t; }) => 1 ({ typedef struct {int a;} t; { typedef int t; } t x; x.a=2; x.a; }) => 2 ({ typedef t; t x; sizeof(x); }) => 4 ({ MyInt x=3; x; }) => 3 ({ MyInt2 x; sizeof(x); }) => 16 OK test/typeof.exe ({ typeof(int) x=3; x; }) => 3 ({ typeof(1) x=3; x; }) => 3 ({ int x; typeof(x) y; sizeof(y); }) => 4 ({ int x; typeof(&x) y; sizeof(y); }) => 8 ({ typeof("foo") x; sizeof(x); }) => 4 sizeof(typeof(struct { int a,b,c; })) => 12 OK test/unicode.exe sizeof(L'\0') => 4 L'a' => 97 strcmp("αβγ", "αβγ") => 0 strcmp("日本語", "日本語") => 0 strcmp("日本語", "日本語") => 0 strcmp("🌮", "🌮") => 0 L'\xffffffff'>>31 => -1 L'β' => 946 L'あ' => 12354 L'🍣' => 127843 sizeof(u'\0') => 2 u'\xffff'>>15 => 1 u'a' => 97 u'β' => 946 u'あ' => 12354 u'🍣' => 62307 strcmp("u'a'", "u'a'") => 0 sizeof(U'\0') => 4 U'\xffffffff'>>31 => 1 U'a' => 97 U'β' => 946 U'あ' => 12354 U'🍣' => 127843 strcmp("U'a'", "U'a'") => 0 sizeof(u8"abc") => 4 strcmp(u8"abc", "abc") => 0 strcmp("u8\"a\"", "u8\"a\"") => 0 sizeof(u"") => 2 sizeof(u"\xffzzz") => 10 memcmp(u"", "\0\0", 2) => 0 memcmp(u"abc", "a\0b\0c\0\0\0", 8) => 0 memcmp(u"日本語", "\345e,g\236\212\0\0", 8) => 0 memcmp(u"🍣", "<\330c\337\0\0", 6) => 0 u"βb"[0] => 946 u"βb"[1] => 98 u"βb"[2] => 0 strcmp("u\"a\"", "u\"a\"") => 0 sizeof(U"") => 4 sizeof(U"\xffzzz") => 20 memcmp(U"", "\0\0\0\0", 4) => 0 memcmp(U"abc", "a\0\0\0b\0\0\0c\0\0\0\0\0\0\0", 16) => 0 memcmp(U"日本語", "\345e\0\0,g\0\0\236\212\0\0\0\0\0\0", 16) => 0 memcmp(U"🍣", "c\363\001\0\0\0\0\0", 8) => 0 U"βb"[0] => 946 U"βb"[1] => 98 U"βb"[2] => 0 U"\xffffffff"[0] >> 31 => 1 strcmp("U\"a\"", "U\"a\"") => 0 sizeof(L"") => 4 sizeof(L"\xffzzz") => 20 memcmp(L"", "\0\0\0\0", 4) => 0 memcmp(L"abc", "a\0\0\0b\0\0\0c\0\0\0\0\0\0\0", 16) => 0 memcmp(L"日本語", "\345e\0\0,g\0\0\236\212\0\0\0\0\0\0", 16) => 0 memcmp(L"🍣", "c\363\001\0\0\0\0\0", 8) => 0 L"βb"[0] => 946 L"βb"[1] => 98 L"βb"[2] => 0 L"\xffffffff"[0] >> 31 => -1 strcmp("L\"a\"", "L\"a\"") => 0 ({ char16_t x[] = u"αβ"; x[0]; }) => 945 ({ char16_t x[] = u"αβ"; x[1]; }) => 946 ({ char16_t x[] = u"αβ"; sizeof(x); }) => 6 ({ char32_t x[] = U"🤔x"; x[0]; }) => 129300 ({ char32_t x[] = U"🤔x"; x[1]; }) => 120 ({ char32_t x[] = U"🤔x"; sizeof(x); }) => 12 ({ wchar_t x[] = L"🤔x"; x[0]; }) => 129300 ({ wchar_t x[] = L"🤔x"; x[1]; }) => 120 ({ wchar_t x[] = L"🤔x"; sizeof(x); }) => 12 π => 3 ({ int あβ0¾=3; あβ0¾; }) => 3 ({ int $$$=5; $$$; }) => 5 OK test/union.exe ({ union { int a; char b[6]; } x; sizeof(x); }) => 8 ({ union { int a; char b[4]; } x; x.a = 515; x.b[0]; }) => 3 ({ union { int a; char b[4]; } x; x.a = 515; x.b[1]; }) => 2 ({ union { int a; char b[4]; } x; x.a = 515; x.b[2]; }) => 0 ({ union { int a; char b[4]; } x; x.a = 515; x.b[3]; }) => 0 ({ union {int a,b;} x,y; x.a=3; y.a=5; y=x; y.a; }) => 3 ({ union {struct {int a,b;} c;} x,y; x.c.b=3; y.c.b=5; y=x; y.c.b; }) => 3 ({ union { struct { unsigned char a,b,c,d; }; long e; } x; x.e=0xdeadbeef; x.a; }) => 239 ({ union { struct { unsigned char a,b,c,d; }; long e; } x; x.e=0xdeadbeef; x.b; }) => 190 ({ union { struct { unsigned char a,b,c,d; }; long e; } x; x.e=0xdeadbeef; x.c; }) => 173 ({ union { struct { unsigned char a,b,c,d; }; long e; } x; x.e=0xdeadbeef; x.d; }) => 222 ({struct { union { int a,b; }; union { int c,d; }; } x; x.a=3; x.b; }) => 3 ({struct { union { int a,b; }; union { int c,d; }; } x; x.d=5; x.c; }) => 5 OK test/usualconv.exe -10 + (long)5 => -5 -10 - (long)5 => -15 -10 * (long)5 => -50 -10 / (long)5 => -2 -2 < (long)-1 => 1 -2 <= (long)-1 => 1 -2 > (long)-1 => 0 -2 >= (long)-1 => 0 (long)-2 < -1 => 1 (long)-2 <= -1 => 1 (long)-2 > -1 => 0 (long)-2 >= -1 => 0 2147483647 + 2147483647 + 2 => 0 ({ long x; x=-1; x; }) => -1 ({ char x[3]; x[0]=0; x[1]=1; x[2]=2; char *y=x+1; y[0]; }) => 1 ({ char x[3]; x[0]=0; x[1]=1; x[2]=2; char *y=x+1; y[-1]; }) => 0 ({ struct t {char a;} x, y; x.a=5; y=x; y.a; }) => 5 (1 ? ret10 : (void *)0)() => 10 OK test/varargs.exe sum1(1, 2, 3, 0) => 6 sum1(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 0) => 55 sum2(1, 2.0, 3, 4.0, 5, 6.0, 0) => 21 sum2(1, 2.0, 3, 4.0, 5, 6.0, 0) => 21 sum2(1, 2.0, 3, 4.0, 5, 6.0, 7, 8.0, 9, 10.0, 11, 12.0, 13, 14.0, 15, 16.0, 17, 18.0, 19, 20.0, 0) => 210 ({ char buf[100]; fmt(buf, "%d %d", 2, 3); strcmp(buf, "2 3"); }) => 0 OK test/variable.exe ({ int a; a=3; a; }) => 3 ({ int a=3; a; }) => 3 ({ int a=3; int z=5; a+z; }) => 8 ({ int a=3; a; }) => 3 ({ int a=3; int z=5; a+z; }) => 8 ({ int a; int b; a=b=3; a+b; }) => 6 ({ int foo=3; foo; }) => 3 ({ int foo123=3; int bar=5; foo123+bar; }) => 8 ({ int x; sizeof(x); }) => 4 ({ int x; sizeof x; }) => 4 ({ int *x; sizeof(x); }) => 8 ({ int x[4]; sizeof(x); }) => 16 ({ int x[3][4]; sizeof(x); }) => 48 ({ int x[3][4]; sizeof(*x); }) => 16 ({ int x[3][4]; sizeof(**x); }) => 4 ({ int x[3][4]; sizeof(**x) + 1; }) => 5 ({ int x[3][4]; sizeof **x + 1; }) => 5 ({ int x[3][4]; sizeof(**x + 1); }) => 4 ({ int x=1; sizeof(x=2); }) => 4 ({ int x=1; sizeof(x=2); x; }) => 1 g1 => 0 ({ g1=3; g1; }) => 3 ({ g2[0]=0; g2[1]=1; g2[2]=2; g2[3]=3; g2[0]; }) => 0 ({ g2[0]=0; g2[1]=1; g2[2]=2; g2[3]=3; g2[1]; }) => 1 ({ g2[0]=0; g2[1]=1; g2[2]=2; g2[3]=3; g2[2]; }) => 2 ({ g2[0]=0; g2[1]=1; g2[2]=2; g2[3]=3; g2[3]; }) => 3 sizeof(g1) => 4 sizeof(g2) => 16 ({ char x=1; x; }) => 1 ({ char x=1; char y=2; x; }) => 1 ({ char x=1; char y=2; y; }) => 2 ({ char x; sizeof(x); }) => 1 ({ char x[10]; sizeof(x); }) => 10 ({ int x=2; { int x=3; } x; }) => 2 ({ int x=2; { int x=3; } int y=4; x; }) => 2 ({ int x=2; { x=3; } x; }) => 3 ({ int x; int y; char z; char *a=&y; char *b=&z; b-a; }) => 7 ({ int x; char y; int z; char *a=&y; char *b=&z; b-a; }) => 1 ({ long x; sizeof(x); }) => 8 ({ short x; sizeof(x); }) => 2 ({ char *x[3]; sizeof(x); }) => 24 ({ char (*x)[3]; sizeof(x); }) => 8 ({ char (x); sizeof(x); }) => 1 ({ char (x)[3]; sizeof(x); }) => 3 ({ char (x[3])[4]; sizeof(x); }) => 12 ({ char (x[3])[4]; sizeof(x[0]); }) => 4 ({ char *x[3]; char y; x[0]=&y; y=3; x[0][0]; }) => 3 ({ char x[3]; char (*y)[3]=x; y[0][0]=4; y[0][0]; }) => 4 g3 => 3 OK test/vla.exe ({ int n=5; int x[n]; sizeof(x); }) => 20 ({ int m=5, n=8; int x[m+1][n*2]; sizeof(x); }) => 384 ({ char n=10; int (*x)[n][n+2]; sizeof(x); }) => 8 ({ char n=10; int (*x)[n][n+2]; sizeof(*x); }) => 480 ({ char n=10; int (*x)[n][n+2]; sizeof(**x); }) => 48 ({ char n=10; int (*x)[n][n+2]; sizeof(***x); }) => 4 ({ char n=3; int x[5][n]; sizeof(x); }) => 60 ({ char n=3; int x[5][n]; sizeof(*x); }) => 12 ({ char n=3; int x[n][5]; sizeof(x); }) => 60 ({ char n=3; int x[n][5]; sizeof(*x); }) => 20 ({ int n=10; int x[n+1][n+6]; int *p=x; for (int i = 0; i 0 ({ int n=10; int x[n+1][n+6]; int *p=x; for (int i = 0; i 5 ({ int n=10; int x[n+1][n+6]; int *p=x; for (int i = 0; i 82 ({ int n=5; sizeof(char[2][n]); }) => 10 OK test/driver.sh ./chibicc testing -o ... passed testing --help ... passed testing -S ... passed testing default output file ... passed testing default output file ... passed testing multiple input files ... passed testing multiple input files ... passed testing linker ... passed testing linker ... passed testing a.out ... passed testing -E ... passed testing -E and -o ... passed testing -I ... passed testing -D ... passed testing -D ... passed testing -U ... passed testing ignored options ... passed testing BOM marker ... passed testing inline ... passed testing inline ... passed testing inline ... passed testing inline ... passed testing inline ... passed testing inline ... passed testing inline ... passed testing inline ... passed testing inline ... passed testing inline ... passed testing inline ... passed testing inline ... passed testing inline ... passed testing inline ... passed testing -idirafter ... passed testing -idirafter ... passed testing -fcommon (default) ... passed testing -fcommon ... passed testing -fno-common ... passed testing -include ... passed testing -include ... passed testing -xc ... passed testing -x assembler ... passed testing -x none ... passed testing -E ... passed testing .a ... passed testing .so ... passed OK testing hashmap ... passed testing -M ... passed testing -MF ... passed testing -MP ... passed testing -MP ... passed testing -MT ... passed testing -MT ... passed testing -MD ... passed testing -MD ... passed testing -MD ... passed testing -fPIC ... passed testing #include_next ... passed testing -static ... passed testing -static ... passed testing -shared ... passed testing -L ... passed testing -Wl, ... passed testing -Xlinker ... passed OK mkdir -p stage2/test ./chibicc -c -o stage2/codegen.o codegen.c mkdir -p stage2/test ./chibicc -c -o stage2/hashmap.o hashmap.c mkdir -p stage2/test ./chibicc -c -o stage2/main.o main.c mkdir -p stage2/test ./chibicc -c -o stage2/parse.o parse.c mkdir -p stage2/test ./chibicc -c -o stage2/preprocess.o preprocess.c mkdir -p stage2/test ./chibicc -c -o stage2/strings.o strings.c mkdir -p stage2/test ./chibicc -c -o stage2/tokenize.o tokenize.c mkdir -p stage2/test ./chibicc -c -o stage2/type.o type.c mkdir -p stage2/test ./chibicc -c -o stage2/unicode.o unicode.c gcc -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -std=c11 -g -fno-common -Wall -Wno-switch -o stage2/chibicc stage2/codegen.o stage2/hashmap.o stage2/main.o stage2/parse.o stage2/preprocess.o stage2/strings.o stage2/tokenize.o stage2/type.o stage2/unicode.o -Wl,-z,relro -Wl,--as-needed -Wl,-z,pack-relative-relocs -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes mkdir -p stage2/test ./stage2/chibicc -Iinclude -Itest -c -o stage2/test/alignof.o test/alignof.c gcc -pthread -o stage2/test/alignof.exe stage2/test/alignof.o -xc test/common mkdir -p stage2/test ./stage2/chibicc -Iinclude -Itest -c -o stage2/test/alloca.o test/alloca.c gcc -pthread -o stage2/test/alloca.exe stage2/test/alloca.o -xc test/common mkdir -p stage2/test ./stage2/chibicc -Iinclude -Itest -c -o stage2/test/arith.o test/arith.c gcc -pthread -o stage2/test/arith.exe stage2/test/arith.o -xc test/common mkdir -p stage2/test ./stage2/chibicc -Iinclude -Itest -c -o stage2/test/asm.o test/asm.c gcc -pthread -o stage2/test/asm.exe stage2/test/asm.o -xc test/common mkdir -p stage2/test ./stage2/chibicc -Iinclude -Itest -c -o stage2/test/atomic.o test/atomic.c gcc -pthread -o stage2/test/atomic.exe stage2/test/atomic.o -xc test/common mkdir -p stage2/test ./stage2/chibicc -Iinclude -Itest -c -o stage2/test/attribute.o test/attribute.c gcc -pthread -o stage2/test/attribute.exe stage2/test/attribute.o -xc test/common mkdir -p stage2/test ./stage2/chibicc -Iinclude -Itest -c -o stage2/test/bitfield.o test/bitfield.c gcc -pthread -o stage2/test/bitfield.exe stage2/test/bitfield.o -xc test/common mkdir -p stage2/test ./stage2/chibicc -Iinclude -Itest -c -o stage2/test/builtin.o test/builtin.c gcc -pthread -o stage2/test/builtin.exe stage2/test/builtin.o -xc test/common mkdir -p stage2/test ./stage2/chibicc -Iinclude -Itest -c -o stage2/test/cast.o test/cast.c gcc -pthread -o stage2/test/cast.exe stage2/test/cast.o -xc test/common mkdir -p stage2/test ./stage2/chibicc -Iinclude -Itest -c -o stage2/test/commonsym.o test/commonsym.c gcc -pthread -o stage2/test/commonsym.exe stage2/test/commonsym.o -xc test/common mkdir -p stage2/test ./stage2/chibicc -Iinclude -Itest -c -o stage2/test/compat.o test/compat.c gcc -pthread -o stage2/test/compat.exe stage2/test/compat.o -xc test/common mkdir -p stage2/test ./stage2/chibicc -Iinclude -Itest -c -o stage2/test/complit.o test/complit.c gcc -pthread -o stage2/test/complit.exe stage2/test/complit.o -xc test/common mkdir -p stage2/test ./stage2/chibicc -Iinclude -Itest -c -o stage2/test/const.o test/const.c gcc -pthread -o stage2/test/const.exe stage2/test/const.o -xc test/common mkdir -p stage2/test ./stage2/chibicc -Iinclude -Itest -c -o stage2/test/constexpr.o test/constexpr.c gcc -pthread -o stage2/test/constexpr.exe stage2/test/constexpr.o -xc test/common mkdir -p stage2/test ./stage2/chibicc -Iinclude -Itest -c -o stage2/test/control.o test/control.c gcc -pthread -o stage2/test/control.exe stage2/test/control.o -xc test/common mkdir -p stage2/test ./stage2/chibicc -Iinclude -Itest -c -o stage2/test/decl.o test/decl.c gcc -pthread -o stage2/test/decl.exe stage2/test/decl.o -xc test/common mkdir -p stage2/test ./stage2/chibicc -Iinclude -Itest -c -o stage2/test/enum.o test/enum.c gcc -pthread -o stage2/test/enum.exe stage2/test/enum.o -xc test/common mkdir -p stage2/test ./stage2/chibicc -Iinclude -Itest -c -o stage2/test/extern.o test/extern.c gcc -pthread -o stage2/test/extern.exe stage2/test/extern.o -xc test/common mkdir -p stage2/test ./stage2/chibicc -Iinclude -Itest -c -o stage2/test/float.o test/float.c gcc -pthread -o stage2/test/float.exe stage2/test/float.o -xc test/common mkdir -p stage2/test ./stage2/chibicc -Iinclude -Itest -c -o stage2/test/function.o test/function.c gcc -pthread -o stage2/test/function.exe stage2/test/function.o -xc test/common mkdir -p stage2/test ./stage2/chibicc -Iinclude -Itest -c -o stage2/test/generic.o test/generic.c gcc -pthread -o stage2/test/generic.exe stage2/test/generic.o -xc test/common mkdir -p stage2/test ./stage2/chibicc -Iinclude -Itest -c -o stage2/test/initializer.o test/initializer.c gcc -pthread -o stage2/test/initializer.exe stage2/test/initializer.o -xc test/common mkdir -p stage2/test ./stage2/chibicc -Iinclude -Itest -c -o stage2/test/line.o test/line.c gcc -pthread -o stage2/test/line.exe stage2/test/line.o -xc test/common mkdir -p stage2/test ./stage2/chibicc -Iinclude -Itest -c -o stage2/test/literal.o test/literal.c gcc -pthread -o stage2/test/literal.exe stage2/test/literal.o -xc test/common mkdir -p stage2/test ./stage2/chibicc -Iinclude -Itest -c -o stage2/test/macro.o test/macro.c gcc -pthread -o stage2/test/macro.exe stage2/test/macro.o -xc test/common mkdir -p stage2/test ./stage2/chibicc -Iinclude -Itest -c -o stage2/test/offsetof.o test/offsetof.c gcc -pthread -o stage2/test/offsetof.exe stage2/test/offsetof.o -xc test/common mkdir -p stage2/test ./stage2/chibicc -Iinclude -Itest -c -o stage2/test/pointer.o test/pointer.c gcc -pthread -o stage2/test/pointer.exe stage2/test/pointer.o -xc test/common mkdir -p stage2/test ./stage2/chibicc -Iinclude -Itest -c -o stage2/test/pragma-once.o test/pragma-once.c gcc -pthread -o stage2/test/pragma-once.exe stage2/test/pragma-once.o -xc test/common mkdir -p stage2/test ./stage2/chibicc -Iinclude -Itest -c -o stage2/test/sizeof.o test/sizeof.c gcc -pthread -o stage2/test/sizeof.exe stage2/test/sizeof.o -xc test/common mkdir -p stage2/test ./stage2/chibicc -Iinclude -Itest -c -o stage2/test/stdhdr.o test/stdhdr.c gcc -pthread -o stage2/test/stdhdr.exe stage2/test/stdhdr.o -xc test/common mkdir -p stage2/test ./stage2/chibicc -Iinclude -Itest -c -o stage2/test/string.o test/string.c gcc -pthread -o stage2/test/string.exe stage2/test/string.o -xc test/common mkdir -p stage2/test ./stage2/chibicc -Iinclude -Itest -c -o stage2/test/struct.o test/struct.c gcc -pthread -o stage2/test/struct.exe stage2/test/struct.o -xc test/common mkdir -p stage2/test ./stage2/chibicc -Iinclude -Itest -c -o stage2/test/tls.o test/tls.c gcc -pthread -o stage2/test/tls.exe stage2/test/tls.o -xc test/common mkdir -p stage2/test ./stage2/chibicc -Iinclude -Itest -c -o stage2/test/typedef.o test/typedef.c gcc -pthread -o stage2/test/typedef.exe stage2/test/typedef.o -xc test/common mkdir -p stage2/test ./stage2/chibicc -Iinclude -Itest -c -o stage2/test/typeof.o test/typeof.c gcc -pthread -o stage2/test/typeof.exe stage2/test/typeof.o -xc test/common mkdir -p stage2/test ./stage2/chibicc -Iinclude -Itest -c -o stage2/test/unicode.o test/unicode.c gcc -pthread -o stage2/test/unicode.exe stage2/test/unicode.o -xc test/common mkdir -p stage2/test ./stage2/chibicc -Iinclude -Itest -c -o stage2/test/union.o test/union.c gcc -pthread -o stage2/test/union.exe stage2/test/union.o -xc test/common mkdir -p stage2/test ./stage2/chibicc -Iinclude -Itest -c -o stage2/test/usualconv.o test/usualconv.c gcc -pthread -o stage2/test/usualconv.exe stage2/test/usualconv.o -xc test/common mkdir -p stage2/test ./stage2/chibicc -Iinclude -Itest -c -o stage2/test/varargs.o test/varargs.c gcc -pthread -o stage2/test/varargs.exe stage2/test/varargs.o -xc test/common mkdir -p stage2/test ./stage2/chibicc -Iinclude -Itest -c -o stage2/test/variable.o test/variable.c gcc -pthread -o stage2/test/variable.exe stage2/test/variable.o -xc test/common mkdir -p stage2/test ./stage2/chibicc -Iinclude -Itest -c -o stage2/test/vla.o test/vla.c gcc -pthread -o stage2/test/vla.exe stage2/test/vla.o -xc test/common for i in stage2/test/alignof.exe stage2/test/alloca.exe stage2/test/arith.exe stage2/test/asm.exe stage2/test/atomic.exe stage2/test/attribute.exe stage2/test/bitfield.exe stage2/test/builtin.exe stage2/test/cast.exe stage2/test/commonsym.exe stage2/test/compat.exe stage2/test/complit.exe stage2/test/const.exe stage2/test/constexpr.exe stage2/test/control.exe stage2/test/decl.exe stage2/test/enum.exe stage2/test/extern.exe stage2/test/float.exe stage2/test/function.exe stage2/test/generic.exe stage2/test/initializer.exe stage2/test/line.exe stage2/test/literal.exe stage2/test/macro.exe stage2/test/offsetof.exe stage2/test/pointer.exe stage2/test/pragma-once.exe stage2/test/sizeof.exe stage2/test/stdhdr.exe stage2/test/string.exe stage2/test/struct.exe stage2/test/tls.exe stage2/test/typedef.exe stage2/test/typeof.exe stage2/test/unicode.exe stage2/test/union.exe stage2/test/usualconv.exe stage2/test/varargs.exe stage2/test/variable.exe stage2/test/vla.exe; do echo $i; ./$i || exit 1; echo; done stage2/test/alignof.exe _Alignof(char) => 1 _Alignof(short) => 2 _Alignof(int) => 4 _Alignof(long) => 8 _Alignof(long long) => 8 _Alignof(char[3]) => 1 _Alignof(int[3]) => 4 _Alignof(struct {char a; char b;}[2]) => 1 _Alignof(struct {char a; long b;}[2]) => 8 ({ _Alignas(char) char x, y; &y-&x; }) => 1 ({ _Alignas(long) char x, y; &y-&x; }) => 8 ({ _Alignas(32) char x, y; &y-&x; }) => 32 ({ _Alignas(32) int *x, *y; ((char *)&y)-((char *)&x); }) => 32 ({ struct { _Alignas(16) char x, y; } a; &a.y-&a.x; }) => 16 ({ struct T { _Alignas(8) char a; }; _Alignof(struct T); }) => 8 (long)(char *)&g1 % 512 => 0 (long)(char *)&g2 % 512 => 0 (long)(char *)&g4 % 4 => 0 (long)(char *)&g5 % 8 => 0 ({ char x; _Alignof(x); }) => 1 ({ int x; _Alignof(x); }) => 4 ({ char x; _Alignof x; }) => 1 ({ int x; _Alignof x; }) => 4 _Alignof(char) << 31 >> 31 => 1 _Alignof(char) << 63 >> 63 => 1 ({ char x; _Alignof(x) << 63 >> 63; }) => 1 ({ char x[16]; (unsigned long)&x % 16; }) => 0 ({ char x[17]; (unsigned long)&x % 16; }) => 0 ({ char x[100]; (unsigned long)&x % 16; }) => 0 ({ char x[101]; (unsigned long)&x % 16; }) => 0 OK stage2/test/alloca.exe p1 - p2 => 16 p2 - p3 => 16 p3 - p4 => 16 memcmp(p1, "0123456789abcdef", 16) => 0 memcmp(p2, "ghijklmnopqrstuv", 16) => 0 memcmp(p3, "wxy", 3) => 0 OK stage2/test/arith.exe 0 => 0 42 => 42 5+20-4 => 21 12 + 34 - 5 => 41 5+6*7 => 47 5*(9-6) => 15 (3+5)/2 => 4 -10+20 => 10 - -10 => 10 - - +10 => 10 0==1 => 0 42==42 => 1 0!=1 => 1 42!=42 => 0 0<1 => 1 1<1 => 0 2<1 => 0 0<=1 => 1 1<=1 => 1 2<=1 => 0 1>0 => 1 1>1 => 0 1>2 => 0 1>=0 => 1 1>=1 => 1 1>=2 => 0 1073741824 * 100 / 100 => 0 ({ int i=2; i+=5; i; }) => 7 ({ int i=2; i+=5; }) => 7 ({ int i=5; i-=2; i; }) => 3 ({ int i=5; i-=2; }) => 3 ({ int i=3; i*=2; i; }) => 6 ({ int i=3; i*=2; }) => 6 ({ int i=6; i/=2; i; }) => 3 ({ int i=6; i/=2; }) => 3 ({ int i=2; ++i; }) => 3 ({ int a[3]; a[0]=0; a[1]=1; a[2]=2; int *p=a+1; ++*p; }) => 2 ({ int a[3]; a[0]=0; a[1]=1; a[2]=2; int *p=a+1; --*p; }) => 0 ({ int i=2; i++; }) => 2 ({ int i=2; i--; }) => 2 ({ int i=2; i++; i; }) => 3 ({ int i=2; i--; i; }) => 1 ({ int a[3]; a[0]=0; a[1]=1; a[2]=2; int *p=a+1; *p++; }) => 1 ({ int a[3]; a[0]=0; a[1]=1; a[2]=2; int *p=a+1; *p--; }) => 1 ({ int a[3]; a[0]=0; a[1]=1; a[2]=2; int *p=a+1; (*p++)--; a[0]; }) => 0 ({ int a[3]; a[0]=0; a[1]=1; a[2]=2; int *p=a+1; (*(p--))--; a[1]; }) => 0 ({ int a[3]; a[0]=0; a[1]=1; a[2]=2; int *p=a+1; (*p)--; a[2]; }) => 2 ({ int a[3]; a[0]=0; a[1]=1; a[2]=2; int *p=a+1; (*p)--; p++; *p; }) => 2 ({ int a[3]; a[0]=0; a[1]=1; a[2]=2; int *p=a+1; (*p++)--; a[0]; }) => 0 ({ int a[3]; a[0]=0; a[1]=1; a[2]=2; int *p=a+1; (*p++)--; a[1]; }) => 0 ({ int a[3]; a[0]=0; a[1]=1; a[2]=2; int *p=a+1; (*p++)--; a[2]; }) => 2 ({ int a[3]; a[0]=0; a[1]=1; a[2]=2; int *p=a+1; (*p++)--; *p; }) => 2 !1 => 0 !2 => 0 !0 => 1 !(char)0 => 1 !(long)3 => 0 sizeof(!(char)0) => 4 sizeof(!(long)0) => 4 ~0 => -1 ~-1 => 0 17%6 => 5 ((long)17)%6 => 5 ({ int i=10; i%=4; i; }) => 2 ({ long i=10; i%=4; i; }) => 2 0&1 => 0 3&1 => 1 7&3 => 3 -1&10 => 10 0|1 => 1 0b10000|0b00011 => 19 0^0 => 0 0b1111^0b1111 => 0 0b111000^0b001100 => 52 ({ int i=6; i&=3; i; }) => 2 ({ int i=6; i|=3; i; }) => 7 ({ int i=15; i^=5; i; }) => 10 1<<0 => 1 1<<3 => 8 5<<1 => 10 5>>1 => 2 -1>>1 => -1 ({ int i=1; i<<=0; i; }) => 1 ({ int i=1; i<<=3; i; }) => 8 ({ int i=5; i<<=1; i; }) => 10 ({ int i=5; i>>=1; i; }) => 2 -1 => -1 ({ int i=-1; i; }) => -1 ({ int i=-1; i>>=1; i; }) => -1 0?1:2 => 2 1?1:2 => 1 0?-2:-1 => -1 1?-2:-1 => -2 sizeof(0?1:2) => 4 sizeof(0?(long)1:(long)2) => 8 0?(long)-2:-1 => -1 0?-2:(long)-1 => -1 1?(long)-2:-1 => -2 1?-2:(long)-1 => -2 ({ int x; int *p=&x; p+20-p; }) => 20 ({ int x; int *p=&x; p+20-p>0; }) => 1 ({ int x; int *p=&x; p-20-p; }) => -20 ({ int x; int *p=&x; p-20-p<0; }) => 1 (char *)0xffffffffffffffff - (char *)0xfffffffffffffff0 => 15 (char *)0xfffffffffffffff0 - (char *)0xffffffffffffffff => -15 (void *)0xffffffffffffffff > (void *)0 => 1 3?:5 => 3 0?:5 => 5 ({ int i = 3; ++i?:10; }) => 4 (long double)3 => 3 (long double)3+2 => 5 (long double)3*2 => 6 (long double)3+2.0 => 5 OK stage2/test/asm.exe asm_fn1() => 50 asm_fn2() => 55 OK stage2/test/atomic.exe add_millions() => 6000000 ({ int x=3; __builtin_atomic_exchange((&x), (5)); }) => 3 ({ int x=3; __builtin_atomic_exchange((&x), (5)); x; }) => 5 OK stage2/test/attribute.exe ({ struct { char a; int b; } __attribute__((packed)) x; sizeof(x); }) => 5 offsetof(struct __attribute__((packed)) { char a; int b; }, a) => 0 offsetof(struct __attribute__((packed)) { char a; int b; }, b) => 1 ({ struct __attribute__((packed)) { char a; int b; } x; sizeof(x); }) => 5 offsetof(struct { char a; int b; } __attribute__((packed)), a) => 0 offsetof(struct { char a; int b; } __attribute__((packed)), b) => 1 ({ typedef struct { char a; int b[2]; } __attribute__((packed)) T; sizeof(T); }) => 9 ({ typedef struct __attribute__((packed)) { char a; int b[2]; } T; sizeof(T); }) => 9 offsetof(struct __attribute__((packed)) T { char a; int b[2]; }, b) => 1 _Alignof(struct __attribute__((packed)) { char a; int b[2]; }) => 1 ({ struct __attribute__((aligned(8))) { int a; } x; _Alignof(x); }) => 8 ({ struct { int a; } __attribute__((aligned(8))) x; _Alignof(x); }) => 8 ({ struct __attribute__((aligned(8), packed)) { char a; int b; } x; _Alignof(x); }) => 8 ({ struct { char a; int b; } __attribute__((aligned(8), packed)) x; _Alignof(x); }) => 8 offsetof(struct __attribute__((aligned(8), packed)) { char a; int b; }, b) => 1 offsetof(struct { char a; int b; } __attribute__((aligned(8), packed)), b) => 1 ({ struct __attribute__((aligned(8))) __attribute__((packed)) { char a; int b; } x; _Alignof(x); }) => 8 ({ struct { char a; int b; } __attribute__((aligned(8))) __attribute__((packed)) x; _Alignof(x); }) => 8 offsetof(struct __attribute__((aligned(8))) __attribute__((packed)) { char a; int b; }, b) => 1 offsetof(struct { char a; int b; } __attribute__((aligned(8))) __attribute__((packed)), b) => 1 ({ struct __attribute__((aligned(8))) { char a; int b; } __attribute__((packed)) x; _Alignof(x); }) => 8 offsetof(struct __attribute__((aligned(8))) { char a; int b; } __attribute__((packed)), b) => 1 ({ struct __attribute__((aligned(8+8))) { char a; int b; } x; _Alignof(x); }) => 16 OK stage2/test/bitfield.exe sizeof(struct {int x:1; }) => 4 sizeof(struct {long x:1; }) => 8 sizeof(struct bit1) => 4 ({ struct bit1 x; x.a=1; x.b=2; x.c=3; x.d=4; x.e=5; x.a; }) => 1 ({ struct bit1 x={1,2,3,4,5}; x.a; }) => 1 ({ struct bit1 x={1,2,3,4,5}; x.b; }) => 2 ({ struct bit1 x={1,2,3,4,5}; x.c; }) => -1 ({ struct bit1 x={1,2,3,4,5}; x.d; }) => -4 ({ struct bit1 x={1,2,3,4,5}; x.e; }) => -3 g45.a => 1 g45.b => 2 g45.c => 3 g46.a => 0 g46.b => 0 g46.c => 0 ({ T3 x={1,2,3}; x.a++; }) => 1 ({ T3 x={1,2,3}; x.b++; }) => 2 ({ T3 x={1,2,3}; x.c++; }) => 3 ({ T3 x={1,2,3}; ++x.a; }) => 2 ({ T3 x={1,2,3}; ++x.b; }) => 3 ({ T3 x={1,2,3}; ++x.c; }) => 4 sizeof(struct {int a:3; int c:1; int c:5;}) => 4 sizeof(struct {int a:3; int:0; int c:5;}) => 8 sizeof(struct {int a:3; int:0;}) => 4 OK stage2/test/builtin.exe __builtin_types_compatible_p(int, int) => 1 __builtin_types_compatible_p(double, double) => 1 __builtin_types_compatible_p(int, long) => 0 __builtin_types_compatible_p(long, float) => 0 __builtin_types_compatible_p(int *, int *) => 1 __builtin_types_compatible_p(short *, int *) => 0 __builtin_types_compatible_p(int **, int *) => 0 __builtin_types_compatible_p(const int, int) => 1 __builtin_types_compatible_p(unsigned, int) => 0 __builtin_types_compatible_p(signed, int) => 1 __builtin_types_compatible_p(struct {int a;}, struct {int a;}) => 0 __builtin_types_compatible_p(int (*)(void), int (*)(void)) => 1 __builtin_types_compatible_p(void (*)(int), void (*)(int)) => 1 __builtin_types_compatible_p(void (*)(int, double), void (*)(int, double)) => 1 __builtin_types_compatible_p(int (*)(float, double), int (*)(float, double)) => 1 __builtin_types_compatible_p(int (*)(float, double), int) => 0 __builtin_types_compatible_p(int (*)(float, double), int (*)(float)) => 0 __builtin_types_compatible_p(int (*)(float, double), int (*)(float, double, int)) => 0 __builtin_types_compatible_p(double (*)(...), double (*)(...)) => 1 __builtin_types_compatible_p(double (*)(...), double (*)(void)) => 0 ({ typedef struct {int a;} T; __builtin_types_compatible_p(T, T); }) => 1 ({ typedef struct {int a;} T; __builtin_types_compatible_p(T, const T); }) => 1 ({ struct {int a; int b;} x; __builtin_types_compatible_p(typeof(x.a), typeof(x.b)); }) => 1 OK stage2/test/cast.exe (int)8590066177 => 131585 (short)8590066177 => 513 (char)8590066177 => 1 (long)1 => 1 (long)&*(int *)0 => 0 ({ int x=512; *(char *)&x=1; x; }) => 513 ({ int x=5; long y=(long)&x; *(int*)y; }) => 5 (char)255 => -1 (signed char)255 => -1 (unsigned char)255 => 255 (short)65535 => -1 (unsigned short)65535 => 65535 (int)0xffffffff => -1 (unsigned)0xffffffff => -1 -1<1 => 1 -1<(unsigned)1 => 0 (char)127+(char)127 => 254 (short)32767+(short)32767 => 65534 -1>>1 => -1 (unsigned long)-1 => -1 ((unsigned)-1)>>1 => 2147483647 (-100)/2 => -50 ((unsigned)-100)/2 => 2147483598 ((unsigned long)-100)/2 => -50 ((long)-1)/(unsigned)100 => 0 (-100)%7 => -2 ((unsigned)-100)%7 => 2 ((unsigned long)-100)%9 => 6 (int)(unsigned short)65535 => 65535 ({ unsigned short x = 65535; x; }) => 65535 ({ unsigned short x = 65535; (int)x; }) => 65535 ({ typedef short T; T x = 65535; (int)x; }) => -1 ({ typedef unsigned short T; T x = 65535; (int)x; }) => 65535 (_Bool)0.0 => 0 (_Bool)0.1 => 1 (char)3.0 => 3 (short)1000.3 => 1000 (int)3.99 => 3 (long)2e15 => 1233977344 (float)3.5 => 3 (double)(float)5.5 => 5 (float)3 => 3 (double)3 => 3 (float)3L => 3 (double)3L => 3 OK stage2/test/commonsym.exe x => 5 y => 7 common_ext1 => 0 common_ext2 => 3 OK stage2/test/compat.exe OK stage2/test/complit.exe (int){1} => 1 ((int[]){0,1,2})[2] => 2 ((struct {char a; int b;}){'a', 3}).a => 97 ({ int x=3; (int){x}; }) => 3 tree->val => 1 tree->lhs->val => 2 tree->lhs->lhs->val => 3 tree->lhs->rhs->val => 4 OK stage2/test/const.exe ({ const x = 5; x; }) => 5 ({ const x = 8; int *const y=&x; *y; }) => 8 ({ const x = 6; *(const * const)&x; }) => 6 OK stage2/test/constexpr.exe ({ enum { ten=1+2+3+4 }; ten; }) => 10 ({ int i=0; switch(3) { case 5-2+0*3: i++; } i; }) => 1 ({ int x[1+1]; sizeof(x); }) => 8 ({ char x[8-2]; sizeof(x); }) => 6 ({ char x[2*3]; sizeof(x); }) => 6 ({ char x[12/4]; sizeof(x); }) => 3 ({ char x[12%10]; sizeof(x); }) => 2 ({ char x[0b110&0b101]; sizeof(x); }) => 4 ({ char x[0b110|0b101]; sizeof(x); }) => 7 ({ char x[0b111^0b001]; sizeof(x); }) => 6 ({ char x[1<<2]; sizeof(x); }) => 4 ({ char x[4>>1]; sizeof(x); }) => 2 ({ char x[(1==1)+1]; sizeof(x); }) => 2 ({ char x[(1!=1)+1]; sizeof(x); }) => 1 ({ char x[(1<1)+1]; sizeof(x); }) => 1 ({ char x[(1<=1)+1]; sizeof(x); }) => 2 ({ char x[1?2:3]; sizeof(x); }) => 2 ({ char x[0?2:3]; sizeof(x); }) => 3 ({ char x[(1,3)]; sizeof(x); }) => 3 ({ char x[!0+1]; sizeof(x); }) => 2 ({ char x[!1+1]; sizeof(x); }) => 1 ({ char x[~-3]; sizeof(x); }) => 2 ({ char x[(5||6)+1]; sizeof(x); }) => 2 ({ char x[(0||0)+1]; sizeof(x); }) => 1 ({ char x[(1&&1)+1]; sizeof(x); }) => 2 ({ char x[(1&&0)+1]; sizeof(x); }) => 1 ({ char x[(int)3]; sizeof(x); }) => 3 ({ char x[(char)0xffffff0f]; sizeof(x); }) => 15 ({ char x[(short)0xffff010f]; sizeof(x); }) => 271 ({ char x[(int)0xfffffffffff+5]; sizeof(x); }) => 4 ({ char x[(int*)0+2]; sizeof(x); }) => 8 ({ char x[(int*)16-1]; sizeof(x); }) => 12 ({ char x[(int*)16-(int*)4]; sizeof(x); }) => 3 ({ char x[(-1>>31)+5]; sizeof(x); }) => 4 ({ char x[(unsigned char)0xffffffff]; sizeof(x); }) => 255 ({ char x[(unsigned short)0xffff800f]; sizeof(x); }) => 32783 ({ char x[(unsigned int)0xfffffffffff>>31]; sizeof(x); }) => 1 ({ char x[(long)-1/((long)1<<62)+1]; sizeof(x); }) => 1 ({ char x[(unsigned long)-1/((long)1<<62)+1]; sizeof(x); }) => 4 ({ char x[(unsigned)1<-1]; sizeof(x); }) => 1 ({ char x[(unsigned)1<=-1]; sizeof(x); }) => 1 g40==1.5 => 1 g41==11 => 1 OK stage2/test/control.exe ({ int x; if (0) x=2; else x=3; x; }) => 3 ({ int x; if (1-1) x=2; else x=3; x; }) => 3 ({ int x; if (1) x=2; else x=3; x; }) => 2 ({ int x; if (2-1) x=2; else x=3; x; }) => 2 ({ int i=0; int j=0; for (i=0; i<=10; i=i+1) j=i+j; j; }) => 55 ({ int i=0; while(i<10) i=i+1; i; }) => 10 ({ 1; {2;} 3; }) => 3 ({ ;;; 5; }) => 5 ({ int i=0; while(i<10) i=i+1; i; }) => 10 ({ int i=0; int j=0; while(i<=10) {j=i+j; i=i+1;} j; }) => 55 (1,2,3) => 3 ({ int i=2, j=3; (i=5,j)=6; i; }) => 5 ({ int i=2, j=3; (i=5,j)=6; j; }) => 6 ({ int j=0; for (int i=0; i<=10; i=i+1) j=j+i; j; }) => 55 ({ int i=3; int j=0; for (int i=0; i<=10; i=i+1) j=j+i; i; }) => 3 0||1 => 1 0||(2-2)||5 => 1 0||0 => 0 0||(2-2) => 0 0&&1 => 0 (2-2)&&5 => 0 1&&5 => 1 ({ int i=0; goto a; a: i++; b: i++; c: i++; i; }) => 3 ({ int i=0; goto e; d: i++; e: i++; f: i++; i; }) => 2 ({ int i=0; goto i; g: i++; h: i++; i: i++; i; }) => 1 ({ typedef int foo; goto foo; foo:; 1; }) => 1 ({ int i=0; for(;i<10;i++) { if (i == 3) break; } i; }) => 3 ({ int i=0; while (1) { if (i++ == 3) break; } i; }) => 4 ({ int i=0; for(;i<10;i++) { for (;;) break; if (i == 3) break; } i; }) => 3 ({ int i=0; while (1) { while(1) break; if (i++ == 3) break; } i; }) => 4 ({ int i=0; int j=0; for (;i<10;i++) { if (i>5) continue; j++; } i; }) => 10 ({ int i=0; int j=0; for (;i<10;i++) { if (i>5) continue; j++; } j; }) => 6 ({ int i=0; int j=0; for(;!i;) { for (;j!=10;j++) continue; break; } j; }) => 10 ({ int i=0; int j=0; while (i++<10) { if (i>5) continue; j++; } i; }) => 11 ({ int i=0; int j=0; while (i++<10) { if (i>5) continue; j++; } j; }) => 5 ({ int i=0; int j=0; while(!i) { while (j++!=10) continue; break; } j; }) => 11 ({ int i=0; switch(0) { case 0:i=5;break; case 1:i=6;break; case 2:i=7;break; } i; }) => 5 ({ int i=0; switch(1) { case 0:i=5;break; case 1:i=6;break; case 2:i=7;break; } i; }) => 6 ({ int i=0; switch(2) { case 0:i=5;break; case 1:i=6;break; case 2:i=7;break; } i; }) => 7 ({ int i=0; switch(3) { case 0:i=5;break; case 1:i=6;break; case 2:i=7;break; } i; }) => 0 ({ int i=0; switch(0) { case 0:i=5;break; default:i=7; } i; }) => 5 ({ int i=0; switch(1) { case 0:i=5;break; default:i=7; } i; }) => 7 ({ int i=0; switch(1) { case 0: 0; case 1: 0; case 2: 0; i=2; } i; }) => 2 ({ int i=0; switch(3) { case 0: 0; case 1: 0; case 2: 0; i=2; } i; }) => 0 ({ int i=0; switch(-1) { case 0xffffffff: i=3; break; } i; }) => 3 ({ int i=0; int j=0; do { j++; } while (i++ < 6); j; }) => 7 ({ int i=0; int j=0; int k=0; do { if (++j > 3) break; continue; k++; } while (1); j; }) => 4 0.0 && 0.0 => 0 0.0 && 0.1 => 0 0.3 && 0.0 => 0 0.3 && 0.5 => 1 0.0 || 0.0 => 0 0.0 || 0.1 => 1 0.3 || 0.0 => 1 0.3 || 0.5 => 1 ({ int x; if (0.0) x=3; else x=5; x; }) => 5 ({ int x; if (0.1) x=3; else x=5; x; }) => 3 ({ int x=5; if (0.0) x=3; x; }) => 5 ({ int x=5; if (0.1) x=3; x; }) => 3 ({ double i=10.0; int j=0; for (; i; i--, j++); j; }) => 10 ({ double i=10.0; int j=0; do j++; while(--i); j; }) => 10 ({ int i=0; switch(7) { case 0 ... 5: i=1; break; case 6 ... 20: i=2; break; } i; }) => 2 ({ int i=0; switch(7) { case 0 ... 7: i=1; break; case 8 ... 10: i=2; break; } i; }) => 1 ({ int i=0; switch(7) { case 0: i=1; break; case 7 ... 7: i=1; break; } i; }) => 1 ({ void *p = &&v11; int i=0; goto *p; v11:i++; v12:i++; v13:i++; i; }) => 3 ({ void *p = &&v22; int i=0; goto *p; v21:i++; v22:i++; v23:i++; i; }) => 2 ({ void *p = &&v33; int i=0; goto *p; v31:i++; v32:i++; v33:i++; i; }) => 1 ({ static void *p[]={&&v41,&&v42,&&v43}; int i=0; goto *p[0]; v41:i++; v42:i++; v43:i++; i; }) => 3 ({ static void *p[]={&&v52,&&v52,&&v53}; int i=0; goto *p[1]; v51:i++; v52:i++; v53:i++; i; }) => 2 ({ static void *p[]={&&v62,&&v62,&&v63}; int i=0; goto *p[2]; v61:i++; v62:i++; v63:i++; i; }) => 1 OK stage2/test/decl.exe ({ char x; sizeof(x); }) => 1 ({ short int x; sizeof(x); }) => 2 ({ int short x; sizeof(x); }) => 2 ({ int x; sizeof(x); }) => 4 ({ long int x; sizeof(x); }) => 8 ({ int long x; sizeof(x); }) => 8 ({ long long x; sizeof(x); }) => 8 ({ _Bool x=0; x; }) => 0 ({ _Bool x=1; x; }) => 1 ({ _Bool x=2; x; }) => 1 (_Bool)1 => 1 (_Bool)2 => 1 (_Bool)(char)256 => 0 OK stage2/test/enum.exe ({ enum { zero, one, two }; zero; }) => 0 ({ enum { zero, one, two }; one; }) => 1 ({ enum { zero, one, two }; two; }) => 2 ({ enum { five=5, six, seven }; five; }) => 5 ({ enum { five=5, six, seven }; six; }) => 6 ({ enum { zero, five=5, three=3, four }; zero; }) => 0 ({ enum { zero, five=5, three=3, four }; five; }) => 5 ({ enum { zero, five=5, three=3, four }; three; }) => 3 ({ enum { zero, five=5, three=3, four }; four; }) => 4 ({ enum { zero, one, two } x; sizeof(x); }) => 4 ({ enum t { zero, one, two }; enum t y; sizeof(y); }) => 4 OK stage2/test/extern.exe ext1 => 5 *ext2 => 5 ext3 => 7 ext_fn1(5) => 5 ext_fn2(8) => 8 OK stage2/test/float.exe (float)(char)35 => 35 (float)(short)35 => 35 (float)(int)35 => 35 (float)(long)35 => 35 (float)(unsigned char)35 => 35 (float)(unsigned short)35 => 35 (float)(unsigned int)35 => 35 (float)(unsigned long)35 => 35 (double)(char)35 => 35 (double)(short)35 => 35 (double)(int)35 => 35 (double)(long)35 => 35 (double)(unsigned char)35 => 35 (double)(unsigned short)35 => 35 (double)(unsigned int)35 => 35 (double)(unsigned long)35 => 35 (char)(float)35 => 35 (short)(float)35 => 35 (int)(float)35 => 35 (long)(float)35 => 35 (unsigned char)(float)35 => 35 (unsigned short)(float)35 => 35 (unsigned int)(float)35 => 35 (unsigned long)(float)35 => 35 (char)(double)35 => 35 (short)(double)35 => 35 (int)(double)35 => 35 (long)(double)35 => 35 (unsigned char)(double)35 => 35 (unsigned short)(double)35 => 35 (unsigned int)(double)35 => 35 (unsigned long)(double)35 => 35 (double)(unsigned long)(long)-1 => -2147483648 2e3==2e3 => 1 2e3==2e5 => 0 2.0==2 => 1 5.1<5 => 0 5.0<5 => 0 4.9<5 => 1 5.1<=5 => 0 5.0<=5 => 1 4.9<=5 => 1 2e3f==2e3 => 1 2e3f==2e5 => 0 2.0f==2 => 1 5.1f<5 => 0 5.0f<5 => 0 4.9f<5 => 1 5.1f<=5 => 0 5.0f<=5 => 1 4.9f<=5 => 1 2.3+3.8 => 6 2.3-3.8 => -1 -3.8 => -3 3.3*4 => 13 5.0/2 => 2 2.3f+3.8f => 6 2.3f+3.8 => 6 2.3f-3.8 => -1 -3.8f => -3 3.3f*4 => 13 5.0f/2 => 2 0.0/0.0 == 0.0/0.0 => 0 0.0/0.0 != 0.0/0.0 => 1 0.0/0.0 < 0 => 0 0.0/0.0 <= 0 => 0 0.0/0.0 > 0 => 0 0.0/0.0 >= 0 => 0 !3. => 0 !0. => 1 !3.f => 0 !0.f => 1 0.0 ? 3 : 5 => 5 1.2 ? 3 : 5 => 3 OK stage2/test/function.exe ret3() => 3 add2(3, 5) => 8 sub2(5, 3) => 2 add6(1,2,3,4,5,6) => 21 add6(1,2,add6(3,4,5,6,7,8),9,10,11) => 66 add6(1,2,add6(3,add6(4,5,6,7,8,9),10,11,12,13),14,15,16) => 136 add2(3,4) => 7 sub2(4,3) => 1 fib(9) => 55 ({ sub_char(7, 3, 3); }) => 1 sub_long(7, 3, 3) => 1 sub_short(7, 3, 3) => 1 *g1_ptr() => 3 int_to_char(261) => 5 int_to_char(261) => 5 div_long(-10, 2) => -5 bool_fn_add(3) => 1 bool_fn_sub(3) => 0 bool_fn_add(-3) => 1 bool_fn_sub(-3) => 0 bool_fn_add(0) => 1 bool_fn_sub(0) => 1 static_fn() => 3 ({ int x[2]; x[0]=3; param_decay(x); }) => 3 counter() => 2 counter() => 4 counter() => 6 true_fn() => 1 false_fn() => 0 char_fn() => 3 short_fn() => 5 add_all(3,1,2,3) => 6 add_all(4,1,2,3,-1) => 5 1 2 foo ({ char buf[100]; sprintf(buf, "%d %d %s", 1, 2, "foo"); strcmp("1 2 foo", buf); }) => 0 ({ char buf[100]; fmt(buf, "%d %d %s", 1, 2, "foo"); strcmp("1 2 foo", buf); }) => 0 uchar_fn() => 251 ushort_fn() => 65528 schar_fn() => -5 sshort_fn() => -8 add_float(2.3, 3.8) => 6 add_double(2.3, 3.8) => 6 add_float3(2.5, 2.5, 2.5) => 7 add_double3(2.5, 2.5, 2.5) => 7 ({ char buf[100]; sprintf(buf, "%.1f", (float)3.5); strcmp(buf, "3.5"); }) => 0 ({ char buf[100]; fmt(buf, "%.1f", (float)3.5); strcmp(buf, "3.5"); }) => 0 (add2)(2,3) => 5 (&add2)(2,3) => 5 ({ int (*fn)(int,int) = add2; fn(2,5); }) => 7 fnptr(add_all)(3, 1, 2, 3) => 6 param_decay2(ret3) => 3 sizeof(__func__) => 5 strcmp("main", __func__) => 0 strcmp("func_fn", func_fn()) => 0 strcmp("main", __FUNCTION__) => 0 strcmp("function_fn", function_fn()) => 0 add10_int(1,2,3,4,5,6,7,8,9,10) => 55 add10_float(1,2,3,4,5,6,7,8,9,10) => 55 add10_double(1,2,3,4,5,6,7,8,9,10) => 55 ({ char buf[200]; sprintf(buf, "%d %.1f %.1f %.1f %d %d %.1f %d %d %d %d %.1f %d %d %.1f %.1f %.1f %.1f %d", 1, 1.0, 1.0, 1.0, 1, 1, 1.0, 1, 1, 1, 1, 1.0, 1, 1, 1.0, 1.0, 1.0, 1.0, 1); strcmp("1 1.0 1.0 1.0 1 1 1.0 1 1 1 1 1.0 1 1 1.0 1.0 1.0 1.0 1", buf); }) => 0 many_args1(1,2,3,4,5,6,40,10) => 4 many_args2(1,2,3,4,5,6,7,8,40,10) => 4 many_args3(1,2,3,4,5,6,7,8,9,10,11,12,13,14,80,10) => 8 ({ Ty4 x={10,20,30,40}; struct_test4(x, 0); }) => 10 ({ Ty4 x={10,20,30,40}; struct_test4(x, 1); }) => 20 ({ Ty4 x={10,20,30,40}; struct_test4(x, 2); }) => 30 ({ Ty4 x={10,20,30,40}; struct_test4(x, 3); }) => 40 ({ Ty5 x={10,20,30}; struct_test5(x, 0); }) => 10 ({ Ty5 x={10,20,30}; struct_test5(x, 1); }) => 20 ({ Ty5 x={10,20,30}; struct_test5(x, 2); }) => 30 ({ Ty6 x={10,20,30}; struct_test6(x, 0); }) => 10 ({ Ty6 x={10,20,30}; struct_test6(x, 1); }) => 20 ({ Ty6 x={10,20,30}; struct_test6(x, 2); }) => 30 ({ Ty7 x={10,20,30}; struct_test7(x, 0); }) => 10 ({ Ty7 x={10,20,30}; struct_test7(x, 1); }) => 20 ({ Ty7 x={10,20,30}; struct_test7(x, 2); }) => 30 ({ Ty4 x={10,20,30,40}; struct_test14(x, 0); }) => 10 ({ Ty4 x={10,20,30,40}; struct_test14(x, 1); }) => 20 ({ Ty4 x={10,20,30,40}; struct_test14(x, 2); }) => 30 ({ Ty4 x={10,20,30,40}; struct_test14(x, 3); }) => 40 ({ Ty5 x={10,20,30}; struct_test15(x, 0); }) => 10 ({ Ty5 x={10,20,30}; struct_test15(x, 1); }) => 20 ({ Ty5 x={10,20,30}; struct_test15(x, 2); }) => 30 struct_test24().a => 10 struct_test24().b => 20 struct_test24().c => 30 struct_test24().d => 40 struct_test25().a => 10 struct_test25().b => 20 struct_test25().c => 30 struct_test26().a[0] => 10 struct_test26().a[1] => 20 struct_test26().a[2] => 30 struct_test27().a[0] => 10 struct_test27().a[5] => 60 struct_test27().a[9] => 100 struct_test28().a[0] => 1 struct_test28().a[4] => 5 struct_test28().a[9] => 10 struct_test28().a[14] => 15 struct_test28().a[19] => 20 struct_test34().a => 10 struct_test34().b => 20 struct_test34().c => 30 struct_test34().d => 40 struct_test35().a => 10 struct_test35().b => 20 struct_test35().c => 30 struct_test36().a[0] => 10 struct_test36().a[1] => 20 struct_test36().a[2] => 30 struct_test37().a[0] => 10 struct_test37().a[5] => 60 struct_test37().a[9] => 100 struct_test38().a[0] => 1 struct_test38().a[4] => 5 struct_test38().a[9] => 10 struct_test38().a[14] => 15 struct_test38().a[19] => 20 (***add2)(2,3) => 5 inline_fn() => 3 ({ char buf[100]; sprintf(buf, "%Lf", (long double)12.3); strncmp(buf, "12.3", 4); }) => 0 to_double(3.5) == 3.5 => 1 to_double(3.5) == 3 => 0 (long double)5.0 == (long double)5.0 => 1 (long double)5.0 == (long double)5.2 => 0 to_ldouble(5.0) == 5.0 => 1 to_ldouble(5.0) == 5.2 => 0 OK stage2/test/generic.exe _Generic(100.0, double: 1, int *: 2, int: 3, float: 4) => 1 _Generic((int *)0, double: 1, int *: 2, int: 3, float: 4) => 2 _Generic((int[3]){}, double: 1, int *: 2, int: 3, float: 4) => 2 _Generic(100, double: 1, int *: 2, int: 3, float: 4) => 3 _Generic(100f, double: 1, int *: 2, int: 3, float: 4) => 4 OK stage2/test/initializer.exe ({ int x[3]={1,2,3}; x[0]; }) => 1 ({ int x[3]={1,2,3}; x[1]; }) => 2 ({ int x[3]={1,2,3}; x[2]; }) => 3 ({ int x[3]={1,2,3}; x[2]; }) => 3 ({ int x[2][3]={{1,2,3},{4,5,6}}; x[0][1]; }) => 2 ({ int x[2][3]={{1,2,3},{4,5,6}}; x[1][0]; }) => 4 ({ int x[2][3]={{1,2,3},{4,5,6}}; x[1][2]; }) => 6 ({ int x[3]={}; x[0]; }) => 0 ({ int x[3]={}; x[1]; }) => 0 ({ int x[3]={}; x[2]; }) => 0 ({ int x[2][3]={{1,2}}; x[0][1]; }) => 2 ({ int x[2][3]={{1,2}}; x[1][0]; }) => 0 ({ int x[2][3]={{1,2}}; x[1][2]; }) => 0 ({ char x[4]="abc"; x[0]; }) => 97 ({ char x[4]="abc"; x[2]; }) => 99 ({ char x[4]="abc"; x[3]; }) => 0 ({ char x[2][4]={"abc","def"}; x[0][0]; }) => 97 ({ char x[2][4]={"abc","def"}; x[0][3]; }) => 0 ({ char x[2][4]={"abc","def"}; x[1][0]; }) => 100 ({ char x[2][4]={"abc","def"}; x[1][2]; }) => 102 ({ int x[]={1,2,3,4}; x[3]; }) => 4 ({ int x[]={1,2,3,4}; sizeof(x); }) => 16 ({ char x[]="foo"; sizeof(x); }) => 4 ({ typedef char T[]; T x="foo"; T y="x"; sizeof(x); }) => 4 ({ typedef char T[]; T x="foo"; T y="x"; sizeof(y); }) => 2 ({ typedef char T[]; T x="x"; T y="foo"; sizeof(x); }) => 2 ({ typedef char T[]; T x="x"; T y="foo"; sizeof(y); }) => 4 ({ struct {int a; int b; int c;} x={1,2,3}; x.a; }) => 1 ({ struct {int a; int b; int c;} x={1,2,3}; x.b; }) => 2 ({ struct {int a; int b; int c;} x={1,2,3}; x.c; }) => 3 ({ struct {int a; int b; int c;} x={1}; x.a; }) => 1 ({ struct {int a; int b; int c;} x={1}; x.b; }) => 0 ({ struct {int a; int b; int c;} x={1}; x.c; }) => 0 ({ struct {int a; int b;} x[2]={{1,2},{3,4}}; x[0].a; }) => 1 ({ struct {int a; int b;} x[2]={{1,2},{3,4}}; x[0].b; }) => 2 ({ struct {int a; int b;} x[2]={{1,2},{3,4}}; x[1].a; }) => 3 ({ struct {int a; int b;} x[2]={{1,2},{3,4}}; x[1].b; }) => 4 ({ struct {int a; int b;} x[2]={{1,2}}; x[1].b; }) => 0 ({ struct {int a; int b;} x={}; x.a; }) => 0 ({ struct {int a; int b;} x={}; x.b; }) => 0 ({ typedef struct {int a,b,c,d,e,f;} T; T x={1,2,3,4,5,6}; T y; y=x; y.e; }) => 5 ({ typedef struct {int a,b;} T; T x={1,2}; T y, z; z=y=x; z.b; }) => 2 ({ typedef struct {int a,b;} T; T x={1,2}; T y=x; y.a; }) => 1 ({ union { int a; char b[4]; } x={0x01020304}; x.b[0]; }) => 4 ({ union { int a; char b[4]; } x={0x01020304}; x.b[1]; }) => 3 ({ union { struct { char a,b,c,d; } e; int f; } x={{4,3,2,1}}; x.f; }) => 16909060 g3 => 3 g4 => 4 g5 => 5 g6 => 6 g9[0] => 0 g9[1] => 1 g9[2] => 2 g11[0].a => 1 g11[0].b => 2 g11[1].a => 3 g11[1].b => 4 g12[0].a[0] => 1 g12[0].a[1] => 2 g12[1].a[0] => 0 g12[1].a[1] => 0 g13[0].b[0] => 4 g13[0].b[1] => 3 g13[1].b[0] => 8 g13[1].b[1] => 7 sizeof(g17) => 7 sizeof(g18) => 10 sizeof(g19) => 3 memcmp(g17, "foobar", 7) => 0 memcmp(g18, "foobar\0\0\0", 10) => 0 memcmp(g19, "foo", 3) => 0 strcmp(g20, "foobar") => 0 strcmp(g21, "bar") => 0 strcmp(g22+3, "foobar") => 0 strcmp(g23[0], "foobar") => 0 strcmp(g23[1], "bar") => 0 strcmp(g23[2]+3, "foobar") => 0 g24 => 3 *g25 => 3 *g27 => 2 *g28 => 3 *(int *)g29 => 1 g31[0] => 1 g31[1] => 2 g31[2] => 3 g40[0].a[0] => 1 g40[0].a[1] => 2 g40[1].a[0] => 3 g40[1].a[1] => 4 g41[0].a[0] => 1 g41[0].a[1] => 2 g41[1].a[0] => 3 g41[1].a[1] => 4 ({ int x[2][3]={0,1,2,3,4,5}; x[0][0]; }) => 0 ({ int x[2][3]={0,1,2,3,4,5}; x[1][0]; }) => 3 ({ struct {int a; int b;} x[2]={0,1,2,3}; x[0].a; }) => 0 ({ struct {int a; int b;} x[2]={0,1,2,3}; x[1].a; }) => 2 strcmp(g43[0], "foo") => 0 strcmp(g43[1], "bar") => 0 strcmp(g44, "foo") => 0 ({ int a[]={1,2,3,}; a[2]; }) => 3 ({ struct {int a,b,c;} x={1,2,3,}; x.a; }) => 1 ({ union {int a; char b;} x={1,}; x.a; }) => 1 ({ enum {x,y,z,}; z; }) => 2 sizeof(g60) => 3 sizeof(g61) => 6 sizeof(g65) => 4 sizeof(g66) => 7 strcmp(g65.b, "oo") => 0 strcmp(g66.b, "oobar") => 0 ({ int x[3]={1, 2, 3, [0]=4, 5}; x[0]; }) => 4 ({ int x[3]={1, 2, 3, [0]=4, 5}; x[1]; }) => 5 ({ int x[3]={1, 2, 3, [0]=4, 5}; x[2]; }) => 3 ({ int x[2][3]={1,2,3,4,5,6,[0][1]=7,8,[0]=9,[0]=10,11,[1][0]=12}; x[0][0]; }) => 10 ({ int x[2][3]={1,2,3,4,5,6,[0][1]=7,8,[0]=9,[0]=10,11,[1][0]=12}; x[0][1]; }) => 11 ({ int x[2][3]={1,2,3,4,5,6,[0][1]=7,8,[0]=9,[0]=10,11,[1][0]=12}; x[0][2]; }) => 8 ({ int x[2][3]={1,2,3,4,5,6,[0][1]=7,8,[0]=9,[0]=10,11,[1][0]=12}; x[1][0]; }) => 12 ({ int x[2][3]={1,2,3,4,5,6,[0][1]=7,8,[0]=9,[0]=10,11,[1][0]=12}; x[1][1]; }) => 5 ({ int x[2][3]={1,2,3,4,5,6,[0][1]=7,8,[0]=9,[0]=10,11,[1][0]=12}; x[1][2]; }) => 6 ({ int x[2][3]={1,2,3,4,5,6,[0]={7,8},9,10}; x[0][0]; }) => 7 ({ int x[2][3]={1,2,3,4,5,6,[0]={7,8},9,10}; x[0][1]; }) => 8 ({ int x[2][3]={1,2,3,4,5,6,[0]={7,8},9,10}; x[0][2]; }) => 3 ({ int x[2][3]={1,2,3,4,5,6,[0]={7,8},9,10}; x[1][0]; }) => 9 ({ int x[2][3]={1,2,3,4,5,6,[0]={7,8},9,10}; x[1][1]; }) => 10 ({ int x[2][3]={1,2,3,4,5,6,[0]={7,8},9,10}; x[1][2]; }) => 6 ((int[10]){ [3]=7 })[3] => 7 ((int[10]){ [3]=7 })[4] => 0 ({ char x[]={[10-3]=1,2,3}; sizeof(x); }) => 10 ({ char x[][2]={[8][1]=1,2}; sizeof(x); }) => 20 sizeof(g60) => 3 sizeof(g61) => 6 sizeof(g65) => 4 sizeof(g66) => 7 strcmp(g65.b, "oo") => 0 strcmp(g66.b, "oobar") => 0 ((int[10]){ [3] 7 })[3] => 7 ((int[10]){ [3] 7 })[4] => 0 ({ struct { int a,b; } x={1,2,.b=3,.a=4}; x.a; }) => 4 ({ struct { int a,b; } x={1,2,.b=3,.a=4}; x.b; }) => 3 ({ struct { struct { int a,b; } c; } x={.c=1,2}; x.c.a; }) => 1 ({ struct { struct { int a,b; } c; } x={.c=1,2}; x.c.b; }) => 2 ({ struct { struct { int a,b; } c; } x={.c.b=1}; x.c.a; }) => 0 ({ struct { struct { int a,b; } c; } x={.c.b=1}; x.c.b; }) => 1 ({ struct { int a[2]; } x={.a=1,2}; x.a[0]; }) => 1 ({ struct { int a[2]; } x={.a=1,2}; x.a[1]; }) => 2 ({ struct { int a[2]; } x={.a[1]=1}; x.a[0]; }) => 0 ({ struct { int a[2]; } x={.a[1]=1}; x.a[1]; }) => 1 ({ struct { int a,b; } x[]={[1].b=1,2,[0]=3,4,}; x[0].a; }) => 3 ({ struct { int a,b; } x[]={[1].b=1,2,[0]=3,4,}; x[0].b; }) => 4 ({ struct { int a,b; } x[]={[1].b=1,2,[0]=3,4,}; x[1].a; }) => 0 ({ struct { int a,b; } x[]={[1].b=1,2,[0]=3,4,}; x[1].b; }) => 1 ({ struct { int a,b; } x[]={[1].b=1,2,[0]=3,4,}; x[2].a; }) => 2 ({ struct { int a,b; } x[]={[1].b=1,2,[0]=3,4,}; x[2].b; }) => 0 ({ typedef struct { int a,b; } T; T x={1,2}; T y[]={x}; y[0].a; }) => 1 ({ typedef struct { int a,b; } T; T x={1,2}; T y[]={x}; y[0].b; }) => 2 ({ typedef struct { int a,b; } T; T x={1,2}; T y[]={x, [0].b=3}; y[0].a; }) => 0 ({ typedef struct { int a,b; } T; T x={1,2}; T y[]={x, [0].b=3}; y[0].b; }) => 3 ((struct { int a,b,c; }){ .c=5 }).c => 5 ((struct { int a,b,c; }){ .c=5 }).a => 0 ({ union { unsigned short a; char b[2]; } x={.b[0]=0xff}; x.a; }) => 255 ({ union { unsigned short a; char b[2]; } x={.b[1]=0xff}; x.a; }) => 65280 g50.a => 1179648 g51[0].a => 0 g51[1].a => 0 ({ struct { struct { int a; struct { int b; }; }; int c; } x={1,2,3,.b=4,5}; x.a; }) => 1 ({ struct { struct { int a; struct { int b; }; }; int c; } x={1,2,3,.b=4,5}; x.b; }) => 4 ({ struct { struct { int a; struct { int b; }; }; int c; } x={1,2,3,.b=4,5}; x.c; }) => 5 ({ char x[]={[2 ... 10]='a', [7]='b', [15 ... 15]='c', [3 ... 5]='d'}; sizeof(x); }) => 16 ({ char x[]={[2 ... 10]='a', [7]='b', [15 ... 15]='c', [3 ... 5]='d'}; memcmp(x, "\0\0adddabaaa\0\0\0\0c", 16); }) => 0 OK stage2/test/line.exe __LINE__ => 501 strcmp("foo", "foo") => 0 __LINE__ => 801 strcmp("bar", "bar") => 0 __LINE__ => 2 __LINE__ => 201 strcmp("xyz", "xyz") => 0 OK stage2/test/literal.exe 'a' => 97 '\n' => 10 '\x80' => -128 0777 => 511 0x0 => 0 0xa => 10 0XA => 10 0xbeef => 48879 0xBEEF => 48879 0XBEEF => 48879 0b0 => 0 0b1 => 1 0b101111 => 47 0B101111 => 47 sizeof(0) => 4 sizeof(0L) => 8 sizeof(0LU) => 8 sizeof(0UL) => 8 sizeof(0LL) => 8 sizeof(0LLU) => 8 sizeof(0Ull) => 8 sizeof(0l) => 8 sizeof(0ll) => 8 sizeof(0x0L) => 8 sizeof(0b0L) => 8 sizeof(2147483647) => 4 sizeof(2147483648) => 8 0xffffffffffffffff => -1 sizeof(0xffffffffffffffff) => 8 sizeof(4294967295U) => 4 sizeof(4294967296U) => 8 -1U>>30 => 3 -1Ul>>62 => 3 -1ull>>62 => 3 0xffffffffffffffffl>>63 => 1 0xffffffffffffffffll>>63 => 1 18446744073709551615 => -1 sizeof(18446744073709551615) => 8 18446744073709551615>>63 => -1 0xffffffffffffffff => -1 sizeof(0xffffffffffffffff) => 8 0xffffffffffffffff>>63 => 1 01777777777777777777777 => -1 sizeof(01777777777777777777777) => 8 01777777777777777777777>>63 => 1 0b1111111111111111111111111111111111111111111111111111111111111111 => -1 sizeof(0b1111111111111111111111111111111111111111111111111111111111111111) => 8 0b1111111111111111111111111111111111111111111111111111111111111111>>63 => 1 sizeof(2147483648) => 8 sizeof(2147483647) => 4 sizeof(0x1ffffffff) => 8 sizeof(0xffffffff) => 4 0xffffffff>>31 => 1 sizeof(040000000000) => 8 sizeof(037777777777) => 4 037777777777>>31 => 1 sizeof(0b111111111111111111111111111111111) => 8 sizeof(0b11111111111111111111111111111111) => 4 0b11111111111111111111111111111111>>31 => 1 1 << 31 >> 31 => -1 01 << 31 >> 31 => -1 0x1 << 31 >> 31 => -1 0b1 << 31 >> 31 => -1 sizeof(8f) => 4 sizeof(0.3F) => 4 sizeof(0.) => 8 sizeof(.0) => 8 sizeof(5.l) => 16 sizeof(2.0L) => 16 sizeof(char) => 1 sizeof(L'\0') => 4 L'a' => 97 OK stage2/test/macro.exe include1 => 5 include2 => 7 m => 5 m => 3 m => 3 m => 2 m => 2 m => 3 m => 1 m => 2 M1 => 3 M1 => 4 M1 5 => 12 M1*5 => 23 5 => 5 m => 5 m => 5 M2 => 9 M3 => 12 M4 => 13 m => 3 m => 5 m => 3 m => 5 M7() => 1 M7 => 5 ret3 () => 3 M8(3, 4) => 7 M8(3+4, 4+5) => 24 M8(3+4, 4+5) => 63 M8(, 4+5) => 9 M8((2+3), 4) => 20 M8((2,3), 4) => 12 dbl(2) => 10 M11( a!b `""c)[0] => 97 M11( a!b `""c)[1] => 33 M11( a!b `""c)[2] => 98 M11( a!b `""c)[3] => 32 M11( a!b `""c)[4] => 96 M11( a!b `""c)[5] => 34 M11( a!b `""c)[6] => 34 M11( a!b `""c)[7] => 99 M11( a!b `""c)[8] => 0 paste(1,5) => 15 paste(0,xff) => 255 ({ int foobar=3; foobar; }) => 3 paste(5,) => 5 paste(,5) => 5 ({ int i3=100; 1+i3; }) => 101 paste2(1+2) => 26 paste3(1+2) => 23 paste4(1,2,3) => 123 m => 3 m => 3 m => 4 m => 4 m => 5 strcmp("foo.bar", "foo.bar") => 0 strcmp("foo. bar", "foo. bar") => 0 strcmp("bar.foo", "bar.foo") => 0 strcmp("bar. foo", "bar. foo") => 0 foo => 3 foo => 4 foo => 3 foo => 4 __STDC__ => 1 strcmp(main_filename1, "test/macro.c") => 0 main_line1 => 5 main_line2 => 7 strcmp(include1_filename, "test/include1.h") => 0 include1_line => 4 M14() => 3 M14() 2 => 2 M14(5) => 5 M14(2, 6) => 8 M14(3,4,5) => 21 M14(3,4,5) => 21 M14() => 3 M14(5) => 5 M14() 2 => 2 M14(5) => 5 M14(2, 6) => 8 M14(3,4,5) => 21 M14(3,4,5) => 21 M14(5) => 5 ({ int f0zz=5; f0zz; }) => 5 ({ 4.57 + 0.5; }) => 5 strlen("Nov 11 2024") => 11 strlen("10:16:48") => 8 __COUNTER__ => 0 __COUNTER__ => 1 __COUNTER__ => 2 strlen("Mon Dec 7 03:00:06 2020") => 24 strcmp("test/macro.c", "test/macro.c") => 0 ({ char buf[100]; sprintf(buf, "foo"); strcmp(buf, "foo"); }) => 0 ({ char buf[100]; sprintf(buf, "foo%d", 3); strcmp(buf, "foo3"); }) => 0 ({ char buf[100]; sprintf(buf, "foo%d%d", 3, 5); strcmp(buf, "foo35"); }) => 0 ({ char buf[100]; sprintf(buf, "foo"); strcmp(buf, "foo"); }) => 0 ({ char buf[100]; sprintf(buf, "foo%d", 3); strcmp(buf, "foo3"); }) => 0 ({ char buf[100]; sprintf(buf, "foo%d%d", 3, 5); strcmp(buf, "foo35"); }) => 0 M31(, 3) => 3 OK stage2/test/offsetof.exe offsetof(T, a) => 0 offsetof(T, b) => 4 offsetof(T, c) => 8 offsetof(T, d) => 16 OK stage2/test/pointer.exe ({ int x=3; *&x; }) => 3 ({ int x=3; int *y=&x; int **z=&y; **z; }) => 3 ({ int x=3; int y=5; *(&x+1); }) => 5 ({ int x=3; int y=5; *(&y-1); }) => 3 ({ int x=3; int y=5; *(&x-(-1)); }) => 5 ({ int x=3; int *y=&x; *y=5; x; }) => 5 ({ int x=3; int y=5; *(&x+1)=7; y; }) => 7 ({ int x=3; int y=5; *(&y-2+1)=7; x; }) => 7 ({ int x=3; (&x+2)-&x+3; }) => 5 ({ int x, y; x=3; y=5; x+y; }) => 8 ({ int x=3, y=5; x+y; }) => 8 ({ int x[2]; int *y=&x; *y=3; *x; }) => 3 ({ int x[3]; *x=3; *(x+1)=4; *(x+2)=5; *x; }) => 3 ({ int x[3]; *x=3; *(x+1)=4; *(x+2)=5; *(x+1); }) => 4 ({ int x[3]; *x=3; *(x+1)=4; *(x+2)=5; *(x+2); }) => 5 ({ int x[2][3]; int *y=x; *y=0; **x; }) => 0 ({ int x[2][3]; int *y=x; *(y+1)=1; *(*x+1); }) => 1 ({ int x[2][3]; int *y=x; *(y+2)=2; *(*x+2); }) => 2 ({ int x[2][3]; int *y=x; *(y+3)=3; **(x+1); }) => 3 ({ int x[2][3]; int *y=x; *(y+4)=4; *(*(x+1)+1); }) => 4 ({ int x[2][3]; int *y=x; *(y+5)=5; *(*(x+1)+2); }) => 5 ({ int x[3]; *x=3; x[1]=4; x[2]=5; *x; }) => 3 ({ int x[3]; *x=3; x[1]=4; x[2]=5; *(x+1); }) => 4 ({ int x[3]; *x=3; x[1]=4; x[2]=5; *(x+2); }) => 5 ({ int x[3]; *x=3; x[1]=4; x[2]=5; *(x+2); }) => 5 ({ int x[3]; *x=3; x[1]=4; 2[x]=5; *(x+2); }) => 5 ({ int x[2][3]; int *y=x; y[0]=0; x[0][0]; }) => 0 ({ int x[2][3]; int *y=x; y[1]=1; x[0][1]; }) => 1 ({ int x[2][3]; int *y=x; y[2]=2; x[0][2]; }) => 2 ({ int x[2][3]; int *y=x; y[3]=3; x[1][0]; }) => 3 ({ int x[2][3]; int *y=x; y[4]=4; x[1][1]; }) => 4 ({ int x[2][3]; int *y=x; y[5]=5; x[1][2]; }) => 5 OK stage2/test/pragma-once.exe OK stage2/test/sizeof.exe sizeof(char) => 1 sizeof(short) => 2 sizeof(short int) => 2 sizeof(int short) => 2 sizeof(int) => 4 sizeof(long) => 8 sizeof(long int) => 8 sizeof(long int) => 8 sizeof(char *) => 8 sizeof(int *) => 8 sizeof(long *) => 8 sizeof(int **) => 8 sizeof(int(*)[4]) => 8 sizeof(int*[4]) => 32 sizeof(int[4]) => 16 sizeof(int[3][4]) => 48 sizeof(struct {int a; int b;}) => 8 sizeof(-10 + (long)5) => 8 sizeof(-10 - (long)5) => 8 sizeof(-10 * (long)5) => 8 sizeof(-10 / (long)5) => 8 sizeof((long)-10 + 5) => 8 sizeof((long)-10 - 5) => 8 sizeof((long)-10 * 5) => 8 sizeof((long)-10 / 5) => 8 ({ char i; sizeof(++i); }) => 1 ({ char i; sizeof(i++); }) => 1 sizeof(int(*)[10]) => 8 sizeof(int(*)[][10]) => 8 sizeof(struct { int x, y[]; }) => 4 sizeof(char) => 1 sizeof(signed char) => 1 sizeof(signed char signed) => 1 sizeof(unsigned char) => 1 sizeof(unsigned char unsigned) => 1 sizeof(short) => 2 sizeof(int short) => 2 sizeof(short int) => 2 sizeof(signed short) => 2 sizeof(int short signed) => 2 sizeof(unsigned short) => 2 sizeof(int short unsigned) => 2 sizeof(int) => 4 sizeof(signed int) => 4 sizeof(signed) => 4 sizeof(signed signed) => 4 sizeof(unsigned int) => 4 sizeof(unsigned) => 4 sizeof(unsigned unsigned) => 4 sizeof(long) => 8 sizeof(signed long) => 8 sizeof(signed long int) => 8 sizeof(unsigned long) => 8 sizeof(unsigned long int) => 8 sizeof(long long) => 8 sizeof(signed long long) => 8 sizeof(signed long long int) => 8 sizeof(unsigned long long) => 8 sizeof(unsigned long long int) => 8 sizeof((char)1) => 1 sizeof((short)1) => 2 sizeof((int)1) => 4 sizeof((long)1) => 8 sizeof((char)1 + (char)1) => 4 sizeof((short)1 + (short)1) => 4 sizeof(1?2:3) => 4 sizeof(1?(short)2:(char)3) => 4 sizeof(1?(long)2:(char)3) => 8 sizeof(char) << 31 >> 31 => 1 sizeof(char) << 63 >> 63 => 1 sizeof(float) => 4 sizeof(double) => 8 sizeof(1f+2) => 4 sizeof(1.0+2) => 8 sizeof(1f-2) => 4 sizeof(1.0-2) => 8 sizeof(1f*2) => 4 sizeof(1.0*2) => 8 sizeof(1f/2) => 4 sizeof(1.0/2) => 8 sizeof(long double) => 16 sizeof(main) => 1 OK stage2/test/stdhdr.exe OK stage2/test/string.exe ""[0] => 0 sizeof("") => 1 "abc"[0] => 97 "abc"[1] => 98 "abc"[2] => 99 "abc"[3] => 0 sizeof("abc") => 4 "\a"[0] => 7 "\b"[0] => 8 "\t"[0] => 9 "\n"[0] => 10 "\v"[0] => 11 "\f"[0] => 12 "\r"[0] => 13 "\e"[0] => 27 "\j"[0] => 106 "\k"[0] => 107 "\l"[0] => 108 "\ax\ny"[0] => 7 "\ax\ny"[1] => 120 "\ax\ny"[2] => 10 "\ax\ny"[3] => 121 "\0"[0] => 0 "\20"[0] => 16 "\101"[0] => 65 "\1500"[0] => 104 "\x00"[0] => 0 "\x77"[0] => 119 sizeof("abc" "def") => 7 sizeof("abc" "d" "efgh") => 9 strcmp("abc" "d" "\nefgh", "abcd\nefgh") => 0 !strcmp("abc" "d", "abcd\nefgh") => 0 strcmp("\x9" "0", "\t0") => 0 sizeof(L"abc" "") => 16 sizeof(L"abc" "def") => 28 sizeof(L"abc" L"def") => 28 sizeof(u"abc" "def") => 14 sizeof(u"abc" u"def") => 14 (L"abc" "def")[0] => 97 (L"abc" "def")[3] => 100 (L"abc" "def")[6] => 0 (u"abc" "def")[0] => 97 (u"abc" "def")[3] => 100 (u"abc" "def")[6] => 0 ("あ" L"")[0] => 12354 ("\343\201\202" L"")[0] => 227 ("\343\201\202" L"")[1] => 129 ("\343\201\202" L"")[2] => 130 ("\343\201\202" L"")[3] => 0 ("a" "b" L"c")[0] => 97 ("a" "b" L"c")[1] => 98 ("a" "b" L"c")[2] => 99 ("a" "b" L"c")[3] => 0 OK stage2/test/struct.exe ({ struct {int a; int b;} x; x.a=1; x.b=2; x.a; }) => 1 ({ struct {int a; int b;} x; x.a=1; x.b=2; x.b; }) => 2 ({ struct {char a; int b; char c;} x; x.a=1; x.b=2; x.c=3; x.a; }) => 1 ({ struct {char a; int b; char c;} x; x.b=1; x.b=2; x.c=3; x.b; }) => 2 ({ struct {char a; int b; char c;} x; x.a=1; x.b=2; x.c=3; x.c; }) => 3 ({ struct {char a; char b;} x[3]; char *p=x; p[0]=0; x[0].a; }) => 0 ({ struct {char a; char b;} x[3]; char *p=x; p[1]=1; x[0].b; }) => 1 ({ struct {char a; char b;} x[3]; char *p=x; p[2]=2; x[1].a; }) => 2 ({ struct {char a; char b;} x[3]; char *p=x; p[3]=3; x[1].b; }) => 3 ({ struct {char a[3]; char b[5];} x; char *p=&x; x.a[0]=6; p[0]; }) => 6 ({ struct {char a[3]; char b[5];} x; char *p=&x; x.b[0]=7; p[3]; }) => 7 ({ struct { struct { char b; } a; } x; x.a.b=6; x.a.b; }) => 6 ({ struct {int a;} x; sizeof(x); }) => 4 ({ struct {int a; int b;} x; sizeof(x); }) => 8 ({ struct {int a, b;} x; sizeof(x); }) => 8 ({ struct {int a[3];} x; sizeof(x); }) => 12 ({ struct {int a;} x[4]; sizeof(x); }) => 16 ({ struct {int a[3];} x[2]; sizeof(x); }) => 24 ({ struct {char a; char b;} x; sizeof(x); }) => 2 ({ struct {} x; sizeof(x); }) => 0 ({ struct {char a; int b;} x; sizeof(x); }) => 8 ({ struct {int a; char b;} x; sizeof(x); }) => 8 ({ struct t {int a; int b;} x; struct t y; sizeof(y); }) => 8 ({ struct t {int a; int b;}; struct t y; sizeof(y); }) => 8 ({ struct t {char a[2];}; { struct t {char a[4];}; } struct t y; sizeof(y); }) => 2 ({ struct t {int x;}; int t=1; struct t y; y.x=2; t+y.x; }) => 3 ({ struct t {char a;} x; struct t *y = &x; x.a=3; y->a; }) => 3 ({ struct t {char a;} x; struct t *y = &x; y->a=3; x.a; }) => 3 ({ struct {int a,b;} x,y; x.a=3; y=x; y.a; }) => 3 ({ struct t {int a,b;}; struct t x; x.a=7; struct t y; struct t *z=&y; *z=x; y.a; }) => 7 ({ struct t {int a,b;}; struct t x; x.a=7; struct t y, *p=&x, *q=&y; *q=*p; y.a; }) => 7 ({ struct t {char a, b;} x, y; x.a=5; y=x; y.a; }) => 5 ({ struct {int a,b;} x,y; x.a=3; y=x; y.a; }) => 3 ({ struct t {int a,b;}; struct t x; x.a=7; struct t y; struct t *z=&y; *z=x; y.a; }) => 7 ({ struct t {int a,b;}; struct t x; x.a=7; struct t y, *p=&x, *q=&y; *q=*p; y.a; }) => 7 ({ struct t {char a, b;} x, y; x.a=5; y=x; y.a; }) => 5 ({ struct t {int a; int b;} x; struct t y; sizeof(y); }) => 8 ({ struct t {int a; int b;}; struct t y; sizeof(y); }) => 8 ({ struct {char a; long b;} x; sizeof(x); }) => 16 ({ struct {char a; short b;} x; sizeof(x); }) => 4 ({ struct foo *bar; sizeof(bar); }) => 8 ({ struct T *foo; struct T {int x;}; sizeof(struct T); }) => 4 ({ struct T { struct T *next; int x; } a; struct T b; b.x=1; a.next=&b; a.next->x; }) => 1 ({ typedef struct T T; struct T { int x; }; sizeof(T); }) => 4 ({ struct {int a;} x={1}, y={2}; (x=y).a; }) => 2 ({ struct {int a;} x={1}, y={2}; (1?x:y).a; }) => 1 ({ struct {int a;} x={1}, y={2}; (0?x:y).a; }) => 2 OK stage2/test/tls.exe v1 => 0 v2 => 5 v3 => 7 pthread_create(&thr, ((void *)0), thread_main, ((void *)0)) => 0 v1 => 0 v2 => 5 v3 => 7 v1 => 1 v2 => 2 v3 => 3 pthread_join(thr, ((void *)0)) => 0 v1 => 0 v2 => 5 v3 => 3 OK stage2/test/typedef.exe ({ typedef int t; t x=1; x; }) => 1 ({ typedef struct {int a;} t; t x; x.a=1; x.a; }) => 1 ({ typedef int t; t t=1; t; }) => 1 ({ typedef struct {int a;} t; { typedef int t; } t x; x.a=2; x.a; }) => 2 ({ typedef t; t x; sizeof(x); }) => 4 ({ MyInt x=3; x; }) => 3 ({ MyInt2 x; sizeof(x); }) => 16 OK stage2/test/typeof.exe ({ typeof(int) x=3; x; }) => 3 ({ typeof(1) x=3; x; }) => 3 ({ int x; typeof(x) y; sizeof(y); }) => 4 ({ int x; typeof(&x) y; sizeof(y); }) => 8 ({ typeof("foo") x; sizeof(x); }) => 4 sizeof(typeof(struct { int a,b,c; })) => 12 OK stage2/test/unicode.exe sizeof(L'\0') => 4 L'a' => 97 strcmp("αβγ", "αβγ") => 0 strcmp("日本語", "日本語") => 0 strcmp("日本語", "日本語") => 0 strcmp("🌮", "🌮") => 0 L'\xffffffff'>>31 => -1 L'β' => 946 L'あ' => 12354 L'🍣' => 127843 sizeof(u'\0') => 2 u'\xffff'>>15 => 1 u'a' => 97 u'β' => 946 u'あ' => 12354 u'🍣' => 62307 strcmp("u'a'", "u'a'") => 0 sizeof(U'\0') => 4 U'\xffffffff'>>31 => 1 U'a' => 97 U'β' => 946 U'あ' => 12354 U'🍣' => 127843 strcmp("U'a'", "U'a'") => 0 sizeof(u8"abc") => 4 strcmp(u8"abc", "abc") => 0 strcmp("u8\"a\"", "u8\"a\"") => 0 sizeof(u"") => 2 sizeof(u"\xffzzz") => 10 memcmp(u"", "\0\0", 2) => 0 memcmp(u"abc", "a\0b\0c\0\0\0", 8) => 0 memcmp(u"日本語", "\345e,g\236\212\0\0", 8) => 0 memcmp(u"🍣", "<\330c\337\0\0", 6) => 0 u"βb"[0] => 946 u"βb"[1] => 98 u"βb"[2] => 0 strcmp("u\"a\"", "u\"a\"") => 0 sizeof(U"") => 4 sizeof(U"\xffzzz") => 20 memcmp(U"", "\0\0\0\0", 4) => 0 memcmp(U"abc", "a\0\0\0b\0\0\0c\0\0\0\0\0\0\0", 16) => 0 memcmp(U"日本語", "\345e\0\0,g\0\0\236\212\0\0\0\0\0\0", 16) => 0 memcmp(U"🍣", "c\363\001\0\0\0\0\0", 8) => 0 U"βb"[0] => 946 U"βb"[1] => 98 U"βb"[2] => 0 U"\xffffffff"[0] >> 31 => 1 strcmp("U\"a\"", "U\"a\"") => 0 sizeof(L"") => 4 sizeof(L"\xffzzz") => 20 memcmp(L"", "\0\0\0\0", 4) => 0 memcmp(L"abc", "a\0\0\0b\0\0\0c\0\0\0\0\0\0\0", 16) => 0 memcmp(L"日本語", "\345e\0\0,g\0\0\236\212\0\0\0\0\0\0", 16) => 0 memcmp(L"🍣", "c\363\001\0\0\0\0\0", 8) => 0 L"βb"[0] => 946 L"βb"[1] => 98 L"βb"[2] => 0 L"\xffffffff"[0] >> 31 => -1 strcmp("L\"a\"", "L\"a\"") => 0 ({ char16_t x[] = u"αβ"; x[0]; }) => 945 ({ char16_t x[] = u"αβ"; x[1]; }) => 946 ({ char16_t x[] = u"αβ"; sizeof(x); }) => 6 ({ char32_t x[] = U"🤔x"; x[0]; }) => 129300 ({ char32_t x[] = U"🤔x"; x[1]; }) => 120 ({ char32_t x[] = U"🤔x"; sizeof(x); }) => 12 ({ wchar_t x[] = L"🤔x"; x[0]; }) => 129300 ({ wchar_t x[] = L"🤔x"; x[1]; }) => 120 ({ wchar_t x[] = L"🤔x"; sizeof(x); }) => 12 π => 3 ({ int あβ0¾=3; あβ0¾; }) => 3 ({ int $$$=5; $$$; }) => 5 OK stage2/test/union.exe ({ union { int a; char b[6]; } x; sizeof(x); }) => 8 ({ union { int a; char b[4]; } x; x.a = 515; x.b[0]; }) => 3 ({ union { int a; char b[4]; } x; x.a = 515; x.b[1]; }) => 2 ({ union { int a; char b[4]; } x; x.a = 515; x.b[2]; }) => 0 ({ union { int a; char b[4]; } x; x.a = 515; x.b[3]; }) => 0 ({ union {int a,b;} x,y; x.a=3; y.a=5; y=x; y.a; }) => 3 ({ union {struct {int a,b;} c;} x,y; x.c.b=3; y.c.b=5; y=x; y.c.b; }) => 3 ({ union { struct { unsigned char a,b,c,d; }; long e; } x; x.e=0xdeadbeef; x.a; }) => 239 ({ union { struct { unsigned char a,b,c,d; }; long e; } x; x.e=0xdeadbeef; x.b; }) => 190 ({ union { struct { unsigned char a,b,c,d; }; long e; } x; x.e=0xdeadbeef; x.c; }) => 173 ({ union { struct { unsigned char a,b,c,d; }; long e; } x; x.e=0xdeadbeef; x.d; }) => 222 ({struct { union { int a,b; }; union { int c,d; }; } x; x.a=3; x.b; }) => 3 ({struct { union { int a,b; }; union { int c,d; }; } x; x.d=5; x.c; }) => 5 OK stage2/test/usualconv.exe -10 + (long)5 => -5 -10 - (long)5 => -15 -10 * (long)5 => -50 -10 / (long)5 => -2 -2 < (long)-1 => 1 -2 <= (long)-1 => 1 -2 > (long)-1 => 0 -2 >= (long)-1 => 0 (long)-2 < -1 => 1 (long)-2 <= -1 => 1 (long)-2 > -1 => 0 (long)-2 >= -1 => 0 2147483647 + 2147483647 + 2 => 0 ({ long x; x=-1; x; }) => -1 ({ char x[3]; x[0]=0; x[1]=1; x[2]=2; char *y=x+1; y[0]; }) => 1 ({ char x[3]; x[0]=0; x[1]=1; x[2]=2; char *y=x+1; y[-1]; }) => 0 ({ struct t {char a;} x, y; x.a=5; y=x; y.a; }) => 5 (1 ? ret10 : (void *)0)() => 10 OK stage2/test/varargs.exe sum1(1, 2, 3, 0) => 6 sum1(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 0) => 55 sum2(1, 2.0, 3, 4.0, 5, 6.0, 0) => 21 sum2(1, 2.0, 3, 4.0, 5, 6.0, 0) => 21 sum2(1, 2.0, 3, 4.0, 5, 6.0, 7, 8.0, 9, 10.0, 11, 12.0, 13, 14.0, 15, 16.0, 17, 18.0, 19, 20.0, 0) => 210 ({ char buf[100]; fmt(buf, "%d %d", 2, 3); strcmp(buf, "2 3"); }) => 0 OK stage2/test/variable.exe ({ int a; a=3; a; }) => 3 ({ int a=3; a; }) => 3 ({ int a=3; int z=5; a+z; }) => 8 ({ int a=3; a; }) => 3 ({ int a=3; int z=5; a+z; }) => 8 ({ int a; int b; a=b=3; a+b; }) => 6 ({ int foo=3; foo; }) => 3 ({ int foo123=3; int bar=5; foo123+bar; }) => 8 ({ int x; sizeof(x); }) => 4 ({ int x; sizeof x; }) => 4 ({ int *x; sizeof(x); }) => 8 ({ int x[4]; sizeof(x); }) => 16 ({ int x[3][4]; sizeof(x); }) => 48 ({ int x[3][4]; sizeof(*x); }) => 16 ({ int x[3][4]; sizeof(**x); }) => 4 ({ int x[3][4]; sizeof(**x) + 1; }) => 5 ({ int x[3][4]; sizeof **x + 1; }) => 5 ({ int x[3][4]; sizeof(**x + 1); }) => 4 ({ int x=1; sizeof(x=2); }) => 4 ({ int x=1; sizeof(x=2); x; }) => 1 g1 => 0 ({ g1=3; g1; }) => 3 ({ g2[0]=0; g2[1]=1; g2[2]=2; g2[3]=3; g2[0]; }) => 0 ({ g2[0]=0; g2[1]=1; g2[2]=2; g2[3]=3; g2[1]; }) => 1 ({ g2[0]=0; g2[1]=1; g2[2]=2; g2[3]=3; g2[2]; }) => 2 ({ g2[0]=0; g2[1]=1; g2[2]=2; g2[3]=3; g2[3]; }) => 3 sizeof(g1) => 4 sizeof(g2) => 16 ({ char x=1; x; }) => 1 ({ char x=1; char y=2; x; }) => 1 ({ char x=1; char y=2; y; }) => 2 ({ char x; sizeof(x); }) => 1 ({ char x[10]; sizeof(x); }) => 10 ({ int x=2; { int x=3; } x; }) => 2 ({ int x=2; { int x=3; } int y=4; x; }) => 2 ({ int x=2; { x=3; } x; }) => 3 ({ int x; int y; char z; char *a=&y; char *b=&z; b-a; }) => 7 ({ int x; char y; int z; char *a=&y; char *b=&z; b-a; }) => 1 ({ long x; sizeof(x); }) => 8 ({ short x; sizeof(x); }) => 2 ({ char *x[3]; sizeof(x); }) => 24 ({ char (*x)[3]; sizeof(x); }) => 8 ({ char (x); sizeof(x); }) => 1 ({ char (x)[3]; sizeof(x); }) => 3 ({ char (x[3])[4]; sizeof(x); }) => 12 ({ char (x[3])[4]; sizeof(x[0]); }) => 4 ({ char *x[3]; char y; x[0]=&y; y=3; x[0][0]; }) => 3 ({ char x[3]; char (*y)[3]=x; y[0][0]=4; y[0][0]; }) => 4 g3 => 3 OK stage2/test/vla.exe ({ int n=5; int x[n]; sizeof(x); }) => 20 ({ int m=5, n=8; int x[m+1][n*2]; sizeof(x); }) => 384 ({ char n=10; int (*x)[n][n+2]; sizeof(x); }) => 8 ({ char n=10; int (*x)[n][n+2]; sizeof(*x); }) => 480 ({ char n=10; int (*x)[n][n+2]; sizeof(**x); }) => 48 ({ char n=10; int (*x)[n][n+2]; sizeof(***x); }) => 4 ({ char n=3; int x[5][n]; sizeof(x); }) => 60 ({ char n=3; int x[5][n]; sizeof(*x); }) => 12 ({ char n=3; int x[n][5]; sizeof(x); }) => 60 ({ char n=3; int x[n][5]; sizeof(*x); }) => 20 ({ int n=10; int x[n+1][n+6]; int *p=x; for (int i = 0; i 0 ({ int n=10; int x[n+1][n+6]; int *p=x; for (int i = 0; i 5 ({ int n=10; int x[n+1][n+6]; int *p=x; for (int i = 0; i 82 ({ int n=5; sizeof(char[2][n]); }) => 10 OK test/driver.sh ./stage2/chibicc testing -o ... passed testing --help ... passed testing -S ... passed testing default output file ... passed testing default output file ... passed testing multiple input files ... passed testing multiple input files ... passed testing linker ... passed testing linker ... passed testing a.out ... passed testing -E ... passed testing -E and -o ... passed testing -I ... passed testing -D ... passed testing -D ... passed testing -U ... passed testing ignored options ... passed testing BOM marker ... passed testing inline ... passed testing inline ... passed testing inline ... passed testing inline ... passed testing inline ... passed testing inline ... passed testing inline ... passed testing inline ... passed testing inline ... passed testing inline ... passed testing inline ... passed testing inline ... passed testing inline ... passed testing inline ... passed testing -idirafter ... passed testing -idirafter ... passed testing -fcommon (default) ... passed testing -fcommon ... passed testing -fno-common ... passed testing -include ... passed testing -include ... passed testing -xc ... passed testing -x assembler ... passed testing -x none ... passed testing -E ... passed testing .a ... passed testing .so ... passed OK testing hashmap ... passed testing -M ... passed testing -MF ... passed testing -MP ... passed testing -MP ... passed testing -MT ... passed testing -MT ... passed testing -MD ... passed testing -MD ... passed testing -MD ... passed testing -fPIC ... passed testing #include_next ... passed testing -static ... passed testing -static ... passed testing -shared ... passed testing -L ... passed testing -Wl, ... passed testing -Xlinker ... passed OK + RPM_EC=0 ++ jobs -p + exit 0 Processing files: chibicc-0.0^20201207.90d1f7f-1.fc40.x86_64 Executing(%doc): /bin/sh -e /var/tmp/rpm-tmp.MoT7p9 + umask 022 + cd /builddir/build/BUILD + cd chibicc-90d1f7f199cc55b13c7fdb5839d1409806633fdb + DOCDIR='/builddir/build/BUILDROOT/chibicc-0.0^20201207.90d1f7f-1.fc40.x86_64/usr/share/doc/chibicc' + export LC_ALL= + LC_ALL= + export DOCDIR + /usr/bin/mkdir -p '/builddir/build/BUILDROOT/chibicc-0.0^20201207.90d1f7f-1.fc40.x86_64/usr/share/doc/chibicc' + cp -pr /builddir/build/BUILD/chibicc-90d1f7f199cc55b13c7fdb5839d1409806633fdb/README.md '/builddir/build/BUILDROOT/chibicc-0.0^20201207.90d1f7f-1.fc40.x86_64/usr/share/doc/chibicc' + RPM_EC=0 ++ jobs -p + exit 0 Executing(%license): /bin/sh -e /var/tmp/rpm-tmp.GdvCu5 + umask 022 + cd /builddir/build/BUILD + cd chibicc-90d1f7f199cc55b13c7fdb5839d1409806633fdb + LICENSEDIR='/builddir/build/BUILDROOT/chibicc-0.0^20201207.90d1f7f-1.fc40.x86_64/usr/share/licenses/chibicc' + export LC_ALL= + LC_ALL= + export LICENSEDIR + /usr/bin/mkdir -p '/builddir/build/BUILDROOT/chibicc-0.0^20201207.90d1f7f-1.fc40.x86_64/usr/share/licenses/chibicc' + cp -pr /builddir/build/BUILD/chibicc-90d1f7f199cc55b13c7fdb5839d1409806633fdb/LICENSE '/builddir/build/BUILDROOT/chibicc-0.0^20201207.90d1f7f-1.fc40.x86_64/usr/share/licenses/chibicc' + RPM_EC=0 ++ jobs -p + exit 0 Provides: chibicc = 0.0^20201207.90d1f7f-1.fc40 chibicc(x86-64) = 0.0^20201207.90d1f7f-1.fc40 Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 Requires: libc.so.6()(64bit) libc.so.6(GLIBC_2.2.5)(64bit) libc.so.6(GLIBC_2.27)(64bit) libc.so.6(GLIBC_2.3)(64bit) libc.so.6(GLIBC_2.3.4)(64bit) libc.so.6(GLIBC_2.33)(64bit) libc.so.6(GLIBC_2.34)(64bit) libc.so.6(GLIBC_2.4)(64bit) libc.so.6(GLIBC_ABI_DT_RELR)(64bit) rtld(GNU_HASH) Processing files: chibicc-debugsource-0.0^20201207.90d1f7f-1.fc40.x86_64 Provides: chibicc-debugsource = 0.0^20201207.90d1f7f-1.fc40 chibicc-debugsource(x86-64) = 0.0^20201207.90d1f7f-1.fc40 Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 Processing files: chibicc-debuginfo-0.0^20201207.90d1f7f-1.fc40.x86_64 Provides: chibicc-debuginfo = 0.0^20201207.90d1f7f-1.fc40 chibicc-debuginfo(x86-64) = 0.0^20201207.90d1f7f-1.fc40 debuginfo(build-id) = efd48242337d14b441a1442eeeef8320bba36bbc Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 Recommends: chibicc-debugsource(x86-64) = 0.0^20201207.90d1f7f-1.fc40 Checking for unpackaged file(s): /usr/lib/rpm/check-files /builddir/build/BUILDROOT/chibicc-0.0^20201207.90d1f7f-1.fc40.x86_64 Wrote: /builddir/build/RPMS/chibicc-debugsource-0.0^20201207.90d1f7f-1.fc40.x86_64.rpm Wrote: /builddir/build/RPMS/chibicc-debuginfo-0.0^20201207.90d1f7f-1.fc40.x86_64.rpm Wrote: /builddir/build/RPMS/chibicc-0.0^20201207.90d1f7f-1.fc40.x86_64.rpm Executing(%clean): /bin/sh -e /var/tmp/rpm-tmp.JRN67a + umask 022 + cd /builddir/build/BUILD + cd chibicc-90d1f7f199cc55b13c7fdb5839d1409806633fdb + /usr/bin/rm -rf '/builddir/build/BUILDROOT/chibicc-0.0^20201207.90d1f7f-1.fc40.x86_64' + RPM_EC=0 ++ jobs -p + exit 0 Executing(rmbuild): /bin/sh -e /var/tmp/rpm-tmp.cHBS2k + umask 022 + cd /builddir/build/BUILD + rm -rf /builddir/build/BUILD/chibicc-90d1f7f199cc55b13c7fdb5839d1409806633fdb-SPECPARTS + rm -rf chibicc-90d1f7f199cc55b13c7fdb5839d1409806633fdb chibicc-90d1f7f199cc55b13c7fdb5839d1409806633fdb.gemspec + RPM_EC=0 ++ jobs -p + exit 0 Finish: rpmbuild chibicc-0.0^20201207.90d1f7f-1.fc40.src.rpm Finish: build phase for chibicc-0.0^20201207.90d1f7f-1.fc40.src.rpm INFO: chroot_scan: 1 files copied to /var/lib/copr-rpmbuild/results/chroot_scan INFO: /var/lib/mock/fedora-40-x86_64-1731320114.584722/root/var/log/dnf5.log INFO: chroot_scan: creating tarball /var/lib/copr-rpmbuild/results/chroot_scan.tar.gz /bin/tar: Removing leading `/' from member names INFO: Done(/var/lib/copr-rpmbuild/results/chibicc-0.0^20201207.90d1f7f-1.fc40.src.rpm) Config(child) 0 minutes 19 seconds INFO: Results and/or logs in: /var/lib/copr-rpmbuild/results INFO: Cleaning up build root ('cleanup_on_success=True') Start: clean chroot INFO: unmounting tmpfs. Finish: clean chroot Finish: run Running FedoraReview tool Running: fedora-review --no-colors --prebuilt --rpm-spec --name chibicc --mock-config /var/lib/copr-rpmbuild/results/configs/child.cfg cmd: ['fedora-review', '--no-colors', '--prebuilt', '--rpm-spec', '--name', 'chibicc', '--mock-config', '/var/lib/copr-rpmbuild/results/configs/child.cfg'] cwd: /var/lib/copr-rpmbuild/results rc: 0 stdout: Review template in: /var/lib/copr-rpmbuild/results/chibicc/review.txt fedora-review is automated tool, but *YOU* are responsible for manually reviewing the results and finishing the review. Do not just copy-paste the results without understanding them. stderr: INFO: Processing local files: chibicc INFO: Getting .spec and .srpm Urls from : Local files in /var/lib/copr-rpmbuild/results INFO: --> SRPM url: file:///var/lib/copr-rpmbuild/results/chibicc-0.0^20201207.90d1f7f-1.fc40.src.rpm INFO: Using review directory: /var/lib/copr-rpmbuild/results/chibicc INFO: Downloading (Source0): https://github.com/rui314/chibicc/archive/90d1f7f199cc55b13c7fdb5839d1409806633fdb/chibicc-90d1f7f.tar.gz INFO: Running checks and generating report INFO: Installing built package(s) INFO: Reading configuration from /etc/mock/site-defaults.cfg INFO: Reading configuration from /etc/mock/chroot-aliases.cfg INFO: Reading configuration from /var/lib/copr-rpmbuild/results/configs/child.cfg INFO: WARNING: Probably non-rawhide buildroot used. Rawhide should be used for most package reviews INFO: Active plugins: Generic, Shell-api, C/C++ Last metadata expiration check: 0:00:35 ago on Mon Nov 11 10:18:13 2024. usage: dnf repoquery [-c [config file]] [-q] [-v] [--version] [--installroot [path]] [--nodocs] [--noplugins] [--enableplugin [plugin]] [--disableplugin [plugin]] [--releasever RELEASEVER] [--setopt SETOPTS] [--skip-broken] [-h] [--allowerasing] [-b | --nobest] [-C] [-R [minutes]] [-d [debug level]] [--debugsolver] [--showduplicates] [-e ERRORLEVEL] [--obsoletes] [--rpmverbosity [debug level name]] [-y] [--assumeno] [--enablerepo [repo]] [--disablerepo [repo] | --repo [repo]] [--enable | --disable] [-x [package]] [--disableexcludes [repo]] [--repofrompath [repo,path]] [--noautoremove] [--nogpgcheck] [--color COLOR] [--refresh] [-4] [-6] [--destdir DESTDIR] [--downloadonly] [--comment COMMENT] [--bugfix] [--enhancement] [--newpackage] [--security] [--advisory ADVISORY] [--bz BUGZILLA] [--cve CVES] [--sec-severity {Critical,Important,Moderate,Low}] [--forcearch ARCH] [-a] [--show-duplicates] [--arch [arch]] [-f FILE [FILE ...]] [--whatconflicts REQ] [--whatdepends REQ] [--whatobsoletes REQ] [--whatprovides REQ] [--whatrequires REQ] [--whatrecommends REQ] [--whatenhances REQ] [--whatsuggests REQ] [--whatsupplements REQ] [--alldeps | --exactdeps] [--recursive] [--deplist] [--resolve] [--tree] [--srpm] [--latest-limit LATEST_LIMIT] [--disable-modular-filtering] [-i] [-l] [-s] [--changelogs] [--qf QUERYFORMAT] [--querytags] [--nevra] [--nvr] [--envra] [--groupmember] [--duplicates | --installonly | --unsatisfied] [--location] [--conflicts | --depends | --enhances | --provides | --recommends | --requires | --requires-pre | --suggests | --supplements] [--available] [--installed | --extras | --upgrades | --unneeded | --userinstalled] [--recent] [KEY ...] dnf repoquery: error: unrecognized arguments: --providers-of=requires Last metadata expiration check: 0:02:49 ago on Mon Nov 11 10:18:13 2024. Last metadata expiration check: 0:02:52 ago on Mon Nov 11 10:18:13 2024. Last metadata expiration check: 0:02:56 ago on Mon Nov 11 10:18:13 2024. INFO: ExclusiveArch dependency checking disabled, enable with EXARCH flag Review template in: /var/lib/copr-rpmbuild/results/chibicc/review.txt fedora-review is automated tool, but *YOU* are responsible for manually reviewing the results and finishing the review. Do not just copy-paste the results without understanding them. Moving the results into `fedora-review' directory. Review template in: /var/lib/copr-rpmbuild/results/fedora-review/review.txt FedoraReview finished Running RPMResults tool Package info: { "packages": [ { "name": "chibicc-debuginfo", "epoch": null, "version": "0.0^20201207.90d1f7f", "release": "1.fc40", "arch": "x86_64" }, { "name": "chibicc", "epoch": null, "version": "0.0^20201207.90d1f7f", "release": "1.fc40", "arch": "src" }, { "name": "chibicc-debugsource", "epoch": null, "version": "0.0^20201207.90d1f7f", "release": "1.fc40", "arch": "x86_64" }, { "name": "chibicc", "epoch": null, "version": "0.0^20201207.90d1f7f", "release": "1.fc40", "arch": "x86_64" } ] } RPMResults finished