Use backend interface for labels and goto statements.
commitd56e667993d46456e38c70d7e36c9be3c4dbf37f
authorIan Lance Taylor <iant@google.com>
Tue, 5 Apr 2011 05:57:39 +0000 (5 05:57 +0000)
committerIan Lance Taylor <ian@gcc.gnu.org>
Tue, 5 Apr 2011 05:57:39 +0000 (5 05:57 +0000)
tree577d44ef128d82982e60ea0b47f375eebb0187b5
parent566475c80091b451af0513f2144d853b702eb73b
Use backend interface for labels and goto statements.

* go-gcc.c (class Blabel): Define.
(Gcc_backend::make_expression): New function.
(get_identifier_from_string): New function.
(Gcc_backend::label): New function.
(Gcc_backend::label_definition_statement): New function.
(Gcc_backend::goto_statement): New function.
(Gcc_backend::label_address): New function.
(expression_to_tree): New function.
* Make-lang.in (go/expressions.o): Depend on
go/gofrontend/backend.h.
(go/gogo.o): Likewise.

From-SVN: r171968
gcc/go/ChangeLog
gcc/go/Make-lang.in
gcc/go/go-gcc.cc
gcc/go/gofrontend/backend.h
gcc/go/gofrontend/expressions.cc
gcc/go/gofrontend/gogo-tree.cc
gcc/go/gofrontend/gogo.cc
gcc/go/gofrontend/gogo.h
gcc/go/gofrontend/statements.cc