Skip to content

gccgo: crash on reference to undefined name #10296

@h4ck3rm1k3

Description

@h4ck3rm1k3
package main
func crash() {
        xpc := pc
}

gccgo (GCC) 5.0.0 20150331 (experimental) on ppc64le

error: reference to undefined name ‘pc’
  xpc := pc

go1: internal compiler error: in set_type, at go/gofrontend/expressions.cc:15628
0x101d2b0f Numeric_constant::set_type(Type*, bool, Location)
        ../../gcc/go/gofrontend/expressions.cc:15628
0x101d45a7 Const_expression::do_numeric_constant_value(Numeric_constant*) const
        ../../gcc/go/gofrontend/expressions.cc:2691
0x101d5493 Expression::numeric_constant_value(Numeric_constant*) const
        ../../gcc/go/gofrontend/expressions.h:490
0x101d5493 Binary_expression::do_lower(Gogo*, Named_object*, Statement_inserter*, int)
        ../../gcc/go/gofrontend/expressions.cc:4927
0x101fbb1f Expression::lower(Gogo*, Named_object*, Statement_inserter*, int)
        ../../gcc/go/gofrontend/expressions.h:699
0x101fbb1f Lower_parse_tree::expression(Expression**)
    ../../gcc/go/gofrontend/gogo.cc:2616
0x101b631f Expression::traverse(Expression**, Traverse*)
        ../../gcc/go/gofrontend/expressions.cc:43
0x10246a67 Statement::traverse_expression(Traverse*, Expression**)
        ../../gcc/go/gofrontend/statements.cc:83
0x10246a67 If_statement::do_traverse(Traverse*)
        ../../gcc/go/gofrontend/statements.cc:3194
0x10249677 Statement::traverse_contents(Traverse*)
        ../../gcc/go/gofrontend/statements.cc:61
0x101fc5f3 Lower_parse_tree::statement(Block*, unsigned long*, Statement*)
    ../../gcc/go/gofrontend/gogo.cc:2570
0x102495cb Statement::traverse(Block*, unsigned long*, Traverse*)
    ../../gcc/go/gofrontend/statements.cc:43
0x10200c7b Block::traverse(Traverse*)
        ../../gcc/go/gofrontend/gogo.cc:5578
0x102578fb Block_statement::do_traverse(Traverse*)
        ../../gcc/go/gofrontend/statements.cc:1814
0x10249603 Statement::traverse(Block*, unsigned long*, Traverse*)
        ../../gcc/go/gofrontend/statements.cc:53
0x10200c7b Block::traverse(Traverse*)
        ../../gcc/go/gofrontend/gogo.cc:5578
0x10200fcf Function::traverse(Traverse*)
        ../../gcc/go/gofrontend/gogo.cc:4739
0x10209b63 Lower_parse_tree::function(Named_object*)
        ../../gcc/go/gofrontend/gogo.cc:2547
0x10204a7f Bindings::traverse(Traverse*, bool)
        ../../gcc/go/gofrontend/gogo.cc:7353
0x10204c3b Gogo::traverse(Traverse*)
        ../../gcc/go/gofrontend/gogo.cc:2367
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <http://gcc.gnu.org/bugs.html> for instructions.

The gccgo-5 (Debian 5-20150226-1) 5.0.0 20150226 (experimental) [trunk revision 220999]

test.go:3:16: error: reference to undefined name ‘pc’
         xpc := pc

commit 3897c269d567836ca49848322062d1c8c43f4177
Author: gccadmin gccadmin@138bc75d-0d04-0410-961f-82ee72b054a4
Date: Tue Mar 31 00:16:11 2015 +0000

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions