2011-11-04 Tom de Vries <tom@codesourcery.com>
[official-gcc.git] / gcc / go / ChangeLog
blob2eaf210c94fc70e873214d2b945a55c92ddf3add
1 2011-11-02  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3         * Make-lang.in (gospec.o): Pass SHLIB instead of SHLIB_LINK.
5 2011-08-24  Roberto Lublinerman  <rluble@gmail.com>
7         * lang.opt: Add fgo-optimize-.
8         * go-lang.c (go_langhook_handle_option): Handle OPT_fgo_optimize.
9         * go-c.h (go_enable_optimize): Declare.
10         * Make-lang.in (GO_OBJS): Add go/go-optimize.o.
11         (GO_EXPORT_H): Define.
12         (GO_IMPORT_H): Add $(GO_EXPORT_H).
13         (GO_AST_DUMP_H): Define.
14         (go/ast-dump.o, go/statements.o): Use GO_AST_DUMP_H.
15         (go/export.o, go/gogo.o, go/import.o): Use GO_EXPORT_H.
16         (go/types.o): Likewise.
17         (go/expressions.o): Use GO_AST_DUMP_H and GO_EXPORT_H.
18         (go/go-optimize.o): New target.
20 2011-08-24  Joseph Myers  <joseph@codesourcery.com>
22         * Make-lang.in (CFLAGS-go/go-lang.o): New.
23         (go/go-lang.o): Remove explicit compilation rule.
25 2011-08-08  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
27         * Make-lang.in (gccgo$(exeext)): Add $(EXTRA_GCC_LIBS).
29 2011-08-02  Roberto Lublinerman  <rluble@gmail.com>
31         * Make-lang.in (GO_OBJS): Add go/ast-dump.o.
32         (go/ast-dump.o): New target.
33         (go/expressions.o): Depend on go/gofrontend/ast-dump.h.
34         (go/statements.o): Likewise.
36 2011-07-06  Richard Guenther  <rguenther@suse.de>
38         * go-lang.c (go_langhook_init):
39         Merge calls to build_common_tree_nodes and build_common_tree_nodes_2.
41 2011-06-14  Joseph Myers  <joseph@codesourcery.com>
43         * Make-lang.in (go/go-lang.o, go/go-backend.o): Update
44         dependencies.
45         * go-backend.c: Include common/common-target.h.
46         (go_write_export_data): Use targetm_common.have_named_sections.
47         * go-lang.c: Include common/common-target.h.
48         (go_langhook_init_options_struct): Use
49         targetm_common.supports_split_stack.
51 2011-06-13  Ian Lance Taylor  <iant@google.com>
53         * Make-lang.in (go/expressions.o): Depend on $(GO_RUNTIME_H).
55 2011-06-10  Ian Lance Taylor  <iant@google.com>
57         * go-gcc.cc: Include "toplev.h".
58         (Gcc_backend::immutable_struct): New function.
59         (Gcc_backend::immutable_struct_set_init): New function.
60         (Gcc_backend::immutable_struct_reference): New function.
61         * Make-lang.in (go/go-gcc.o): Depend on toplev.h.
63 2011-06-09  Ian Lance Taylor  <iant@google.com>
65         * go-gcc.cc (Gcc_backend::zero_expression): New function.
67 2011-06-07  Richard Guenther  <rguenther@suse.de>
69         * go-lang.c (go_langhook_init): Do not set
70         size_type_node or call set_sizetype.
72 2011-05-27  Ian Lance Taylor  <iant@google.com>
74         * go-backend.c: Include "output.h".
75         (go_write_export_data): New function.
76         * go-c.h (go_write_export_data): Declare.
77         * Make-lang.in (go/go-backend.o): Depend on output.h.
78         (go/export.o): Depend on $(GO_C_H).  Do not depend on
79         $(MACHMODE_H), output.h, or $(TARGET_H).
81 2011-05-24  Joseph Myers  <joseph@codesourcery.com>
83         * Make-lang.in (GCCGO_OBJS): Remove prefix.o.
84         (gccgo$(exeext)): Use libcommon-target.a.
86 2011-05-20  Joseph Myers  <joseph@codesourcery.com>
88         * Make-lang.in (GCCGO_OBJS): Remove intl.o and version.o.
90 2011-05-13  Ian Lance Taylor  <iant@google.com>
92         * go-gcc.cc (Gcc_backend::function_type): When building a struct
93         for multiple results, check that all fields types have a size.
94         (Gcc_backend::placeholder_pointer_type): Permit name to be empty.
96 2011-05-12  Ian Lance Taylor  <iant@google.com>
98         * go-gcc.cc (Gcc_backend::local_variable): Add is_address_taken
99         parameter.
100         (Gcc_backend::parameter_variable): Likewise.
102 2011-05-07  Eric Botcazou  <ebotcazou@adacore.com>
104         * go-lang.c (global_bindings_p): Return bool and simplify.
106 2011-05-05  Nathan Froyd  <froydnj@codesourcery.com>
108         * go-gcc.cc (Gcc_backend::switch_statement): Call build_case_label.
110 2011-05-04  Ian Lance Taylor  <iant@google.com>
112         * go-gcc.cc (Gcc_backend::struct_type): Call fill_in_struct.
113         (Gcc_backend::fill_in_struct): New function.
114         (Gcc_backend::array_type): Implement.
115         (Gcc_backend::fill_in_array): New function.
116         (Gcc_backend::placeholder_pointer_type): New function.
117         (Gcc_backend::set_placeholder_pointer_type): New function.
118         (Gcc_backend::set_placeholder_function_type): New function.
119         (Gcc_backend::placeholder_struct_type): New function.
120         (Gcc_backend::set_placeholder_struct_type): New function.
121         (Gcc_backend::placeholder_array_type): New function.
122         (Gcc_backend::set_placeholder_array_type): New function.
123         (Gcc_backend::named_type): New function.
124         (Gcc_backend::circular_pointer_type): New function.
125         (Gcc_backend::is_circular_pointer_type): New function.
127 2011-04-26  Ian Lance Taylor  <iant@google.com>
129         * go-gcc.cc (Gcc_backend::struct_type): Implement.
131 2011-04-25  Ian Lance Taylor  <iant@google.com>
133         * go-gcc.cc (Gcc_backend::error_type): Implement.
134         (Gcc_backend::string_type): Remove.
135         (Gcc_backend::function_type): Change signature and implement.
136         (Gcc_backend::struct_type): Change signature.
137         (Gcc_backend::slice_type, Gcc_backend::map_type): Remove.
138         (Gcc_backend::channel_type, Gcc_backend::interface_type): Remove.
139         (Gcc_backend::pointer_type): Check for error.
140         * Make-lang.in (go/types.o): Depend on go/gofrontend/backend.h.
142 2011-04-25  Evan Shaw  <edsrzf@gmail.com>
144         * go-gcc.c (class Gcc_tree): Make get_tree const.
145         (Gcc_backend::void_type): Implement.
146         (Gcc_backend::bool_type): Implement.
147         (Gcc_backend::integer_type): Implement.
148         (Gcc_backend::float_type): Implement.
149         (Gcc_backend::complex_type): New function.
150         (Gcc_backend::pointer_type): New function.
151         (Gcc_backend::make_type): New function.
152         (type_to_tree): New function.
154 2011-04-21  Ian Lance Taylor  <iant@google.com>
156         * go-system.h (go_assert, go_unreachable): Define.
158 2011-04-19  Ian Lance Taylor  <iant@google.com>
160         * go-system.h: Include "intl.h".
161         * Make-lang.in (GO_SYSTEM_H): Add intl.h.
162         (go/statements.o): Remove dependencies on intl.h $(TREE_H)
163         $(GIMPLE_H) convert.h tree-iterator.h $(TREE_FLOW_H) $(REAL_H).
165 2011-04-19  Ian Lance Taylor  <iant@google.com>
167         * go-gcc.cc (Gcc_backend::temporary_variable): New function.
169 2011-04-19  Ian Lance Taylor  <iant@google.com>
171         * go-gcc.cc (class Bblock): Define.
172         (Gcc_backend::if_statement): Change then_block and else_block to
173         Bblock*.
174         (Gcc_backend::block): New function.
175         (Gcc_backend::block_add_statements): New function.
176         (Gcc_backend::block_statement): New function.
177         (tree_to_block, block_to_tree): New functions.
179 2011-04-18  Ian Lance Taylor  <iant@google.com>
181         * go-gcc.cc: Include "go-c.h".
182         (class Bvariable): Define.
183         (Gcc_backend::init_statement): New function.
184         (Gcc_backend::global_variable): New function.
185         (Gcc_backend::global_variable_set_init): New function.
186         (Gcc_backend::local_variable): New function.
187         (Gcc_backend::parameter_variable): New function.
188         (tree_to_type, var_to_tree): New functions.
189         * Make-lang.in (go/go-gcc.o): Depend on $(GO_C_H).
190         * (go/gogo-tree.o): Depend on go/gofrontend/backend.h.
192 2011-04-15  Ian Lance Taylor  <iant@google.com>
194         * go-gcc.cc (Gcc_backend::compound_statement): New function.
195         (Gcc_backend::assignment_statement): Use error_statement.
196         (Gcc_backend::return_statement): Likewise.
197         (Gcc_backend::if_statement): Likewise.
198         (Gcc_backend::switch_statement): Likewise.
199         (Gcc_backend::statement_list): Likewise.
201 2011-04-14  Ian Lance Taylor  <iant@google.com>
203         * go-gcc.cc (Backend::error_statement): New function.
205 2011-04-13  Ian Lance Taylor  <iant@google.com>
207         * Make-lang.in (go/gogo-tree.o): depend on $(GO_RUNTIME_H).
209 2011-04-13  Ian Lance Taylor  <iant@google.com>
211         * Make-lang.in (GO_OBJS): Add go/runtime.o.
212         (GO_RUNTIME_H): New variable.
213         (go/runtime.o): New target.
214         (go/gogo.o): Depend on $(GO_RUNTIME_H).
215         (go/statements.o): Likewise.
217 2011-04-12  Nathan Froyd  <froydnj@codesourcery.com>
219         * go-lang.c (union lang_tree_node): Check for TS_COMMON before
220         calling TREE_CHAIN.
222 2011-04-06  Ian Lance Taylor  <iant@google.com>
224         * go-gcc.cc (if_statement): Use build3_loc.
225         (Gcc_backend::switch_statement): New function.
226         (Gcc_backend::statement_list): New function.
228 2011-04-06  Ian Lance Taylor  <iant@google.com>
230         * go-gcc.cc (Gcc_backend::if_statement): New function.
231         (tree_to_stat): New function.
232         (expr_to_tree): Renamed from expression_to_tree.
233         (stat_to_tree): Renamed from statement_to_tree.
235 2011-04-06  Ian Lance Taylor  <iant@google.com>
237         * go-gcc.cc (Gcc_backend::expression_statement): New function.
239 2011-04-04  Ian Lance Taylor  <iant@google.com>
241         * go-gcc.c (class Blabel): Define.
242         (Gcc_backend::make_expression): New function.
243         (get_identifier_from_string): New function.
244         (Gcc_backend::label): New function.
245         (Gcc_backend::label_definition_statement): New function.
246         (Gcc_backend::goto_statement): New function.
247         (Gcc_backend::label_address): New function.
248         (expression_to_tree): New function.
249         * Make-lang.in (go/expressions.o): Depend on
250         go/gofrontend/backend.h.
251         (go/gogo.o): Likewise.
253 2011-04-04  Ian Lance Taylor  <iant@google.com>
255         * go-gcc.cc: #include "tree-iterator.h", "gimple.h", and "gogo.h".
256         (class Bfunction): Define.
257         (Gcc_backend::assignment_statement): Rename from assignment.
258         Check for errors.
259         (Gcc_backend::return_statement): New function.
260         (tree_to_function): New function.
261         * Make-lang.in (go/go-gcc.o): Depend on tree-iterator.h,
262         $(GIMPLE_H), and $(GO_GOGO_H).
264 2011-04-03  Ian Lance Taylor  <iant@google.com>
266         * go-gcc.cc: New file.
267         * Make-lang.in (GO_OBJS): Add go/go-gcc.o.
268         (go/go-gcc.o): New target.
269         (go/go.o): Depend on go/gofrontend/backend.h.
270         (go/statements.o): Likewise.
272 2011-02-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
274         * gccgo.texi (Top, Import and Export): Fix a typo and a markup nit.
276 2011-02-08  Ian Lance Taylor  <iant@google.com>
278         * go-lang.c (go_langhook_init_options_struct): Set
279         frontend_set_flag_errno_math.  Don't set x_flag_trapping_math.
281 2011-01-31  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
283         * gospec.c (lang_specific_driver) [HAVE_LD_STATIC_DYNAMIC] Use
284         LD_STATIC_OPTION, LD_DYNAMIC_OPTION.
286 2011-01-21  Ian Lance Taylor  <iant@google.com>
288         * go-lang.c (go_langhook_init): Omit float_type_size when calling
289         go_create_gogo.
290         * go-c.h: Update declaration of go_create_gogo.
292 2011-01-13  Ian Lance Taylor  <iant@google.com>
294         * go-backend.c: Include "rtl.h" and "target.h".
295         (go_imported_unsafe): New function.
296         * go-c.h (go_imported_unsafe): Declare.
297         * Make-lang.in (go/go-backend.o): Depend on $(RTL_H).
298         (go/gogo-tree.o): Remove dependency on $(RTL_H).
299         (go/unsafe.o): Depend on $(GO_C_H).
301 2010-12-31  Joern Rennecke  <amylaar@spamcop.net>
303         PR go/47113
304         * go-backend.c: (go_field_alignment): Add ATTRIBUTE_UNUSED to
305         variable ‘field’ .
307 2010-12-21  Ian Lance Taylor  <iant@google.com>
309         * Make-lang.in (check-go): Remove.
310         (lang_checks_parallelized): Add check-go.
311         (check_go_parallelize): Set.
313 2010-12-13  Ian Lance Taylor  <iant@google.com>
315         * gospec.c (lang_specific_driver): Add a -o option if not linking
316         and there is no -o option already.
318 2010-12-07  Ian Lance Taylor  <iant@google.com>
320         PR tree-optimization/46805
321         PR tree-optimization/46833
322         * go-lang.c (go_langhook_type_for_mode): Handle vector modes.
324 2010-12-06  Ian Lance Taylor  <iant@google.com>
326         PR other/46789
327         PR bootstrap/46812
328         * go-lang.c (go_char_p): Define type and vectors.
329         (go_search_dirs): New static variable.
330         (go_langhook_handle_option): Use version and version/machine
331         directories for -L.
332         (go_langhook_post_options): Add non-specific -L paths.
333         * Make-lang.in (go/go-lang.o): Define DEFAULT_TARGET_VERSION and
334         DEFAULT_TARGET_MACHINE when compiling.
335         * gccgo.texi (Invoking gccgo): Only document -L for linking.
336         (Import and Export): Don't mention -L for finding import files.
338 2010-12-03  Ian Lance Taylor  <iant@google.com>
340         PR bootstrap/46776
341         * go-backend.c: New file.
342         * go-c.h (go_type_alignment): Declare.
343         (go_field_alignment, go_trampoline_info): Declare.
344         * Make-lang.in (GO_OBJS): Add go/go-backend.o.
345         (go/go-backend.o): New target.
346         (go/go-lang.o): Make dependencies match source file.
347         (go/expressions.o): Don't depend on $(TM_H) $(TM_P_H).
348         (go/gogo-tree.o): Don't depend on $(TM_H).
350 2010-12-03  Ian Lance Taylor  <iant@google.com>
352         * config-lang.in (build_by_default): Set to no.
354 2010-12-02  Ian Lance Taylor  <iant@google.com>
356         Go frontend added to gcc repository.