From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 16530 invoked by alias); 16 May 2014 19:08:03 -0000 Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org Received: (qmail 16483 invoked by uid 48); 16 May 2014 19:08:00 -0000 From: "dvyukov at google dot com" To: gcc-bugs@gcc.gnu.org Subject: [Bug go/61204] New: gccgo: ICE in in fold_convert_loc Date: Fri, 16 May 2014 19:08:00 -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: unknown X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: dvyukov at google dot com X-Bugzilla-Status: UNCONFIRMED 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 Message-ID: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-SW-Source: 2014-05/txt/msg01476.txt.bz2 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61204 Bug ID: 61204 Summary: gccgo: ICE in in fold_convert_loc Product: gcc Version: unknown Status: UNCONFIRMED Severity: normal Priority: P3 Component: go Assignee: ian at airs dot com Reporter: dvyukov at google dot com $ gccgo -v Using built-in specs. COLLECT_GCC=gccgo COLLECT_LTO_WRAPPER=libexec/gcc/x86_64-unknown-linux-gnu/4.10.0/lto-wrapper Target: x86_64-unknown-linux-gnu Configured with: ../configure --enable-languages=c,c++,go --disable-bootstrap --enable-checking=yes --disable-multilib --prefix=gcc_trunk/install Thread model: posix gcc version 4.10.0 20140516 (experimental) (GCC) The program is: package main func main() { type id2 chan map[uintptr]string type id3 [0]string type id4 float64 _ = <-<-make(chan id2, cap(id3([0]string{}))) type id5 id2 _, _ = <-<-make(chan chan string) var id6 id5 = id5(id2(make(chan map[uintptr]string, ((1) + ((<-make(chan int, ((1) + ((1) + (([]int{})[((1) * (1))]))))) * ((1) + ((((((([]int{})[1]) + (<-make(chan int))) * ((<-make(chan int)) + (1))) * (<-<-<-make(chan chan chan int, 1))) + (1)) * (<-make(chan int))))))))) type id7 id3 _, _, _ = map[id4]bool{}, ([]float64{})[1], (((<-<-<-<-make(chan chan chan chan int, ((<-<-make(chan chan int)) * (1)))) * (1)) + (([]int{})[((((<-<-<-<-<-make(chan chan chan chan chan int, 1)) + ((1) * (((<-<-make(chan chan []int))[1]) + (1)))) * ((([]int{})[<-<-make(chan chan int, ((1)*(1)))]) + ((<-<-make(chan chan int)) * ((1) + (<-make(chan int)))))) * (<-make(chan int, 1)))])) id8 := id7(id3([0]string{})) _, _, _, id8 = [0]int{}, <-<-make(chan chan [0]int), ((<-<-make(chan chan int, ([]int{})[([]int{})[<-make(chan int)]])) + (<-<-([]chan chan int{})[<-make(chan int, (<-<-<-make(chan chan chan []int, 1))[<-make(chan int, 1)])])), id7(id3([0]string{})) _ = id8 _ = id6 } $ go build -compiler=gccgo src.go # command-line-arguments go1: internal compiler error: in fold_convert_loc, at fold-const.c:2072 0x7ce963 fold_convert_loc(unsigned int, tree_node*, tree_node*) ../../gcc/fold-const.c:2072 0x5c6bc5 Gcc_backend::temporary_variable(Bfunction*, Bblock*, Btype*, Bexpression*, bool, Location, Bstatement**) ../../gcc/go/go-gcc.cc:2483 0x6080a4 Temporary_statement::do_get_backend(Translate_context*) ../../gcc/go/gofrontend/statements.cc:460 0x5db097 Block::get_backend(Translate_context*) ../../gcc/go/gofrontend/gogo.cc:5454 0x60741c Block_statement::do_get_backend(Translate_context*) ../../gcc/go/gofrontend/statements.cc:1811 0x5db097 Block::get_backend(Translate_context*) ../../gcc/go/gofrontend/gogo.cc:5454 0x5dc925 Function::build(Gogo*, Named_object*) ../../gcc/go/gofrontend/gogo.cc:5062 0x5ddc57 Named_object::get_backend(Gogo*, std::vector >&, std::vector >&, std::vector >&) ../../gcc/go/gofrontend/gogo.cc:6753 0x5e2b5c Gogo::write_globals() ../../gcc/go/gofrontend/gogo.cc:1136