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