This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug go/61204] New: gccgo: ICE in in fold_convert_loc


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<Bexpression*,
std::allocator<Bexpression*> >&, std::vector<Btype*, std::allocator<Btype*> >&,
std::vector<Bfunction*, std::allocator<Bfunction*> >&)
    ../../gcc/go/gofrontend/gogo.cc:6753
0x5e2b5c Gogo::write_globals()
    ../../gcc/go/gofrontend/gogo.cc:1136


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]