1 2012-06-14 Release Manager
5 2012-05-09 Ian Lance Taylor <iant@google.com>
7 * lang.opt: Add -fgo-pkgpath.
8 * go-lang.c (go_pkgpath): New static variable.
9 (go_prefix): New static variable.
10 (go_langhook_init): Pass go_pkgpath and go_prefix to
12 (go_langhook_handle_option): Handle -fgo-pkgpath. Change
13 -fgo-prefix handling to just set go_prefix.
14 * go-c.h (go_set_prefix): Don't declare.
15 (go_create_gogo): Add pkgpath and prefix to declaration.
16 * go-gcc.cc (Gcc_backend::global_variable): Change unique_prefix
17 to pkgpath. Don't include the package name in the asm name.
18 * gccgo.texi (Invoking gccgo): Document -fgo-pkgpath. Update the
21 2012-04-23 Ian Lance Taylor <iant@google.com>
23 * go-lang.c (go_langhook_init): Set MPFR precision to 256.
25 2012-04-20 Ian Lance Taylor <iant@google.com>
27 * lang.opt: Add -fgo-check-divide-zero and
28 -fgo-check-divide-overflow.
29 * gccgo.texi (Invoking gccgo): Document new options.
31 2012-03-22 Release Manager
35 2012-03-09 Ian Lance Taylor <iant@google.com>
37 * go-gcc.cc (Gcc_backend::assignment_statement): Convert the rhs
38 to the lhs type if necessary.
40 2012-03-08 Ian Lance Taylor <iant@google.com>
42 * go-gcc.cc (Gcc_backend::init_statement): Don't initialize a
44 (go_non_zero_struct): New global variable.
45 (Gcc_backend::non_zero_size_type): New function.
46 (Gcc_backend::global_variable): Don't build an assignment for a
48 * go-c.h (go_non_zero_struct): Declare.
49 * config-lang.in (gtfiles): Add go-c.h.
51 2012-02-29 Ian Lance Taylor <iant@google.com>
53 * go-gcc.cc (class Gcc_tree): Add set_tree method.
54 (set_placeholder_pointer_type): When setting to a pointer to
55 error, set to error_mark_node.
57 2012-02-23 Richard Guenther <rguenther@suse.de>
59 * go-gcc.cc (Gcc_backend::placeholder_pointer_type): Use
60 build_distinct_type_copy.
62 2012-02-17 Ian Lance Taylor <iant@google.com>
64 * Make-lang.in (go/import.o): Add dependency on $(GO_LEX_H).
66 2012-02-17 Ian Lance Taylor <iant@google.com>
68 * gospec.c (lang_specific_driver): If linking, and no -o option
71 2012-02-14 Ian Lance Taylor <iant@google.com>
74 * Make-lang.in (gccgo-cross$(exeext)): New target.
75 (go.all.cross): Depend on gccgo-cross$(exeext) instead of
77 (go.install-common): Only install GCCGO_TARGET_INSTALL_NAME if
78 gccgo-cross$(exeext) does not exist.
80 2012-02-07 Ian Lance Taylor <iant@google.com>
82 * gccgo.texi (Function Names): Document //extern instead of
85 2012-02-01 Jakub Jelinek <jakub@redhat.com>
88 * go-lang.c (go_langhook_type_for_mode): For TImode and 64-bit HWI
89 return build_nonstandard_integer_type result if possible.
91 2012-01-21 Ian Lance Taylor <iant@google.com>
93 * go-gcc.cc (Gcc_backend::type_size): Check for error_mark_node.
94 (Gcc_backend::type_alignment): Likewise.
95 (Gcc_backend::type_field_alignment): Likewise.
96 (Gcc_backend::type_field_offset): Likewise.
98 2012-01-20 Ian Lance Taylor <iant@google.com>
100 * go-gcc.cc (Gcc_backend::placeholder_struct_type): Permit name to
102 (Gcc_backend::set_placeholder_struct_type): Likewise.
104 2012-01-17 Ian Lance Taylor <iant@google.com>
106 * gospec.c (lang_specific_driver): If we see -S without -o, add -o
107 BASE.s rather than -o BASE.o.
109 2012-01-11 Ian Lance Taylor <iant@google.com>
111 * go-lang.c (go_langhook_init): Initialize void_list_node before
112 calling go_create_gogo.
114 2012-01-10 Ian Lance Taylor <iant@google.com>
116 * go-gcc.cc (Gcc_backend::type_size): New function.
117 (Gcc_backend::type_alignment): New function.
118 (Gcc_backend::type_field_alignment): New function.
119 (Gcc_backend::type_field_offset): New function.
120 * go-backend.c (go_type_alignment): Remove.
121 * go-c.h (go_type_alignment): Don't declare.
123 2011-12-27 Ian Lance Taylor <iant@google.com>
125 * go-gcc.cc (Gcc_backend::set_placeholder_struct_type): Use
126 build_distinct_type_copy rather than build_variant_type_copy.
127 (Gcc_backend::set_placeholder_array_type): Likewise.
128 (Gcc_backend::named_type): Add special handling for builtin
131 2011-12-22 Ian Lance Taylor <iant@google.com>
133 * go-gcc.cc (Gcc_backend::set_placeholder_pointer_type): Arrange
134 for the type name to have a DECL_ORIGINAL_TYPE as gcc expects.
135 (Gcc_backend::set_placeholder_struct_type): Likewise.
136 (Gcc_backend::set_placeholder_array_type): Likewise.
137 (Gcc_backend::named_type): Set DECL_ORIGINAL_TYPE.
139 2011-12-13 Ian Lance Taylor <iant@google.com>
141 * go-backend.c: #include "simple-object.h" and "intl.h".
142 (GO_EXPORT_SEGMENT_NAME): Define if not defined.
143 (GO_EXPORT_SECTION_NAME): Likewise.
144 (go_write_export_data): Use GO_EXPORT_SECTION_NAME.
145 (go_read_export_data): New function.
146 * go-c.h (go_read_export_data): Declare.
148 2011-11-29 Sanjoy Das <thedigitalangel@gmail.com>
149 Ian Lance Taylor <iant@google.com>
151 * go-location.h: New file.
152 * go-linemap.cc: New file.
153 * go-gcc.cc: Change all uses of source_location to Location.
154 * Make-lang.in (GO_OBJS): Add go/go-linemap.o.
155 (GO_LINEMAP_H): New variable.
156 (GO_LEX_H): Use $(GO_LINEMAP_H).
157 (GO_GOGO_H, GO_TYPES_H, GO_IMPORT_H): Likewise.
158 (go/go-linemap.o): New target.
160 2011-11-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
162 * Make-lang.in (gospec.o): Pass SHLIB instead of SHLIB_LINK.
164 2011-08-24 Roberto Lublinerman <rluble@gmail.com>
166 * lang.opt: Add fgo-optimize-.
167 * go-lang.c (go_langhook_handle_option): Handle OPT_fgo_optimize.
168 * go-c.h (go_enable_optimize): Declare.
169 * Make-lang.in (GO_OBJS): Add go/go-optimize.o.
170 (GO_EXPORT_H): Define.
171 (GO_IMPORT_H): Add $(GO_EXPORT_H).
172 (GO_AST_DUMP_H): Define.
173 (go/ast-dump.o, go/statements.o): Use GO_AST_DUMP_H.
174 (go/export.o, go/gogo.o, go/import.o): Use GO_EXPORT_H.
175 (go/types.o): Likewise.
176 (go/expressions.o): Use GO_AST_DUMP_H and GO_EXPORT_H.
177 (go/go-optimize.o): New target.
179 2011-08-24 Joseph Myers <joseph@codesourcery.com>
181 * Make-lang.in (CFLAGS-go/go-lang.o): New.
182 (go/go-lang.o): Remove explicit compilation rule.
184 2011-08-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
186 * Make-lang.in (gccgo$(exeext)): Add $(EXTRA_GCC_LIBS).
188 2011-08-02 Roberto Lublinerman <rluble@gmail.com>
190 * Make-lang.in (GO_OBJS): Add go/ast-dump.o.
191 (go/ast-dump.o): New target.
192 (go/expressions.o): Depend on go/gofrontend/ast-dump.h.
193 (go/statements.o): Likewise.
195 2011-07-06 Richard Guenther <rguenther@suse.de>
197 * go-lang.c (go_langhook_init):
198 Merge calls to build_common_tree_nodes and build_common_tree_nodes_2.
200 2011-06-14 Joseph Myers <joseph@codesourcery.com>
202 * Make-lang.in (go/go-lang.o, go/go-backend.o): Update
204 * go-backend.c: Include common/common-target.h.
205 (go_write_export_data): Use targetm_common.have_named_sections.
206 * go-lang.c: Include common/common-target.h.
207 (go_langhook_init_options_struct): Use
208 targetm_common.supports_split_stack.
210 2011-06-13 Ian Lance Taylor <iant@google.com>
212 * Make-lang.in (go/expressions.o): Depend on $(GO_RUNTIME_H).
214 2011-06-10 Ian Lance Taylor <iant@google.com>
216 * go-gcc.cc: Include "toplev.h".
217 (Gcc_backend::immutable_struct): New function.
218 (Gcc_backend::immutable_struct_set_init): New function.
219 (Gcc_backend::immutable_struct_reference): New function.
220 * Make-lang.in (go/go-gcc.o): Depend on toplev.h.
222 2011-06-09 Ian Lance Taylor <iant@google.com>
224 * go-gcc.cc (Gcc_backend::zero_expression): New function.
226 2011-06-07 Richard Guenther <rguenther@suse.de>
228 * go-lang.c (go_langhook_init): Do not set
229 size_type_node or call set_sizetype.
231 2011-05-27 Ian Lance Taylor <iant@google.com>
233 * go-backend.c: Include "output.h".
234 (go_write_export_data): New function.
235 * go-c.h (go_write_export_data): Declare.
236 * Make-lang.in (go/go-backend.o): Depend on output.h.
237 (go/export.o): Depend on $(GO_C_H). Do not depend on
238 $(MACHMODE_H), output.h, or $(TARGET_H).
240 2011-05-24 Joseph Myers <joseph@codesourcery.com>
242 * Make-lang.in (GCCGO_OBJS): Remove prefix.o.
243 (gccgo$(exeext)): Use libcommon-target.a.
245 2011-05-20 Joseph Myers <joseph@codesourcery.com>
247 * Make-lang.in (GCCGO_OBJS): Remove intl.o and version.o.
249 2011-05-13 Ian Lance Taylor <iant@google.com>
251 * go-gcc.cc (Gcc_backend::function_type): When building a struct
252 for multiple results, check that all fields types have a size.
253 (Gcc_backend::placeholder_pointer_type): Permit name to be empty.
255 2011-05-12 Ian Lance Taylor <iant@google.com>
257 * go-gcc.cc (Gcc_backend::local_variable): Add is_address_taken
259 (Gcc_backend::parameter_variable): Likewise.
261 2011-05-07 Eric Botcazou <ebotcazou@adacore.com>
263 * go-lang.c (global_bindings_p): Return bool and simplify.
265 2011-05-05 Nathan Froyd <froydnj@codesourcery.com>
267 * go-gcc.cc (Gcc_backend::switch_statement): Call build_case_label.
269 2011-05-04 Ian Lance Taylor <iant@google.com>
271 * go-gcc.cc (Gcc_backend::struct_type): Call fill_in_struct.
272 (Gcc_backend::fill_in_struct): New function.
273 (Gcc_backend::array_type): Implement.
274 (Gcc_backend::fill_in_array): New function.
275 (Gcc_backend::placeholder_pointer_type): New function.
276 (Gcc_backend::set_placeholder_pointer_type): New function.
277 (Gcc_backend::set_placeholder_function_type): New function.
278 (Gcc_backend::placeholder_struct_type): New function.
279 (Gcc_backend::set_placeholder_struct_type): New function.
280 (Gcc_backend::placeholder_array_type): New function.
281 (Gcc_backend::set_placeholder_array_type): New function.
282 (Gcc_backend::named_type): New function.
283 (Gcc_backend::circular_pointer_type): New function.
284 (Gcc_backend::is_circular_pointer_type): New function.
286 2011-04-26 Ian Lance Taylor <iant@google.com>
288 * go-gcc.cc (Gcc_backend::struct_type): Implement.
290 2011-04-25 Ian Lance Taylor <iant@google.com>
292 * go-gcc.cc (Gcc_backend::error_type): Implement.
293 (Gcc_backend::string_type): Remove.
294 (Gcc_backend::function_type): Change signature and implement.
295 (Gcc_backend::struct_type): Change signature.
296 (Gcc_backend::slice_type, Gcc_backend::map_type): Remove.
297 (Gcc_backend::channel_type, Gcc_backend::interface_type): Remove.
298 (Gcc_backend::pointer_type): Check for error.
299 * Make-lang.in (go/types.o): Depend on go/gofrontend/backend.h.
301 2011-04-25 Evan Shaw <edsrzf@gmail.com>
303 * go-gcc.c (class Gcc_tree): Make get_tree const.
304 (Gcc_backend::void_type): Implement.
305 (Gcc_backend::bool_type): Implement.
306 (Gcc_backend::integer_type): Implement.
307 (Gcc_backend::float_type): Implement.
308 (Gcc_backend::complex_type): New function.
309 (Gcc_backend::pointer_type): New function.
310 (Gcc_backend::make_type): New function.
311 (type_to_tree): New function.
313 2011-04-21 Ian Lance Taylor <iant@google.com>
315 * go-system.h (go_assert, go_unreachable): Define.
317 2011-04-19 Ian Lance Taylor <iant@google.com>
319 * go-system.h: Include "intl.h".
320 * Make-lang.in (GO_SYSTEM_H): Add intl.h.
321 (go/statements.o): Remove dependencies on intl.h $(TREE_H)
322 $(GIMPLE_H) convert.h tree-iterator.h $(TREE_FLOW_H) $(REAL_H).
324 2011-04-19 Ian Lance Taylor <iant@google.com>
326 * go-gcc.cc (Gcc_backend::temporary_variable): New function.
328 2011-04-19 Ian Lance Taylor <iant@google.com>
330 * go-gcc.cc (class Bblock): Define.
331 (Gcc_backend::if_statement): Change then_block and else_block to
333 (Gcc_backend::block): New function.
334 (Gcc_backend::block_add_statements): New function.
335 (Gcc_backend::block_statement): New function.
336 (tree_to_block, block_to_tree): New functions.
338 2011-04-18 Ian Lance Taylor <iant@google.com>
340 * go-gcc.cc: Include "go-c.h".
341 (class Bvariable): Define.
342 (Gcc_backend::init_statement): New function.
343 (Gcc_backend::global_variable): New function.
344 (Gcc_backend::global_variable_set_init): New function.
345 (Gcc_backend::local_variable): New function.
346 (Gcc_backend::parameter_variable): New function.
347 (tree_to_type, var_to_tree): New functions.
348 * Make-lang.in (go/go-gcc.o): Depend on $(GO_C_H).
349 * (go/gogo-tree.o): Depend on go/gofrontend/backend.h.
351 2011-04-15 Ian Lance Taylor <iant@google.com>
353 * go-gcc.cc (Gcc_backend::compound_statement): New function.
354 (Gcc_backend::assignment_statement): Use error_statement.
355 (Gcc_backend::return_statement): Likewise.
356 (Gcc_backend::if_statement): Likewise.
357 (Gcc_backend::switch_statement): Likewise.
358 (Gcc_backend::statement_list): Likewise.
360 2011-04-14 Ian Lance Taylor <iant@google.com>
362 * go-gcc.cc (Backend::error_statement): New function.
364 2011-04-13 Ian Lance Taylor <iant@google.com>
366 * Make-lang.in (go/gogo-tree.o): depend on $(GO_RUNTIME_H).
368 2011-04-13 Ian Lance Taylor <iant@google.com>
370 * Make-lang.in (GO_OBJS): Add go/runtime.o.
371 (GO_RUNTIME_H): New variable.
372 (go/runtime.o): New target.
373 (go/gogo.o): Depend on $(GO_RUNTIME_H).
374 (go/statements.o): Likewise.
376 2011-04-12 Nathan Froyd <froydnj@codesourcery.com>
378 * go-lang.c (union lang_tree_node): Check for TS_COMMON before
381 2011-04-06 Ian Lance Taylor <iant@google.com>
383 * go-gcc.cc (if_statement): Use build3_loc.
384 (Gcc_backend::switch_statement): New function.
385 (Gcc_backend::statement_list): New function.
387 2011-04-06 Ian Lance Taylor <iant@google.com>
389 * go-gcc.cc (Gcc_backend::if_statement): New function.
390 (tree_to_stat): New function.
391 (expr_to_tree): Renamed from expression_to_tree.
392 (stat_to_tree): Renamed from statement_to_tree.
394 2011-04-06 Ian Lance Taylor <iant@google.com>
396 * go-gcc.cc (Gcc_backend::expression_statement): New function.
398 2011-04-04 Ian Lance Taylor <iant@google.com>
400 * go-gcc.c (class Blabel): Define.
401 (Gcc_backend::make_expression): New function.
402 (get_identifier_from_string): New function.
403 (Gcc_backend::label): New function.
404 (Gcc_backend::label_definition_statement): New function.
405 (Gcc_backend::goto_statement): New function.
406 (Gcc_backend::label_address): New function.
407 (expression_to_tree): New function.
408 * Make-lang.in (go/expressions.o): Depend on
409 go/gofrontend/backend.h.
410 (go/gogo.o): Likewise.
412 2011-04-04 Ian Lance Taylor <iant@google.com>
414 * go-gcc.cc: #include "tree-iterator.h", "gimple.h", and "gogo.h".
415 (class Bfunction): Define.
416 (Gcc_backend::assignment_statement): Rename from assignment.
418 (Gcc_backend::return_statement): New function.
419 (tree_to_function): New function.
420 * Make-lang.in (go/go-gcc.o): Depend on tree-iterator.h,
421 $(GIMPLE_H), and $(GO_GOGO_H).
423 2011-04-03 Ian Lance Taylor <iant@google.com>
425 * go-gcc.cc: New file.
426 * Make-lang.in (GO_OBJS): Add go/go-gcc.o.
427 (go/go-gcc.o): New target.
428 (go/go.o): Depend on go/gofrontend/backend.h.
429 (go/statements.o): Likewise.
431 2011-02-14 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
433 * gccgo.texi (Top, Import and Export): Fix a typo and a markup nit.
435 2011-02-08 Ian Lance Taylor <iant@google.com>
437 * go-lang.c (go_langhook_init_options_struct): Set
438 frontend_set_flag_errno_math. Don't set x_flag_trapping_math.
440 2011-01-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
442 * gospec.c (lang_specific_driver) [HAVE_LD_STATIC_DYNAMIC] Use
443 LD_STATIC_OPTION, LD_DYNAMIC_OPTION.
445 2011-01-21 Ian Lance Taylor <iant@google.com>
447 * go-lang.c (go_langhook_init): Omit float_type_size when calling
449 * go-c.h: Update declaration of go_create_gogo.
451 2011-01-13 Ian Lance Taylor <iant@google.com>
453 * go-backend.c: Include "rtl.h" and "target.h".
454 (go_imported_unsafe): New function.
455 * go-c.h (go_imported_unsafe): Declare.
456 * Make-lang.in (go/go-backend.o): Depend on $(RTL_H).
457 (go/gogo-tree.o): Remove dependency on $(RTL_H).
458 (go/unsafe.o): Depend on $(GO_C_H).
460 2010-12-31 Joern Rennecke <amylaar@spamcop.net>
463 * go-backend.c: (go_field_alignment): Add ATTRIBUTE_UNUSED to
466 2010-12-21 Ian Lance Taylor <iant@google.com>
468 * Make-lang.in (check-go): Remove.
469 (lang_checks_parallelized): Add check-go.
470 (check_go_parallelize): Set.
472 2010-12-13 Ian Lance Taylor <iant@google.com>
474 * gospec.c (lang_specific_driver): Add a -o option if not linking
475 and there is no -o option already.
477 2010-12-07 Ian Lance Taylor <iant@google.com>
479 PR tree-optimization/46805
480 PR tree-optimization/46833
481 * go-lang.c (go_langhook_type_for_mode): Handle vector modes.
483 2010-12-06 Ian Lance Taylor <iant@google.com>
487 * go-lang.c (go_char_p): Define type and vectors.
488 (go_search_dirs): New static variable.
489 (go_langhook_handle_option): Use version and version/machine
491 (go_langhook_post_options): Add non-specific -L paths.
492 * Make-lang.in (go/go-lang.o): Define DEFAULT_TARGET_VERSION and
493 DEFAULT_TARGET_MACHINE when compiling.
494 * gccgo.texi (Invoking gccgo): Only document -L for linking.
495 (Import and Export): Don't mention -L for finding import files.
497 2010-12-03 Ian Lance Taylor <iant@google.com>
500 * go-backend.c: New file.
501 * go-c.h (go_type_alignment): Declare.
502 (go_field_alignment, go_trampoline_info): Declare.
503 * Make-lang.in (GO_OBJS): Add go/go-backend.o.
504 (go/go-backend.o): New target.
505 (go/go-lang.o): Make dependencies match source file.
506 (go/expressions.o): Don't depend on $(TM_H) $(TM_P_H).
507 (go/gogo-tree.o): Don't depend on $(TM_H).
509 2010-12-03 Ian Lance Taylor <iant@google.com>
511 * config-lang.in (build_by_default): Set to no.
513 2010-12-02 Ian Lance Taylor <iant@google.com>
515 Go frontend added to gcc repository.