From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id 30AA4396D821; Tue, 10 Aug 2021 19:27:54 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 30AA4396D821 From: "rupert.tombs at gmail dot com" To: gcc-bugs@gcc.gnu.org Subject: [Bug go/101851] New: gccgo crashes compiling `x, y := int(0)` Date: Tue, 10 Aug 2021 19:27:53 +0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: new X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: go X-Bugzilla-Version: 11.2.0 X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: rupert.tombs at gmail dot com X-Bugzilla-Status: UNCONFIRMED X-Bugzilla-Resolution: X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: ian at airs dot com X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: bug_id short_desc product version bug_status bug_severity priority component assigned_to reporter cc target_milestone Message-ID: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-BeenThere: gcc-bugs@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-bugs mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 10 Aug 2021 19:27:54 -0000 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D101851 Bug ID: 101851 Summary: gccgo crashes compiling `x, y :=3D int(0)` Product: gcc Version: 11.2.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: go Assignee: ian at airs dot com Reporter: rupert.tombs at gmail dot com CC: cmang at google dot com Target Milestone: --- Full reproduction: https://go.godbolt.org/z/39MnE5GEn This source crashes gccgo: ``` package main func main() { x, y :=3D int(0) _, _ =3D x, y } ``` apparently due to the incorrect short declaration;=20 gc reports "assignment mismatch: 2 variables but 1 value". Full details: ``` Using built-in specs. COLLECT_GCC=3D/opt/compiler-explorer/gcc-11.2.0/bin/gccgo Target: x86_64-linux-gnu Configured with: ../gcc-11.2.0/configure --prefix=3D/opt/compiler-explorer/gcc-build/staging --build=3Dx86_64-linux-= gnu --host=3Dx86_64-linux-gnu --target=3Dx86_64-linux-gnu --disable-bootstrap --enable-multiarch --with-abi=3Dm64 --with-multilib-list=3Dm32,m64,mx32 --enable-multilib --enable-clocale=3Dgnu --enable-languages=3Dc,c++,fortran,ada,go,d --enable-ld=3Dyes --enable-gold= =3Dyes --enable-libstdcxx-debug --enable-libstdcxx-time=3Dyes --enable-linker-buil= d-id --enable-lto --enable-plugins --enable-threads=3Dposix --with-pkgversion=3DCompiler-Explorer-Build-gcc--binutils-2.36.1 Thread model: posix Supported LTO compression algorithms: zlib gcc version 11.2.0 (Compiler-Explorer-Build-gcc--binutils-2.36.1)=20 COLLECT_GCC_OPTIONS=3D'-fdiagnostics-color=3Dalways' '-g' '-o' '/app/output= .s' '-masm=3Dintel' '-S' '-v' '-save-temps' '-shared-libgcc' '-mtune=3Dgeneric' '-march=3Dx86-64' '-dumpdir' '/app/' /opt/compiler-explorer/gcc-11.2.0/bin/../libexec/gcc/x86_64-linux-gnu/11.2.= 0/go1 -quiet -dumpdir /app/ -dumpbase output.go -dumpbase-ext .go -masm=3Dintel -mtune=3Dgeneric -march=3Dx86-64 -g -version -fdiagnostics-co= lor=3Dalways -o /app/output.s -L/opt/compiler-explorer/gcc-11.2.0/bin/../lib/gcc/x86_64-linux-gnu/11.2.0 -L/opt/compiler-explorer/gcc-11.2.0/bin/../lib/gcc/x86_64-linux-gnu -L/opt/compiler-explorer/gcc-11.2.0/bin/../lib/gcc -L/opt/compiler-explorer/gcc-11.2.0/bin/../lib/gcc/x86_64-linux-gnu/11.2.0/= ../../../../lib64 -L/lib/x86_64-linux-gnu -L/lib/../lib64 -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib64 -L/usr/lib/x86_64-linux-gnu -L/opt/compiler-explorer/gcc-11.2.0/bin/../lib/gcc/x86_64-linux-gnu/11.2.0/= ../../../../x86_64-linux-gnu/lib -L/opt/compiler-explorer/gcc-11.2.0/bin/../lib/gcc/x86_64-linux-gnu/11.2.0/= ../../.. GNU Go (Compiler-Explorer-Build-gcc--binutils-2.36.1) version 11.2.0 (x86_64-linux-gnu) compiled by GNU C version 7.5.0, GMP version 6.1.0, MPFR version 3.= 1.6, MPC version 1.0.3, isl version isl-0.18-GMP GGC heuristics: --param ggc-min-expand=3D100 --param ggc-min-heapsize=3D131= 072 GNU Go (Compiler-Explorer-Build-gcc--binutils-2.36.1) version 11.2.0 (x86_64-linux-gnu) compiled by GNU C version 7.5.0, GMP version 6.1.0, MPFR version 3.= 1.6, MPC version 1.0.3, isl version isl-0.18-GMP GGC heuristics: --param ggc-min-expand=3D100 --param ggc-min-heapsize=3D131= 072 ``` All compilation options ``` -g -o /tmp/compiler-explorer-compiler2021710-5217-aatpg5.psufb/output.s -masm=3Dintel -S -fdiagnostics-color=3Dalways -v -save-temps /tmp/compiler-explorer-compiler2021710-5217-aatpg5.psufb/example.go ``` Full backtrace: ``` go1: internal compiler error: in do_flatten, at go/gofrontend/statements.cc= :323 0x16b2bf9 internal_error(char const*, ...) ???:0 0x6e5266 fancy_abort(char const*, int, char const*) ???:0 0x7a1700 Variable_declaration_statement::do_flatten(Gogo*, Named_object*, Block*, Statement_inserter*) ???:0 0x7508fc Flatten::statement(Block*, unsigned long*, Statement*) ???:0 0x7a4014 Statement::traverse(Block*, unsigned long*, Traverse*) ???:0 0x75451d Block::traverse(Traverse*) ???:0 0x754799 Function::traverse(Traverse*) ???:0 0x7547f0 Flatten::function(Named_object*) ???:0 0x75939b Bindings::traverse(Traverse*, bool) ???:0 0x759541 Gogo::traverse(Traverse*) ???:0 0x759b28 Gogo::flatten() ???:0 0x74f12f go_parse_input_files(char const**, unsigned int, bool, bool) ???:0 Please submit a full bug report, with preprocessed source if appropriate. Please include the complete backtrace with any bug report. See for instructions. ``` Thank you for maintaining gccgo!=