1 2012-02-01 Jakub Jelinek <jakub@redhat.com>
4 * go-lang.c (go_langhook_type_for_mode): For TImode and 64-bit HWI
5 return build_nonstandard_integer_type result if possible.
7 2012-01-21 Ian Lance Taylor <iant@google.com>
9 * go-gcc.cc (Gcc_backend::type_size): Check for error_mark_node.
10 (Gcc_backend::type_alignment): Likewise.
11 (Gcc_backend::type_field_alignment): Likewise.
12 (Gcc_backend::type_field_offset): Likewise.
14 2012-01-20 Ian Lance Taylor <iant@google.com>
16 * go-gcc.cc (Gcc_backend::placeholder_struct_type): Permit name to
18 (Gcc_backend::set_placeholder_struct_type): Likewise.
20 2012-01-17 Ian Lance Taylor <iant@google.com>
22 * gospec.c (lang_specific_driver): If we see -S without -o, add -o
23 BASE.s rather than -o BASE.o.
25 2012-01-11 Ian Lance Taylor <iant@google.com>
27 * go-lang.c (go_langhook_init): Initialize void_list_node before
28 calling go_create_gogo.
30 2012-01-10 Ian Lance Taylor <iant@google.com>
32 * go-gcc.cc (Gcc_backend::type_size): New function.
33 (Gcc_backend::type_alignment): New function.
34 (Gcc_backend::type_field_alignment): New function.
35 (Gcc_backend::type_field_offset): New function.
36 * go-backend.c (go_type_alignment): Remove.
37 * go-c.h (go_type_alignment): Don't declare.
39 2011-12-27 Ian Lance Taylor <iant@google.com>
41 * go-gcc.cc (Gcc_backend::set_placeholder_struct_type): Use
42 build_distinct_type_copy rather than build_variant_type_copy.
43 (Gcc_backend::set_placeholder_array_type): Likewise.
44 (Gcc_backend::named_type): Add special handling for builtin
47 2011-12-22 Ian Lance Taylor <iant@google.com>
49 * go-gcc.cc (Gcc_backend::set_placeholder_pointer_type): Arrange
50 for the type name to have a DECL_ORIGINAL_TYPE as gcc expects.
51 (Gcc_backend::set_placeholder_struct_type): Likewise.
52 (Gcc_backend::set_placeholder_array_type): Likewise.
53 (Gcc_backend::named_type): Set DECL_ORIGINAL_TYPE.
55 2011-12-13 Ian Lance Taylor <iant@google.com>
57 * go-backend.c: #include "simple-object.h" and "intl.h".
58 (GO_EXPORT_SEGMENT_NAME): Define if not defined.
59 (GO_EXPORT_SECTION_NAME): Likewise.
60 (go_write_export_data): Use GO_EXPORT_SECTION_NAME.
61 (go_read_export_data): New function.
62 * go-c.h (go_read_export_data): Declare.
64 2011-11-29 Sanjoy Das <thedigitalangel@gmail.com>
65 Ian Lance Taylor <iant@google.com>
67 * go-location.h: New file.
68 * go-linemap.cc: New file.
69 * go-gcc.cc: Change all uses of source_location to Location.
70 * Make-lang.in (GO_OBJS): Add go/go-linemap.o.
71 (GO_LINEMAP_H): New variable.
72 (GO_LEX_H): Use $(GO_LINEMAP_H).
73 (GO_GOGO_H, GO_TYPES_H, GO_IMPORT_H): Likewise.
74 (go/go-linemap.o): New target.
76 2011-11-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
78 * Make-lang.in (gospec.o): Pass SHLIB instead of SHLIB_LINK.
80 2011-08-24 Roberto Lublinerman <rluble@gmail.com>
82 * lang.opt: Add fgo-optimize-.
83 * go-lang.c (go_langhook_handle_option): Handle OPT_fgo_optimize.
84 * go-c.h (go_enable_optimize): Declare.
85 * Make-lang.in (GO_OBJS): Add go/go-optimize.o.
86 (GO_EXPORT_H): Define.
87 (GO_IMPORT_H): Add $(GO_EXPORT_H).
88 (GO_AST_DUMP_H): Define.
89 (go/ast-dump.o, go/statements.o): Use GO_AST_DUMP_H.
90 (go/export.o, go/gogo.o, go/import.o): Use GO_EXPORT_H.
91 (go/types.o): Likewise.
92 (go/expressions.o): Use GO_AST_DUMP_H and GO_EXPORT_H.
93 (go/go-optimize.o): New target.
95 2011-08-24 Joseph Myers <joseph@codesourcery.com>
97 * Make-lang.in (CFLAGS-go/go-lang.o): New.
98 (go/go-lang.o): Remove explicit compilation rule.
100 2011-08-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
102 * Make-lang.in (gccgo$(exeext)): Add $(EXTRA_GCC_LIBS).
104 2011-08-02 Roberto Lublinerman <rluble@gmail.com>
106 * Make-lang.in (GO_OBJS): Add go/ast-dump.o.
107 (go/ast-dump.o): New target.
108 (go/expressions.o): Depend on go/gofrontend/ast-dump.h.
109 (go/statements.o): Likewise.
111 2011-07-06 Richard Guenther <rguenther@suse.de>
113 * go-lang.c (go_langhook_init):
114 Merge calls to build_common_tree_nodes and build_common_tree_nodes_2.
116 2011-06-14 Joseph Myers <joseph@codesourcery.com>
118 * Make-lang.in (go/go-lang.o, go/go-backend.o): Update
120 * go-backend.c: Include common/common-target.h.
121 (go_write_export_data): Use targetm_common.have_named_sections.
122 * go-lang.c: Include common/common-target.h.
123 (go_langhook_init_options_struct): Use
124 targetm_common.supports_split_stack.
126 2011-06-13 Ian Lance Taylor <iant@google.com>
128 * Make-lang.in (go/expressions.o): Depend on $(GO_RUNTIME_H).
130 2011-06-10 Ian Lance Taylor <iant@google.com>
132 * go-gcc.cc: Include "toplev.h".
133 (Gcc_backend::immutable_struct): New function.
134 (Gcc_backend::immutable_struct_set_init): New function.
135 (Gcc_backend::immutable_struct_reference): New function.
136 * Make-lang.in (go/go-gcc.o): Depend on toplev.h.
138 2011-06-09 Ian Lance Taylor <iant@google.com>
140 * go-gcc.cc (Gcc_backend::zero_expression): New function.
142 2011-06-07 Richard Guenther <rguenther@suse.de>
144 * go-lang.c (go_langhook_init): Do not set
145 size_type_node or call set_sizetype.
147 2011-05-27 Ian Lance Taylor <iant@google.com>
149 * go-backend.c: Include "output.h".
150 (go_write_export_data): New function.
151 * go-c.h (go_write_export_data): Declare.
152 * Make-lang.in (go/go-backend.o): Depend on output.h.
153 (go/export.o): Depend on $(GO_C_H). Do not depend on
154 $(MACHMODE_H), output.h, or $(TARGET_H).
156 2011-05-24 Joseph Myers <joseph@codesourcery.com>
158 * Make-lang.in (GCCGO_OBJS): Remove prefix.o.
159 (gccgo$(exeext)): Use libcommon-target.a.
161 2011-05-20 Joseph Myers <joseph@codesourcery.com>
163 * Make-lang.in (GCCGO_OBJS): Remove intl.o and version.o.
165 2011-05-13 Ian Lance Taylor <iant@google.com>
167 * go-gcc.cc (Gcc_backend::function_type): When building a struct
168 for multiple results, check that all fields types have a size.
169 (Gcc_backend::placeholder_pointer_type): Permit name to be empty.
171 2011-05-12 Ian Lance Taylor <iant@google.com>
173 * go-gcc.cc (Gcc_backend::local_variable): Add is_address_taken
175 (Gcc_backend::parameter_variable): Likewise.
177 2011-05-07 Eric Botcazou <ebotcazou@adacore.com>
179 * go-lang.c (global_bindings_p): Return bool and simplify.
181 2011-05-05 Nathan Froyd <froydnj@codesourcery.com>
183 * go-gcc.cc (Gcc_backend::switch_statement): Call build_case_label.
185 2011-05-04 Ian Lance Taylor <iant@google.com>
187 * go-gcc.cc (Gcc_backend::struct_type): Call fill_in_struct.
188 (Gcc_backend::fill_in_struct): New function.
189 (Gcc_backend::array_type): Implement.
190 (Gcc_backend::fill_in_array): New function.
191 (Gcc_backend::placeholder_pointer_type): New function.
192 (Gcc_backend::set_placeholder_pointer_type): New function.
193 (Gcc_backend::set_placeholder_function_type): New function.
194 (Gcc_backend::placeholder_struct_type): New function.
195 (Gcc_backend::set_placeholder_struct_type): New function.
196 (Gcc_backend::placeholder_array_type): New function.
197 (Gcc_backend::set_placeholder_array_type): New function.
198 (Gcc_backend::named_type): New function.
199 (Gcc_backend::circular_pointer_type): New function.
200 (Gcc_backend::is_circular_pointer_type): New function.
202 2011-04-26 Ian Lance Taylor <iant@google.com>
204 * go-gcc.cc (Gcc_backend::struct_type): Implement.
206 2011-04-25 Ian Lance Taylor <iant@google.com>
208 * go-gcc.cc (Gcc_backend::error_type): Implement.
209 (Gcc_backend::string_type): Remove.
210 (Gcc_backend::function_type): Change signature and implement.
211 (Gcc_backend::struct_type): Change signature.
212 (Gcc_backend::slice_type, Gcc_backend::map_type): Remove.
213 (Gcc_backend::channel_type, Gcc_backend::interface_type): Remove.
214 (Gcc_backend::pointer_type): Check for error.
215 * Make-lang.in (go/types.o): Depend on go/gofrontend/backend.h.
217 2011-04-25 Evan Shaw <edsrzf@gmail.com>
219 * go-gcc.c (class Gcc_tree): Make get_tree const.
220 (Gcc_backend::void_type): Implement.
221 (Gcc_backend::bool_type): Implement.
222 (Gcc_backend::integer_type): Implement.
223 (Gcc_backend::float_type): Implement.
224 (Gcc_backend::complex_type): New function.
225 (Gcc_backend::pointer_type): New function.
226 (Gcc_backend::make_type): New function.
227 (type_to_tree): New function.
229 2011-04-21 Ian Lance Taylor <iant@google.com>
231 * go-system.h (go_assert, go_unreachable): Define.
233 2011-04-19 Ian Lance Taylor <iant@google.com>
235 * go-system.h: Include "intl.h".
236 * Make-lang.in (GO_SYSTEM_H): Add intl.h.
237 (go/statements.o): Remove dependencies on intl.h $(TREE_H)
238 $(GIMPLE_H) convert.h tree-iterator.h $(TREE_FLOW_H) $(REAL_H).
240 2011-04-19 Ian Lance Taylor <iant@google.com>
242 * go-gcc.cc (Gcc_backend::temporary_variable): New function.
244 2011-04-19 Ian Lance Taylor <iant@google.com>
246 * go-gcc.cc (class Bblock): Define.
247 (Gcc_backend::if_statement): Change then_block and else_block to
249 (Gcc_backend::block): New function.
250 (Gcc_backend::block_add_statements): New function.
251 (Gcc_backend::block_statement): New function.
252 (tree_to_block, block_to_tree): New functions.
254 2011-04-18 Ian Lance Taylor <iant@google.com>
256 * go-gcc.cc: Include "go-c.h".
257 (class Bvariable): Define.
258 (Gcc_backend::init_statement): New function.
259 (Gcc_backend::global_variable): New function.
260 (Gcc_backend::global_variable_set_init): New function.
261 (Gcc_backend::local_variable): New function.
262 (Gcc_backend::parameter_variable): New function.
263 (tree_to_type, var_to_tree): New functions.
264 * Make-lang.in (go/go-gcc.o): Depend on $(GO_C_H).
265 * (go/gogo-tree.o): Depend on go/gofrontend/backend.h.
267 2011-04-15 Ian Lance Taylor <iant@google.com>
269 * go-gcc.cc (Gcc_backend::compound_statement): New function.
270 (Gcc_backend::assignment_statement): Use error_statement.
271 (Gcc_backend::return_statement): Likewise.
272 (Gcc_backend::if_statement): Likewise.
273 (Gcc_backend::switch_statement): Likewise.
274 (Gcc_backend::statement_list): Likewise.
276 2011-04-14 Ian Lance Taylor <iant@google.com>
278 * go-gcc.cc (Backend::error_statement): New function.
280 2011-04-13 Ian Lance Taylor <iant@google.com>
282 * Make-lang.in (go/gogo-tree.o): depend on $(GO_RUNTIME_H).
284 2011-04-13 Ian Lance Taylor <iant@google.com>
286 * Make-lang.in (GO_OBJS): Add go/runtime.o.
287 (GO_RUNTIME_H): New variable.
288 (go/runtime.o): New target.
289 (go/gogo.o): Depend on $(GO_RUNTIME_H).
290 (go/statements.o): Likewise.
292 2011-04-12 Nathan Froyd <froydnj@codesourcery.com>
294 * go-lang.c (union lang_tree_node): Check for TS_COMMON before
297 2011-04-06 Ian Lance Taylor <iant@google.com>
299 * go-gcc.cc (if_statement): Use build3_loc.
300 (Gcc_backend::switch_statement): New function.
301 (Gcc_backend::statement_list): New function.
303 2011-04-06 Ian Lance Taylor <iant@google.com>
305 * go-gcc.cc (Gcc_backend::if_statement): New function.
306 (tree_to_stat): New function.
307 (expr_to_tree): Renamed from expression_to_tree.
308 (stat_to_tree): Renamed from statement_to_tree.
310 2011-04-06 Ian Lance Taylor <iant@google.com>
312 * go-gcc.cc (Gcc_backend::expression_statement): New function.
314 2011-04-04 Ian Lance Taylor <iant@google.com>
316 * go-gcc.c (class Blabel): Define.
317 (Gcc_backend::make_expression): New function.
318 (get_identifier_from_string): New function.
319 (Gcc_backend::label): New function.
320 (Gcc_backend::label_definition_statement): New function.
321 (Gcc_backend::goto_statement): New function.
322 (Gcc_backend::label_address): New function.
323 (expression_to_tree): New function.
324 * Make-lang.in (go/expressions.o): Depend on
325 go/gofrontend/backend.h.
326 (go/gogo.o): Likewise.
328 2011-04-04 Ian Lance Taylor <iant@google.com>
330 * go-gcc.cc: #include "tree-iterator.h", "gimple.h", and "gogo.h".
331 (class Bfunction): Define.
332 (Gcc_backend::assignment_statement): Rename from assignment.
334 (Gcc_backend::return_statement): New function.
335 (tree_to_function): New function.
336 * Make-lang.in (go/go-gcc.o): Depend on tree-iterator.h,
337 $(GIMPLE_H), and $(GO_GOGO_H).
339 2011-04-03 Ian Lance Taylor <iant@google.com>
341 * go-gcc.cc: New file.
342 * Make-lang.in (GO_OBJS): Add go/go-gcc.o.
343 (go/go-gcc.o): New target.
344 (go/go.o): Depend on go/gofrontend/backend.h.
345 (go/statements.o): Likewise.
347 2011-02-14 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
349 * gccgo.texi (Top, Import and Export): Fix a typo and a markup nit.
351 2011-02-08 Ian Lance Taylor <iant@google.com>
353 * go-lang.c (go_langhook_init_options_struct): Set
354 frontend_set_flag_errno_math. Don't set x_flag_trapping_math.
356 2011-01-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
358 * gospec.c (lang_specific_driver) [HAVE_LD_STATIC_DYNAMIC] Use
359 LD_STATIC_OPTION, LD_DYNAMIC_OPTION.
361 2011-01-21 Ian Lance Taylor <iant@google.com>
363 * go-lang.c (go_langhook_init): Omit float_type_size when calling
365 * go-c.h: Update declaration of go_create_gogo.
367 2011-01-13 Ian Lance Taylor <iant@google.com>
369 * go-backend.c: Include "rtl.h" and "target.h".
370 (go_imported_unsafe): New function.
371 * go-c.h (go_imported_unsafe): Declare.
372 * Make-lang.in (go/go-backend.o): Depend on $(RTL_H).
373 (go/gogo-tree.o): Remove dependency on $(RTL_H).
374 (go/unsafe.o): Depend on $(GO_C_H).
376 2010-12-31 Joern Rennecke <amylaar@spamcop.net>
379 * go-backend.c: (go_field_alignment): Add ATTRIBUTE_UNUSED to
382 2010-12-21 Ian Lance Taylor <iant@google.com>
384 * Make-lang.in (check-go): Remove.
385 (lang_checks_parallelized): Add check-go.
386 (check_go_parallelize): Set.
388 2010-12-13 Ian Lance Taylor <iant@google.com>
390 * gospec.c (lang_specific_driver): Add a -o option if not linking
391 and there is no -o option already.
393 2010-12-07 Ian Lance Taylor <iant@google.com>
395 PR tree-optimization/46805
396 PR tree-optimization/46833
397 * go-lang.c (go_langhook_type_for_mode): Handle vector modes.
399 2010-12-06 Ian Lance Taylor <iant@google.com>
403 * go-lang.c (go_char_p): Define type and vectors.
404 (go_search_dirs): New static variable.
405 (go_langhook_handle_option): Use version and version/machine
407 (go_langhook_post_options): Add non-specific -L paths.
408 * Make-lang.in (go/go-lang.o): Define DEFAULT_TARGET_VERSION and
409 DEFAULT_TARGET_MACHINE when compiling.
410 * gccgo.texi (Invoking gccgo): Only document -L for linking.
411 (Import and Export): Don't mention -L for finding import files.
413 2010-12-03 Ian Lance Taylor <iant@google.com>
416 * go-backend.c: New file.
417 * go-c.h (go_type_alignment): Declare.
418 (go_field_alignment, go_trampoline_info): Declare.
419 * Make-lang.in (GO_OBJS): Add go/go-backend.o.
420 (go/go-backend.o): New target.
421 (go/go-lang.o): Make dependencies match source file.
422 (go/expressions.o): Don't depend on $(TM_H) $(TM_P_H).
423 (go/gogo-tree.o): Don't depend on $(TM_H).
425 2010-12-03 Ian Lance Taylor <iant@google.com>
427 * config-lang.in (build_by_default): Set to no.
429 2010-12-02 Ian Lance Taylor <iant@google.com>
431 Go frontend added to gcc repository.