summaryrefslogtreecommitdiffstats
path: root/gcc/go/gofrontend/statements.h
Commit message (Collapse)AuthorAgeFilesLines
* compiler: Add flattening passian2014-01-091-0/+19
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@206502 138bc75d-0d04-0410-961f-82ee72b054a4
* compiler, runtime: Use runtime functions to pass closure value.ian2013-09-031-0/+46
| | | | | | | | | | | | This changes the compiler and runtime to not pass a closure value as the last argument, but to instead pass it via __go_set_closure and retrieve it via __go_get_closure. This eliminates the need for function descriptor wrapper functions. It will make it possible to retrieve the closure value in a reflect.MakeFunc function. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202233 138bc75d-0d04-0410-961f-82ee72b054a4
* compiler: Add support for method values.ian2013-06-241-0/+7
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@200379 138bc75d-0d04-0410-961f-82ee72b054a4
* compiler: implement Go 1.1 spec of terminating statements.ian2013-06-121-2/+21
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@200047 138bc75d-0d04-0410-961f-82ee72b054a4
* compiler: Correct initialization order determination.ian2013-01-291-0/+5
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@195526 138bc75d-0d04-0410-961f-82ee72b054a4
* compiler: Error if type switch case can not implement switch value.ian2012-01-241-2/+2
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@183500 138bc75d-0d04-0410-961f-82ee72b054a4
* compiler: Rework range over slice.ian2011-12-281-0/+5
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@182697 138bc75d-0d04-0410-961f-82ee72b054a4
* compiler/runtime: Copy channel implementation from master library.ian2011-12-011-30/+53
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181874 138bc75d-0d04-0410-961f-82ee72b054a4
* compiler: Define and use backend-independent Location class.ian2011-11-291-56/+56
| | | | | | | | | | | | | | | | From Sanjoy Das. * go-location.h: New file. * go-linemap.cc: New file. * go-gcc.cc: Change all uses of source_location to Location. * Make-lang.in (GO_OBJS): Add go/go-linemap.o. (GO_LINEMAP_H): New variable. (GO_LEX_H): Use $(GO_LINEMAP_H). (GO_GOGO_H, GO_TYPES_H, GO_IMPORT_H): Likewise. (go/go-linemap.o): New target. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181813 138bc75d-0d04-0410-961f-82ee72b054a4
* Emit compiler errors for unused values.ian2011-09-201-2/+4
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179008 138bc75d-0d04-0410-961f-82ee72b054a4
* Fix inheriting hidden methods with arguments of hidden type.ian2011-09-131-4/+3
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178827 138bc75d-0d04-0410-961f-82ee72b054a4
* Fix inherited hidden methods that return hidden types.ian2011-09-131-3/+22
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178818 138bc75d-0d04-0410-961f-82ee72b054a4
* Change Bound_method_expression to refer to a constant method.ian2011-08-251-9/+5
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178091 138bc75d-0d04-0410-961f-82ee72b054a4
* gccgo: Added code to dump the AST tree. The AST dump isian2011-08-031-1/+70
| | | | | | | | | | | | | | activated with -fgo-dump-ast. Initial version, it only dumps (most) constructs that are expected after the lowering transformation. * Make-lang.in (GO_OBJS): Add go/ast-dump.o. (go/ast-dump.o): New target. (go/expressions.o): Depend on go/gofrontend/ast-dump.h. (go/statements.o): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@177225 138bc75d-0d04-0410-961f-82ee72b054a4
* Use temporary variables for calls with multiple results.ian2011-08-011-9/+15
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176998 138bc75d-0d04-0410-961f-82ee72b054a4
* Define go_unreachable to replace gcc_unreachable.ian2011-04-231-6/+6
| | | | | | | From Evan Shaw. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@172882 138bc75d-0d04-0410-961f-82ee72b054a4
* Define go_assert to replace gcc_assertian2011-04-211-8/+8
| | | | | | | | | This is defined in go-system.h in the backend. * go-system.h (go_assert, go_unreachable): Define. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@172846 138bc75d-0d04-0410-961f-82ee72b054a4
* statement.cc no longer includes gcc headers.ian2011-04-191-14/+4
| | | | | | | | | | * go-system.h: Include "intl.h". * Make-lang.in (GO_SYSTEM_H): Add intl.h. (go/statements.o): Remove dependencies on intl.h $(TREE_H) $(GIMPLE_H) convert.h tree-iterator.h $(TREE_FLOW_H) $(REAL_H). git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@172743 138bc75d-0d04-0410-961f-82ee72b054a4
* Change general statement method to always use backend interface.ian2011-04-191-30/+30
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@172740 138bc75d-0d04-0410-961f-82ee72b054a4
* Use backend interface for temporary variables.ian2011-04-191-12/+8
| | | | | | | * go-gcc.cc (Gcc_backend::temporary_variable): New function. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@172737 138bc75d-0d04-0410-961f-82ee72b054a4
* Use the backend interface for select statements.ian2011-04-151-7/+9
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@172468 138bc75d-0d04-0410-961f-82ee72b054a4
* Use backend interface for go and defer statements.ian2011-04-131-3/+3
| | | | | | | Change defer stack from tree to Expression. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@172402 138bc75d-0d04-0410-961f-82ee72b054a4
* Use backend interface for constant switch statements.ian2011-04-061-8/+15
| | | | | | | | | * go-gcc.cc (if_statement): Use build3_loc. (Gcc_backend::switch_statement): New function. (Gcc_backend::statement_list): New function. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@172066 138bc75d-0d04-0410-961f-82ee72b054a4
* Use backend interface for return statements.ian2011-04-041-15/+5
| | | | | | | | | | | | | | * go-gcc.cc: #include "tree-iterator.h", "gimple.h", and "gogo.h". (class Bfunction): Define. (Gcc_backend::assignment_statement): Rename from assignment. Check for errors. (Gcc_backend::return_statement): New function. (tree_to_function): New function. * Make-lang.in (go/go-gcc.o): Depend on tree-iterator.h, $(GIMPLE_H), and $(GO_GOGO_H). git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@171959 138bc75d-0d04-0410-961f-82ee72b054a4
* Remove closed function. Fix tuple receive in select.ian2011-03-251-2/+4
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@171440 138bc75d-0d04-0410-961f-82ee72b054a4
* Tuple receives indicate whether channel is closed.ian2011-03-241-45/+44
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@171380 138bc75d-0d04-0410-961f-82ee72b054a4
* Change c <- v from an expression to a statement.ian2011-03-241-0/+44
| | | | | | | | Don't do anything special if we don't use the value of <-c. Fix sending an untyped constant in a select statement. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@171371 138bc75d-0d04-0410-961f-82ee72b054a4
* Don't crash if a temporary is not defined due to errors.ian2010-12-221-5/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@168173 138bc75d-0d04-0410-961f-82ee72b054a4
* Add Go frontend, libgo library, and Go testsuite.ian2010-12-031-0/+1420
gcc/: * gcc.c (default_compilers): Add entry for ".go". * common.opt: Add -static-libgo as a driver option. * doc/install.texi (Configuration): Mention libgo as an option for --enable-shared. Mention go as an option for --enable-languages. * doc/invoke.texi (Overall Options): Mention .go as a file name suffix. Mention go as a -x option. * doc/frontends.texi (G++ and GCC): Mention Go as a supported language. * doc/sourcebuild.texi (Top Level): Mention libgo. * doc/standards.texi (Standards): Add section on Go language. Move references for other languages into their own section. * doc/contrib.texi (Contributors): Mention that I contributed the Go frontend. gcc/testsuite/: * lib/go.exp: New file. * lib/go-dg.exp: New file. * lib/go-torture.exp: New file. * lib/target-supports.exp (check_compile): Match // Go. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@167407 138bc75d-0d04-0410-961f-82ee72b054a4
OpenPOWER on IntegriCloud