Age | Commit message (Collapse) | Author | Files | Lines |
|
* lang.opt: Add -fgo-pkgpath.
* go-lang.c (go_pkgpath): New static variable.
(go_prefix): New static variable.
(go_langhook_init): Pass go_pkgpath and go_prefix to
go_create_gogo.
(go_langhook_handle_option): Handle -fgo-pkgpath. Change
-fgo-prefix handling to just set go_prefix.
* go-c.h (go_set_prefix): Don't declare.
(go_create_gogo): Add pkgpath and prefix to declaration.
* go-gcc.cc (Gcc_backend::global_variable): Change unique_prefix
to pkgpath. Don't include the package name in the asm name.
* gccgo.texi (Invoking gccgo): Document -fgo-pkgpath. Update the
docs for -fgo-prefix.
From-SVN: r187356
|
|
The lexer used to incorrectly accept a token like 0x123i
and interpreted it as 123i. It also used to die when encountering
0xdie.
From-SVN: r187266
|
|
This patch corrects an ICE in handling on constant expressions
such as
const r = ^'a'
Part of issue 9.
From-SVN: r187264
|
|
The Go specification only accepts the NOT operator on boolean
types.
Fixes issue 10.
From-SVN: r187262
|
|
Fixes, e.g., "for first := true; first; first = false {".
From-SVN: r187176
|
|
From-SVN: r187142
|
|
From-SVN: r187111
|
|
From-SVN: r187103
|
|
* cgraph.c (ld_plugin_symbol_resolution_names): Move to symtab.c
(cgraph_asm_nodes, cgraph_asm_last_node): Move to cgraphunit.c
(cgraph_add_to_same_comdat_group): Remove.
(cgraph_add_asm_node): Move to cgraphunit.c.
(cgraph_make_decl_local): Move to symtab.c
(cgraph_make_node_local_1): Update.
(cgraph_can_remove_if_no_direct_calls_and): Update.
(used_from_object_file_p): Update.
(resolution_used_from_other_file_p): Move to symtab.c
(cgraph_used_from_object_file_p): move to symtab.c
(verify_cgraph_node): Verify same comdat groups.
* cgraph.h (cgraph_asm_node): Rename to ...
(asm_node): ... this one.
(cgraph_asm_nodes): Rename to ...
(asm_nodes): ... this one.
(symtab_add_to_same_comdat_group): New function.
(symtab_dissolve_same_comdat_group_list): New function.
(symtab_used_from_object_file_p): Declare.
(symtab_make_decl_local): Declare.
(cgraph_add_to_same_comdat_group): Remove.
(cgraph_add_asm_node): Remove.
(cgraph_used_from_object_file_p, varpool_used_from_object_file_p):
Remove.
(cgraph_finalize_compilation_unit): Rename to ...
(finalize_compilation_unit): ... this one.
(cgraph_optimize): Rename to ....
(compile): ... this one.
(add_asm_node): Declare.
(fixup_same_cpp_alias_visibility): Declare.
(cgraph_make_decl_local): Remove.
(varpool_assemble_pending_decls): Rename to ...
(varpool_output_variables): ... this one.
(varpool_remove_unreferenced_decls): Remove.
* ipa-inline-transform.c (clone_inlined_nodes): Dissolve comdat groups.
(preserve_function_body_p): Make static.
* toplev.c (compile_file): Update comments;
update.
* cgraphunit.c: Update comments.
(cgraph_expand_all_functions): Rename to ...
(expand_all_functions): ... this one; update.
(cgraph_mark_functions_to_output): Rename to ...
(mark_functions_to_output): ... this one; cleanup.
(cgraph_output_pending_asms): Remove prototype.
(asm_nodes, asm_last_node): New static vars.
(cgraph_process_new_functions): Update.
(cgraph_reset_node): Cleanup; add comment.
(cgraph_add_new_function): Update.
(cgraph_output_pending_asms): Rename to ...
(output_asm_statements): ... this one.
(add_asm_node): New function.
(fixup_same_cpp_alias_visibility): New function based on code
in cgraph_analyze_function.
(cgraph_analyze_function): Use it.
(cgraph_order_sort): Update.
(cgraph_output_in_order): Update.
(cgraph_function_versioning): Update.
(cgraph_optimize): Rename to ...
(compile): ... this one; initialize streamer hooks here.
(cgraph_finalize_compilation_unit): Rename to ...
(finalize_compilation_unit): ... this one; do not initialize streamer
hook here.
* lto-streamer-out.c (lto_output_toplevel_asms): Update.
* dwarf2out.c: Update ocmment.
* optimize.c (maybe_clone_body): Use symtab_add_to_same_comdat_group.
* method.c (use_thunk): Likewise.
* semantics.c (maybe_add_lambda_conv_op): Likewise.
* decl2.c (maybe_emit_vtables): Likewise.
(cp_write_global_declarations): Use finalize_compilation_unit.
* parser.c (cp_parser_asm_definition): Use add_asm_node.
* lto-streamer-in.c (lto_input_toplevel_asms): Use add_asm_node
* c-decl.c (c_write_global_declarations): Use finalize_compilation_unit.
* langhooks.c (write_global_declarations): Update.
* ipa.c (cgraph_externally_visible_p): Update.
(dissolve_same_comdat_group_list): Remove.
(function_and_variable_visibility): Update.
* symtab.c: Inlcude lto-streamer.h and rtl.h
(ld_plugin_symbol_resolution_names): New.
(symtab_add_to_same_comdat_group): New.
(symtab_dissolve_same_comdat_group_list): New.
(resolution_used_from_other_file_p): Move here from cgraph.c
(symtab_used_from_object_file_p): New.
(symtab_make_decl_local): New.
* passes.c (register_pass): Update comments.
* c-parser.c (c_parser_asm_definition): Update.
* varpool.c (varpool_analyze_node): Use fixup_same_cpp_alias_visibility.
(varpool_remove_unreferenced_decls): Make static.
(varpool_assemble_pending_decls): Rename to ...
(varpool_output_variables): ... this one; call
varpool_remove_unreferenced_decls.
(varpool_used_from_object_file_p): Remove.
* gogo-tree.cc (Gogo::write_globals): Use finalize_compilation_unit.
* gcc-interface/utils.c (rest_of_subprog_body_compilation): Update
comment.
(gnat_write_global_declarations): Use finalize_compilation_unit.
* f95-lang.c (gfc_finish): Update comments.
* lto.c (lto_main): Use compile ().
* lto-partition.c (partition_cgraph_node_p): Use symtab_used_from_object_file_p.
(partition_varpool_node_p): Likewise.
From-SVN: r186998
|
|
Fixes issue 7.
From-SVN: r186929
|
|
Fixes issue 8 in gofrontend issues list.
From-SVN: r186926
|
|
From-SVN: r186772
|
|
From-SVN: r186766
|
|
From-SVN: r186739
|
|
* go-lang.c (go_langhook_init): Set MPFR precision to 256.
time: Adjust float expression so that it first integer context.
From-SVN: r186727
|
|
From-SVN: r186722
|
|
From-SVN: r186644
|
|
* lang.opt: Add -fgo-check-divide-zero and
-fgo-check-divide-overflow.
* gccgo.texi (Invoking gccgo): Document new options.
From-SVN: r186637
|
|
gcc/
* targhooks.c (default_case_values_threshold): Fix code style nit.
* stmt.c (add_case_node, expand_case): Move logic to remove/reduce
case range and type folding from here...
* gimplify.c (gimplify_switch_expr): ... to here. Expect NULL_TREE
type, as documented in tree.def
fortran/
* trans-decl.c (gfc_trans_entry_master_switch): Build SWITCH_EXPR
with NULL_TREE type instead of void_type_node.
* trans-io.c (io_result): Likewise.
* trans-stmt.c (gfc_trans_integer_select,
gfc_trans_character_select): Likewise.
go/
* go-gcc.cc (Gcc_backend::switch_statement): Build SWITCH_EXPR
with NULL_TREE type instead of void_type_node.
From-SVN: r186579
|
|
Fixes compilation of incorrect code:
const f, g = g, f
func S() []byte { return []byte(f) }
The problem was already handled for numerical constants.
Part of issue 3186 (go).
From-SVN: r186511
|
|
From-SVN: r185990
|
|
From-SVN: r185946
|
|
This patch fixes an ICE caused by syntax errors in arguments
to unary built-in functions like len().
Updates issue 7.
From Rémy Oudompheng.
From-SVN: r185935
|
|
Updates issue 7.
From-SVN: r185933
|
|
Used to trigger an ICE on
var v struct{I}; type I interface{}
Updates issue 7.
From-SVN: r185931
|
|
The compiler would crash on:
if true || x, y := 1, 2 {}
and
var s string
s = append(s, "hello")
Reported in issue 3186.
From-SVN: r185928
|
|
Fixes various bugs when, e.g., using float or complex
constants in integer contexts.
From-SVN: r185925
|
|
* go-gcc.cc (Gcc_backend::assignment_statement): Convert the rhs
to the lhs type if necessary.
From-SVN: r185128
|
|
From-SVN: r185127
|
|
* go-gcc.cc (Gcc_backend::init_statement): Don't initialize a
zero-sized variable.
(go_non_zero_struct): New global variable.
(Gcc_backend::non_zero_size_type): New function.
(Gcc_backend::global_variable): Don't build an assignment for a
zero-sized value.
* go-c.h (go_non_zero_struct): Declare.
* config-lang.in (gtfiles): Add go-c.h.
From-SVN: r185115
|
|
From-SVN: r185092
|
|
From-SVN: r185080
|
|
From-SVN: r185060
|
|
From-SVN: r184798
|
|
From-SVN: r184755
|
|
Also fix a couple of crashes on invalid code.
From-SVN: r184751
|
|
From-SVN: r184686
|
|
* go-gcc.cc (class Gcc_tree): Add set_tree method.
(set_placeholder_pointer_type): When setting to a pointer to
error, set to error_mark_node.
From-SVN: r184684
|
|
From-SVN: r184681
|
|
From-SVN: r184675
|
|
From-SVN: r184674
|
|
2012-02-23 Richard Guenther <rguenther@suse.de>
* go-gcc.cc (Gcc_backend::placeholder_pointer_type): Use
build_distinct_type_copy.
From-SVN: r184507
|
|
From-SVN: r184363
|
|
From-SVN: r184356
|
|
From-SVN: r184355
|
|
* Make-lang.in (go/import.o): Add dependency on $(GO_LEX_H).
From-SVN: r184353
|
|
From-SVN: r184352
|
|
* gospec.c (lang_specific_driver): If linking, and no -o option
was used, add one.
From-SVN: r184351
|
|
From-SVN: r184348
|
|
From-SVN: r184347
|