12021-05-14 Release Manager 2 3 * GCC 8.5.0 released. 4 52020-03-04 Release Manager 6 7 * GCC 8.4.0 released. 8 92019-02-22 Release Manager 10 11 * GCC 8.3.0 released. 12 132018-07-26 Release Manager 14 15 * GCC 8.2.0 released. 16 172018-05-02 Release Manager 18 19 * GCC 8.1.0 released. 20 212018-02-03 Ian Lance Taylor <iant@golang.org> 22 23 * go-gcc.cc (Gcc_backend::fill_in_struct): Mark struct types as 24 using structural equality. 25 262018-02-02 Ian Lance Taylor <iant@golang.org> 27 28 * go-gcc.cc (Gcc_backend::type_size): Return 0 for 29 void_type_node. 30 (Gcc_backend::convert_expression): Don't convert if the type of 31 expr_tree is void_type_node. 32 (Gcc_backend::array_index_expression): Don't index if the type of 33 the array expression is void_type_node. 34 (Gcc_backend::init_statement): Don't initialize if the type of the 35 initializer expression is void_type_node. 36 (Gcc_backend::assignment_statement): Don't assign if the type of 37 either the left or right hand side is void_type_node. 38 (Gcc_backend::temporary_variable): Don't initialize if the type of 39 the initializer expression is void_type_node. 40 412018-02-01 Cherry Zhang <cherryyz@google.com> 42 43 * lang.opt (fgo-optimize): Remove RejectNegative. 44 * go-c.h (go_enable_optimize): Update declaration to take value 45 argument. 46 * go-lang.c (go_langhook_handle_option): Pass value to 47 go_enable_optimize. 48 * gccgo.texi (Invoking gccgo): Update -fgo-optimize-allocs doc. 49 502018-01-30 Ian Lance Taylor <iant@golang.org> 51 52 * go-gcc.cc (Gcc_backend::convert_tree): New private method. 53 (Gcc_backend::constructor_expression): Call it. 54 (Gcc_backend::assignment_statement): Likewise. 55 (Gcc_backend::temporary_variable): Likewise. 56 572018-01-09 Cherry Zhang <cherryyz@google.com> 58 59 * go-gcc.cc (local_variable): Add decl_var parameter. 60 612018-01-09 Cherry Zhang <cherryyz@google.com> 62 63 * lang.opt (fgo-debug-escape-hash): New option. 64 * go-c.h (struct go_create_gogo_args): Add debug_escape_hash 65 field. 66 * go-lang.c (go_langhook_init): Set debug_escape_hash field. 67 * gccgo.texi (Invoking gccgo): Document -fgo-debug-escape-hash. 68 692018-01-05 Ian Lance Taylor <iant@golang.org> 70 71 * go-gcc.cc (Gcc_backend::Gcc_backend): Correct 72 math_function_type_long to take one argument. 73 742018-01-03 Richard Sandiford <richard.sandiford@linaro.org> 75 Alan Hayward <alan.hayward@arm.com> 76 David Sherwood <david.sherwood@arm.com> 77 78 * go-lang.c (go_langhook_type_for_mode): Handle MODE_VECTOR_BOOL. 79 802018-01-03 Richard Sandiford <richard.sandiford@linaro.org> 81 Alan Hayward <alan.hayward@arm.com> 82 David Sherwood <david.sherwood@arm.com> 83 84 * go-lang.c (go_langhook_type_for_mode): Check valid_vector_subparts_p. 85 862018-01-03 Jakub Jelinek <jakub@redhat.com> 87 88 Update copyright years. 89 90 * gccgo.texi: Bump @copyrights-go year. 91 922017-12-12 Tony Reix <tony.reix@atos.net> 93 Ian Lance Taylor <iant@golang.org> 94 95 * go-lang.c (TARGET_AIX): Define if not defined. 96 (go_langhook_init): Set nil_check_size_threshold to -1 on AIX. 97 982017-12-01 Ian Lance Taylor <iant@golang.org> 99 100 * go-gcc.cc (Gcc_backend::Gcc_backend): Define 101 __builtin_unreachable. 102 (Gcc_backend::function): Add does_not_return parameter. 103 1042017-12-01 Than McIntosh <thanm@google.com> 105 106 * go-c.h (go_create_gogo_args): Add nil_check_size_threshold 107 field. 108 * go-lang.c (go_langhook_init): Set nil_check_size_threshold. 109 1102017-11-28 Jakub Jelinek <jakub@redhat.com> 111 112 * go-gcc.cc (Gcc_backend::switch_statement): Build SWITCH_EXPR using 113 build2_loc instead of build3_loc. 114 1152017-11-14 Than McIntosh <thanm@google.com> 116 117 * go-gcc.cc (var_expression): Remove Varexpr_context parameter. 118 1192017-10-11 Tony Reix <tony.reix@atos.net> 120 121 * go-system.h (__STDC_FORMAT_MACROS): Define before including any 122 system header files, as is done in ../system.h. 123 1242017-10-05 Ian Lance Taylor <iant@golang.org> 125 126 * Make-lang.in (GO_OBJS): Add go/names.o. 127 1282017-08-30 Richard Sandiford <richard.sandiford@linaro.org> 129 Alan Hayward <alan.hayward@arm.com> 130 David Sherwood <david.sherwood@arm.com> 131 132 * go-lang.c (go_langhook_type_for_mode): Use is_complex_float_mode. 133 1342017-08-30 Richard Sandiford <richard.sandiford@linaro.org> 135 Alan Hayward <alan.hayward@arm.com> 136 David Sherwood <david.sherwood@arm.com> 137 138 * go-lang.c (go_langhook_type_for_mode): Use is_int_mode. 139 1402017-08-30 Richard Sandiford <richard.sandiford@linaro.org> 141 Alan Hayward <alan.hayward@arm.com> 142 David Sherwood <david.sherwood@arm.com> 143 144 * go-lang.c (go_langhook_type_for_mode): Use is_float_mode. 145 1462017-08-07 Martin Liska <mliska@suse.cz> 147 148 * go-gcc.cc (Gcc_backend::function): Look up for no_split_stack 149 and not __no_split_stack__. 150 1512017-07-27 Tony Reix <tony.reix@atos.net> 152 153 * go-backend.c (go_write_export_data): Use EXCLUDE section for 154 AIX. 155 1562017-06-09 Ian Lance Taylor <iant@golang.org> 157 158 * go-lang.c (go_langhook_post_options): If -fsplit-stack is turned 159 on, disable implicit -forder-blocks-and-partition. 160 1612017-05-12 Than McIntosh <thanm@google.com> 162 163 * go-gcc.cc (Gcc_backend::call_expression): Add caller parameter. 164 1652017-05-11 Ian Lance Taylor <iant@google.com> 166 167 PR go/64238 168 * go-gcc.cc (Gcc_backend::implicit_variable_reference): Set 169 DECL_EXTERNAL, clear TREE_STATIC. 170 1712017-05-10 Than McIntosh <thanm@google.com> 172 173 * go-backend.c: Include "go-c.h". 174 * go-gcc.cc (Gcc_backend::write_export_data): New method. 175 1762017-05-10 Ian Lance Taylor <iant@google.com> 177 178 * go-gcc.cc (Gcc_backend::Gcc_backend): Declare 179 __builtin_prefetch. 180 * Make-lang.in (GO_OBJS): Add go/wb.o. 181 1822017-03-28 Than McIntosh <thanm@google.com> 183 184 PR go/80226 185 * go-gcc.cc (Gcc_backend::return_statement): Check for 186 void_type_node when checking result size. 187 1882017-02-20 Ian Lance Taylor <iant@golang.org> 189 190 PR go/79642 191 * lang.opt (-fgo-relative-import-path): Change space to tab. 192 1932017-02-07 Richard Biener <rguenther@suse.de> 194 195 PR tree-optimization/79256 196 PR middle-end/79278 197 * go-backend.c (go_field_alignment): Adjust. 198 1992017-01-11 Than McIntosh <thanm@google.com> 200 201 * go-gcc.cc (conditional_expression): Add Bfunction parameter. 202 2032017-01-01 Jakub Jelinek <jakub@redhat.com> 204 205 Update copyright years. 206 207 * gccgo.texi: Bump @copyrights-go year. 208 2092016-12-16 Than McIntosh <thanm@google.com> 210 211 * go-gcc.cc (Gcc_backend::expression_statement): Add Bfunction* 212 parameter. 213 (Gcc_backend::init_statement): Likewise. 214 (Gcc_backend::assignment_statement): Likewise. 215 (Gcc_backend::if_statement): Likewise. 216 2172016-12-06 Than McIntosh <thanm@google.com> 218 219 * go-gcc.cc (Gcc_backend::var_expression): Add Varexpr_context 220 parameter. 221 2222016-11-22 Than McIntosh <thanm@google.com> 223 224 * go-gcc.cc (char_needs_encoding): Remove. 225 (needs_encoding, fetch_utf8_char, encode_id): Remove. 226 (Gcc_backend::global_variable): Add asm_name parameter. Don't 227 compute asm_name here. 228 (Gcc_backend::implicit_variable): Likewise. 229 (Gcc_backend::implicit_variable_reference): Likewise. 230 (Gcc_backend::immutable_struct): Likewise. 231 (Gcc_backend::immutable_struct_reference): Likewise. 232 * Make-lang.in (GO_OBJS): Add go/go-encode-id.o. 233 2342016-11-22 Ian Lance Taylor <iant@google.com> 235 236 * go-gcc.cc (Gcc_backend::Gcc_backend): Add builtin function 237 __builtin_frame_address. 238 2392016-10-25 David Malcolm <dmalcolm@redhat.com> 240 241 * go-lang.c (go_langhook_type_for_mode): Remove redundant cast 242 from result of GET_MODE_CLASS. Minor formatting fixes. 243 2442016-10-13 Thomas Preud'homme <thomas.preudhomme@arm.com> 245 246 * go-backend.c: Include memmodel.h. 247 2482016-10-10 Than McIntosh <thanm@google.com> 249 250 * go-gcc.h: New file. 251 * go-c.h (struct go_create_gogo_args): Add backend and linemap 252 fields. 253 * go-lang.c: Include "go-gcc.h". 254 (go_langhook_init): Set linemap and backend fields of args. 255 * go-gcc.cc: Include "go-gcc.h". 256 * go-linemap.cc: Include "go-gcc.h". 257 2582016-10-10 Than McIntosh <thanm@google.com> 259 260 * go-linemap.cc (Gcc_linemap::location_line): New method. 261 2622016-10-10 Eric Botcazou <ebotcazou@adacore.com> 263 264 * config-lang.in (lang_requires_boot_languages): Delete. 265 2662016-10-06 Chris Manghane <cmang@google.com> 267 268 * go-gcc.cc (Gcc_backend::stack_allocation_expression): Clear the 269 returned memory. 270 2712016-09-27 Than McIntosh <thanm@google.com> 272 273 * go-linemap.cc (Gcc_linemap::to_string): New method. 274 2752016-09-23 Than McIntosh <thanm@google.com> 276 277 * go-gcc-diagnostics.cc: New file. 278 * go-location.h (Location): Remove operator source_location. Add 279 operator==. 280 * go-system.h: #include <sstream>. 281 * Make-lang.in (GO_OBJS): Add go/go-diagnostics.o and 282 go/go-gcc-diagnostics.o. 283 (CFLAGS-go/go-gcc-diagnostics.o): New variable. 284 2852016-09-23 Chris Manghane <cmang@google.com> 286 287 PR go/77701 288 * go-gcc.cc (Gcc_backend::Gcc_backend): Fix calls to integer_type 289 to pass arguments in the correct order. 290 2912016-09-22 Ian Lance Taylor <iant@golang.org> 292 293 * go-gcc.cc (Gcc_backend::Gcc_backend): Declare 294 __builtin_frame_address. 295 2962016-09-11 Ian Lance Taylor <iant@golang.org> 297 298 * go-gcc.cc (Gcc_backend::Gcc_backend): Add builtin versions of 299 ctz, ctzll, bswap32, bswap64. 300 3012016-09-10 Ian Lance Taylor <iant@golang.org> 302 303 * go-backend.c (go_trampoline_info): Remove. 304 * go-c.h (go_trampoline_info): Don't declare. 305 3062016-09-09 Than McIntosh <thanm@google.com> 307 308 * go-sha1.cc: New file. 309 * Make-lang.in (GO_OBJS): Add go/go-sha1.o. 310 (CFLAGS-go/go-sha1.o): New variable. 311 3122016-08-29 Ian Lance Taylor <iant@google.com> 313 314 * lang.opt (fgo-c-header, fgo-compiling-runtime): New options. 315 * go-c.h (struct go_create_gogo_args): Define. 316 (go_create_gogo): Change declaration to take struct pointer. 317 * go-lang.c (go_c_header): New static variable. 318 (go_langhook_init): Update call to go_create_gogo. 319 * gccgo.texi (Invoking gccgo): Document -fgo-c-header and 320 -fgo-compiling-runtime. 321 3222016-08-09 Ian Lance Taylor <iant@google.com> 323 324 * gccgo.texi (Invoking gccgo): Document -fgo-optimize-allocs and 325 -fgo-debug-escae. 326 (Compiler Directives): New chapter. 327 (Function Names): Describe using //go:linkname. Suggest using 328 -fgo-pkgpath rather than -fgo-prefix. 329 3302016-08-08 Ian Lance Taylor <iant@google.com> 331 332 PR go/72814 333 * go-gcc.cc (Gcc_backend::function_type): If the return type is 334 zero bytes, treat the function as returning void. 335 (return_statement): If the return type is zero bytes, don't 336 actually return any values. 337 3382016-08-05 Ian Lance Taylor <iant@google.com> 339 340 PR go/72812 341 * go-gcc.cc (char_needs_encoding): New static function. 342 (needs_encoding, fetch_utf8_char): New static functions. 343 (encode_id): New static function. 344 (Gcc_backend::global_variable): Set asm name if the name is not 345 simple ASCII. 346 (Gcc_backend::implicit_variable): Likewise. 347 (Gcc_backend::implicit_variable_reference): Likewise. 348 (Gcc_backend::immutable_struct): Likewise. 349 (Gcc_backend::immutable_struct_reference): Likewise. 350 (Gcc_backend::function): Likewise. 351 3522016-08-02 Chris Manghane <cmang@google.com> 353 354 * lang.opt: Add -fgo-debug-escape option. 355 * go-c.h (go_create_gogo): Add debug_escape_level parameter. 356 * go-lang.c (go_langhook_init): Pass go_debug_escape_level to 357 go_create_gogo. 358 3592016-05-06 Chris Manghane <cmang@google.com> 360 361 * Make-lang.in (GO_OBJS): Add go/escape.o (based on an entirely 362 new escape.cc). 363 3642016-04-29 Chris Manghane <cmang@google.com> 365 366 * Make-lang.in (GO_OBJS): Remove go/dataflow.o, go/escape.o. 367 3682016-04-18 Michael Matz <matz@suse.de> 369 370 * go-gcc.cc (Gcc_backend::implicit_variable): Use SET_DECL_ALIGN. 371 3722016-02-12 Jakub Jelinek <jakub@redhat.com> 373 374 * gofrontend/lex.cc: Spelling fixes - behaviour -> behavior and 375 neighbour -> neighbor. 376 * gccgo.texi: Likewise. 377 3782016-01-27 Ian Lance Taylor <iant@google.com> 379 380 * go-lang.c (go_langhook_init_options_struct): Default to 381 -fkeep-gc-roots-live. 382 3832016-01-04 Jakub Jelinek <jakub@redhat.com> 384 385 Update copyright years. 386 387 * gccgo.texi: Bump @copyrights-go year. 388 3892015-12-21 Ian Lance Taylor <iant@google.com> 390 391 * go-gcc.cc (class Bvariable): Remove Gcc_tree parent class. Add 392 t_ and orig_type_ fields. Add new two parameter constructor. Add 393 get_tree and get_decl methods. 394 (Gcc_backend::var_expression): Pass location to var get_tree. 395 (Gcc_backend::global_variable): Don't add VIEW_CONVERT_EXPR. Use 396 two parameter constructor for Bvariable. 397 (Gcc_backend::global_variable_set_init): Don't remove 398 VIEW_CONVERT_EXPR. Use var get_decl, not get_tree. 399 (Gcc_backend::write_global_definitions): Likewise. 400 (Gcc_backend::init_statement): Call var get_decl, not get_tree. 401 (Gcc_backend::block): Likewise. 402 (Gcc_backend::implicit_variable_set_init): Likewise. 403 (Gcc_backend::immutable_struct_set_init): Likewise. 404 (Gcc_backend::function_set_parameters): Likewise. 405 4062015-12-21 Ian Lance Taylor <iant@google.com> 407 408 * go-gcc.cc (Gcc_backend::global_variable): If type is zero-sized, 409 add a VIEW_CONVERT_EXPR to the tree. 410 (Gcc_backend::global_variable_set_init): Remove any 411 VIEW_CONVERT_EXPR. 412 (Gcc_backend::write_global_definitions): Likewise. 413 4142015-11-30 Ian Lance Taylor <iant@google.com> 415 416 PR go/68477 417 * go-gcc.cc (Gcc_backend::string_constant_expression): Don't set 418 TYPE_STRING_FLAG on a variant type. 419 4202015-11-11 Andrew MacLeod <amacleod@redhat.com> 421 422 * go-backend.c: Remove unused header files. 423 * go-gcc.cc: Likewise. 424 * go-lang.c: Likewise. 425 * gospec.c: Likewise. 426 4272015-10-29 Andrew MacLeod <amacleod@redhat.com> 428 429 * go-backend.c: Reorder #include's and remove duplicates. 430 * go-lang.c: Likewise. 431 4322015-10-20 Alan Modra <amodra@gmail.com> 433 434 PR go/66870 435 * gospec.c (saw_opt_m32): Rename to.. 436 (is_m64): ..this, initialised by TARGET_CAN_SPLIT_STACK_64BIT. 437 Update uses. 438 (lang_specific_driver): Set is_m64 if OPT_m64, clear if OPT_m32. 439 4402015-10-01 Ian Lance Taylor <iant@google.com> 441 442 PR go/66870 443 * gospec.c (lang_specific_driver): Only look for OPT_m32 if 444 TARGET_CAN_SPLIT_STACK_64BIT is defined. 445 4462015-10-01 Lynn Boger <laboger@linux.vnet.ibm.com> 447 448 PR target/66870 449 * gospec.c (lang_specific_driver): Set appropriate split stack 450 options for 64 bit compiles based on TARGET_CAN_SPLIT_STACK_64BIT. 451 4522015-09-10 Chris Manghane <cmang@google.com> 453 454 * go-gcc.cc (Gcc_backend::type_size): Return -1 for 455 unrepresentable size. 456 4572015-08-24 Marek Polacek <polacek@redhat.com> 458 459 PR tree-optimization/67284 460 * go-gcc.cc (Gcc_backend::define_builtin): Add NORETURN_P parameter. 461 Set TREE_THIS_VOLATILE. 462 (Gcc_backend::Gcc_backend): Mark __builtin_trap as a noreturn call. 463 Pass false to the rest of define_builtin calls. 464 4652015-07-31 Andreas Schwab <schwab@linux-m68k.org> 466 467 * go-lang.c (go_langhook_init_options_struct): Don't set 468 x_flag_split_stack. 469 (go_langhook_post_options): Set it here instead. 470 4712015-07-12 Aldy Hernandez <aldyh@redhat.com> 472 473 * gofrontend/backend.h: Fix double word typos. 474 * gofrontend/expressions.cc: Same. 475 * gospec.c: Same. 476 4772015-07-07 Andrew MacLeod <amacleod@redhat.com> 478 479 * go-backend.c: Adjust includes. 480 * go-gcc.cc: Likewise. 481 * go-lang.c: Likewise. 482 4832015-06-25 Andrew MacLeod <amacleod@redhat.com> 484 485 * go-gcc.cc: Remove ipa-ref.h and plugin-api.h from include list. 486 4872015-06-17 Andrew MacLeod <amacleod@redhat.com> 488 489 * go-backend.c: Do not include input.h, line-map.h or is-a.h. 490 * go-gcc.cc: Likewise. 491 * go-lang.c: Likewise. 492 * go-system.h: Likewise. 493 4942015-06-08 Andrew MacLeod <amacleod@redhat.com> 495 496 * go-backend.c : Adjust include files. 497 * go-gcc.cc : Likewise. 498 * go-lang.c : Likewise. 499 5002015-06-05 Aldy Hernandez <aldyh@redhat.com> 501 502 * go-gcc.cc (write_global_definitions): Remove call to 503 finalize_compilation_unit. 504 Remove Go specific debug generation. 505 * go-lang.c (go_langhook_parse_file): Call go_write_globals. 506 (go_langhook_write_globals): Remove. 507 Remove LANG_HOOKS_WRITE_GLOBALS everywhere. 508 5092015-06-04 Andrew MacLeod <amacleod@redhat.com> 510 511 * go-backend.c: Adjust includes for restructured coretypes.h. 512 * go-c.h: Likewise. 513 * go-gcc.cc: Likewise. 514 * go-lang.c: Likewise. 515 5162015-04-30 Chris Manghane <cmang@google.com> 517 518 * go-gcc.cc (Gcc_backend::stack_allocation_expression): New 519 method. 520 5212015-04-27 Jim Wilson <jim.wilson@linaro.org> 522 523 * Make-lang.in (go.mostlyclean): Remove gccgo, gccgo-cross, and go1. 524 5252015-04-17 Chris Manghane <cmang@google.com> 526 527 * Make-lang.in (GO_OBJS): Add go/escape.o. 528 5292015-02-02 Ian Lance Taylor <iant@google.com> 530 531 PR go/64836 532 PR go/64838 533 * go-gcc.cc (Gcc_backend::type_size): Change return type to 534 int64_t. 535 (Gcc_backend::type_alignment): Likewise. 536 (Gcc_backend::type_field_alignment): Likewise. 537 (Gcc_backend::type_field_offset): Likewise. 538 (Gcc_backend::implicit_variable): Change alignment parameter type 539 to int64_t. 540 5412015-01-23 Ian Lance Taylor <iant@google.com> 542 543 PR go/63565 544 * gccgo.texi (Invoking gccgo): Mention that Go programs should not 545 be stripped. 546 547 * gccgo.texi (C Interoperability): Mention that people should use 548 cgo. 549 5502015-01-23 Ian Lance Taylor <iant@google.com> 551 552 PR go/64595 553 * go-lang.c (go_langhook_init_options_struct): Set default 554 debug_info_level. 555 (go_langhook_post_options): If debug_info_level is still the 556 default, make sure write_symbols is set. 557 * gccgo.texi (Invoking gccgo): Document that -g1 is the default. 558 5592015-01-16 Richard Henderson <rth@redhat.com> 560 561 * go-gcc.cc (Gcc_backend::call_expression): Add chain_expr argument. 562 (Gcc_backend::static_chain_variable): New method. 563 5642015-01-09 Ian Lance Taylor <iant@google.com> 565 566 * config-lang.in (lang_dirs): Define. 567 5682015-01-09 Michael Collison <michael.collison@linaro.org> 569 570 * go-gcc.cc: Include hash-set.h, machmode.h, vec.h, double-int.h, 571 input.h, alias.h, symtab.h, options.h, fold-const.h, 572 wide-int.h, and inchash.h due to flattening of tree.h. 573 * go-lang.c: Ditto. 574 * go-backend.c: Ditto. 575 5762015-01-07 Chris Manghane <cmang@google.com> 577 578 PR go/61204 579 * go-gcc.cc (Gcc_backend::temporary_variable): Don't initialize 580 zero-sized variable. 581 5822015-01-06 Chris Manghane <cmang@google.com> 583 584 * go-gcc.cc (Gcc_backend::constructor_expression): Don't 585 initialize zero-sized fields, just evaluate the values for side 586 effects. 587 5882015-01-05 Jakub Jelinek <jakub@redhat.com> 589 590 Update copyright years. 591 592 * gccgo.texi: Bump @copyrights-go year. 593 5942014-12-19 Chris Manghane <cmang@google.com> 595 596 * go-gcc.cc (Gcc_backend::array_constructor_expression): Don't 597 construct arrays of zero-sized values. 598 5992014-10-29 Richard Sandiford <richard.sandiford@arm.com> 600 601 * go-lang.c: Remove redundant enum from machine_mode. 602 6032014-10-28 Andrew MacLeod <amacleod@redhat.com> 604 605 * go-gcc.cc: Adjust include files. 606 6072014-10-27 Andrew MacLeod <amacleod@redhat.com> 608 609 * go-gcc.cc: Adjust include files. 610 * go-lang.c: Ditto. 611 6122014-10-23 Ian Lance Taylor <iant@google.com> 613 614 * go-gcc.cc (Gcc_backend::complex_constant_expression): Take one 615 mpc_t parameter instead of two mpfr_t parameters. 616 6172014-09-15 Jakub Jelinek <jakub@redhat.com> 618 619 * Make-lang.in (check_go_parallelize): Change to just an upper bound 620 number. 621 6222014-09-03 Chris Manghane <cmang@google.com> 623 624 * go-gcc.cc (Gcc_backend::implicit_variable): Remove init 625 parameter. Add is_hidden parameter. 626 (Gcc_backend::implicit_variable_set_init): New method. 627 (Gcc_backend::implicit_variable_reference): New method. 628 6292014-08-08 Ian Lance Taylor <iant@google.com> 630 631 * go-gcc.cc (Gcc_backend::compound_statement): Don't return 632 NULL_TREE. 633 6342014-07-24 Uros Bizjak <ubizjak@gmail.com> 635 636 * go-gcc.cc (Gcc_backend::global_variable_set_init): Rename 637 symtab_get_node to symtab_node::get. 638 6392014-06-13 Ian Lance Taylor <iant@google.com> 640 641 PR go/61496 642 * gospec.c (lang_specific_driver): On Solaris, when not using GNU 643 ld, add -t option to avoid warning about common symbol changing 644 size. 645 6462014-06-10 Jan Hubicka <hubicka@ucw.cz> 647 648 * go-gcc.cc (Gcc_backend::global_variable_set_init): Use 649 symtab_get_node(var_decl)->implicit_section. 650 6512014-06-07 Jan Hubicka <hubicka@ucw.cz> 652 653 * go-gcc.cc (global_variable_set_init): Use 654 set_decl_section_name. 655 6562014-06-04 Ian Lance Taylor <iant@google.com> 657 658 * go-gcc.cc (Gcc_backend::implicit_variable): Add is_common and 659 alignment parameters. Permit init parameter to be NULL. 660 6612014-06-02 Andrew MacLeod <amacleod@redhat.com> 662 663 * go-gcc.cc: Include builtins.h. 664 6652014-05-17 Trevor Saunders <tsaunders@mozilla.com> 666 667 * go-lang.c (struct GTY): Don't use variable_size gty attribute. 668 6692014-05-06 Chris Manghane <cmang@google.com> 670 671 * go-gcc.cc (Gcc_backend::nil_pointer_expression): New method. 672 (Gcc_backend::boolean_constant_expression): New method. 673 (Gcc_backend::zero_expression): Use this->make_expression rather 674 than tree_to_expr. 675 (Gcc_backend::var_expression): Likewise. 676 (Gcc_backend::integer_constant_expression): Likewise. 677 (Gcc_backend::float_constant_expression): Likewise. 678 (Gcc_backend::complex_constant_expression): Likewise. 679 (Gcc_backend::struct_field_expression): Likewise. 680 (tree_to_type, tree_to_expr, tree_to_stat): Remove functions. 681 (tree_to_function, tree_to_block): Remove functions. 682 (type_to_tree, expr_to_tree, stat_to_tree): Remove functions. 683 (block_to_tree, var_to_tree, function_to_tree): Remove functions. 684 6852014-05-06 Kenneth Zadeck <zadeck@naturalbridge.com> 686 Mike Stump <mikestump@comcast.net> 687 Richard Sandiford <rdsandiford@googlemail.com> 688 689 * go-gcc.cc (Gcc_backend::type_size): Use tree_fits_uhwi_p. 690 6912014-05-06 Chris Manghane <cmang@google.com> 692 693 * go-c.h (go_create_gogo): Update declaration to add 694 check_divide_zero and check_divide_overflow parameters. 695 * go-lang.c (go_langhook_init): Pass new arguments to 696 go_create_gogo. 697 6982014-05-05 Chris Manghane <cmang@google.com> 699 700 * go-gcc.cc (Gcc_backend::implicit_variable): Rename from 701 gc_root_variable. Add name and is_constant parameters. 702 7032014-05-05 Chris Manghane <cmang@google.com> 704 705 * go-gcc.cc (Gcc_backend::indirect_expression): Add btype 706 parameter. 707 (Gcc_backend::temporary_variable): Check for erroneous function. 708 7092014-04-30 Chris Manghane <cmang@google.com> 710 711 * go-backend.c: #include "diagnostics.h". 712 (saw_errors): New function. 713 * go-c.h (saw_errors): Declare. 714 * Make-lang.in (GO_OBJS): Remove go/gogo-tree.o. 715 7162014-04-30 Chris Manghane <cmang@google.com> 717 718 * go-lang.c (go_langhook_type_for_size): Do it here, rather than 719 calling into Go frontend. 720 (go_langhook_type_for_mode): Likewise. 721 * go-c.h (go_type_for_size, go_type_for_mode): Don't declare. 722 7232014-04-30 Chris Manghane <cmang@google.com> 724 725 * go-gcc.cc: #include "langhooks.h". 726 (Gcc_backend::Gcc_backend): Add constructor. 727 (Gcc_backend::lookup_function): New function. 728 (Gcc_backend::define_builtin): New private function. 729 (Gcc_backend::gcc_backend): Remove. 730 (go_get_backend): Use new to create new Gcc_backend. 731 7322014-04-25 Chris Manghane <cmang@google.com> 733 734 * go-gcc.cc: Include "cgraph.h" and "gimplify.h". 735 (Gcc_backend::return_statement): Push and pop function. 736 (Gcc_backend::label): Likewise. 737 (Gcc_backend::function_defer_statement): Likewise. 738 (Gcc_backend::switch_statement): Add function parameter. 739 (Gcc_backend::block): Don't permit function to be NULL. 740 (Gcc_backend::temporary_variable): Change go_assert to 741 gcc_assert. 742 (Gcc_backend::gc_root_variable): New function. 743 (Gcc_backend::write_global_definitions): New function. 744 7452014-04-22 Chris Manghane <cmang@google.com> 746 747 * go-gcc.cc (Gcc_backend::temporary_variable): Push cfun around 748 call to create_tmp_var. Require that function be non-NULL. 749 7502014-04-17 Chris Manghane <cmang@google.com> 751 752 * go-gcc.cc (Gcc_backend::named_constant_expression): New 753 function. 754 7552014-04-14 Chris Manghane <cmang@google.com> 756 757 * go-gcc.cc: Include "convert.h". 758 (Gcc_backend::string_constant_expression): New function. 759 (Gcc_backend::real_part_expression): Likewise. 760 (Gcc_backend::imag_part_expression): Likewise. 761 (Gcc_backend::complex_expression): Likewise. 762 (Gcc_backend::constructor_expression): Likewise. 763 (Gcc_backend::array_constructor_expression): Likewise. 764 (Gcc_backend::pointer_offset_expression): Likewise. 765 (Gcc_backend::array_index_expression): Likewise. 766 (Gcc_backend::call_expression): Likewise. 767 (Gcc_backend::exception_handler_statement): Likewise. 768 (Gcc_backend::function_defer_statement): Likewise. 769 (Gcc_backend::function_set_parameters): Likewise. 770 (Gcc_backend::function_set_body): Likewise. 771 (Gcc_backend::convert_expression): Handle various type 772 conversions. 773 7742014-03-03 Ian Lance Taylor <iant@google.com> 775 776 * go-gcc.cc (Gcc_backend::immutable_struct): If IS_COMMON, set 777 DECL_WEAK. 778 (GCC_backend::immutable_struct_set_init): If IS_COMMON, clear 779 DECL_WEAK. 780 7812014-01-24 Chris Manghane <cmang@google.com> 782 783 * go-gcc.cc (Gcc_backend::unary_expression): New function. 784 7852014-01-16 Chris Manghane <cmang@google.com> 786 787 * go-gcc.cc (Gcc_backend::conditional_expression): Add btype 788 parameter. 789 (operator_to_tree_code): New static function. 790 (Gcc_backend::binary_expression): New function. 791 7922014-01-14 Chris Manghane <cmang@google.com> 793 794 * go-gcc.cc (Gcc_backend::compound_expression): New function. 795 (Gcc_backend::conditional_expression): New function. 796 7972014-01-02 Richard Sandiford <rdsandiford@googlemail.com> 798 799 Update copyright years 800 8012014-01-02 Tobias Burnus <burnus@net-b.de> 802 803 * gccgo.texi: Bump @copying's copyright year. 804 8052013-12-16 Chris Manghane <cmang@google.com> 806 807 * go-gcc.cc (Gcc_backend::struct_field_expression): New function. 808 8092013-12-11 Ian Lance Taylor <iant@google.com> 810 811 * go-lang.c (go_langhook_post_options): Disable sibling calls by 812 default. 813 8142013-12-10 Ian Lance Taylor <iant@google.com> 815 816 * Make-lang.in (check_go_parallelize): Test go-test.exp r* tests 817 separately. 818 8192013-12-05 Ian Lance Taylor <iant@google.com> 820 821 Revert this change; no longer required. 822 2013-11-06 Ian Lance Taylor <iant@google.com> 823 824 * go-lang.c (go_langhook_post_options): If 825 -fisolate-erroneous-paths was turned on by an optimization option, 826 turn it off. 827 8282013-11-23 Ian Lance Taylor <iant@google.com> 829 830 * go-gcc.cc (Gcc_backend::function_type): Add result_struct 831 parameter. 832 8332013-11-22 Andrew MacLeod <amacleod@redhat.com> 834 835 * go-gcc.cc: Add required include files from gimple.h. 836 * go-lang.c: Likewise 837 8382013-11-18 Richard Sandiford <rdsandiford@googlemail.com> 839 840 * gofrontend/expressions.cc: Replace tree_low_cst (..., 0) with 841 tree_to_shwi throughout. 842 8432013-11-18 Richard Sandiford <rdsandiford@googlemail.com> 844 845 * gofrontend/expressions.cc: Replace host_integerp (..., 0) with 846 tree_fits_shwi_p throughout. 847 8482013-11-14 Andrew MacLeod <amacleod@redhat.com> 849 850 * go-lang.c: Include only gimplify.h and gimple.h as needed. 851 8522013-11-14 Diego Novillo <dnovillo@google.com> 853 854 * go-backend.c: Include stor-layout.h. 855 * go-gcc.cc: Include stringpool.h. 856 Include stor-layout.h. 857 Include varasm.h. 858 * go-lang.c: Include stor-layout.h. 859 8602013-11-12 Andrew MacLeod <amacleod@redhat.com> 861 862 * go-lang.c: Include gimplify.h. 863 8642013-11-06 Ian Lance Taylor <iant@google.com> 865 866 * go-lang.c (go_langhook_post_options): If 867 -fisolate-erroneous-paths was turned on by an optimization option, 868 turn it off. 869 8702013-10-14 Chris Manghane <cmang@google.com> 871 872 * go-gcc.cc (Gcc_backend::address_expression): New function. 873 8742013-10-11 Chris Manghane <cmang@google.com> 875 876 * go-gcc.cc (Gcc_backend::function_code_expression): New 877 function. 878 8792013-10-10 Chris Manghane <cmang@google.com> 880 881 * go-gcc.cc (Gcc_backend::error_function): New function. 882 (Gcc_backend::function): New function. 883 (Gcc_backend::make_function): New function. 884 (function_to_tree): New function. 885 8862013-10-04 Chris Manghane <cmang@google.com> 887 888 * go-gcc.cc (Gcc_backend::convert_expression): New function. 889 8902013-10-02 Chris Manghane <cmang@google.com> 891 892 * go-gcc.cc: Include "real.h" and "realmpfr.h". 893 (Gcc_backend::integer_constant_expression): New function. 894 (Gcc_backend::float_constant_expression): New function. 895 (Gcc_backend::complex_constant_expression): New function. 896 8972013-09-30 Chris Manghane <cmang@google.com> 898 899 * go-gcc.cc (Gcc_backend::error_expression): New function. 900 (Gcc_backend::var_expression): New function. 901 (Gcc_backend::indirect_expression): New function. 902 9032013-09-25 Tom Tromey <tromey@redhat.com> 904 905 * Make-lang.in (gospec.o): Remove. 906 (CFLAGS-go/gospec.o): New variable. 907 (GCCGO_OBJS): Update to use go/gospec.o. 908 (go_OBJS): Define. 909 (GO_SYSTEM_H, GO_C_H, GO_LINEMAP_H, GO_LEX_H, GO_PARSE_H) 910 (GO_GOGO_H, GO_TYPES_H, GO_STATEMENTS_H, GO_EXPRESSIONS_H) 911 (GO_EXPORT_H, GO_IMPORT_H, GO_RUNTIME_H, GO_AST_DUMP_H) 912 (go/go-backend.o, go/go-lang.o, go/go-gcc.o, go/go-linemap.o) 913 (go/ast-dump.o, go/dataflow.o, go/export.o, go/expressions.o) 914 (go/go.o, go/go-dump.o, go/go-optimize.o, go/gogo-tree.o) 915 (go/gogo.o, go/import.o, go/import-archive.o, go/lex.o) 916 (go/parse.o, go/runtime.o, go/statements.o, go/types.o) 917 (go/unsafe.o): Remove. 918 (CFLAGS-go/go-gcc.o, CFLAGS-go/go-linemap.o): New variables. 919 (go/%.o: go/gofrontend/%.cc): Use COMPILE and POSTCOMPILE. 920 9212013-09-25 Tom Tromey <tromey@redhat.com> 922 923 * Make-lang.in (gospec.o): Don't use subshell. 924 9252013-08-28 Ian Lance Taylor <iant@google.com> 926 927 * go-gcc.cc (Gcc_backend::immutable_struct): Set TREE_PUBLIC if 928 the struct is not hidden. 929 (Gcc_backend::immutable_struct_set_init): Don't set TREE_PUBLIC. 930 9312013-08-06 Ian Lance Taylor <iant@google.com> 932 933 * go-gcc.cc (Gcc_backend::immutable_struct_set_init): Use 934 compute_reloc_for_constant. 935 9362013-08-02 Ian Lance Taylor <iant@google.com> 937 938 * go-gcc.cc (immutable_struct_set_init): Always call 939 resolve_unique_section. 940 9412013-07-24 Ian Lance Taylor <iant@google.com> 942 943 * go-gcc.cc (Gcc_backend::non_zero_size_type): If a struct has a 944 fields, recreate those fields with the first one with a non-zero 945 size. 946 9472013-07-23 Ian Lance Taylor <iant@google.com> 948 949 * go-backend.c: Don't #include "rtl.h". 950 (go_imported_unsafe): Don't call init_varasm_once. 951 * Make-lang.in (go/go-backend.o): Don't depend on $(RTL_H). 952 9532013-07-23 Ian Lance Taylor <iant@google.com> 954 955 * go-lang.c: Don't #include "except.h". 956 * Make-lang.in (go/go-lang.o): Don't depend on $(EXCEPT_H). 957 9582013-06-18 Ian Lance Taylor <iant@google.com> 959 960 * go-gcc.cc (Gcc_backend::immutable_struct): Add is_hidden 961 parameter. 962 (Gcc_backend::immutable_struct_set_init): Likewise. 963 9642013-05-16 Jason Merrill <jason@redhat.com> 965 966 * Make-lang.in (go1$(exeext)): Use link mutex. 967 9682013-01-16 Shenghou Ma <minux.ma@gmail.com> 969 970 * gospec.c: pass -u pthread_create to linker when static linking. 971 9722012-12-21 Ian Lance Taylor <iant@google.com> 973 974 PR bootstrap/54659 975 * go-system.h: Don't include <cstdio>. 976 9772012-12-18 Ian Lance Taylor <iant@google.com> 978 979 PR go/55201 980 * gospec.c: Revert last patch. 981 9822012-12-18 Andreas Schwab <schwab@linux-m68k.org> 983 984 PR go/55201 985 * gospec.c (LIBATOMIC): Define. 986 (LIBATOMIC_PROFILE): Define. 987 (lang_specific_driver): Add LIBATOMIC[_PROFILE] option. 988 9892012-11-29 Ian Lance Taylor <iant@google.com> 990 991 * go-gcc.cc: Include "output.h". 992 (global_variable): Add is_unique_section parameter. 993 (global_variable_set_init): Adjust unique section if necessary. 994 * Make-lang.in (go/go-gcc.o): Add dependency on output.h. 995 9962012-11-17 Diego Novillo <dnovillo@google.com> 997 998 Adjust for new vec API (http://gcc.gnu.org/wiki/cxx-conversion/cxx-vec) 999 1000 * go-lang.c: Use new vec API in vec.h. 1001 10022012-11-16 Ian Lance Taylor <iant@google.com> 1003 1004 * Make-lang.in (gccgo$(exeext)): Add + at start of command. 1005 (go1$(exeext)): Likewise. 1006 10072012-10-30 Ian Lance Taylor <iant@google.com> 1008 1009 * lang.opt (-fgo-relative-import-path): New option. 1010 * go-lang.c (go_relative_import_path): New static variable. 1011 (go_langhook_init): Pass go_relative_import_path to 1012 go_create_gogo. 1013 (go_langhook_handle_option): Handle -fgo-relative-import-path. 1014 * go-c.h (go_create_gogo): Update declaration. 1015 * gccgo.texi (Invoking gccgo): Document 1016 -fgo-relative-import-path. 1017 10182012-09-17 Ian Lance Taylor <iant@google.com> 1019 1020 * config-lang.in (target_libs): Add target-libbacktrace. 1021 10222012-09-16 Ian Lance Taylor <iant@google.com> 1023 1024 * Make-lang.in (go/gogo.o): Depend on filenames.h. 1025 10262012-08-14 Diego Novillo <dnovillo@google.com> 1027 1028 Merge from cxx-conversion branch. Configury. 1029 1030 * go-c.h: Remove all handlers of ENABLE_BUILD_WITH_CXX. 1031 * go-gcc.cc: Likewise. 1032 * go-system.h: Likewise. 1033 10342012-07-24 Uros Bizjak <ubizjak@gmail.com> 1035 1036 * go-lang.c (lang_decl): Add variable_size GTY option. 1037 10382012-05-09 Ian Lance Taylor <iant@google.com> 1039 1040 * lang.opt: Add -fgo-pkgpath. 1041 * go-lang.c (go_pkgpath): New static variable. 1042 (go_prefix): New static variable. 1043 (go_langhook_init): Pass go_pkgpath and go_prefix to 1044 go_create_gogo. 1045 (go_langhook_handle_option): Handle -fgo-pkgpath. Change 1046 -fgo-prefix handling to just set go_prefix. 1047 * go-c.h (go_set_prefix): Don't declare. 1048 (go_create_gogo): Add pkgpath and prefix to declaration. 1049 * go-gcc.cc (Gcc_backend::global_variable): Change unique_prefix 1050 to pkgpath. Don't include the package name in the asm name. 1051 * gccgo.texi (Invoking gccgo): Document -fgo-pkgpath. Update the 1052 docs for -fgo-prefix. 1053 10542012-04-23 Ian Lance Taylor <iant@google.com> 1055 1056 * go-lang.c (go_langhook_init): Set MPFR precision to 256. 1057 10582012-04-20 Ian Lance Taylor <iant@google.com> 1059 1060 * lang.opt: Add -fgo-check-divide-zero and 1061 -fgo-check-divide-overflow. 1062 * gccgo.texi (Invoking gccgo): Document new options. 1063 10642012-04-18 Steven Bosscher <steven@gcc.gnu.org> 1065 1066 * go-gcc.cc (Gcc_backend::switch_statement): Build SWITCH_EXPR 1067 with NULL_TREE type instead of void_type_node. 1068 10692012-03-09 Ian Lance Taylor <iant@google.com> 1070 1071 * go-gcc.cc (Gcc_backend::assignment_statement): Convert the rhs 1072 to the lhs type if necessary. 1073 10742012-03-08 Ian Lance Taylor <iant@google.com> 1075 1076 * go-gcc.cc (Gcc_backend::init_statement): Don't initialize a 1077 zero-sized variable. 1078 (go_non_zero_struct): New global variable. 1079 (Gcc_backend::non_zero_size_type): New function. 1080 (Gcc_backend::global_variable): Don't build an assignment for a 1081 zero-sized value. 1082 * go-c.h (go_non_zero_struct): Declare. 1083 * config-lang.in (gtfiles): Add go-c.h. 1084 10852012-02-29 Ian Lance Taylor <iant@google.com> 1086 1087 * go-gcc.cc (class Gcc_tree): Add set_tree method. 1088 (set_placeholder_pointer_type): When setting to a pointer to 1089 error, set to error_mark_node. 1090 10912012-02-23 Richard Guenther <rguenther@suse.de> 1092 1093 * go-gcc.cc (Gcc_backend::placeholder_pointer_type): Use 1094 build_distinct_type_copy. 1095 10962012-02-17 Ian Lance Taylor <iant@google.com> 1097 1098 * Make-lang.in (go/import.o): Add dependency on $(GO_LEX_H). 1099 11002012-02-17 Ian Lance Taylor <iant@google.com> 1101 1102 * gospec.c (lang_specific_driver): If linking, and no -o option 1103 was used, add one. 1104 11052012-02-14 Ian Lance Taylor <iant@google.com> 1106 1107 PR go/48411 1108 * Make-lang.in (gccgo-cross$(exeext)): New target. 1109 (go.all.cross): Depend on gccgo-cross$(exeext) instead of 1110 gccgo$(exeext). 1111 (go.install-common): Only install GCCGO_TARGET_INSTALL_NAME if 1112 gccgo-cross$(exeext) does not exist. 1113 11142012-02-07 Ian Lance Taylor <iant@google.com> 1115 1116 * gccgo.texi (Function Names): Document //extern instead of 1117 __asm__. 1118 11192012-02-01 Jakub Jelinek <jakub@redhat.com> 1120 1121 PR target/52079 1122 * go-lang.c (go_langhook_type_for_mode): For TImode and 64-bit HWI 1123 return build_nonstandard_integer_type result if possible. 1124 11252012-01-21 Ian Lance Taylor <iant@google.com> 1126 1127 * go-gcc.cc (Gcc_backend::type_size): Check for error_mark_node. 1128 (Gcc_backend::type_alignment): Likewise. 1129 (Gcc_backend::type_field_alignment): Likewise. 1130 (Gcc_backend::type_field_offset): Likewise. 1131 11322012-01-20 Ian Lance Taylor <iant@google.com> 1133 1134 * go-gcc.cc (Gcc_backend::placeholder_struct_type): Permit name to 1135 be empty. 1136 (Gcc_backend::set_placeholder_struct_type): Likewise. 1137 11382012-01-17 Ian Lance Taylor <iant@google.com> 1139 1140 * gospec.c (lang_specific_driver): If we see -S without -o, add -o 1141 BASE.s rather than -o BASE.o. 1142 11432012-01-11 Ian Lance Taylor <iant@google.com> 1144 1145 * go-lang.c (go_langhook_init): Initialize void_list_node before 1146 calling go_create_gogo. 1147 11482012-01-10 Ian Lance Taylor <iant@google.com> 1149 1150 * go-gcc.cc (Gcc_backend::type_size): New function. 1151 (Gcc_backend::type_alignment): New function. 1152 (Gcc_backend::type_field_alignment): New function. 1153 (Gcc_backend::type_field_offset): New function. 1154 * go-backend.c (go_type_alignment): Remove. 1155 * go-c.h (go_type_alignment): Don't declare. 1156 11572011-12-27 Ian Lance Taylor <iant@google.com> 1158 1159 * go-gcc.cc (Gcc_backend::set_placeholder_struct_type): Use 1160 build_distinct_type_copy rather than build_variant_type_copy. 1161 (Gcc_backend::set_placeholder_array_type): Likewise. 1162 (Gcc_backend::named_type): Add special handling for builtin 1163 basic types. 1164 11652011-12-22 Ian Lance Taylor <iant@google.com> 1166 1167 * go-gcc.cc (Gcc_backend::set_placeholder_pointer_type): Arrange 1168 for the type name to have a DECL_ORIGINAL_TYPE as gcc expects. 1169 (Gcc_backend::set_placeholder_struct_type): Likewise. 1170 (Gcc_backend::set_placeholder_array_type): Likewise. 1171 (Gcc_backend::named_type): Set DECL_ORIGINAL_TYPE. 1172 11732011-12-13 Ian Lance Taylor <iant@google.com> 1174 1175 * go-backend.c: #include "simple-object.h" and "intl.h". 1176 (GO_EXPORT_SEGMENT_NAME): Define if not defined. 1177 (GO_EXPORT_SECTION_NAME): Likewise. 1178 (go_write_export_data): Use GO_EXPORT_SECTION_NAME. 1179 (go_read_export_data): New function. 1180 * go-c.h (go_read_export_data): Declare. 1181 11822011-11-29 Sanjoy Das <thedigitalangel@gmail.com> 1183 Ian Lance Taylor <iant@google.com> 1184 1185 * go-location.h: New file. 1186 * go-linemap.cc: New file. 1187 * go-gcc.cc: Change all uses of source_location to Location. 1188 * Make-lang.in (GO_OBJS): Add go/go-linemap.o. 1189 (GO_LINEMAP_H): New variable. 1190 (GO_LEX_H): Use $(GO_LINEMAP_H). 1191 (GO_GOGO_H, GO_TYPES_H, GO_IMPORT_H): Likewise. 1192 (go/go-linemap.o): New target. 1193 11942011-11-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 1195 1196 * Make-lang.in (gospec.o): Pass SHLIB instead of SHLIB_LINK. 1197 11982011-08-24 Roberto Lublinerman <rluble@gmail.com> 1199 1200 * lang.opt: Add fgo-optimize-. 1201 * go-lang.c (go_langhook_handle_option): Handle OPT_fgo_optimize. 1202 * go-c.h (go_enable_optimize): Declare. 1203 * Make-lang.in (GO_OBJS): Add go/go-optimize.o. 1204 (GO_EXPORT_H): Define. 1205 (GO_IMPORT_H): Add $(GO_EXPORT_H). 1206 (GO_AST_DUMP_H): Define. 1207 (go/ast-dump.o, go/statements.o): Use GO_AST_DUMP_H. 1208 (go/export.o, go/gogo.o, go/import.o): Use GO_EXPORT_H. 1209 (go/types.o): Likewise. 1210 (go/expressions.o): Use GO_AST_DUMP_H and GO_EXPORT_H. 1211 (go/go-optimize.o): New target. 1212 12132011-08-24 Joseph Myers <joseph@codesourcery.com> 1214 1215 * Make-lang.in (CFLAGS-go/go-lang.o): New. 1216 (go/go-lang.o): Remove explicit compilation rule. 1217 12182011-08-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 1219 1220 * Make-lang.in (gccgo$(exeext)): Add $(EXTRA_GCC_LIBS). 1221 12222011-08-02 Roberto Lublinerman <rluble@gmail.com> 1223 1224 * Make-lang.in (GO_OBJS): Add go/ast-dump.o. 1225 (go/ast-dump.o): New target. 1226 (go/expressions.o): Depend on go/gofrontend/ast-dump.h. 1227 (go/statements.o): Likewise. 1228 12292011-07-06 Richard Guenther <rguenther@suse.de> 1230 1231 * go-lang.c (go_langhook_init): 1232 Merge calls to build_common_tree_nodes and build_common_tree_nodes_2. 1233 12342011-06-14 Joseph Myers <joseph@codesourcery.com> 1235 1236 * Make-lang.in (go/go-lang.o, go/go-backend.o): Update 1237 dependencies. 1238 * go-backend.c: Include common/common-target.h. 1239 (go_write_export_data): Use targetm_common.have_named_sections. 1240 * go-lang.c: Include common/common-target.h. 1241 (go_langhook_init_options_struct): Use 1242 targetm_common.supports_split_stack. 1243 12442011-06-13 Ian Lance Taylor <iant@google.com> 1245 1246 * Make-lang.in (go/expressions.o): Depend on $(GO_RUNTIME_H). 1247 12482011-06-10 Ian Lance Taylor <iant@google.com> 1249 1250 * go-gcc.cc: Include "toplev.h". 1251 (Gcc_backend::immutable_struct): New function. 1252 (Gcc_backend::immutable_struct_set_init): New function. 1253 (Gcc_backend::immutable_struct_reference): New function. 1254 * Make-lang.in (go/go-gcc.o): Depend on toplev.h. 1255 12562011-06-09 Ian Lance Taylor <iant@google.com> 1257 1258 * go-gcc.cc (Gcc_backend::zero_expression): New function. 1259 12602011-06-07 Richard Guenther <rguenther@suse.de> 1261 1262 * go-lang.c (go_langhook_init): Do not set 1263 size_type_node or call set_sizetype. 1264 12652011-05-27 Ian Lance Taylor <iant@google.com> 1266 1267 * go-backend.c: Include "output.h". 1268 (go_write_export_data): New function. 1269 * go-c.h (go_write_export_data): Declare. 1270 * Make-lang.in (go/go-backend.o): Depend on output.h. 1271 (go/export.o): Depend on $(GO_C_H). Do not depend on 1272 $(MACHMODE_H), output.h, or $(TARGET_H). 1273 12742011-05-24 Joseph Myers <joseph@codesourcery.com> 1275 1276 * Make-lang.in (GCCGO_OBJS): Remove prefix.o. 1277 (gccgo$(exeext)): Use libcommon-target.a. 1278 12792011-05-20 Joseph Myers <joseph@codesourcery.com> 1280 1281 * Make-lang.in (GCCGO_OBJS): Remove intl.o and version.o. 1282 12832011-05-13 Ian Lance Taylor <iant@google.com> 1284 1285 * go-gcc.cc (Gcc_backend::function_type): When building a struct 1286 for multiple results, check that all fields types have a size. 1287 (Gcc_backend::placeholder_pointer_type): Permit name to be empty. 1288 12892011-05-12 Ian Lance Taylor <iant@google.com> 1290 1291 * go-gcc.cc (Gcc_backend::local_variable): Add is_address_taken 1292 parameter. 1293 (Gcc_backend::parameter_variable): Likewise. 1294 12952011-05-07 Eric Botcazou <ebotcazou@adacore.com> 1296 1297 * go-lang.c (global_bindings_p): Return bool and simplify. 1298 12992011-05-05 Nathan Froyd <froydnj@codesourcery.com> 1300 1301 * go-gcc.cc (Gcc_backend::switch_statement): Call build_case_label. 1302 13032011-05-04 Ian Lance Taylor <iant@google.com> 1304 1305 * go-gcc.cc (Gcc_backend::struct_type): Call fill_in_struct. 1306 (Gcc_backend::fill_in_struct): New function. 1307 (Gcc_backend::array_type): Implement. 1308 (Gcc_backend::fill_in_array): New function. 1309 (Gcc_backend::placeholder_pointer_type): New function. 1310 (Gcc_backend::set_placeholder_pointer_type): New function. 1311 (Gcc_backend::set_placeholder_function_type): New function. 1312 (Gcc_backend::placeholder_struct_type): New function. 1313 (Gcc_backend::set_placeholder_struct_type): New function. 1314 (Gcc_backend::placeholder_array_type): New function. 1315 (Gcc_backend::set_placeholder_array_type): New function. 1316 (Gcc_backend::named_type): New function. 1317 (Gcc_backend::circular_pointer_type): New function. 1318 (Gcc_backend::is_circular_pointer_type): New function. 1319 13202011-04-26 Ian Lance Taylor <iant@google.com> 1321 1322 * go-gcc.cc (Gcc_backend::struct_type): Implement. 1323 13242011-04-25 Ian Lance Taylor <iant@google.com> 1325 1326 * go-gcc.cc (Gcc_backend::error_type): Implement. 1327 (Gcc_backend::string_type): Remove. 1328 (Gcc_backend::function_type): Change signature and implement. 1329 (Gcc_backend::struct_type): Change signature. 1330 (Gcc_backend::slice_type, Gcc_backend::map_type): Remove. 1331 (Gcc_backend::channel_type, Gcc_backend::interface_type): Remove. 1332 (Gcc_backend::pointer_type): Check for error. 1333 * Make-lang.in (go/types.o): Depend on go/gofrontend/backend.h. 1334 13352011-04-25 Evan Shaw <edsrzf@gmail.com> 1336 1337 * go-gcc.c (class Gcc_tree): Make get_tree const. 1338 (Gcc_backend::void_type): Implement. 1339 (Gcc_backend::bool_type): Implement. 1340 (Gcc_backend::integer_type): Implement. 1341 (Gcc_backend::float_type): Implement. 1342 (Gcc_backend::complex_type): New function. 1343 (Gcc_backend::pointer_type): New function. 1344 (Gcc_backend::make_type): New function. 1345 (type_to_tree): New function. 1346 13472011-04-21 Ian Lance Taylor <iant@google.com> 1348 1349 * go-system.h (go_assert, go_unreachable): Define. 1350 13512011-04-19 Ian Lance Taylor <iant@google.com> 1352 1353 * go-system.h: Include "intl.h". 1354 * Make-lang.in (GO_SYSTEM_H): Add intl.h. 1355 (go/statements.o): Remove dependencies on intl.h $(TREE_H) 1356 $(GIMPLE_H) convert.h tree-iterator.h $(TREE_FLOW_H) $(REAL_H). 1357 13582011-04-19 Ian Lance Taylor <iant@google.com> 1359 1360 * go-gcc.cc (Gcc_backend::temporary_variable): New function. 1361 13622011-04-19 Ian Lance Taylor <iant@google.com> 1363 1364 * go-gcc.cc (class Bblock): Define. 1365 (Gcc_backend::if_statement): Change then_block and else_block to 1366 Bblock*. 1367 (Gcc_backend::block): New function. 1368 (Gcc_backend::block_add_statements): New function. 1369 (Gcc_backend::block_statement): New function. 1370 (tree_to_block, block_to_tree): New functions. 1371 13722011-04-18 Ian Lance Taylor <iant@google.com> 1373 1374 * go-gcc.cc: Include "go-c.h". 1375 (class Bvariable): Define. 1376 (Gcc_backend::init_statement): New function. 1377 (Gcc_backend::global_variable): New function. 1378 (Gcc_backend::global_variable_set_init): New function. 1379 (Gcc_backend::local_variable): New function. 1380 (Gcc_backend::parameter_variable): New function. 1381 (tree_to_type, var_to_tree): New functions. 1382 * Make-lang.in (go/go-gcc.o): Depend on $(GO_C_H). 1383 * (go/gogo-tree.o): Depend on go/gofrontend/backend.h. 1384 13852011-04-15 Ian Lance Taylor <iant@google.com> 1386 1387 * go-gcc.cc (Gcc_backend::compound_statement): New function. 1388 (Gcc_backend::assignment_statement): Use error_statement. 1389 (Gcc_backend::return_statement): Likewise. 1390 (Gcc_backend::if_statement): Likewise. 1391 (Gcc_backend::switch_statement): Likewise. 1392 (Gcc_backend::statement_list): Likewise. 1393 13942011-04-14 Ian Lance Taylor <iant@google.com> 1395 1396 * go-gcc.cc (Gcc_backend::error_statement): New function. 1397 13982011-04-13 Ian Lance Taylor <iant@google.com> 1399 1400 * Make-lang.in (go/gogo-tree.o): depend on $(GO_RUNTIME_H). 1401 14022011-04-13 Ian Lance Taylor <iant@google.com> 1403 1404 * Make-lang.in (GO_OBJS): Add go/runtime.o. 1405 (GO_RUNTIME_H): New variable. 1406 (go/runtime.o): New target. 1407 (go/gogo.o): Depend on $(GO_RUNTIME_H). 1408 (go/statements.o): Likewise. 1409 14102011-04-12 Nathan Froyd <froydnj@codesourcery.com> 1411 1412 * go-lang.c (union lang_tree_node): Check for TS_COMMON before 1413 calling TREE_CHAIN. 1414 14152011-04-06 Ian Lance Taylor <iant@google.com> 1416 1417 * go-gcc.cc (if_statement): Use build3_loc. 1418 (Gcc_backend::switch_statement): New function. 1419 (Gcc_backend::statement_list): New function. 1420 14212011-04-06 Ian Lance Taylor <iant@google.com> 1422 1423 * go-gcc.cc (Gcc_backend::if_statement): New function. 1424 (tree_to_stat): New function. 1425 (expr_to_tree): Renamed from expression_to_tree. 1426 (stat_to_tree): Renamed from statement_to_tree. 1427 14282011-04-06 Ian Lance Taylor <iant@google.com> 1429 1430 * go-gcc.cc (Gcc_backend::expression_statement): New function. 1431 14322011-04-04 Ian Lance Taylor <iant@google.com> 1433 1434 * go-gcc.c (class Blabel): Define. 1435 (Gcc_backend::make_expression): New function. 1436 (get_identifier_from_string): New function. 1437 (Gcc_backend::label): New function. 1438 (Gcc_backend::label_definition_statement): New function. 1439 (Gcc_backend::goto_statement): New function. 1440 (Gcc_backend::label_address): New function. 1441 (expression_to_tree): New function. 1442 * Make-lang.in (go/expressions.o): Depend on 1443 go/gofrontend/backend.h. 1444 (go/gogo.o): Likewise. 1445 14462011-04-04 Ian Lance Taylor <iant@google.com> 1447 1448 * go-gcc.cc: #include "tree-iterator.h", "gimple.h", and "gogo.h". 1449 (class Bfunction): Define. 1450 (Gcc_backend::assignment_statement): Rename from assignment. 1451 Check for errors. 1452 (Gcc_backend::return_statement): New function. 1453 (tree_to_function): New function. 1454 * Make-lang.in (go/go-gcc.o): Depend on tree-iterator.h, 1455 $(GIMPLE_H), and $(GO_GOGO_H). 1456 14572011-04-03 Ian Lance Taylor <iant@google.com> 1458 1459 * go-gcc.cc: New file. 1460 * Make-lang.in (GO_OBJS): Add go/go-gcc.o. 1461 (go/go-gcc.o): New target. 1462 (go/go.o): Depend on go/gofrontend/backend.h. 1463 (go/statements.o): Likewise. 1464 14652011-02-14 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 1466 1467 * gccgo.texi (Top, Import and Export): Fix a typo and a markup nit. 1468 14692011-02-08 Ian Lance Taylor <iant@google.com> 1470 1471 * go-lang.c (go_langhook_init_options_struct): Set 1472 frontend_set_flag_errno_math. Don't set x_flag_trapping_math. 1473 14742011-01-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 1475 1476 * gospec.c (lang_specific_driver) [HAVE_LD_STATIC_DYNAMIC] Use 1477 LD_STATIC_OPTION, LD_DYNAMIC_OPTION. 1478 14792011-01-21 Ian Lance Taylor <iant@google.com> 1480 1481 * go-lang.c (go_langhook_init): Omit float_type_size when calling 1482 go_create_gogo. 1483 * go-c.h: Update declaration of go_create_gogo. 1484 14852011-01-13 Ian Lance Taylor <iant@google.com> 1486 1487 * go-backend.c: Include "rtl.h" and "target.h". 1488 (go_imported_unsafe): New function. 1489 * go-c.h (go_imported_unsafe): Declare. 1490 * Make-lang.in (go/go-backend.o): Depend on $(RTL_H). 1491 (go/gogo-tree.o): Remove dependency on $(RTL_H). 1492 (go/unsafe.o): Depend on $(GO_C_H). 1493 14942010-12-31 Joern Rennecke <amylaar@spamcop.net> 1495 1496 PR go/47113 1497 * go-backend.c: (go_field_alignment): Add ATTRIBUTE_UNUSED to 1498 variable ‘field’ . 1499 15002010-12-21 Ian Lance Taylor <iant@google.com> 1501 1502 * Make-lang.in (check-go): Remove. 1503 (lang_checks_parallelized): Add check-go. 1504 (check_go_parallelize): Set. 1505 15062010-12-13 Ian Lance Taylor <iant@google.com> 1507 1508 * gospec.c (lang_specific_driver): Add a -o option if not linking 1509 and there is no -o option already. 1510 15112010-12-07 Ian Lance Taylor <iant@google.com> 1512 1513 PR tree-optimization/46805 1514 PR tree-optimization/46833 1515 * go-lang.c (go_langhook_type_for_mode): Handle vector modes. 1516 15172010-12-06 Ian Lance Taylor <iant@google.com> 1518 1519 PR other/46789 1520 PR bootstrap/46812 1521 * go-lang.c (go_char_p): Define type and vectors. 1522 (go_search_dirs): New static variable. 1523 (go_langhook_handle_option): Use version and version/machine 1524 directories for -L. 1525 (go_langhook_post_options): Add non-specific -L paths. 1526 * Make-lang.in (go/go-lang.o): Define DEFAULT_TARGET_VERSION and 1527 DEFAULT_TARGET_MACHINE when compiling. 1528 * gccgo.texi (Invoking gccgo): Only document -L for linking. 1529 (Import and Export): Don't mention -L for finding import files. 1530 15312010-12-03 Ian Lance Taylor <iant@google.com> 1532 1533 PR bootstrap/46776 1534 * go-backend.c: New file. 1535 * go-c.h (go_type_alignment): Declare. 1536 (go_field_alignment, go_trampoline_info): Declare. 1537 * Make-lang.in (GO_OBJS): Add go/go-backend.o. 1538 (go/go-backend.o): New target. 1539 (go/go-lang.o): Make dependencies match source file. 1540 (go/expressions.o): Don't depend on $(TM_H) $(TM_P_H). 1541 (go/gogo-tree.o): Don't depend on $(TM_H). 1542 15432010-12-03 Ian Lance Taylor <iant@google.com> 1544 1545 * config-lang.in (build_by_default): Set to no. 1546 15472010-12-02 Ian Lance Taylor <iant@google.com> 1548 1549 Go frontend added to gcc repository. 1550 1551Copyright (C) 2010-2018 Free Software Foundation, Inc. 1552 1553Copying and distribution of this file, with or without modification, 1554are permitted in any medium without royalty provided the copyright 1555notice and this notice are preserved. 1556