OSDN Git Service

Use backend interface for labels and goto statements.
authorian <ian@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 5 Apr 2011 05:57:39 +0000 (05:57 +0000)
committerian <ian@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 5 Apr 2011 05:57:39 +0000 (05:57 +0000)
commit6e193e6f7bd5b09660292d638a8a379dc147ea7d
tree577d44ef128d82982e60ea0b47f375eebb0187b5
parent60e57704da6bec3c28e6feaaa1cd303df70fc689
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@171968 138bc75d-0d04-0410-961f-82ee72b054a4
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