Diff of the two buildlogs: -- --- b1/build.log 2024-05-10 18:52:10.166714841 +0000 +++ b2/build.log 2024-05-10 18:53:43.994717381 +0000 @@ -1,6 +1,6 @@ I: pbuilder: network access will be disabled during build -I: Current time: Thu Jun 12 13:14:31 -12 2025 -I: pbuilder-time-stamp: 1749777271 +I: Current time: Sat May 11 08:52:13 +14 2024 +I: pbuilder-time-stamp: 1715367133 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/trixie-reproducible-base.tgz] I: copying local configuration @@ -25,52 +25,84 @@ dpkg-source: info: unpacking chibicc_0+git20240328+ds-1.debian.tar.xz I: Not using root during the build. I: Installing the build-deps -I: user script /srv/workspace/pbuilder/3062939/tmp/hooks/D02_print_environment starting +I: user script /srv/workspace/pbuilder/1971146/tmp/hooks/D01_modify_environment starting +debug: Running on ionos1-amd64. +I: Changing host+domainname to test build reproducibility +I: Adding a custom variable just for the fun of it... +I: Changing /bin/sh to bash +'/bin/sh' -> '/bin/bash' +lrwxrwxrwx 1 root root 9 May 10 18:52 /bin/sh -> /bin/bash +I: Setting pbuilder2's login shell to /bin/bash +I: Setting pbuilder2's GECOS to second user,second room,second work-phone,second home-phone,second other +I: user script /srv/workspace/pbuilder/1971146/tmp/hooks/D01_modify_environment finished +I: user script /srv/workspace/pbuilder/1971146/tmp/hooks/D02_print_environment starting I: set - BUILDDIR='/build/reproducible-path' - BUILDUSERGECOS='first user,first room,first work-phone,first home-phone,first other' - BUILDUSERNAME='pbuilder1' - BUILD_ARCH='amd64' - DEBIAN_FRONTEND='noninteractive' - DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=42 ' - DISTRIBUTION='trixie' - HOME='/root' - HOST_ARCH='amd64' + BASH=/bin/sh + BASHOPTS=checkwinsize:cmdhist:complete_fullquote:extquote:force_fignore:globasciiranges:globskipdots:hostcomplete:interactive_comments:patsub_replacement:progcomp:promptvars:sourcepath + BASH_ALIASES=() + BASH_ARGC=() + BASH_ARGV=() + BASH_CMDS=() + BASH_LINENO=([0]="12" [1]="0") + BASH_LOADABLES_PATH=/usr/local/lib/bash:/usr/lib/bash:/opt/local/lib/bash:/usr/pkg/lib/bash:/opt/pkg/lib/bash:. + BASH_SOURCE=([0]="/tmp/hooks/D02_print_environment" [1]="/tmp/hooks/D02_print_environment") + BASH_VERSINFO=([0]="5" [1]="2" [2]="21" [3]="1" [4]="release" [5]="x86_64-pc-linux-gnu") + BASH_VERSION='5.2.21(1)-release' + BUILDDIR=/build/reproducible-path + BUILDUSERGECOS='second user,second room,second work-phone,second home-phone,second other' + BUILDUSERNAME=pbuilder2 + BUILD_ARCH=amd64 + DEBIAN_FRONTEND=noninteractive + DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=20 ' + DIRSTACK=() + DISTRIBUTION=trixie + EUID=0 + FUNCNAME=([0]="Echo" [1]="main") + GROUPS=() + HOME=/root + HOSTNAME=i-capture-the-hostname + HOSTTYPE=x86_64 + HOST_ARCH=amd64 IFS=' ' - INVOCATION_ID='4f97f825dc81426eb044e1c77e3ce106' - LANG='C' - LANGUAGE='en_US:en' - LC_ALL='C' - MAIL='/var/mail/root' - OPTIND='1' - PATH='/usr/sbin:/usr/bin:/sbin:/bin:/usr/games' - PBCURRENTCOMMANDLINEOPERATION='build' - PBUILDER_OPERATION='build' - PBUILDER_PKGDATADIR='/usr/share/pbuilder' - PBUILDER_PKGLIBDIR='/usr/lib/pbuilder' - PBUILDER_SYSCONFDIR='/etc' - PPID='3062939' - PS1='# ' - PS2='> ' + INVOCATION_ID=e9eba832ef0a4ba194cfe31df08d7168 + LANG=C + LANGUAGE=et_EE:et + LC_ALL=C + MACHTYPE=x86_64-pc-linux-gnu + MAIL=/var/mail/root + OPTERR=1 + OPTIND=1 + OSTYPE=linux-gnu + PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path + PBCURRENTCOMMANDLINEOPERATION=build + PBUILDER_OPERATION=build + PBUILDER_PKGDATADIR=/usr/share/pbuilder + PBUILDER_PKGLIBDIR=/usr/lib/pbuilder + PBUILDER_SYSCONFDIR=/etc + PIPESTATUS=([0]="0") + POSIXLY_CORRECT=y + PPID=1971146 PS4='+ ' - PWD='/' - SHELL='/bin/bash' - SHLVL='2' - SUDO_COMMAND='/usr/bin/timeout -k 18.1h 18h /usr/bin/ionice -c 3 /usr/bin/nice /usr/sbin/pbuilder --build --configfile /srv/reproducible-results/rbuild-debian/r-b-build.witOh0Ps/pbuilderrc_xzPH --distribution trixie --hookdir /etc/pbuilder/first-build-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/trixie-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.witOh0Ps/b1 --logfile b1/build.log chibicc_0+git20240328+ds-1.dsc' - SUDO_GID='110' - SUDO_UID='105' - SUDO_USER='jenkins' - TERM='unknown' - TZ='/usr/share/zoneinfo/Etc/GMT+12' - USER='root' - _='/usr/bin/systemd-run' - http_proxy='http://213.165.73.152:3128' + PWD=/ + SHELL=/bin/bash + SHELLOPTS=braceexpand:errexit:hashall:interactive-comments:posix + SHLVL=3 + SUDO_COMMAND='/usr/bin/timeout -k 24.1h 24h /usr/bin/ionice -c 3 /usr/bin/nice -n 11 /usr/bin/unshare --uts -- /usr/sbin/pbuilder --build --configfile /srv/reproducible-results/rbuild-debian/r-b-build.witOh0Ps/pbuilderrc_LPQT --distribution trixie --hookdir /etc/pbuilder/rebuild-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/trixie-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.witOh0Ps/b2 --logfile b2/build.log chibicc_0+git20240328+ds-1.dsc' + SUDO_GID=110 + SUDO_UID=105 + SUDO_USER=jenkins + TERM=unknown + TZ=/usr/share/zoneinfo/Etc/GMT-14 + UID=0 + USER=root + _='I: set' + http_proxy=http://46.16.76.132:3128 I: uname -a - Linux ionos5-amd64 6.6.13+bpo-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.6.13-1~bpo12+1 (2024-02-15) x86_64 GNU/Linux + Linux i-capture-the-hostname 6.1.0-21-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.90-1 (2024-05-03) x86_64 GNU/Linux I: ls -l /bin - lrwxrwxrwx 1 root root 7 Jun 10 17:46 /bin -> usr/bin -I: user script /srv/workspace/pbuilder/3062939/tmp/hooks/D02_print_environment finished + lrwxrwxrwx 1 root root 7 May 8 11:26 /bin -> usr/bin +I: user script /srv/workspace/pbuilder/1971146/tmp/hooks/D02_print_environment finished -> Attempting to satisfy build-dependencies -> Creating pbuilder-satisfydepends-dummy package Package: pbuilder-satisfydepends-dummy @@ -136,7 +168,7 @@ Get: 28 http://deb.debian.org/debian trixie/main amd64 intltool-debian all 0.35.0+20060710.6 [22.9 kB] Get: 29 http://deb.debian.org/debian trixie/main amd64 po-debconf all 1.0.21+nmu1 [248 kB] Get: 30 http://deb.debian.org/debian trixie/main amd64 debhelper all 13.15.3 [901 kB] -Fetched 19.0 MB in 0s (72.2 MB/s) +Fetched 19.0 MB in 0s (39.0 MB/s) debconf: delaying package configuration, since apt-utils is not installed Selecting previously unselected package sensible-utils. (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 19699 files and directories currently installed.) @@ -271,7 +303,11 @@ Building tag database... -> Finished parsing the build-deps I: Building the package -I: Running cd /build/reproducible-path/chibicc-0+git20240328+ds/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-genchanges -S > ../chibicc_0+git20240328+ds-1_source.changes +I: user script /srv/workspace/pbuilder/1971146/tmp/hooks/A99_set_merged_usr starting +Not re-configuring usrmerge for trixie +I: user script /srv/workspace/pbuilder/1971146/tmp/hooks/A99_set_merged_usr finished +hostname: Name or service not known +I: Running cd /build/reproducible-path/chibicc-0+git20240328+ds/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path" HOME="/nonexistent/second-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path" HOME="/nonexistent/second-build" dpkg-genchanges -S > ../chibicc_0+git20240328+ds-1_source.changes dpkg-buildpackage: info: source package chibicc dpkg-buildpackage: info: source version 0+git20240328+ds-1 dpkg-buildpackage: info: source distribution unstable @@ -281,7 +317,7 @@ debian/rules clean dh clean dh_auto_clean - make -j42 clean + make -j20 clean make[1]: Entering directory '/build/reproducible-path/chibicc-0+git20240328+ds' rm -rf chibicc tmp* test/alignof.exe test/alloca.exe test/arith.exe test/asm.exe test/asm1.exe test/asm2a.exe test/asm2b.exe test/asm2c.exe test/asm3.exe test/asm6.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/define.exe test/enum.exe test/extern.exe test/float.exe test/foo.exe test/funcstack.exe test/function.exe test/generic.exe test/hello.exe test/initializer.exe test/issue105.exe test/issue106.exe test/issue107.exe test/issue108.exe test/issue109.exe test/issue110.exe test/issue111.exe test/issue113.exe test/issue114.exe test/issue116.exe test/issue117.exe test/issue118.exe test/issue119.exe test/issue121.exe test/issue122.exe test/issue124.exe test/issue125a.exe test/issue126.exe test/issue127.exe test/issue129.exe test/issue130.exe test/issue134.exe test/issue138.exe test/issue142.exe test/issue145.exe test/issue147.exe test/issue148.exe test/issue149.exe test/issue149b.exe test/issue149c.exe test/issue150.exe test/issue151.exe test/issue155.exe test/issue156.exe test/issue157.exe test/issue159.exe test/issue31.exe test/issue35.exe test/issue36.exe test/issue37.exe test/issue40.exe test/issue40b.exe test/issue45.exe test/issue47.exe test/issue59.exe test/issue62.exe test/issue63.exe test/issue65.exe test/issue69.exe test/issue71.exe test/issue80.exe test/line.exe test/literal.exe test/macro.exe test/offsetof.exe test/pointer.exe test/pragma-once.exe test/regex.exe test/sizeof.exe test/stdhdr.exe test/string.exe test/struct.exe test/test1.exe test/tls.exe test/typedef.exe test/typeof.exe test/unicode.exe test/unicode2.exe test/union.exe test/usualconv.exe test/varargs.exe test/variable.exe test/varscope.exe test/vla.exe issues/*.s issues/*.exe issues/*.dot test/*.s test/*.exe stage2 diagram/*.png test/*.dot libchibicc find * -type f '(' -name '*~' -o -name '*.o' ')' -exec rm {} ';' @@ -295,7 +331,7 @@ debian/rules override_dh_auto_build make[1]: Entering directory '/build/reproducible-path/chibicc-0+git20240328+ds' dh_auto_build -- CFLAGS="-g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/chibicc-0+git20240328+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wall -pedantic" - make -j42 "INSTALL=install --strip-program=true" "CFLAGS=-g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/chibicc-0+git20240328+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wall -pedantic" + make -j20 "INSTALL=install --strip-program=true" "CFLAGS=-g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/chibicc-0+git20240328+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wall -pedantic" make[2]: Entering directory '/build/reproducible-path/chibicc-0+git20240328+ds' gcc -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/chibicc-0+git20240328+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wall -pedantic -Wdate-time -D_FORTIFY_SOURCE=2 -c -o codegen.o codegen.c gcc -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/chibicc-0+git20240328+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wall -pedantic -Wdate-time -D_FORTIFY_SOURCE=2 -c -o debug.o debug.c @@ -308,22 +344,6 @@ gcc -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/chibicc-0+git20240328+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wall -pedantic -Wdate-time -D_FORTIFY_SOURCE=2 -c -o tokenize.o tokenize.c gcc -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/chibicc-0+git20240328+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wall -pedantic -Wdate-time -D_FORTIFY_SOURCE=2 -c -o type.o type.c gcc -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/chibicc-0+git20240328+ds=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wall -pedantic -Wdate-time -D_FORTIFY_SOURCE=2 -c -o unicode.o unicode.c -preprocess.c: In function 'hideset_union': -preprocess.c:141:18: warning: ISO C forbids empty initializer braces before C2X [-Wpedantic] - 141 | Hideset head = {}; - | ^ -preprocess.c: In function 'hideset_intersection': -preprocess.c:160:18: warning: ISO C forbids empty initializer braces before C2X [-Wpedantic] - 160 | Hideset head = {}; - | ^ -preprocess.c: In function 'add_hideset': -preprocess.c:171:16: warning: ISO C forbids empty initializer braces before C2X [-Wpedantic] - 171 | Token head = {}; - | ^ -preprocess.c: In function 'append': -preprocess.c:189:16: warning: ISO C forbids empty initializer braces before C2X [-Wpedantic] - 189 | Token head = {}; - | ^ codegen.c: In function 'gen_addr': codegen.c:225:3: warning: enumeration value 'ND_NULL_EXPR' not handled in switch [-Wswitch] 225 | switch (node->kind) @@ -368,24 +388,16 @@ codegen.c:225:3: warning: enumeration value 'ND_CAS' not handled in switch [-Wswitch] codegen.c:225:3: warning: enumeration value 'ND_EXCH' not handled in switch [-Wswitch] codegen.c: In function 'load': -preprocess.c: In function 'copy_line': codegen.c:340:3: warning: enumeration value 'TY_VOID' not handled in switch [-Wswitch] 340 | switch (ty->kind) | ^~~~~~ -preprocess.c:279:16: warning: ISO C forbids empty initializer braces before C2X [-Wpedantic] - 279 | Token head = {}; - | ^ codegen.c:340:3: warning: enumeration value 'TY_BOOL' not handled in switch [-Wswitch] codegen.c:340:3: warning: enumeration value 'TY_CHAR' not handled in switch [-Wswitch] codegen.c:340:3: warning: enumeration value 'TY_SHORT' not handled in switch [-Wswitch] codegen.c:340:3: warning: enumeration value 'TY_INT' not handled in switch [-Wswitch] codegen.c:340:3: warning: enumeration value 'TY_LONG' not handled in switch [-Wswitch] -preprocess.c: In function 'read_const_expr': codegen.c:340:3: warning: enumeration value 'TY_ENUM' not handled in switch [-Wswitch] codegen.c:340:3: warning: enumeration value 'TY_PTR' not handled in switch [-Wswitch] -preprocess.c:300:16: warning: ISO C forbids empty initializer braces before C2X [-Wpedantic] - 300 | Token head = {}; - | ^ codegen.c: In function 'store': codegen.c:387:3: warning: enumeration value 'TY_VOID' not handled in switch [-Wswitch] 387 | switch (ty->kind) @@ -405,7 +417,6 @@ 420 | switch (ty->kind) | ^~~~~~ codegen.c:420:3: warning: enumeration value 'TY_BOOL' not handled in switch [-Wswitch] -preprocess.c: In function 'read_macro_params': codegen.c:420:3: warning: enumeration value 'TY_CHAR' not handled in switch [-Wswitch] codegen.c:420:3: warning: enumeration value 'TY_SHORT' not handled in switch [-Wswitch] codegen.c:420:3: warning: enumeration value 'TY_INT' not handled in switch [-Wswitch] @@ -417,9 +428,6 @@ codegen.c:420:3: warning: enumeration value 'TY_VLA' not handled in switch [-Wswitch] codegen.c:420:3: warning: enumeration value 'TY_STRUCT' not handled in switch [-Wswitch] codegen.c:420:3: warning: enumeration value 'TY_UNION' not handled in switch [-Wswitch] -preprocess.c:407:21: warning: ISO C forbids empty initializer braces before C2X [-Wpedantic] - 407 | MacroParam head = {}; - | ^ codegen.c: In function 'getTypeId': codegen.c:460:3: warning: enumeration value 'TY_VOID' not handled in switch [-Wswitch] 460 | switch (ty->kind) @@ -431,56 +439,70 @@ codegen.c:460:3: warning: enumeration value 'TY_ARRAY' not handled in switch [-Wswitch] codegen.c:460:3: warning: enumeration value 'TY_VLA' not handled in switch [-Wswitch] codegen.c:460:3: warning: enumeration value 'TY_STRUCT' not handled in switch [-Wswitch] -parse.c:90:31: warning: ISO C forbids empty initializer braces before C2X [-Wpedantic] - 90 | static Scope *scope = &(Scope){}; - | ^ codegen.c:460:3: warning: enumeration value 'TY_UNION' not handled in switch [-Wswitch] -preprocess.c: In function 'read_macro_arg_one': -preprocess.c:485:16: warning: ISO C forbids empty initializer braces before C2X [-Wpedantic] - 485 | Token head = {}; - | ^ -preprocess.c: In function 'read_macro_args': -hashmap.c: In function 'rehash': -hashmap.c:45:18: warning: ISO C forbids empty initializer braces before C2X [-Wpedantic] - 45 | HashMap map2 = {}; +main.c: In function 'parse_args': +main.c:188:27: warning: ISO C forbids empty initializer braces before C2X [-Wpedantic] + 188 | StringArray idirafter = {}; + | ^ +preprocess.c: In function 'hideset_union': +preprocess.c:141:18: warning: ISO C forbids empty initializer braces before C2X [-Wpedantic] + 141 | Hideset head = {}; | ^ -preprocess.c:526:19: warning: ISO C forbids empty initializer braces before C2X [-Wpedantic] - 526 | MacroArg head = {}; - | ^ -preprocess.c: In function 'subst': -preprocess.c:652:16: warning: ISO C forbids empty initializer braces before C2X [-Wpedantic] - 652 | Token head = {}; - | ^ +preprocess.c: In function 'hideset_intersection': codegen.c: In function 'gen_expr': +preprocess.c:160:18: warning: ISO C forbids empty initializer braces before C2X [-Wpedantic] + 160 | Hideset head = {}; + | ^ +preprocess.c: In function 'add_hideset': +preprocess.c:171:16: warning: ISO C forbids empty initializer braces before C2X [-Wpedantic] + 171 | Token head = {}; + | ^ +preprocess.c: In function 'append': +preprocess.c:189:16: warning: ISO C forbids empty initializer braces before C2X [-Wpedantic] + 189 | Token head = {}; + | ^ +preprocess.c: In function 'copy_line': +preprocess.c:279:16: warning: ISO C forbids empty initializer braces before C2X [-Wpedantic] + 279 | Token head = {}; + | ^ codegen.c:924:5: warning: enumeration value 'TY_VOID' not handled in switch [-Wswitch] 924 | switch (node->ty->kind) | ^~~~~~ codegen.c:924:5: warning: enumeration value 'TY_BOOL' not handled in switch [-Wswitch] codegen.c:924:5: warning: enumeration value 'TY_CHAR' not handled in switch [-Wswitch] +preprocess.c: In function 'read_const_expr': codegen.c:924:5: warning: enumeration value 'TY_SHORT' not handled in switch [-Wswitch] +preprocess.c:300:16: warning: ISO C forbids empty initializer braces before C2X [-Wpedantic] + 300 | Token head = {}; + | ^ codegen.c:924:5: warning: enumeration value 'TY_INT' not handled in switch [-Wswitch] codegen.c:924:5: warning: enumeration value 'TY_LONG' not handled in switch [-Wswitch] codegen.c:924:5: warning: enumeration value 'TY_ENUM' not handled in switch [-Wswitch] codegen.c:924:5: warning: enumeration value 'TY_PTR' not handled in switch [-Wswitch] codegen.c:924:5: warning: enumeration value 'TY_FUNC' not handled in switch [-Wswitch] codegen.c:924:5: warning: enumeration value 'TY_ARRAY' not handled in switch [-Wswitch] -parse.c: In function 'func_params': codegen.c:924:5: warning: enumeration value 'TY_VLA' not handled in switch [-Wswitch] codegen.c:924:5: warning: enumeration value 'TY_STRUCT' not handled in switch [-Wswitch] codegen.c:924:5: warning: enumeration value 'TY_UNION' not handled in switch [-Wswitch] -parse.c:717:15: warning: ISO C forbids empty initializer braces before C2X [-Wpedantic] - 717 | Type head = {}; - | ^ +preprocess.c: In function 'read_macro_params': +preprocess.c:407:21: warning: ISO C forbids empty initializer braces before C2X [-Wpedantic] + 407 | MacroParam head = {}; + | ^ codegen.c:972:5: warning: enumeration value 'TY_VOID' not handled in switch [-Wswitch] 972 | switch (node->ty->kind) | ^~~~~~ +preprocess.c: In function 'read_macro_arg_one': +preprocess.c:485:16: warning: ISO C forbids empty initializer braces before C2X [-Wpedantic] + 485 | Token head = {}; + | ^ +hashmap.c: In function 'rehash': +hashmap.c:45:18: warning: ISO C forbids empty initializer braces before C2X [-Wpedantic] + 45 | HashMap map2 = {}; + | ^ codegen.c:972:5: warning: enumeration value 'TY_BOOL' not handled in switch [-Wswitch] codegen.c:972:5: warning: enumeration value 'TY_CHAR' not handled in switch [-Wswitch] codegen.c:972:5: warning: enumeration value 'TY_SHORT' not handled in switch [-Wswitch] codegen.c:972:5: warning: enumeration value 'TY_INT' not handled in switch [-Wswitch] -parse.c:754:14: warning: unused variable 'node' [-Wunused-variable] - 754 | Node *node = expr(&tok, tok); - | ^~~~ codegen.c:972:5: warning: enumeration value 'TY_LONG' not handled in switch [-Wswitch] codegen.c:972:5: warning: enumeration value 'TY_ENUM' not handled in switch [-Wswitch] codegen.c:972:5: warning: enumeration value 'TY_PTR' not handled in switch [-Wswitch] @@ -489,18 +511,30 @@ codegen.c:972:5: warning: enumeration value 'TY_VLA' not handled in switch [-Wswitch] codegen.c:972:5: warning: enumeration value 'TY_STRUCT' not handled in switch [-Wswitch] codegen.c:972:5: warning: enumeration value 'TY_UNION' not handled in switch [-Wswitch] +preprocess.c: In function 'read_macro_args': +preprocess.c:526:19: warning: ISO C forbids empty initializer braces before C2X [-Wpedantic] + 526 | MacroArg head = {}; + | ^ +parse.c:90:31: warning: ISO C forbids empty initializer braces before C2X [-Wpedantic] + 90 | static Scope *scope = &(Scope){}; + | ^ +preprocess.c: In function 'subst': +main.c: In function 'find_file': +preprocess.c:652:16: warning: ISO C forbids empty initializer braces before C2X [-Wpedantic] + 652 | Token head = {}; + | ^ +main.c:962:16: warning: ISO C forbids empty initializer braces before C2X [-Wpedantic] + 962 | glob_t buf = {}; + | ^ +main.c: In function 'run_linker': +main.c:1007:21: warning: ISO C forbids empty initializer braces before C2X [-Wpedantic] + 1007 | StringArray arr = {}; + | ^ preprocess.c: In function 'preprocess2': -parse.c: In function 'declarator': preprocess.c:1022:16: warning: ISO C forbids empty initializer braces before C2X [-Wpedantic] 1022 | Token head = {}; | ^ -parse.c:885:18: warning: ISO C forbids empty initializer braces before C2X [-Wpedantic] - 885 | Type dummy = {}; - | ^ -parse.c: In function 'abstract_declarator': -parse.c:917:18: warning: ISO C forbids empty initializer braces before C2X [-Wpedantic] - 917 | Type dummy = {}; - | ^ +main.c: In function 'main': codegen.c:1207:5: warning: enumeration value 'TY_VOID' not handled in switch [-Wswitch] 1207 | switch (node->ty->kind) | ^~~~~~ @@ -516,10 +550,6 @@ codegen.c:1207:5: warning: enumeration value 'TY_VLA' not handled in switch [-Wswitch] codegen.c:1207:5: warning: enumeration value 'TY_STRUCT' not handled in switch [-Wswitch] codegen.c:1207:5: warning: enumeration value 'TY_UNION' not handled in switch [-Wswitch] -parse.c: In function 'declaration': -parse.c:1085:15: warning: ISO C forbids empty initializer braces before C2X [-Wpedantic] - 1085 | Node head = {}; - | ^ codegen.c:918:3: warning: enumeration value 'ND_ADD' not handled in switch [-Wswitch] 918 | switch (node->kind) | ^~~~~~ @@ -572,18 +602,33 @@ codegen.c:1285:5: warning: enumeration value 'ND_RETURN' not handled in switch [-Wswitch] codegen.c:1285:5: warning: enumeration value 'ND_IF' not handled in switch [-Wswitch] codegen.c:1285:5: warning: enumeration value 'ND_FOR' not handled in switch [-Wswitch] -preprocess.c: In function 'preprocess3': codegen.c:1285:5: warning: enumeration value 'ND_DO' not handled in switch [-Wswitch] codegen.c:1285:5: warning: enumeration value 'ND_SWITCH' not handled in switch [-Wswitch] codegen.c:1285:5: warning: enumeration value 'ND_CASE' not handled in switch [-Wswitch] codegen.c:1285:5: warning: enumeration value 'ND_BLOCK' not handled in switch [-Wswitch] codegen.c:1285:5: warning: enumeration value 'ND_GOTO' not handled in switch [-Wswitch] -codegen.c:1285:5: warning: enumeration value 'ND_GOTO_EXPR' not handled in switch [-Wswitch] -codegen.c:1285:5: warning: enumeration value 'ND_LABEL' not handled in switch [-Wswitch] -codegen.c:1285:5: warning: enumeration value 'ND_LABEL_VAL' not handled in switch [-Wswitch] +main.c:1152:25: warning: ISO C forbids empty initializer braces before C2X [-Wpedantic] + 1152 | StringArray ld_args = {}; + | ^ +parse.c: In function 'func_params': +parse.c:717:15: warning: ISO C forbids empty initializer braces before C2X [-Wpedantic] + 717 | Type head = {}; + | ^ +parse.c:754:14: warning: unused variable 'node' [-Wunused-variable] + 754 | Node *node = expr(&tok, tok); + | ^~~~ +preprocess.c: In function 'preprocess3': preprocess.c:1492:16: warning: ISO C forbids empty initializer braces before C2X [-Wpedantic] 1492 | Token head = {}; | ^ +parse.c: In function 'declarator': +parse.c:885:18: warning: ISO C forbids empty initializer braces before C2X [-Wpedantic] + 885 | Type dummy = {}; + | ^ +parse.c: In function 'abstract_declarator': +codegen.c:1285:5: warning: enumeration value 'ND_GOTO_EXPR' not handled in switch [-Wswitch] +codegen.c:1285:5: warning: enumeration value 'ND_LABEL' not handled in switch [-Wswitch] +codegen.c:1285:5: warning: enumeration value 'ND_LABEL_VAL' not handled in switch [-Wswitch] codegen.c:1285:5: warning: enumeration value 'ND_FUNCALL' not handled in switch [-Wswitch] codegen.c:1285:5: warning: enumeration value 'ND_EXPR_STMT' not handled in switch [-Wswitch] codegen.c:1285:5: warning: enumeration value 'ND_STMT_EXPR' not handled in switch [-Wswitch] @@ -609,10 +654,13 @@ codegen.c:1338:5: warning: enumeration value 'ND_COND' not handled in switch [-Wswitch] codegen.c:1338:5: warning: enumeration value 'ND_COMMA' not handled in switch [-Wswitch] codegen.c:1338:5: warning: enumeration value 'ND_MEMBER' not handled in switch [-Wswitch] +parse.c:917:18: warning: ISO C forbids empty initializer braces before C2X [-Wpedantic] + 917 | Type dummy = {}; + | ^ codegen.c:1338:5: warning: enumeration value 'ND_ADDR' not handled in switch [-Wswitch] -parse.c: In function 'copy_struct_type': codegen.c:1338:5: warning: enumeration value 'ND_DEREF' not handled in switch [-Wswitch] codegen.c:1338:5: warning: enumeration value 'ND_NOT' not handled in switch [-Wswitch] +parse.c: In function 'declaration': codegen.c:1338:5: warning: enumeration value 'ND_BITNOT' not handled in switch [-Wswitch] codegen.c:1338:5: warning: enumeration value 'ND_LOGAND' not handled in switch [-Wswitch] codegen.c:1338:5: warning: enumeration value 'ND_LOGOR' not handled in switch [-Wswitch] @@ -620,12 +668,12 @@ codegen.c:1338:5: warning: enumeration value 'ND_IF' not handled in switch [-Wswitch] codegen.c:1338:5: warning: enumeration value 'ND_FOR' not handled in switch [-Wswitch] codegen.c:1338:5: warning: enumeration value 'ND_DO' not handled in switch [-Wswitch] +parse.c:1085:15: warning: ISO C forbids empty initializer braces before C2X [-Wpedantic] + 1085 | Node head = {}; + | ^ codegen.c:1338:5: warning: enumeration value 'ND_SWITCH' not handled in switch [-Wswitch] codegen.c:1338:5: warning: enumeration value 'ND_CASE' not handled in switch [-Wswitch] codegen.c:1338:5: warning: enumeration value 'ND_BLOCK' not handled in switch [-Wswitch] -parse.c:1751:17: warning: ISO C forbids empty initializer braces before C2X [-Wpedantic] - 1751 | Member head = {}; - | ^ codegen.c:1338:5: warning: enumeration value 'ND_GOTO' not handled in switch [-Wswitch] codegen.c:1338:5: warning: enumeration value 'ND_GOTO_EXPR' not handled in switch [-Wswitch] codegen.c:1338:5: warning: enumeration value 'ND_LABEL' not handled in switch [-Wswitch] @@ -663,7 +711,6 @@ codegen.c:1396:3: warning: enumeration value 'ND_ASSIGN' not handled in switch [-Wswitch] codegen.c:1396:3: warning: enumeration value 'ND_COND' not handled in switch [-Wswitch] codegen.c:1396:3: warning: enumeration value 'ND_COMMA' not handled in switch [-Wswitch] -parse.c: In function 'gvar_initializer': codegen.c:1396:3: warning: enumeration value 'ND_MEMBER' not handled in switch [-Wswitch] codegen.c:1396:3: warning: enumeration value 'ND_ADDR' not handled in switch [-Wswitch] codegen.c:1396:3: warning: enumeration value 'ND_DEREF' not handled in switch [-Wswitch] @@ -677,15 +724,13 @@ codegen.c:1396:3: warning: enumeration value 'ND_DO' not handled in switch [-Wswitch] codegen.c:1396:3: warning: enumeration value 'ND_SWITCH' not handled in switch [-Wswitch] codegen.c:1396:3: warning: enumeration value 'ND_CASE' not handled in switch [-Wswitch] -parse.c:1992:21: warning: ISO C forbids empty initializer braces before C2X [-Wpedantic] - 1992 | Relocation head = {}; - | ^ codegen.c:1396:3: warning: enumeration value 'ND_BLOCK' not handled in switch [-Wswitch] codegen.c:1396:3: warning: enumeration value 'ND_GOTO' not handled in switch [-Wswitch] codegen.c:1396:3: warning: enumeration value 'ND_GOTO_EXPR' not handled in switch [-Wswitch] codegen.c:1396:3: warning: enumeration value 'ND_LABEL' not handled in switch [-Wswitch] codegen.c:1396:3: warning: enumeration value 'ND_LABEL_VAL' not handled in switch [-Wswitch] codegen.c:1396:3: warning: enumeration value 'ND_FUNCALL' not handled in switch [-Wswitch] +parse.c: In function 'copy_struct_type': codegen.c:1396:3: warning: enumeration value 'ND_EXPR_STMT' not handled in switch [-Wswitch] codegen.c:1396:3: warning: enumeration value 'ND_STMT_EXPR' not handled in switch [-Wswitch] codegen.c:1396:3: warning: enumeration value 'ND_VAR' not handled in switch [-Wswitch] @@ -695,8 +740,15 @@ codegen.c:1396:3: warning: enumeration value 'ND_MEMZERO' not handled in switch [-Wswitch] codegen.c:1396:3: warning: enumeration value 'ND_ASM' not handled in switch [-Wswitch] codegen.c:1396:3: warning: enumeration value 'ND_CAS' not handled in switch [-Wswitch] +parse.c:1751:17: warning: ISO C forbids empty initializer braces before C2X [-Wpedantic] + 1751 | Member head = {}; + | ^ codegen.c:1396:3: warning: enumeration value 'ND_EXCH' not handled in switch [-Wswitch] codegen.c: In function 'gen_stmt': +tokenize.c: In function 'tokenize': +tokenize.c:645:16: warning: ISO C forbids empty initializer braces before C2X [-Wpedantic] + 645 | Token head = {}; + | ^ codegen.c:1588:7: warning: enumeration value 'TY_VOID' not handled in switch [-Wswitch] 1588 | switch (ty->kind) | ^~~~~~ @@ -713,6 +765,7 @@ codegen.c:1588:7: warning: enumeration value 'TY_FUNC' not handled in switch [-Wswitch] codegen.c:1588:7: warning: enumeration value 'TY_ARRAY' not handled in switch [-Wswitch] codegen.c:1588:7: warning: enumeration value 'TY_VLA' not handled in switch [-Wswitch] +parse.c: In function 'gvar_initializer': codegen.c:1486:3: warning: enumeration value 'ND_NULL_EXPR' not handled in switch [-Wswitch] 1486 | switch (node->kind) | ^~~~~~ @@ -727,7 +780,6 @@ codegen.c:1486:3: warning: enumeration value 'ND_BITXOR' not handled in switch [-Wswitch] codegen.c:1486:3: warning: enumeration value 'ND_SHL' not handled in switch [-Wswitch] codegen.c:1486:3: warning: enumeration value 'ND_SHR' not handled in switch [-Wswitch] -parse.c: In function 'compound_stmt': codegen.c:1486:3: warning: enumeration value 'ND_EQ' not handled in switch [-Wswitch] codegen.c:1486:3: warning: enumeration value 'ND_NE' not handled in switch [-Wswitch] codegen.c:1486:3: warning: enumeration value 'ND_LT' not handled in switch [-Wswitch] @@ -745,9 +797,6 @@ codegen.c:1486:3: warning: enumeration value 'ND_LABEL_VAL' not handled in switch [-Wswitch] codegen.c:1486:3: warning: enumeration value 'ND_FUNCALL' not handled in switch [-Wswitch] codegen.c:1486:3: warning: enumeration value 'ND_STMT_EXPR' not handled in switch [-Wswitch] -parse.c:2403:15: warning: ISO C forbids empty initializer braces before C2X [-Wpedantic] - 2403 | Node head = {}; - | ^ codegen.c:1486:3: warning: enumeration value 'ND_VAR' not handled in switch [-Wswitch] codegen.c:1486:3: warning: enumeration value 'ND_VLA_PTR' not handled in switch [-Wswitch] codegen.c:1486:3: warning: enumeration value 'ND_NUM' not handled in switch [-Wswitch] @@ -755,9 +804,121 @@ codegen.c:1486:3: warning: enumeration value 'ND_MEMZERO' not handled in switch [-Wswitch] codegen.c:1486:3: warning: enumeration value 'ND_CAS' not handled in switch [-Wswitch] codegen.c:1486:3: warning: enumeration value 'ND_EXCH' not handled in switch [-Wswitch] +parse.c:1992:21: warning: ISO C forbids empty initializer braces before C2X [-Wpedantic] + 1992 | Relocation head = {}; + | ^ +unicode.c: In function 'encode_utf8': +unicode.c:14:14: warning: binary constants are a C2X feature or GCC extension + 14 | buf[0] = 0b11000000 | (c >> 6); + | ^~~~~~~~~~ +unicode.c:15:14: warning: binary constants are a C2X feature or GCC extension + 15 | buf[1] = 0b10000000 | (c & 0b00111111); + | ^~~~~~~~~~ +unicode.c:15:32: warning: binary constants are a C2X feature or GCC extension + 15 | buf[1] = 0b10000000 | (c & 0b00111111); + | ^~~~~~~~~~ +unicode.c:21:14: warning: binary constants are a C2X feature or GCC extension + 21 | buf[0] = 0b11100000 | (c >> 12); + | ^~~~~~~~~~ +unicode.c:22:14: warning: binary constants are a C2X feature or GCC extension + 22 | buf[1] = 0b10000000 | ((c >> 6) & 0b00111111); + | ^~~~~~~~~~ +unicode.c:22:39: warning: binary constants are a C2X feature or GCC extension + 22 | buf[1] = 0b10000000 | ((c >> 6) & 0b00111111); + | ^~~~~~~~~~ +unicode.c:23:14: warning: binary constants are a C2X feature or GCC extension + 23 | buf[2] = 0b10000000 | (c & 0b00111111); + | ^~~~~~~~~~ +unicode.c:23:32: warning: binary constants are a C2X feature or GCC extension + 23 | buf[2] = 0b10000000 | (c & 0b00111111); + | ^~~~~~~~~~ +unicode.c:27:12: warning: binary constants are a C2X feature or GCC extension + 27 | buf[0] = 0b11110000 | (c >> 18); + | ^~~~~~~~~~ +unicode.c:28:12: warning: binary constants are a C2X feature or GCC extension + 28 | buf[1] = 0b10000000 | ((c >> 12) & 0b00111111); + | ^~~~~~~~~~ +unicode.c:28:38: warning: binary constants are a C2X feature or GCC extension + 28 | buf[1] = 0b10000000 | ((c >> 12) & 0b00111111); + | ^~~~~~~~~~ +unicode.c:29:12: warning: binary constants are a C2X feature or GCC extension + 29 | buf[2] = 0b10000000 | ((c >> 6) & 0b00111111); + | ^~~~~~~~~~ +unicode.c:29:37: warning: binary constants are a C2X feature or GCC extension + 29 | buf[2] = 0b10000000 | ((c >> 6) & 0b00111111); + | ^~~~~~~~~~ +unicode.c:30:12: warning: binary constants are a C2X feature or GCC extension + 30 | buf[3] = 0b10000000 | (c & 0b00111111); + | ^~~~~~~~~~ +unicode.c:30:30: warning: binary constants are a C2X feature or GCC extension + 30 | buf[3] = 0b10000000 | (c & 0b00111111); + | ^~~~~~~~~~ +unicode.c: In function 'decode_utf8': +unicode.c:53:28: warning: binary constants are a C2X feature or GCC extension + 53 | if ((unsigned char)*p >= 0b11110000) + | ^~~~~~~~~~ +unicode.c:56:14: warning: binary constants are a C2X feature or GCC extension + 56 | c = *p & 0b111; + | ^~~~~ +unicode.c:58:33: warning: binary constants are a C2X feature or GCC extension + 58 | else if ((unsigned char)*p >= 0b11100000) + | ^~~~~~~~~~ +unicode.c:61:14: warning: binary constants are a C2X feature or GCC extension + 61 | c = *p & 0b1111; + | ^~~~~~ +unicode.c:63:33: warning: binary constants are a C2X feature or GCC extension + 63 | else if ((unsigned char)*p >= 0b11000000) + | ^~~~~~~~~~ +unicode.c:66:14: warning: binary constants are a C2X feature or GCC extension + 66 | c = *p & 0b11111; + | ^~~~~~~ +unicode.c:75:37: warning: binary constants are a C2X feature or GCC extension + 75 | if ((unsigned char)p[i] >> 6 != 0b10) + | ^~~~ +unicode.c:77:28: warning: binary constants are a C2X feature or GCC extension + 77 | c = (c << 6) | (p[i] & 0b111111); + | ^~~~~~~~ +parse.c: In function 'compound_stmt': +parse.c:2403:15: warning: ISO C forbids empty initializer braces before C2X [-Wpedantic] + 2403 | Node head = {}; + | ^ +type.c: In function 'is_compatible': parse.c:2412:22: warning: ISO C forbids empty initializer braces before C2X [-Wpedantic] 2412 | VarAttr attr = {}; | ^ +type.c:64:3: warning: enumeration value 'TY_VOID' not handled in switch [-Wswitch] + 64 | switch (t1->kind) + | ^~~~~~ +type.c:64:3: warning: enumeration value 'TY_BOOL' not handled in switch [-Wswitch] +type.c:64:3: warning: enumeration value 'TY_ENUM' not handled in switch [-Wswitch] +type.c:64:3: warning: enumeration value 'TY_VLA' not handled in switch [-Wswitch] +type.c:64:3: warning: enumeration value 'TY_STRUCT' not handled in switch [-Wswitch] +type.c:64:3: warning: enumeration value 'TY_UNION' not handled in switch [-Wswitch] +extended_asm.c: In function 'string_replace': +type.c: In function 'add_type': +extended_asm.c:718:5: warning: '__builtin_strncpy' specified bound depends on the length of the source argument [-Wstringop-truncation] + 718 | strncpy(str, bstr, strlen(bstr) + 1); + | ^ +type.c:218:3: warning: enumeration value 'ND_NULL_EXPR' not handled in switch [-Wswitch] + 218 | switch (node->kind) + | ^~~~~~ +type.c:218:3: warning: enumeration value 'ND_RETURN' not handled in switch [-Wswitch] +type.c:218:3: warning: enumeration value 'ND_IF' not handled in switch [-Wswitch] +type.c:218:3: warning: enumeration value 'ND_FOR' not handled in switch [-Wswitch] +type.c:218:3: warning: enumeration value 'ND_DO' not handled in switch [-Wswitch] +type.c:218:3: warning: enumeration value 'ND_SWITCH' not handled in switch [-Wswitch] +extended_asm.c:718:24: note: length computed here + 718 | strncpy(str, bstr, strlen(bstr) + 1); + | ^~~~~~~~~~~~ +type.c:218:3: warning: enumeration value 'ND_CASE' not handled in switch [-Wswitch] +type.c:218:3: warning: enumeration value 'ND_BLOCK' not handled in switch [-Wswitch] +type.c:218:3: warning: enumeration value 'ND_GOTO' not handled in switch [-Wswitch] +type.c:218:3: warning: enumeration value 'ND_GOTO_EXPR' not handled in switch [-Wswitch] +type.c:218:3: warning: enumeration value 'ND_LABEL' not handled in switch [-Wswitch] +type.c:218:3: warning: enumeration value 'ND_EXPR_STMT' not handled in switch [-Wswitch] +type.c:218:3: warning: enumeration value 'ND_CAST' not handled in switch [-Wswitch] +type.c:218:3: warning: enumeration value 'ND_MEMZERO' not handled in switch [-Wswitch] +type.c:218:3: warning: enumeration value 'ND_ASM' not handled in switch [-Wswitch] parse.c: In function 'eval2': parse.c:2507:3: warning: enumeration value 'ND_NULL_EXPR' not handled in switch [-Wswitch] 2507 | switch (node->kind) @@ -857,12 +1018,37 @@ parse.c:2632:3: warning: enumeration value 'ND_ASM' not handled in switch [-Wswitch] parse.c:2632:3: warning: enumeration value 'ND_CAS' not handled in switch [-Wswitch] parse.c:2632:3: warning: enumeration value 'ND_EXCH' not handled in switch [-Wswitch] +extended_asm.c: In function 'generate_input_asm': +extended_asm.c:739:9: warning: '__builtin___strncat_chk' output truncated before terminating nul copying 8 bytes from a string of the same length [-Wstringop-truncation] + 739 | strncat(tmp, opcode(asmExt->input[nbInput]->size), strlen(opcode(asmExt->input[nbInput]->size))); + | ^ +extended_asm.c:741:9: warning: '__builtin___strncat_chk' specified bound depends on the length of the source argument [-Wstringop-overflow=] + 741 | strncat(tmp, asmExt->input[nbInput]->input_value, strlen(asmExt->input[nbInput]->input_value)); + | ^ parse.c: In function 'eval_double': +extended_asm.c:741:9: note: length computed here + 741 | strncat(tmp, asmExt->input[nbInput]->input_value, strlen(asmExt->input[nbInput]->input_value)); + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +extended_asm.c:743:9: warning: '__builtin___strncat_chk' specified bound depends on the length of the source argument [-Wstringop-overflow=] + 743 | strncat(tmp, asmExt->input[nbInput]->variableNumber, strlen(asmExt->input[nbInput]->variableNumber)); + | ^ +extended_asm.c:743:9: note: length computed here + 743 | strncat(tmp, asmExt->input[nbInput]->variableNumber, strlen(asmExt->input[nbInput]->variableNumber)); + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +extended_asm.c:729:9: warning: '__builtin___strncat_chk' output truncated before terminating nul copying 8 bytes from a string of the same length [-Wstringop-truncation] + 729 | strncat(tmp, opcode(asmExt->input[nbInput]->size), strlen(opcode(asmExt->input[nbInput]->size))); + | ^ +extended_asm.c:732:9: warning: '__builtin___strncat_chk' specified bound depends on the length of the source argument [-Wstringop-overflow=] + 732 | strncat(tmp, asmExt->input[nbInput]->variableNumber, strlen(asmExt->input[nbInput]->variableNumber)); + | ^ parse.c:2686:3: warning: enumeration value 'ND_NULL_EXPR' not handled in switch [-Wswitch] 2686 | switch (node->kind) | ^~~~~~ parse.c:2686:3: warning: enumeration value 'ND_MOD' not handled in switch [-Wswitch] parse.c:2686:3: warning: enumeration value 'ND_BITAND' not handled in switch [-Wswitch] +extended_asm.c:732:9: note: length computed here + 732 | strncat(tmp, asmExt->input[nbInput]->variableNumber, strlen(asmExt->input[nbInput]->variableNumber)); + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ parse.c:2686:3: warning: enumeration value 'ND_BITOR' not handled in switch [-Wswitch] parse.c:2686:3: warning: enumeration value 'ND_BITXOR' not handled in switch [-Wswitch] parse.c:2686:3: warning: enumeration value 'ND_SHL' not handled in switch [-Wswitch] @@ -903,61 +1089,11 @@ parse.c:2759:17: warning: ISO C forbids empty initializer braces before C2X [-Wpedantic] 2759 | Node head = {}; | ^ -extended_asm.c: In function 'string_replace': -extended_asm.c:718:5: warning: '__builtin_strncpy' specified bound depends on the length of the source argument [-Wstringop-truncation] - 718 | strncpy(str, bstr, strlen(bstr) + 1); - | ^ -extended_asm.c:718:24: note: length computed here - 718 | strncpy(str, bstr, strlen(bstr) + 1); - | ^~~~~~~~~~~~ -parse.c: In function 'struct_members': -parse.c:3291:17: warning: ISO C forbids empty initializer braces before C2X [-Wpedantic] - 3291 | Member head = {}; - | ^ -parse.c:3297:20: warning: ISO C forbids empty initializer braces before C2X [-Wpedantic] - 3297 | VarAttr attr = {}; - | ^ -parse.c: In function 'funcall': -parse.c:3743:15: warning: ISO C forbids empty initializer braces before C2X [-Wpedantic] - 3743 | Node head = {}; - | ^ -extended_asm.c: In function 'generate_input_asm': -extended_asm.c:739:9: warning: '__builtin___strncat_chk' output truncated before terminating nul copying 8 bytes from a string of the same length [-Wstringop-truncation] - 739 | strncat(tmp, opcode(asmExt->input[nbInput]->size), strlen(opcode(asmExt->input[nbInput]->size))); - | ^ -extended_asm.c:741:9: warning: '__builtin___strncat_chk' specified bound depends on the length of the source argument [-Wstringop-overflow=] - 741 | strncat(tmp, asmExt->input[nbInput]->input_value, strlen(asmExt->input[nbInput]->input_value)); - | ^ -extended_asm.c:741:9: note: length computed here - 741 | strncat(tmp, asmExt->input[nbInput]->input_value, strlen(asmExt->input[nbInput]->input_value)); - | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -extended_asm.c:743:9: warning: '__builtin___strncat_chk' specified bound depends on the length of the source argument [-Wstringop-overflow=] - 743 | strncat(tmp, asmExt->input[nbInput]->variableNumber, strlen(asmExt->input[nbInput]->variableNumber)); - | ^ -extended_asm.c:743:9: note: length computed here - 743 | strncat(tmp, asmExt->input[nbInput]->variableNumber, strlen(asmExt->input[nbInput]->variableNumber)); - | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -extended_asm.c:729:9: warning: '__builtin___strncat_chk' output truncated before terminating nul copying 8 bytes from a string of the same length [-Wstringop-truncation] - 729 | strncat(tmp, opcode(asmExt->input[nbInput]->size), strlen(opcode(asmExt->input[nbInput]->size))); - | ^ -extended_asm.c:732:9: warning: '__builtin___strncat_chk' specified bound depends on the length of the source argument [-Wstringop-overflow=] - 732 | strncat(tmp, asmExt->input[nbInput]->variableNumber, strlen(asmExt->input[nbInput]->variableNumber)); - | ^ -extended_asm.c:732:9: note: length computed here - 732 | strncat(tmp, asmExt->input[nbInput]->variableNumber, strlen(asmExt->input[nbInput]->variableNumber)); - | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -parse.c: In function 'is_function': -parse.c:4349:16: warning: ISO C forbids empty initializer braces before C2X [-Wpedantic] - 4349 | Type dummy = {}; - | ^ -parse.c: In function 'parse': -parse.c:4431:20: warning: ISO C forbids empty initializer braces before C2X [-Wpedantic] - 4431 | VarAttr attr = {}; - | ^ extended_asm.c: In function 'generate_output_asm': extended_asm.c:774:9: warning: '__builtin___strncat_chk' output truncated before terminating nul copying 8 bytes from a string of the same length [-Wstringop-truncation] 774 | strncat(tmp, opcode(asmExt->output[nbOutput]->size), strlen(opcode(asmExt->output[nbOutput]->size))); | ^ +parse.c: In function 'struct_members': extended_asm.c:776:9: warning: '__builtin___strncat_chk' specified bound depends on the length of the source argument [-Wstringop-overflow=] 776 | strncat(tmp, asmExt->input[nbInput]->input_value, strlen(asmExt->input[nbInput]->input_value)); | ^ @@ -979,6 +1115,9 @@ extended_asm.c:766:9: note: length computed here 766 | strncat(tmp, asmExt->output[nbOutput]->variableNumber, strlen(asmExt->output[nbOutput]->variableNumber)); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +parse.c:3291:17: warning: ISO C forbids empty initializer braces before C2X [-Wpedantic] + 3291 | Member head = {}; + | ^ extended_asm.c:788:9: warning: '__builtin___strncat_chk' output truncated before terminating nul copying 8 bytes from a string of the same length [-Wstringop-truncation] 788 | strncat(tmp, opcode(asmExt->output[nbOutput]->size), strlen(opcode(asmExt->output[nbOutput]->size))); | ^ @@ -988,124 +1127,21 @@ extended_asm.c:789:9: note: length computed here 789 | strncat(tmp, asmExt->output[nbOutput]->variableNumber, strlen(asmExt->output[nbOutput]->variableNumber)); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -type.c: In function 'is_compatible': -unicode.c: In function 'encode_utf8': -type.c:64:3: warning: enumeration value 'TY_VOID' not handled in switch [-Wswitch] - 64 | switch (t1->kind) - | ^~~~~~ -type.c:64:3: warning: enumeration value 'TY_BOOL' not handled in switch [-Wswitch] -type.c:64:3: warning: enumeration value 'TY_ENUM' not handled in switch [-Wswitch] -unicode.c:14:14: warning: binary constants are a C2X feature or GCC extension - 14 | buf[0] = 0b11000000 | (c >> 6); - | ^~~~~~~~~~ -type.c:64:3: warning: enumeration value 'TY_VLA' not handled in switch [-Wswitch] -type.c:64:3: warning: enumeration value 'TY_STRUCT' not handled in switch [-Wswitch] -unicode.c:15:14: warning: binary constants are a C2X feature or GCC extension - 15 | buf[1] = 0b10000000 | (c & 0b00111111); - | ^~~~~~~~~~ -unicode.c:15:32: warning: binary constants are a C2X feature or GCC extension - 15 | buf[1] = 0b10000000 | (c & 0b00111111); - | ^~~~~~~~~~ -type.c:64:3: warning: enumeration value 'TY_UNION' not handled in switch [-Wswitch] -unicode.c:21:14: warning: binary constants are a C2X feature or GCC extension - 21 | buf[0] = 0b11100000 | (c >> 12); - | ^~~~~~~~~~ -unicode.c:22:14: warning: binary constants are a C2X feature or GCC extension - 22 | buf[1] = 0b10000000 | ((c >> 6) & 0b00111111); - | ^~~~~~~~~~ -unicode.c:22:39: warning: binary constants are a C2X feature or GCC extension - 22 | buf[1] = 0b10000000 | ((c >> 6) & 0b00111111); - | ^~~~~~~~~~ -main.c: In function 'parse_args': -unicode.c:23:14: warning: binary constants are a C2X feature or GCC extension - 23 | buf[2] = 0b10000000 | (c & 0b00111111); - | ^~~~~~~~~~ -unicode.c:23:32: warning: binary constants are a C2X feature or GCC extension - 23 | buf[2] = 0b10000000 | (c & 0b00111111); - | ^~~~~~~~~~ -main.c:188:27: warning: ISO C forbids empty initializer braces before C2X [-Wpedantic] - 188 | StringArray idirafter = {}; - | ^ -unicode.c:27:12: warning: binary constants are a C2X feature or GCC extension - 27 | buf[0] = 0b11110000 | (c >> 18); - | ^~~~~~~~~~ -unicode.c:28:12: warning: binary constants are a C2X feature or GCC extension - 28 | buf[1] = 0b10000000 | ((c >> 12) & 0b00111111); - | ^~~~~~~~~~ -unicode.c:28:38: warning: binary constants are a C2X feature or GCC extension - 28 | buf[1] = 0b10000000 | ((c >> 12) & 0b00111111); - | ^~~~~~~~~~ -unicode.c:29:12: warning: binary constants are a C2X feature or GCC extension - 29 | buf[2] = 0b10000000 | ((c >> 6) & 0b00111111); - | ^~~~~~~~~~ -unicode.c:29:37: warning: binary constants are a C2X feature or GCC extension - 29 | buf[2] = 0b10000000 | ((c >> 6) & 0b00111111); - | ^~~~~~~~~~ -unicode.c:30:12: warning: binary constants are a C2X feature or GCC extension - 30 | buf[3] = 0b10000000 | (c & 0b00111111); - | ^~~~~~~~~~ -unicode.c:30:30: warning: binary constants are a C2X feature or GCC extension - 30 | buf[3] = 0b10000000 | (c & 0b00111111); - | ^~~~~~~~~~ -unicode.c: In function 'decode_utf8': -unicode.c:53:28: warning: binary constants are a C2X feature or GCC extension - 53 | if ((unsigned char)*p >= 0b11110000) - | ^~~~~~~~~~ -unicode.c:56:14: warning: binary constants are a C2X feature or GCC extension - 56 | c = *p & 0b111; - | ^~~~~ -unicode.c:58:33: warning: binary constants are a C2X feature or GCC extension - 58 | else if ((unsigned char)*p >= 0b11100000) - | ^~~~~~~~~~ -unicode.c:61:14: warning: binary constants are a C2X feature or GCC extension - 61 | c = *p & 0b1111; - | ^~~~~~ -unicode.c:63:33: warning: binary constants are a C2X feature or GCC extension - 63 | else if ((unsigned char)*p >= 0b11000000) - | ^~~~~~~~~~ -unicode.c:66:14: warning: binary constants are a C2X feature or GCC extension - 66 | c = *p & 0b11111; - | ^~~~~~~ -unicode.c:75:37: warning: binary constants are a C2X feature or GCC extension - 75 | if ((unsigned char)p[i] >> 6 != 0b10) - | ^~~~ -unicode.c:77:28: warning: binary constants are a C2X feature or GCC extension - 77 | c = (c << 6) | (p[i] & 0b111111); - | ^~~~~~~~ -type.c: In function 'add_type': -type.c:218:3: warning: enumeration value 'ND_NULL_EXPR' not handled in switch [-Wswitch] - 218 | switch (node->kind) - | ^~~~~~ -type.c:218:3: warning: enumeration value 'ND_RETURN' not handled in switch [-Wswitch] -type.c:218:3: warning: enumeration value 'ND_IF' not handled in switch [-Wswitch] -type.c:218:3: warning: enumeration value 'ND_FOR' not handled in switch [-Wswitch] -type.c:218:3: warning: enumeration value 'ND_DO' not handled in switch [-Wswitch] -type.c:218:3: warning: enumeration value 'ND_SWITCH' not handled in switch [-Wswitch] -type.c:218:3: warning: enumeration value 'ND_CASE' not handled in switch [-Wswitch] -type.c:218:3: warning: enumeration value 'ND_BLOCK' not handled in switch [-Wswitch] -type.c:218:3: warning: enumeration value 'ND_GOTO' not handled in switch [-Wswitch] -type.c:218:3: warning: enumeration value 'ND_GOTO_EXPR' not handled in switch [-Wswitch] -type.c:218:3: warning: enumeration value 'ND_LABEL' not handled in switch [-Wswitch] -type.c:218:3: warning: enumeration value 'ND_EXPR_STMT' not handled in switch [-Wswitch] -type.c:218:3: warning: enumeration value 'ND_CAST' not handled in switch [-Wswitch] -type.c:218:3: warning: enumeration value 'ND_MEMZERO' not handled in switch [-Wswitch] -type.c:218:3: warning: enumeration value 'ND_ASM' not handled in switch [-Wswitch] -tokenize.c: In function 'tokenize': -tokenize.c:645:16: warning: ISO C forbids empty initializer braces before C2X [-Wpedantic] - 645 | Token head = {}; - | ^ -main.c: In function 'find_file': -main.c:962:16: warning: ISO C forbids empty initializer braces before C2X [-Wpedantic] - 962 | glob_t buf = {}; +parse.c:3297:20: warning: ISO C forbids empty initializer braces before C2X [-Wpedantic] + 3297 | VarAttr attr = {}; + | ^ +parse.c: In function 'funcall': +parse.c:3743:15: warning: ISO C forbids empty initializer braces before C2X [-Wpedantic] + 3743 | Node head = {}; + | ^ +parse.c: In function 'is_function': +parse.c:4349:16: warning: ISO C forbids empty initializer braces before C2X [-Wpedantic] + 4349 | Type dummy = {}; | ^ -main.c: In function 'run_linker': -main.c:1007:21: warning: ISO C forbids empty initializer braces before C2X [-Wpedantic] - 1007 | StringArray arr = {}; - | ^ -main.c: In function 'main': -main.c:1152:25: warning: ISO C forbids empty initializer braces before C2X [-Wpedantic] - 1152 | StringArray ld_args = {}; - | ^ +parse.c: In function 'parse': +parse.c:4431:20: warning: ISO C forbids empty initializer braces before C2X [-Wpedantic] + 4431 | VarAttr attr = {}; + | ^ extended_asm.c: In function 'retrieveVariableNumber': extended_asm.c:904:5: warning: '__builtin___strncat_chk' specified bound depends on the length of the source argument [-Wstringop-overflow=] 904 | strncat(variableNumberStr, indexstr, strlen(indexstr)); @@ -1120,6 +1156,16 @@ main.c:657:22: note: length computed here 657 | int total_length = strlen(tmpl); | ^~~~~~~~~~~~ +main.c: In function 'main': +main.c:817:7: warning: '__builtin_strncat' specified bound depends on the length of the source argument [-Wstringop-overflow=] + 817 | strncat(fullpath, path, strlen(path)); + | ^ +In function 'print_dependencies', + inlined from 'cc1' at main.c:908:5, + inlined from 'main' at main.c:1145:5: +main.c:817:7: note: length computed here + 817 | strncat(fullpath, path, strlen(path)); + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ extended_asm.c: In function 'extended_asm': extended_asm.c:223:17: warning: '__builtin___strncat_chk' specified bound depends on the length of the source argument [-Wstringop-overflow=] 223 | strncat(input_final, input_asm_str, strlen(input_asm_str)); @@ -1145,16 +1191,6 @@ extended_asm.c:280:9: note: length computed here 280 | strncat(asm_str, output_asm_str, strlen(output_asm_str)); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -main.c: In function 'main': -main.c:817:7: warning: '__builtin_strncat' specified bound depends on the length of the source argument [-Wstringop-overflow=] - 817 | strncat(fullpath, path, strlen(path)); - | ^ -In function 'print_dependencies', - inlined from 'cc1' at main.c:908:5, - inlined from 'main' at main.c:1145:5: -main.c:817:7: note: length computed here - 817 | strncat(fullpath, path, strlen(path)); - | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ parse.c:4412:7: warning: '__builtin_strncat' specified bound depends on the length of the source argument [-Wstringop-overflow=] 4412 | strncat(fullpath, path, strlen(path)); | ^ @@ -1191,8 +1227,8 @@ dh_gencontrol dh_md5sums dh_builddeb -dpkg-deb: building package 'chibicc' in '../chibicc_0+git20240328+ds-1_amd64.deb'. dpkg-deb: building package 'chibicc-dbgsym' in '../chibicc-dbgsym_0+git20240328+ds-1_amd64.deb'. +dpkg-deb: building package 'chibicc' in '../chibicc_0+git20240328+ds-1_amd64.deb'. dpkg-genbuildinfo --build=binary -O../chibicc_0+git20240328+ds-1_amd64.buildinfo dpkg-genchanges --build=binary -O../chibicc_0+git20240328+ds-1_amd64.changes dpkg-genchanges: info: binary-only upload (no source code included) @@ -1200,12 +1236,14 @@ dpkg-buildpackage: info: binary-only upload (no source included) dpkg-genchanges: info: including full source code in upload I: copying local configuration +I: user script /srv/workspace/pbuilder/1971146/tmp/hooks/B01_cleanup starting +I: user script /srv/workspace/pbuilder/1971146/tmp/hooks/B01_cleanup finished I: unmounting dev/ptmx filesystem I: unmounting dev/pts filesystem I: unmounting dev/shm filesystem I: unmounting proc filesystem I: unmounting sys filesystem I: cleaning the build env -I: removing directory /srv/workspace/pbuilder/3062939 and its subdirectories -I: Current time: Thu Jun 12 13:15:09 -12 2025 -I: pbuilder-time-stamp: 1749777309 +I: removing directory /srv/workspace/pbuilder/1971146 and its subdirectories +I: Current time: Sat May 11 08:53:43 +14 2024 +I: pbuilder-time-stamp: 1715367223