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