summaryrefslogtreecommitdiffstats
path: root/gcc/go
Commit message (Collapse)AuthorAgeFilesLines
...
* Change builtin make to runtime call at lowering time.ian2011-06-148-598/+256
| | | | | | | | | Use kindNoPointers as 6g does. * Make-lang.in (go/expressions.o): Depend on $(GO_RUNTIME_H). git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175008 138bc75d-0d04-0410-961f-82ee72b054a4
* Use backend interface for map descriptors.ian2011-06-116-155/+145
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@174943 138bc75d-0d04-0410-961f-82ee72b054a4
* Use backend interface for type descriptors.ian2011-06-1110-253/+359
| | | | | | | | | | | * go-gcc.cc: Include "toplev.h". (Gcc_backend::immutable_struct): New function. (Gcc_backend::immutable_struct_set_init): New function. (Gcc_backend::immutable_struct_reference): New function. * Make-lang.in (go/go-gcc.o): Depend on toplev.h. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@174941 138bc75d-0d04-0410-961f-82ee72b054a4
* Use backend interface for zero initialization.ian2011-06-098-390/+72
| | | | | | | * go-gcc.cc (Gcc_backend::zero_expression): New function. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@174863 138bc75d-0d04-0410-961f-82ee72b054a4
* Correct type size comparison.ian2011-06-081-2/+7
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@174814 138bc75d-0d04-0410-961f-82ee72b054a4
* 2011-06-07 Richard Guenther <rguenther@suse.de>rguenth2011-06-072-9/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * tree.c (build_common_tree_nodes): Also initialize size_type_node. Call set_sizetype from here. c-family/ * c-common.c (c_common_nodes_and_builtins): Do not set size_type_node or call set_sizetype. go/ * go-lang.c (go_langhook_init): Do not set size_type_node or call set_sizetype. fortran/ * f95-lang.c (gfc_init_decl_processing): Do not set size_type_node or call set_sizetype. java/ * decl.c (java_init_decl_processing): Properly initialize size_type_node. lto/ * lto-lang.c (lto_init): Do not set size_type_node or call set_sizetype. ada/ * gcc-interface/misc.c (gnat_init): Do not set size_type_node or call set_sizetype. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@174743 138bc75d-0d04-0410-961f-82ee72b054a4
* Revert accidental checkin.hjl2011-06-0533-129968/+0
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@174662 138bc75d-0d04-0410-961f-82ee72b054a4
* 2011-06-05 Jerry DeLisle <jvdelisle@gcc.gnu.org>jvdelisle2011-06-0533-0/+129968
| | | | | | | Merge trunk into branch, part one. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@174658 138bc75d-0d04-0410-961f-82ee72b054a4
* Change export code to use the backend interface.ian2011-05-276-32/+36
| | | | | | | | | | | | * go-backend.c: Include "output.h". (go_write_export_data): New function. * go-c.h (go_write_export_data): Declare. * Make-lang.in (go/go-backend.o): Depend on output.h. (go/export.o): Depend on $(GO_C_H). Do not depend on $(MACHMODE_H), output.h, or $(TARGET_H). git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@174366 138bc75d-0d04-0410-961f-82ee72b054a4
* * Makefile.in (GCC_OBJS): Remove opts-common.o and options.o.jsm282011-05-242-3/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (OBJS): Remove options.o, opts-common.o and prefix.o. (OBJS-libcommon-target): New. (ALL_HOST_BACKEND_OBJS): Include $(OBJS-libcommon-target). (BACKEND): Include libcommon-target.a. (MOSTLYCLEANFILES): Include libcommon-target.a. (libcommon-target.a): New. (xgcc$(exeext), cpp$(exeext)): Use libcommon-target.a instead of prefix.o. ada: * gcc-interface/Make-lang.in (GNAT1_OBJS): Don't include $(EXTRA_GNAT1_OBJS). (GNATBIND_OBJS): Don't include $(EXTRA_GNATBIND_OBJS). (EXTRA_GNAT1_OBJS, EXTRA_GNATBIND_OBJS): Remove. (gnat1$(exeext), gnatbind$(exeext)): Use libcommon-target.a. * gcc-interface/Makefile.in (EXTRA_GNATTOOLS_OBJS): Use libcommon-target.a instead of prefix.o. cp: * Make-lang.in (GXX_OBJS): Remove prefix.o. (g++$(exeext)): Use libcommon-target.a. (CXX_C_OBJS): Remove prefix.o. fortran: * Make-lang.in (GFORTRAN_D_OBJS): Remove prefix.o. (gfortran$(exeext)): Use libcommon-target.a. go: * Make-lang.in (GCCGO_OBJS): Remove prefix.o. (gccgo$(exeext)): Use libcommon-target.a. java: * Make-lang.in ($(XGCJ)$(exeext)): Use libcommon-target.a instead of prefix.o. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@174109 138bc75d-0d04-0410-961f-82ee72b054a4
* * Makefile.in (LIBDEPS): Add libcommon.a.jsm282011-05-202-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (LIBS): Likewise. (GCC_OBJS): Remove diagnostic.o, pretty-print.o and input.o. (OBJS-common): Remove diagnostic.o, input.o, intl.o, pretty-print.o and version.o. (OBJS-libcommon): New. (ALL_HOST_BACKEND_OBJS): Add $(OBJS-libcommon). (BACKEND): Add libcommon.a. (MOSTLYCLEANFILES): Likewise. (libcommon.a): New. (xgcc$(exeext)): Don't explicitly use version.o and intl.o. (cpp$(exeext)): Likewise. (COLLECT2_OBJS): Remove intl.o, version.o, diagnostic.o, pretty-print.o and input.o. (lto-wrapper$(exeext)): Don't explicitly use intl.o. (lto-wrapper.o): Depend on $(DIAGNOSTIC_H). (errors.o): Remove. (mips-tfile): Don't explicitly use version.o. (mips-tdump): Likewise. (gcov.o): Depend on $(DIAGNOSTIC_H). (gcov-dump.o): Depend on intl.h and $(DIAGNOSTIC_H). (GCOV_OBJS): Remove intl.o, version.o and errors.o. (GCOV_DUMP_OBJS): Remove version.o and errors.o. * gcov-dump.c: Include intl.h and diagnostic.h. (main): Initialize diagnostics. * gcov.c: Include diagnostic.h. (fnotice): Remove. (main): Initialize diagnostics. * lto-wrapper.c: Include diagnostic.h. (main): Initialize diagnostics. ada: * gcc-interface/Make-lang.in (EXTRA_GNATBIND_OBJS): Remove version.o. * gcc-interface/Makefile.in (EXTRA_GNATTOOLS_OBJS): Use libcommon.a instead of version.o. cp: * Make-lang.in (GXX_OBJS): Remove intl.o and version.o. fortran: * Make-lang.in (GFORTRAN_D_OBJS): Remove version.o and intl.o. go: * Make-lang.in (GCCGO_OBJS): Remove intl.o and version.o. java: * Make-lang.in ($(XGCJ)$(exeext)): Don't explicitly use intl.o and version.o. (JCFDUMP_OBJS): Remove errors.o, version.o and intl.o. (JVGENMAIN_OBJS): Remove errors.o and intl.o. (java/jcf-dump.o, java/jvgenmain.o): Depend in $(DIAGNOSTIC_H). * jcf-dump.c: Include diagnostic.h. (main): Initialize diagnostics. * jvgenmain.c: Include diagnostic.h. (main): Initialize diagnostics. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@173958 138bc75d-0d04-0410-961f-82ee72b054a4
* Update to current version of Go library.ian2011-05-202-17/+46
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@173931 138bc75d-0d04-0410-961f-82ee72b054a4
* Fix bug with multiple results returning structs with invalid sizes.ian2011-05-136-9/+78
| | | | | | | | | * go-gcc.cc (Gcc_backend::function_type): When building a struct for multiple results, check that all fields types have a size. (Gcc_backend::placeholder_pointer_type): Permit name to be empty. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@173742 138bc75d-0d04-0410-961f-82ee72b054a4
* Fix bug with taking address of a variable when address does not escape.ian2011-05-126-26/+91
| | | | | | | | | * go-gcc.cc (Gcc_backend::local_variable): Add is_address_taken parameter. (Gcc_backend::parameter_variable): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@173712 138bc75d-0d04-0410-961f-82ee72b054a4
* Permit new of a function type.ian2011-05-111-12/+0
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@173672 138bc75d-0d04-0410-961f-82ee72b054a4
* Don't crash ranging over call to builtin function.ian2011-05-112-6/+7
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@173671 138bc75d-0d04-0410-961f-82ee72b054a4
* 2011-05-07  Eric Botcazou  <ebotcazou@adacore.com>ebotcazou2011-05-072-2/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | * langhooks.h (lang_hooks_for_types): Change global_bindings_p's return type to bool and adjust comment. * fold-const.c (fold_range_test): Adjust call to global_bindings_p. (fold_mathfn_compare): Remove calls to global_bindings_p. (fold_inf_compare): Likewise. * stor-layout.c (variable_size): Adjust call to global_bindings_p. * c-tree.h (global_bindings_p): Adjust prototype. * c-decl.c (global_bindings_p): Return bool and simplify. ada/ * gcc-interface/gigi.h (global_bindings_p): Adjust prototype. * gcc-interface/utils.c (global_bindings_p): Return bool and simplify. cp/ * name-lookup.h (global_bindings_p): Adjust prototype. * name-lookup.c (global_bindings_p): Return bool. fortran/ * f95-lang.c (global_bindings_p): Return bool and simplify. go/ * go-lang.c (global_bindings_p): Return bool and simplify. java/ * java-tree.h (global_bindings_p): Adjust prototype. * decl.c (global_bindings_p): Return bool. lto/ * lto-lang.c (global_bindings_p): Return bool. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@173535 138bc75d-0d04-0410-961f-82ee72b054a4
* Use backend types for all type conversions.ian2011-05-076-286/+286
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@173520 138bc75d-0d04-0410-961f-82ee72b054a4
* More uses of backend interface for types.ian2011-05-062-96/+63
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@173507 138bc75d-0d04-0410-961f-82ee72b054a4
* Use backend interface for string types.ian2011-05-061-8/+21
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@173502 138bc75d-0d04-0410-961f-82ee72b054a4
* Use backend interface for interface types.ian2011-05-062-114/+91
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@173469 138bc75d-0d04-0410-961f-82ee72b054a4
* generalize build_case_label to the rest of the compilerfroydnj2011-05-062-4/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | gcc/ada/ * gcc-interface/trans.c (Case_Statement_to_gnu): Call build_case_label. gcc/ * except.c (sjlj_emit_dispatch_table): Call build_case_label. * gimplify.c (gimplify_switch_expr): Likewise. * omp-low.c (expand_omp_sections): Likewise. * tree-eh.c (lower_try_finally_switch): Likewise. (lower_eh_dispatch): Likewise. * tree.h (build_case_label): Declare. * tree.c (build_case_label): Define. gcc/c-family/ * c-common.c (c_add_case_label): Omit the loc argument to build_case_label. * c-common.h (build_case_label): Remove. * c-semantics.c (build_case_label): Remove. gcc/cp/ * decl.c (finish_case_label): Omit the loc argument to build_case_label. gcc/fortran/ * trans-decl.c (gfc_trans_entry_master_switch): Call build_case_label. * trans-io.c (add_case): Likewise. * trans-stmt.c (gfc_trans_integer_select): Likewise. (gfc_trans_character_select): Likewise. gcc/go/ * go-gcc.cc (Gcc_backend::switch_statement): Call build_case_label. gcc/java/ * expr.c (expand_java_switch): Call build_case_label. (expand_java_add_case): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@173467 138bc75d-0d04-0410-961f-82ee72b054a4
* Use backend interface for slice types.ian2011-05-054-110/+54
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@173415 138bc75d-0d04-0410-961f-82ee72b054a4
* Use backend interface for named types and array types.ian2011-05-045-189/+487
| | | | | | | | | | | | | | | | | | | | * go-gcc.cc (Gcc_backend::struct_type): Call fill_in_struct. (Gcc_backend::fill_in_struct): New function. (Gcc_backend::array_type): Implement. (Gcc_backend::fill_in_array): New function. (Gcc_backend::placeholder_pointer_type): New function. (Gcc_backend::set_placeholder_pointer_type): New function. (Gcc_backend::set_placeholder_function_type): New function. (Gcc_backend::placeholder_struct_type): New function. (Gcc_backend::set_placeholder_struct_type): New function. (Gcc_backend::placeholder_array_type): New function. (Gcc_backend::set_placeholder_array_type): New function. (Gcc_backend::named_type): New function. (Gcc_backend::circular_pointer_type): New function. (Gcc_backend::is_circular_pointer_type): New function. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@173380 138bc75d-0d04-0410-961f-82ee72b054a4
* Use backend interface for struct types.ian2011-04-273-9/+50
| | | | | | | * go-gcc.cc (Gcc_backend::struct_type): Implement. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@173004 138bc75d-0d04-0410-961f-82ee72b054a4
* Use backend interface for function types.ian2011-04-2510-172/+178
| | | | | | | | | | | | | | | | | Drop type_tree() functions for Float_type and Complex_type. Don't define builtin functions until gogo is created. * go-gcc.cc (Gcc_backend::error_type): Implement. (Gcc_backend::string_type): Remove. (Gcc_backend::function_type): Change signature and implement. (Gcc_backend::struct_type): Change signature. (Gcc_backend::slice_type, Gcc_backend::map_type): Remove. (Gcc_backend::channel_type, Gcc_backend::interface_type): Remove. (Gcc_backend::pointer_type): Check for error. * Make-lang.in (go/types.o): Depend on go/gofrontend/backend.h. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@172932 138bc75d-0d04-0410-961f-82ee72b054a4
* Use backend interface for basic typesian2011-04-254-68/+156
| | | | | | | | | | | | | | | * go-gcc.c (class Gcc_tree): Make get_tree const. (Gcc_backend::void_type): Implement. (Gcc_backend::bool_type): Implement. (Gcc_backend::integer_type): Implement. (Gcc_backend::float_type): Implement. (Gcc_backend::complex_type): New function. (Gcc_backend::pointer_type): New function. (Gcc_backend::make_type): New function. (type_to_tree): New function. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@172931 138bc75d-0d04-0410-961f-82ee72b054a4
* Define go_unreachable to replace gcc_unreachable.ian2011-04-2313-155/+153
| | | | | | | 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-2121-595/+605
| | | | | | | | | 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
* Use mpfr_prec_round, not real_convert, to constraint floats.ian2011-04-211-17/+3
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@172811 138bc75d-0d04-0410-961f-82ee72b054a4
* statement.cc no longer includes gcc headers.ian2011-04-195-97/+64
| | | | | | | | | | * 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-194-160/+137
| | | | 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-196-71/+152
| | | | | | | * 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 backend interface for blocks.ian2011-04-198-138/+292
| | | | | | | | | | | | | * go-gcc.cc (class Bblock): Define. (Gcc_backend::if_statement): Change then_block and else_block to Bblock*. (Gcc_backend::block): New function. (Gcc_backend::block_add_statements): New function. (Gcc_backend::block_statement): New function. (tree_to_block, block_to_tree): New functions. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@172731 138bc75d-0d04-0410-961f-82ee72b054a4
* Use backend interface for variables.ian2011-04-199-262/+532
| | | | | | | | | | | | | | | | * go-gcc.cc: Include "go-c.h". (class Bvariable): Define. (Gcc_backend::init_statement): New function. (Gcc_backend::global_variable): New function. (Gcc_backend::global_variable_set_init): New function. (Gcc_backend::local_variable): New function. (Gcc_backend::parameter_variable): New function. (tree_to_type, var_to_tree): New functions. * Make-lang.in (go/go-gcc.o): Depend on $(GO_C_H). * (go/gogo-tree.o): Depend on go/gofrontend/backend.h. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@172693 138bc75d-0d04-0410-961f-82ee72b054a4
* Add compound_list to backend interface.ian2011-04-154-37/+50
| | | | | | | | | | | | * go-gcc.cc (Gcc_backend::compound_statement): New function. (Gcc_backend::assignment_statement): Use error_statement. (Gcc_backend::return_statement): Likewise. (Gcc_backend::if_statement): Likewise. (Gcc_backend::switch_statement): Likewise. (Gcc_backend::statement_list): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@172521 138bc75d-0d04-0410-961f-82ee72b054a4
* Use backend interface for send statement.ian2011-04-154-154/+112
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@172519 138bc75d-0d04-0410-961f-82ee72b054a4
* Use the backend interface for select statements.ian2011-04-158-139/+209
| | | | 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-137-130/+133
| | | | | | | Change defer stack from tree to Expression. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@172402 138bc75d-0d04-0410-961f-82ee72b054a4
* Unify handling of runtime support functions.ian2011-04-139-443/+1009
| | | | | | | | | | This introduces the new approach, and rewrites the lowering code which uses runtime functions. The code which calls runtime functions at GENERIC conversion time is not yet rewritten. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@172396 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/ada/froydnj2011-04-132-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * gcc-interface/ada-tree.h (union lang_tree_node): Check for TS_COMMON before calling TREE_CHAIN. * gcc-interface/misc.c (gnat_init_ts): New function. (LANG_HOOKS_INIT_TS): Define. gcc/ * c-decl.c (union lang_tree_node): Check for TS_COMMON before calling TREE_CHAIN. * print-tree.c (print_node): Likewise. * tree-inline.c (copy_tree_r): Likewise. * c-lang.c (LANG_HOOKS_INIT_TS): Define. * lto-streamer-in.c (lto_input_tree_pointers): Check for TS_TYPED instead of TS_COMMON. * lto-streamer-out.c (lto_output_tree_pointers): Likewise. * tree.c (initialize_tree_contains_struct): Handle TS_TYPED. (copy_node_stat): Zero TREE_CHAIN only if necessary. (MARK_TS_BASE, MARK_TS_TYPED, MARK_TS_COMMON): Move these... (MARK_TS_DECL_COMMON, MARK_TS_DECL_COMMON, MARK_TS_DECL_WRTL): ...and these... (MARK_TS_DECL_WITH_VIS, MARK_TS_DECL_NON_COMMON): ...and these... * tree.h: ...here. (TREE_CHAIN): Check for a TS_COMMON structure. (TREE_TYPE): Check for a TS_TYPED structure. gcc/c-family/ * c-common.h (c_common_init_ts): Declare. * c-common.c (c_common_init_ts): Define. gcc/cp/ * cp-lang.c (cp_init_ts): Call cp_common_init_ts. Move tree_contains_struct initialization to... * cp-objcp-common.c (cp_common_init_ts): ...here. Use MARK_* macros. * cp-objcp-common.h (cp_common_init_ts): Declare. * cp-tree.h (union lang_tree_node): Check for TS_COMMON before calling TREE_CHAIN. gcc/fortran/ * f95-lang.c (union lang_tree_node): Check for TS_COMMON before calling TREE_CHAIN. gcc/go/ * go-lang.c (union lang_tree_node): Check for TS_COMMON before calling TREE_CHAIN. gcc/java/ * java-tree.h (union lang_tree_node): Check for TS_COMMON before calling TREE_CHAIN. gcc/lto/ * lto-tree.h (union lang_tree_node): Check for TS_COMMON before calling TREE_CHAIN. * lto.c (lto_fixup_common): Likewise. gcc/objc/ * objc-lang.c (objc_init_ts): Move code for this function... * objc-act.c (objc_common_init_ts): ...here. Define. * objc-act.h (objc_common_init_ts): Declare. gcc/objcp/ * objcp-lang.c (objcxx_init_ts): Call objc_common_init_ts and cp_common_init_ts. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@172359 138bc75d-0d04-0410-961f-82ee72b054a4
* Call cgraph_get_node rather than cgraph_node.ian2011-04-121-1/+1
| | | | | | | This is for a recent change to the gcc middle-end. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@172335 138bc75d-0d04-0410-961f-82ee72b054a4
* Use backend interface for constant switch statements.ian2011-04-065-81/+271
| | | | | | | | | * 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 if statements.ian2011-04-065-29/+71
| | | | | | | | | | | | Rename some temporary conversion functions to shorter names. * go-gcc.cc (Gcc_backend::if_statement): New function. (tree_to_stat): New function. (expr_to_tree): Renamed from expression_to_tree. (stat_to_tree): Renamed from statement_to_tree. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@172052 138bc75d-0d04-0410-961f-82ee72b054a4
* Use backend interface for expression statements.ian2011-04-064-2/+32
| | | | | | | * go-gcc.cc (Gcc_backend::expression_statement): New function. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@172051 138bc75d-0d04-0410-961f-82ee72b054a4
* Use backend interface for labels and goto statements.ian2011-04-059-99/+267
| | | | | | | | | | | | | | | | | * 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
* Use backend interface for return statements.ian2011-04-0412-289/+254
| | | | | | | | | | | | | | * 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
* Start using backend interface separate from gofrontend.ian2011-04-038-12/+361
| | | | | | | | | | | * go-gcc.cc: New file. * Make-lang.in (GO_OBJS): Add go/go-gcc.o. (go/go-gcc.o): New target. (go/go.o): Depend on go/gofrontend/backend.h. (go/statements.o): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@171917 138bc75d-0d04-0410-961f-82ee72b054a4
* Taking a slice of an array requires moving the array to the heap.ian2011-03-311-4/+7
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@171792 138bc75d-0d04-0410-961f-82ee72b054a4
* Fix select setting a map expression.ian2011-03-291-24/+26
| | | | | | | | Also fix select parsing when declaring a variable with no statements. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@171690 138bc75d-0d04-0410-961f-82ee72b054a4
OpenPOWER on IntegriCloud