12020-03-04 Release Manager 2 3 * GCC 8.4.0 released. 4 52019-02-22 Release Manager 6 7 * GCC 8.3.0 released. 8 92018-07-26 Release Manager 10 11 * GCC 8.2.0 released. 12 132018-05-02 Release Manager 14 15 * GCC 8.1.0 released. 16 172018-02-03 Ian Lance Taylor <iant@golang.org> 18 19 * go-gcc.cc (Gcc_backend::fill_in_struct): Mark struct types as 20 using structural equality. 21 222018-02-02 Ian Lance Taylor <iant@golang.org> 23 24 * go-gcc.cc (Gcc_backend::type_size): Return 0 for 25 void_type_node. 26 (Gcc_backend::convert_expression): Don't convert if the type of 27 expr_tree is void_type_node. 28 (Gcc_backend::array_index_expression): Don't index if the type of 29 the array expression is void_type_node. 30 (Gcc_backend::init_statement): Don't initialize if the type of the 31 initializer expression is void_type_node. 32 (Gcc_backend::assignment_statement): Don't assign if the type of 33 either the left or right hand side is void_type_node. 34 (Gcc_backend::temporary_variable): Don't initialize if the type of 35 the initializer expression is void_type_node. 36 372018-02-01 Cherry Zhang <cherryyz@google.com> 38 39 * lang.opt (fgo-optimize): Remove RejectNegative. 40 * go-c.h (go_enable_optimize): Update declaration to take value 41 argument. 42 * go-lang.c (go_langhook_handle_option): Pass value to 43 go_enable_optimize. 44 * gccgo.texi (Invoking gccgo): Update -fgo-optimize-allocs doc. 45 462018-01-30 Ian Lance Taylor <iant@golang.org> 47 48 * go-gcc.cc (Gcc_backend::convert_tree): New private method. 49 (Gcc_backend::constructor_expression): Call it. 50 (Gcc_backend::assignment_statement): Likewise. 51 (Gcc_backend::temporary_variable): Likewise. 52 532018-01-09 Cherry Zhang <cherryyz@google.com> 54 55 * go-gcc.cc (local_variable): Add decl_var parameter. 56 572018-01-09 Cherry Zhang <cherryyz@google.com> 58 59 * lang.opt (fgo-debug-escape-hash): New option. 60 * go-c.h (struct go_create_gogo_args): Add debug_escape_hash 61 field. 62 * go-lang.c (go_langhook_init): Set debug_escape_hash field. 63 * gccgo.texi (Invoking gccgo): Document -fgo-debug-escape-hash. 64 652018-01-05 Ian Lance Taylor <iant@golang.org> 66 67 * go-gcc.cc (Gcc_backend::Gcc_backend): Correct 68 math_function_type_long to take one argument. 69 702018-01-03 Richard Sandiford <richard.sandiford@linaro.org> 71 Alan Hayward <alan.hayward@arm.com> 72 David Sherwood <david.sherwood@arm.com> 73 74 * go-lang.c (go_langhook_type_for_mode): Handle MODE_VECTOR_BOOL. 75 762018-01-03 Richard Sandiford <richard.sandiford@linaro.org> 77 Alan Hayward <alan.hayward@arm.com> 78 David Sherwood <david.sherwood@arm.com> 79 80 * go-lang.c (go_langhook_type_for_mode): Check valid_vector_subparts_p. 81 822018-01-03 Jakub Jelinek <jakub@redhat.com> 83 84 Update copyright years. 85 86 * gccgo.texi: Bump @copyrights-go year. 87 882017-12-12 Tony Reix <tony.reix@atos.net> 89 Ian Lance Taylor <iant@golang.org> 90 91 * go-lang.c (TARGET_AIX): Define if not defined. 92 (go_langhook_init): Set nil_check_size_threshold to -1 on AIX. 93 942017-12-01 Ian Lance Taylor <iant@golang.org> 95 96 * go-gcc.cc (Gcc_backend::Gcc_backend): Define 97 __builtin_unreachable. 98 (Gcc_backend::function): Add does_not_return parameter. 99 1002017-12-01 Than McIntosh <thanm@google.com> 101 102 * go-c.h (go_create_gogo_args): Add nil_check_size_threshold 103 field. 104 * go-lang.c (go_langhook_init): Set nil_check_size_threshold. 105 1062017-11-28 Jakub Jelinek <jakub@redhat.com> 107 108 * go-gcc.cc (Gcc_backend::switch_statement): Build SWITCH_EXPR using 109 build2_loc instead of build3_loc. 110 1112017-11-14 Than McIntosh <thanm@google.com> 112 113 * go-gcc.cc (var_expression): Remove Varexpr_context parameter. 114 1152017-10-11 Tony Reix <tony.reix@atos.net> 116 117 * go-system.h (__STDC_FORMAT_MACROS): Define before including any 118 system header files, as is done in ../system.h. 119 1202017-10-05 Ian Lance Taylor <iant@golang.org> 121 122 * Make-lang.in (GO_OBJS): Add go/names.o. 123 1242017-08-30 Richard Sandiford <richard.sandiford@linaro.org> 125 Alan Hayward <alan.hayward@arm.com> 126 David Sherwood <david.sherwood@arm.com> 127 128 * go-lang.c (go_langhook_type_for_mode): Use is_complex_float_mode. 129 1302017-08-30 Richard Sandiford <richard.sandiford@linaro.org> 131 Alan Hayward <alan.hayward@arm.com> 132 David Sherwood <david.sherwood@arm.com> 133 134 * go-lang.c (go_langhook_type_for_mode): Use is_int_mode. 135 1362017-08-30 Richard Sandiford <richard.sandiford@linaro.org> 137 Alan Hayward <alan.hayward@arm.com> 138 David Sherwood <david.sherwood@arm.com> 139 140 * go-lang.c (go_langhook_type_for_mode): Use is_float_mode. 141 1422017-08-07 Martin Liska <mliska@suse.cz> 143 144 * go-gcc.cc (Gcc_backend::function): Look up for no_split_stack 145 and not __no_split_stack__. 146 1472017-07-27 Tony Reix <tony.reix@atos.net> 148 149 * go-backend.c (go_write_export_data): Use EXCLUDE section for 150 AIX. 151 1522017-06-09 Ian Lance Taylor <iant@golang.org> 153 154 * go-lang.c (go_langhook_post_options): If -fsplit-stack is turned 155 on, disable implicit -forder-blocks-and-partition. 156 1572017-05-12 Than McIntosh <thanm@google.com> 158 159 * go-gcc.cc (Gcc_backend::call_expression): Add caller parameter. 160 1612017-05-11 Ian Lance Taylor <iant@google.com> 162 163 PR go/64238 164 * go-gcc.cc (Gcc_backend::implicit_variable_reference): Set 165 DECL_EXTERNAL, clear TREE_STATIC. 166 1672017-05-10 Than McIntosh <thanm@google.com> 168 169 * go-backend.c: Include "go-c.h". 170 * go-gcc.cc (Gcc_backend::write_export_data): New method. 171 1722017-05-10 Ian Lance Taylor <iant@google.com> 173 174 * go-gcc.cc (Gcc_backend::Gcc_backend): Declare 175 __builtin_prefetch. 176 * Make-lang.in (GO_OBJS): Add go/wb.o. 177 1782017-03-28 Than McIntosh <thanm@google.com> 179 180 PR go/80226 181 * go-gcc.cc (Gcc_backend::return_statement): Check for 182 void_type_node when checking result size. 183 1842017-02-20 Ian Lance Taylor <iant@golang.org> 185 186 PR go/79642 187 * lang.opt (-fgo-relative-import-path): Change space to tab. 188 1892017-02-07 Richard Biener <rguenther@suse.de> 190 191 PR tree-optimization/79256 192 PR middle-end/79278 193 * go-backend.c (go_field_alignment): Adjust. 194 1952017-01-11 Than McIntosh <thanm@google.com> 196 197 * go-gcc.cc (conditional_expression): Add Bfunction parameter. 198 1992017-01-01 Jakub Jelinek <jakub@redhat.com> 200 201 Update copyright years. 202 203 * gccgo.texi: Bump @copyrights-go year. 204 2052016-12-16 Than McIntosh <thanm@google.com> 206 207 * go-gcc.cc (Gcc_backend::expression_statement): Add Bfunction* 208 parameter. 209 (Gcc_backend::init_statement): Likewise. 210 (Gcc_backend::assignment_statement): Likewise. 211 (Gcc_backend::if_statement): Likewise. 212 2132016-12-06 Than McIntosh <thanm@google.com> 214 215 * go-gcc.cc (Gcc_backend::var_expression): Add Varexpr_context 216 parameter. 217 2182016-11-22 Than McIntosh <thanm@google.com> 219 220 * go-gcc.cc (char_needs_encoding): Remove. 221 (needs_encoding, fetch_utf8_char, encode_id): Remove. 222 (Gcc_backend::global_variable): Add asm_name parameter. Don't 223 compute asm_name here. 224 (Gcc_backend::implicit_variable): Likewise. 225 (Gcc_backend::implicit_variable_reference): Likewise. 226 (Gcc_backend::immutable_struct): Likewise. 227 (Gcc_backend::immutable_struct_reference): Likewise. 228 * Make-lang.in (GO_OBJS): Add go/go-encode-id.o. 229 2302016-11-22 Ian Lance Taylor <iant@google.com> 231 232 * go-gcc.cc (Gcc_backend::Gcc_backend): Add builtin function 233 __builtin_frame_address. 234 2352016-10-25 David Malcolm <dmalcolm@redhat.com> 236 237 * go-lang.c (go_langhook_type_for_mode): Remove redundant cast 238 from result of GET_MODE_CLASS. Minor formatting fixes. 239 2402016-10-13 Thomas Preud'homme <thomas.preudhomme@arm.com> 241 242 * go-backend.c: Include memmodel.h. 243 2442016-10-10 Than McIntosh <thanm@google.com> 245 246 * go-gcc.h: New file. 247 * go-c.h (struct go_create_gogo_args): Add backend and linemap 248 fields. 249 * go-lang.c: Include "go-gcc.h". 250 (go_langhook_init): Set linemap and backend fields of args. 251 * go-gcc.cc: Include "go-gcc.h". 252 * go-linemap.cc: Include "go-gcc.h". 253 2542016-10-10 Than McIntosh <thanm@google.com> 255 256 * go-linemap.cc (Gcc_linemap::location_line): New method. 257 2582016-10-10 Eric Botcazou <ebotcazou@adacore.com> 259 260 * config-lang.in (lang_requires_boot_languages): Delete. 261 2622016-10-06 Chris Manghane <cmang@google.com> 263 264 * go-gcc.cc (Gcc_backend::stack_allocation_expression): Clear the 265 returned memory. 266 2672016-09-27 Than McIntosh <thanm@google.com> 268 269 * go-linemap.cc (Gcc_linemap::to_string): New method. 270 2712016-09-23 Than McIntosh <thanm@google.com> 272 273 * go-gcc-diagnostics.cc: New file. 274 * go-location.h (Location): Remove operator source_location. Add 275 operator==. 276 * go-system.h: #include <sstream>. 277 * Make-lang.in (GO_OBJS): Add go/go-diagnostics.o and 278 go/go-gcc-diagnostics.o. 279 (CFLAGS-go/go-gcc-diagnostics.o): New variable. 280 2812016-09-23 Chris Manghane <cmang@google.com> 282 283 PR go/77701 284 * go-gcc.cc (Gcc_backend::Gcc_backend): Fix calls to integer_type 285 to pass arguments in the correct order. 286 2872016-09-22 Ian Lance Taylor <iant@golang.org> 288 289 * go-gcc.cc (Gcc_backend::Gcc_backend): Declare 290 __builtin_frame_address. 291 2922016-09-11 Ian Lance Taylor <iant@golang.org> 293 294 * go-gcc.cc (Gcc_backend::Gcc_backend): Add builtin versions of 295 ctz, ctzll, bswap32, bswap64. 296 2972016-09-10 Ian Lance Taylor <iant@golang.org> 298 299 * go-backend.c (go_trampoline_info): Remove. 300 * go-c.h (go_trampoline_info): Don't declare. 301 3022016-09-09 Than McIntosh <thanm@google.com> 303 304 * go-sha1.cc: New file. 305 * Make-lang.in (GO_OBJS): Add go/go-sha1.o. 306 (CFLAGS-go/go-sha1.o): New variable. 307 3082016-08-29 Ian Lance Taylor <iant@google.com> 309 310 * lang.opt (fgo-c-header, fgo-compiling-runtime): New options. 311 * go-c.h (struct go_create_gogo_args): Define. 312 (go_create_gogo): Change declaration to take struct pointer. 313 * go-lang.c (go_c_header): New static variable. 314 (go_langhook_init): Update call to go_create_gogo. 315 * gccgo.texi (Invoking gccgo): Document -fgo-c-header and 316 -fgo-compiling-runtime. 317 3182016-08-09 Ian Lance Taylor <iant@google.com> 319 320 * gccgo.texi (Invoking gccgo): Document -fgo-optimize-allocs and 321 -fgo-debug-escae. 322 (Compiler Directives): New chapter. 323 (Function Names): Describe using //go:linkname. Suggest using 324 -fgo-pkgpath rather than -fgo-prefix. 325 3262016-08-08 Ian Lance Taylor <iant@google.com> 327 328 PR go/72814 329 * go-gcc.cc (Gcc_backend::function_type): If the return type is 330 zero bytes, treat the function as returning void. 331 (return_statement): If the return type is zero bytes, don't 332 actually return any values. 333 3342016-08-05 Ian Lance Taylor <iant@google.com> 335 336 PR go/72812 337 * go-gcc.cc (char_needs_encoding): New static function. 338 (needs_encoding, fetch_utf8_char): New static functions. 339 (encode_id): New static function. 340 (Gcc_backend::global_variable): Set asm name if the name is not 341 simple ASCII. 342 (Gcc_backend::implicit_variable): Likewise. 343 (Gcc_backend::implicit_variable_reference): Likewise. 344 (Gcc_backend::immutable_struct): Likewise. 345 (Gcc_backend::immutable_struct_reference): Likewise. 346 (Gcc_backend::function): Likewise. 347 3482016-08-02 Chris Manghane <cmang@google.com> 349 350 * lang.opt: Add -fgo-debug-escape option. 351 * go-c.h (go_create_gogo): Add debug_escape_level parameter. 352 * go-lang.c (go_langhook_init): Pass go_debug_escape_level to 353 go_create_gogo. 354 3552016-05-06 Chris Manghane <cmang@google.com> 356 357 * Make-lang.in (GO_OBJS): Add go/escape.o (based on an entirely 358 new escape.cc). 359 3602016-04-29 Chris Manghane <cmang@google.com> 361 362 * Make-lang.in (GO_OBJS): Remove go/dataflow.o, go/escape.o. 363 3642016-04-18 Michael Matz <matz@suse.de> 365 366 * go-gcc.cc (Gcc_backend::implicit_variable): Use SET_DECL_ALIGN. 367 3682016-02-12 Jakub Jelinek <jakub@redhat.com> 369 370 * gofrontend/lex.cc: Spelling fixes - behaviour -> behavior and 371 neighbour -> neighbor. 372 * gccgo.texi: Likewise. 373 3742016-01-27 Ian Lance Taylor <iant@google.com> 375 376 * go-lang.c (go_langhook_init_options_struct): Default to 377 -fkeep-gc-roots-live. 378 3792016-01-04 Jakub Jelinek <jakub@redhat.com> 380 381 Update copyright years. 382 383 * gccgo.texi: Bump @copyrights-go year. 384 3852015-12-21 Ian Lance Taylor <iant@google.com> 386 387 * go-gcc.cc (class Bvariable): Remove Gcc_tree parent class. Add 388 t_ and orig_type_ fields. Add new two parameter constructor. Add 389 get_tree and get_decl methods. 390 (Gcc_backend::var_expression): Pass location to var get_tree. 391 (Gcc_backend::global_variable): Don't add VIEW_CONVERT_EXPR. Use 392 two parameter constructor for Bvariable. 393 (Gcc_backend::global_variable_set_init): Don't remove 394 VIEW_CONVERT_EXPR. Use var get_decl, not get_tree. 395 (Gcc_backend::write_global_definitions): Likewise. 396 (Gcc_backend::init_statement): Call var get_decl, not get_tree. 397 (Gcc_backend::block): Likewise. 398 (Gcc_backend::implicit_variable_set_init): Likewise. 399 (Gcc_backend::immutable_struct_set_init): Likewise. 400 (Gcc_backend::function_set_parameters): Likewise. 401 4022015-12-21 Ian Lance Taylor <iant@google.com> 403 404 * go-gcc.cc (Gcc_backend::global_variable): If type is zero-sized, 405 add a VIEW_CONVERT_EXPR to the tree. 406 (Gcc_backend::global_variable_set_init): Remove any 407 VIEW_CONVERT_EXPR. 408 (Gcc_backend::write_global_definitions): Likewise. 409 4102015-11-30 Ian Lance Taylor <iant@google.com> 411 412 PR go/68477 413 * go-gcc.cc (Gcc_backend::string_constant_expression): Don't set 414 TYPE_STRING_FLAG on a variant type. 415 4162015-11-11 Andrew MacLeod <amacleod@redhat.com> 417 418 * go-backend.c: Remove unused header files. 419 * go-gcc.cc: Likewise. 420 * go-lang.c: Likewise. 421 * gospec.c: Likewise. 422 4232015-10-29 Andrew MacLeod <amacleod@redhat.com> 424 425 * go-backend.c: Reorder #include's and remove duplicates. 426 * go-lang.c: Likewise. 427 4282015-10-20 Alan Modra <amodra@gmail.com> 429 430 PR go/66870 431 * gospec.c (saw_opt_m32): Rename to.. 432 (is_m64): ..this, initialised by TARGET_CAN_SPLIT_STACK_64BIT. 433 Update uses. 434 (lang_specific_driver): Set is_m64 if OPT_m64, clear if OPT_m32. 435 4362015-10-01 Ian Lance Taylor <iant@google.com> 437 438 PR go/66870 439 * gospec.c (lang_specific_driver): Only look for OPT_m32 if 440 TARGET_CAN_SPLIT_STACK_64BIT is defined. 441 4422015-10-01 Lynn Boger <laboger@linux.vnet.ibm.com> 443 444 PR target/66870 445 * gospec.c (lang_specific_driver): Set appropriate split stack 446 options for 64 bit compiles based on TARGET_CAN_SPLIT_STACK_64BIT. 447 4482015-09-10 Chris Manghane <cmang@google.com> 449 450 * go-gcc.cc (Gcc_backend::type_size): Return -1 for 451 unrepresentable size. 452 4532015-08-24 Marek Polacek <polacek@redhat.com> 454 455 PR tree-optimization/67284 456 * go-gcc.cc (Gcc_backend::define_builtin): Add NORETURN_P parameter. 457 Set TREE_THIS_VOLATILE. 458 (Gcc_backend::Gcc_backend): Mark __builtin_trap as a noreturn call. 459 Pass false to the rest of define_builtin calls. 460 4612015-07-31 Andreas Schwab <schwab@linux-m68k.org> 462 463 * go-lang.c (go_langhook_init_options_struct): Don't set 464 x_flag_split_stack. 465 (go_langhook_post_options): Set it here instead. 466 4672015-07-12 Aldy Hernandez <aldyh@redhat.com> 468 469 * gofrontend/backend.h: Fix double word typos. 470 * gofrontend/expressions.cc: Same. 471 * gospec.c: Same. 472 4732015-07-07 Andrew MacLeod <amacleod@redhat.com> 474 475 * go-backend.c: Adjust includes. 476 * go-gcc.cc: Likewise. 477 * go-lang.c: Likewise. 478 4792015-06-25 Andrew MacLeod <amacleod@redhat.com> 480 481 * go-gcc.cc: Remove ipa-ref.h and plugin-api.h from include list. 482 4832015-06-17 Andrew MacLeod <amacleod@redhat.com> 484 485 * go-backend.c: Do not include input.h, line-map.h or is-a.h. 486 * go-gcc.cc: Likewise. 487 * go-lang.c: Likewise. 488 * go-system.h: Likewise. 489 4902015-06-08 Andrew MacLeod <amacleod@redhat.com> 491 492 * go-backend.c : Adjust include files. 493 * go-gcc.cc : Likewise. 494 * go-lang.c : Likewise. 495 4962015-06-05 Aldy Hernandez <aldyh@redhat.com> 497 498 * go-gcc.cc (write_global_definitions): Remove call to 499 finalize_compilation_unit. 500 Remove Go specific debug generation. 501 * go-lang.c (go_langhook_parse_file): Call go_write_globals. 502 (go_langhook_write_globals): Remove. 503 Remove LANG_HOOKS_WRITE_GLOBALS everywhere. 504 5052015-06-04 Andrew MacLeod <amacleod@redhat.com> 506 507 * go-backend.c: Adjust includes for restructured coretypes.h. 508 * go-c.h: Likewise. 509 * go-gcc.cc: Likewise. 510 * go-lang.c: Likewise. 511 5122015-04-30 Chris Manghane <cmang@google.com> 513 514 * go-gcc.cc (Gcc_backend::stack_allocation_expression): New 515 method. 516 5172015-04-27 Jim Wilson <jim.wilson@linaro.org> 518 519 * Make-lang.in (go.mostlyclean): Remove gccgo, gccgo-cross, and go1. 520 5212015-04-17 Chris Manghane <cmang@google.com> 522 523 * Make-lang.in (GO_OBJS): Add go/escape.o. 524 5252015-02-02 Ian Lance Taylor <iant@google.com> 526 527 PR go/64836 528 PR go/64838 529 * go-gcc.cc (Gcc_backend::type_size): Change return type to 530 int64_t. 531 (Gcc_backend::type_alignment): Likewise. 532 (Gcc_backend::type_field_alignment): Likewise. 533 (Gcc_backend::type_field_offset): Likewise. 534 (Gcc_backend::implicit_variable): Change alignment parameter type 535 to int64_t. 536 5372015-01-23 Ian Lance Taylor <iant@google.com> 538 539 PR go/63565 540 * gccgo.texi (Invoking gccgo): Mention that Go programs should not 541 be stripped. 542 543 * gccgo.texi (C Interoperability): Mention that people should use 544 cgo. 545 5462015-01-23 Ian Lance Taylor <iant@google.com> 547 548 PR go/64595 549 * go-lang.c (go_langhook_init_options_struct): Set default 550 debug_info_level. 551 (go_langhook_post_options): If debug_info_level is still the 552 default, make sure write_symbols is set. 553 * gccgo.texi (Invoking gccgo): Document that -g1 is the default. 554 5552015-01-16 Richard Henderson <rth@redhat.com> 556 557 * go-gcc.cc (Gcc_backend::call_expression): Add chain_expr argument. 558 (Gcc_backend::static_chain_variable): New method. 559 5602015-01-09 Ian Lance Taylor <iant@google.com> 561 562 * config-lang.in (lang_dirs): Define. 563 5642015-01-09 Michael Collison <michael.collison@linaro.org> 565 566 * go-gcc.cc: Include hash-set.h, machmode.h, vec.h, double-int.h, 567 input.h, alias.h, symtab.h, options.h, fold-const.h, 568 wide-int.h, and inchash.h due to flattening of tree.h. 569 * go-lang.c: Ditto. 570 * go-backend.c: Ditto. 571 5722015-01-07 Chris Manghane <cmang@google.com> 573 574 PR go/61204 575 * go-gcc.cc (Gcc_backend::temporary_variable): Don't initialize 576 zero-sized variable. 577 5782015-01-06 Chris Manghane <cmang@google.com> 579 580 * go-gcc.cc (Gcc_backend::constructor_expression): Don't 581 initialize zero-sized fields, just evaluate the values for side 582 effects. 583 5842015-01-05 Jakub Jelinek <jakub@redhat.com> 585 586 Update copyright years. 587 588 * gccgo.texi: Bump @copyrights-go year. 589 5902014-12-19 Chris Manghane <cmang@google.com> 591 592 * go-gcc.cc (Gcc_backend::array_constructor_expression): Don't 593 construct arrays of zero-sized values. 594 5952014-10-29 Richard Sandiford <richard.sandiford@arm.com> 596 597 * go-lang.c: Remove redundant enum from machine_mode. 598 5992014-10-28 Andrew MacLeod <amacleod@redhat.com> 600 601 * go-gcc.cc: Adjust include files. 602 6032014-10-27 Andrew MacLeod <amacleod@redhat.com> 604 605 * go-gcc.cc: Adjust include files. 606 * go-lang.c: Ditto. 607 6082014-10-23 Ian Lance Taylor <iant@google.com> 609 610 * go-gcc.cc (Gcc_backend::complex_constant_expression): Take one 611 mpc_t parameter instead of two mpfr_t parameters. 612 6132014-09-15 Jakub Jelinek <jakub@redhat.com> 614 615 * Make-lang.in (check_go_parallelize): Change to just an upper bound 616 number. 617 6182014-09-03 Chris Manghane <cmang@google.com> 619 620 * go-gcc.cc (Gcc_backend::implicit_variable): Remove init 621 parameter. Add is_hidden parameter. 622 (Gcc_backend::implicit_variable_set_init): New method. 623 (Gcc_backend::implicit_variable_reference): New method. 624 6252014-08-08 Ian Lance Taylor <iant@google.com> 626 627 * go-gcc.cc (Gcc_backend::compound_statement): Don't return 628 NULL_TREE. 629 6302014-07-24 Uros Bizjak <ubizjak@gmail.com> 631 632 * go-gcc.cc (Gcc_backend::global_variable_set_init): Rename 633 symtab_get_node to symtab_node::get. 634 6352014-06-13 Ian Lance Taylor <iant@google.com> 636 637 PR go/61496 638 * gospec.c (lang_specific_driver): On Solaris, when not using GNU 639 ld, add -t option to avoid warning about common symbol changing 640 size. 641 6422014-06-10 Jan Hubicka <hubicka@ucw.cz> 643 644 * go-gcc.cc (Gcc_backend::global_variable_set_init): Use 645 symtab_get_node(var_decl)->implicit_section. 646 6472014-06-07 Jan Hubicka <hubicka@ucw.cz> 648 649 * go-gcc.cc (global_variable_set_init): Use 650 set_decl_section_name. 651 6522014-06-04 Ian Lance Taylor <iant@google.com> 653 654 * go-gcc.cc (Gcc_backend::implicit_variable): Add is_common and 655 alignment parameters. Permit init parameter to be NULL. 656 6572014-06-02 Andrew MacLeod <amacleod@redhat.com> 658 659 * go-gcc.cc: Include builtins.h. 660 6612014-05-17 Trevor Saunders <tsaunders@mozilla.com> 662 663 * go-lang.c (struct GTY): Don't use variable_size gty attribute. 664 6652014-05-06 Chris Manghane <cmang@google.com> 666 667 * go-gcc.cc (Gcc_backend::nil_pointer_expression): New method. 668 (Gcc_backend::boolean_constant_expression): New method. 669 (Gcc_backend::zero_expression): Use this->make_expression rather 670 than tree_to_expr. 671 (Gcc_backend::var_expression): Likewise. 672 (Gcc_backend::integer_constant_expression): Likewise. 673 (Gcc_backend::float_constant_expression): Likewise. 674 (Gcc_backend::complex_constant_expression): Likewise. 675 (Gcc_backend::struct_field_expression): Likewise. 676 (tree_to_type, tree_to_expr, tree_to_stat): Remove functions. 677 (tree_to_function, tree_to_block): Remove functions. 678 (type_to_tree, expr_to_tree, stat_to_tree): Remove functions. 679 (block_to_tree, var_to_tree, function_to_tree): Remove functions. 680 6812014-05-06 Kenneth Zadeck <zadeck@naturalbridge.com> 682 Mike Stump <mikestump@comcast.net> 683 Richard Sandiford <rdsandiford@googlemail.com> 684 685 * go-gcc.cc (Gcc_backend::type_size): Use tree_fits_uhwi_p. 686 6872014-05-06 Chris Manghane <cmang@google.com> 688 689 * go-c.h (go_create_gogo): Update declaration to add 690 check_divide_zero and check_divide_overflow parameters. 691 * go-lang.c (go_langhook_init): Pass new arguments to 692 go_create_gogo. 693 6942014-05-05 Chris Manghane <cmang@google.com> 695 696 * go-gcc.cc (Gcc_backend::implicit_variable): Rename from 697 gc_root_variable. Add name and is_constant parameters. 698 6992014-05-05 Chris Manghane <cmang@google.com> 700 701 * go-gcc.cc (Gcc_backend::indirect_expression): Add btype 702 parameter. 703 (Gcc_backend::temporary_variable): Check for erroneous function. 704 7052014-04-30 Chris Manghane <cmang@google.com> 706 707 * go-backend.c: #include "diagnostics.h". 708 (saw_errors): New function. 709 * go-c.h (saw_errors): Declare. 710 * Make-lang.in (GO_OBJS): Remove go/gogo-tree.o. 711 7122014-04-30 Chris Manghane <cmang@google.com> 713 714 * go-lang.c (go_langhook_type_for_size): Do it here, rather than 715 calling into Go frontend. 716 (go_langhook_type_for_mode): Likewise. 717 * go-c.h (go_type_for_size, go_type_for_mode): Don't declare. 718 7192014-04-30 Chris Manghane <cmang@google.com> 720 721 * go-gcc.cc: #include "langhooks.h". 722 (Gcc_backend::Gcc_backend): Add constructor. 723 (Gcc_backend::lookup_function): New function. 724 (Gcc_backend::define_builtin): New private function. 725 (Gcc_backend::gcc_backend): Remove. 726 (go_get_backend): Use new to create new Gcc_backend. 727 7282014-04-25 Chris Manghane <cmang@google.com> 729 730 * go-gcc.cc: Include "cgraph.h" and "gimplify.h". 731 (Gcc_backend::return_statement): Push and pop function. 732 (Gcc_backend::label): Likewise. 733 (Gcc_backend::function_defer_statement): Likewise. 734 (Gcc_backend::switch_statement): Add function parameter. 735 (Gcc_backend::block): Don't permit function to be NULL. 736 (Gcc_backend::temporary_variable): Change go_assert to 737 gcc_assert. 738 (Gcc_backend::gc_root_variable): New function. 739 (Gcc_backend::write_global_definitions): New function. 740 7412014-04-22 Chris Manghane <cmang@google.com> 742 743 * go-gcc.cc (Gcc_backend::temporary_variable): Push cfun around 744 call to create_tmp_var. Require that function be non-NULL. 745 7462014-04-17 Chris Manghane <cmang@google.com> 747 748 * go-gcc.cc (Gcc_backend::named_constant_expression): New 749 function. 750 7512014-04-14 Chris Manghane <cmang@google.com> 752 753 * go-gcc.cc: Include "convert.h". 754 (Gcc_backend::string_constant_expression): New function. 755 (Gcc_backend::real_part_expression): Likewise. 756 (Gcc_backend::imag_part_expression): Likewise. 757 (Gcc_backend::complex_expression): Likewise. 758 (Gcc_backend::constructor_expression): Likewise. 759 (Gcc_backend::array_constructor_expression): Likewise. 760 (Gcc_backend::pointer_offset_expression): Likewise. 761 (Gcc_backend::array_index_expression): Likewise. 762 (Gcc_backend::call_expression): Likewise. 763 (Gcc_backend::exception_handler_statement): Likewise. 764 (Gcc_backend::function_defer_statement): Likewise. 765 (Gcc_backend::function_set_parameters): Likewise. 766 (Gcc_backend::function_set_body): Likewise. 767 (Gcc_backend::convert_expression): Handle various type 768 conversions. 769 7702014-03-03 Ian Lance Taylor <iant@google.com> 771 772 * go-gcc.cc (Gcc_backend::immutable_struct): If IS_COMMON, set 773 DECL_WEAK. 774 (GCC_backend::immutable_struct_set_init): If IS_COMMON, clear 775 DECL_WEAK. 776 7772014-01-24 Chris Manghane <cmang@google.com> 778 779 * go-gcc.cc (Gcc_backend::unary_expression): New function. 780 7812014-01-16 Chris Manghane <cmang@google.com> 782 783 * go-gcc.cc (Gcc_backend::conditional_expression): Add btype 784 parameter. 785 (operator_to_tree_code): New static function. 786 (Gcc_backend::binary_expression): New function. 787 7882014-01-14 Chris Manghane <cmang@google.com> 789 790 * go-gcc.cc (Gcc_backend::compound_expression): New function. 791 (Gcc_backend::conditional_expression): New function. 792 7932014-01-02 Richard Sandiford <rdsandiford@googlemail.com> 794 795 Update copyright years 796 7972014-01-02 Tobias Burnus <burnus@net-b.de> 798 799 * gccgo.texi: Bump @copying's copyright year. 800 8012013-12-16 Chris Manghane <cmang@google.com> 802 803 * go-gcc.cc (Gcc_backend::struct_field_expression): New function. 804 8052013-12-11 Ian Lance Taylor <iant@google.com> 806 807 * go-lang.c (go_langhook_post_options): Disable sibling calls by 808 default. 809 8102013-12-10 Ian Lance Taylor <iant@google.com> 811 812 * Make-lang.in (check_go_parallelize): Test go-test.exp r* tests 813 separately. 814 8152013-12-05 Ian Lance Taylor <iant@google.com> 816 817 Revert this change; no longer required. 818 2013-11-06 Ian Lance Taylor <iant@google.com> 819 820 * go-lang.c (go_langhook_post_options): If 821 -fisolate-erroneous-paths was turned on by an optimization option, 822 turn it off. 823 8242013-11-23 Ian Lance Taylor <iant@google.com> 825 826 * go-gcc.cc (Gcc_backend::function_type): Add result_struct 827 parameter. 828 8292013-11-22 Andrew MacLeod <amacleod@redhat.com> 830 831 * go-gcc.cc: Add required include files from gimple.h. 832 * go-lang.c: Likewise 833 8342013-11-18 Richard Sandiford <rdsandiford@googlemail.com> 835 836 * gofrontend/expressions.cc: Replace tree_low_cst (..., 0) with 837 tree_to_shwi throughout. 838 8392013-11-18 Richard Sandiford <rdsandiford@googlemail.com> 840 841 * gofrontend/expressions.cc: Replace host_integerp (..., 0) with 842 tree_fits_shwi_p throughout. 843 8442013-11-14 Andrew MacLeod <amacleod@redhat.com> 845 846 * go-lang.c: Include only gimplify.h and gimple.h as needed. 847 8482013-11-14 Diego Novillo <dnovillo@google.com> 849 850 * go-backend.c: Include stor-layout.h. 851 * go-gcc.cc: Include stringpool.h. 852 Include stor-layout.h. 853 Include varasm.h. 854 * go-lang.c: Include stor-layout.h. 855 8562013-11-12 Andrew MacLeod <amacleod@redhat.com> 857 858 * go-lang.c: Include gimplify.h. 859 8602013-11-06 Ian Lance Taylor <iant@google.com> 861 862 * go-lang.c (go_langhook_post_options): If 863 -fisolate-erroneous-paths was turned on by an optimization option, 864 turn it off. 865 8662013-10-14 Chris Manghane <cmang@google.com> 867 868 * go-gcc.cc (Gcc_backend::address_expression): New function. 869 8702013-10-11 Chris Manghane <cmang@google.com> 871 872 * go-gcc.cc (Gcc_backend::function_code_expression): New 873 function. 874 8752013-10-10 Chris Manghane <cmang@google.com> 876 877 * go-gcc.cc (Gcc_backend::error_function): New function. 878 (Gcc_backend::function): New function. 879 (Gcc_backend::make_function): New function. 880 (function_to_tree): New function. 881 8822013-10-04 Chris Manghane <cmang@google.com> 883 884 * go-gcc.cc (Gcc_backend::convert_expression): New function. 885 8862013-10-02 Chris Manghane <cmang@google.com> 887 888 * go-gcc.cc: Include "real.h" and "realmpfr.h". 889 (Gcc_backend::integer_constant_expression): New function. 890 (Gcc_backend::float_constant_expression): New function. 891 (Gcc_backend::complex_constant_expression): New function. 892 8932013-09-30 Chris Manghane <cmang@google.com> 894 895 * go-gcc.cc (Gcc_backend::error_expression): New function. 896 (Gcc_backend::var_expression): New function. 897 (Gcc_backend::indirect_expression): New function. 898 8992013-09-25 Tom Tromey <tromey@redhat.com> 900 901 * Make-lang.in (gospec.o): Remove. 902 (CFLAGS-go/gospec.o): New variable. 903 (GCCGO_OBJS): Update to use go/gospec.o. 904 (go_OBJS): Define. 905 (GO_SYSTEM_H, GO_C_H, GO_LINEMAP_H, GO_LEX_H, GO_PARSE_H) 906 (GO_GOGO_H, GO_TYPES_H, GO_STATEMENTS_H, GO_EXPRESSIONS_H) 907 (GO_EXPORT_H, GO_IMPORT_H, GO_RUNTIME_H, GO_AST_DUMP_H) 908 (go/go-backend.o, go/go-lang.o, go/go-gcc.o, go/go-linemap.o) 909 (go/ast-dump.o, go/dataflow.o, go/export.o, go/expressions.o) 910 (go/go.o, go/go-dump.o, go/go-optimize.o, go/gogo-tree.o) 911 (go/gogo.o, go/import.o, go/import-archive.o, go/lex.o) 912 (go/parse.o, go/runtime.o, go/statements.o, go/types.o) 913 (go/unsafe.o): Remove. 914 (CFLAGS-go/go-gcc.o, CFLAGS-go/go-linemap.o): New variables. 915 (go/%.o: go/gofrontend/%.cc): Use COMPILE and POSTCOMPILE. 916 9172013-09-25 Tom Tromey <tromey@redhat.com> 918 919 * Make-lang.in (gospec.o): Don't use subshell. 920 9212013-08-28 Ian Lance Taylor <iant@google.com> 922 923 * go-gcc.cc (Gcc_backend::immutable_struct): Set TREE_PUBLIC if 924 the struct is not hidden. 925 (Gcc_backend::immutable_struct_set_init): Don't set TREE_PUBLIC. 926 9272013-08-06 Ian Lance Taylor <iant@google.com> 928 929 * go-gcc.cc (Gcc_backend::immutable_struct_set_init): Use 930 compute_reloc_for_constant. 931 9322013-08-02 Ian Lance Taylor <iant@google.com> 933 934 * go-gcc.cc (immutable_struct_set_init): Always call 935 resolve_unique_section. 936 9372013-07-24 Ian Lance Taylor <iant@google.com> 938 939 * go-gcc.cc (Gcc_backend::non_zero_size_type): If a struct has a 940 fields, recreate those fields with the first one with a non-zero 941 size. 942 9432013-07-23 Ian Lance Taylor <iant@google.com> 944 945 * go-backend.c: Don't #include "rtl.h". 946 (go_imported_unsafe): Don't call init_varasm_once. 947 * Make-lang.in (go/go-backend.o): Don't depend on $(RTL_H). 948 9492013-07-23 Ian Lance Taylor <iant@google.com> 950 951 * go-lang.c: Don't #include "except.h". 952 * Make-lang.in (go/go-lang.o): Don't depend on $(EXCEPT_H). 953 9542013-06-18 Ian Lance Taylor <iant@google.com> 955 956 * go-gcc.cc (Gcc_backend::immutable_struct): Add is_hidden 957 parameter. 958 (Gcc_backend::immutable_struct_set_init): Likewise. 959 9602013-05-16 Jason Merrill <jason@redhat.com> 961 962 * Make-lang.in (go1$(exeext)): Use link mutex. 963 9642013-01-16 Shenghou Ma <minux.ma@gmail.com> 965 966 * gospec.c: pass -u pthread_create to linker when static linking. 967 9682012-12-21 Ian Lance Taylor <iant@google.com> 969 970 PR bootstrap/54659 971 * go-system.h: Don't include <cstdio>. 972 9732012-12-18 Ian Lance Taylor <iant@google.com> 974 975 PR go/55201 976 * gospec.c: Revert last patch. 977 9782012-12-18 Andreas Schwab <schwab@linux-m68k.org> 979 980 PR go/55201 981 * gospec.c (LIBATOMIC): Define. 982 (LIBATOMIC_PROFILE): Define. 983 (lang_specific_driver): Add LIBATOMIC[_PROFILE] option. 984 9852012-11-29 Ian Lance Taylor <iant@google.com> 986 987 * go-gcc.cc: Include "output.h". 988 (global_variable): Add is_unique_section parameter. 989 (global_variable_set_init): Adjust unique section if necessary. 990 * Make-lang.in (go/go-gcc.o): Add dependency on output.h. 991 9922012-11-17 Diego Novillo <dnovillo@google.com> 993 994 Adjust for new vec API (http://gcc.gnu.org/wiki/cxx-conversion/cxx-vec) 995 996 * go-lang.c: Use new vec API in vec.h. 997 9982012-11-16 Ian Lance Taylor <iant@google.com> 999 1000 * Make-lang.in (gccgo$(exeext)): Add + at start of command. 1001 (go1$(exeext)): Likewise. 1002 10032012-10-30 Ian Lance Taylor <iant@google.com> 1004 1005 * lang.opt (-fgo-relative-import-path): New option. 1006 * go-lang.c (go_relative_import_path): New static variable. 1007 (go_langhook_init): Pass go_relative_import_path to 1008 go_create_gogo. 1009 (go_langhook_handle_option): Handle -fgo-relative-import-path. 1010 * go-c.h (go_create_gogo): Update declaration. 1011 * gccgo.texi (Invoking gccgo): Document 1012 -fgo-relative-import-path. 1013 10142012-09-17 Ian Lance Taylor <iant@google.com> 1015 1016 * config-lang.in (target_libs): Add target-libbacktrace. 1017 10182012-09-16 Ian Lance Taylor <iant@google.com> 1019 1020 * Make-lang.in (go/gogo.o): Depend on filenames.h. 1021 10222012-08-14 Diego Novillo <dnovillo@google.com> 1023 1024 Merge from cxx-conversion branch. Configury. 1025 1026 * go-c.h: Remove all handlers of ENABLE_BUILD_WITH_CXX. 1027 * go-gcc.cc: Likewise. 1028 * go-system.h: Likewise. 1029 10302012-07-24 Uros Bizjak <ubizjak@gmail.com> 1031 1032 * go-lang.c (lang_decl): Add variable_size GTY option. 1033 10342012-05-09 Ian Lance Taylor <iant@google.com> 1035 1036 * lang.opt: Add -fgo-pkgpath. 1037 * go-lang.c (go_pkgpath): New static variable. 1038 (go_prefix): New static variable. 1039 (go_langhook_init): Pass go_pkgpath and go_prefix to 1040 go_create_gogo. 1041 (go_langhook_handle_option): Handle -fgo-pkgpath. Change 1042 -fgo-prefix handling to just set go_prefix. 1043 * go-c.h (go_set_prefix): Don't declare. 1044 (go_create_gogo): Add pkgpath and prefix to declaration. 1045 * go-gcc.cc (Gcc_backend::global_variable): Change unique_prefix 1046 to pkgpath. Don't include the package name in the asm name. 1047 * gccgo.texi (Invoking gccgo): Document -fgo-pkgpath. Update the 1048 docs for -fgo-prefix. 1049 10502012-04-23 Ian Lance Taylor <iant@google.com> 1051 1052 * go-lang.c (go_langhook_init): Set MPFR precision to 256. 1053 10542012-04-20 Ian Lance Taylor <iant@google.com> 1055 1056 * lang.opt: Add -fgo-check-divide-zero and 1057 -fgo-check-divide-overflow. 1058 * gccgo.texi (Invoking gccgo): Document new options. 1059 10602012-04-18 Steven Bosscher <steven@gcc.gnu.org> 1061 1062 * go-gcc.cc (Gcc_backend::switch_statement): Build SWITCH_EXPR 1063 with NULL_TREE type instead of void_type_node. 1064 10652012-03-09 Ian Lance Taylor <iant@google.com> 1066 1067 * go-gcc.cc (Gcc_backend::assignment_statement): Convert the rhs 1068 to the lhs type if necessary. 1069 10702012-03-08 Ian Lance Taylor <iant@google.com> 1071 1072 * go-gcc.cc (Gcc_backend::init_statement): Don't initialize a 1073 zero-sized variable. 1074 (go_non_zero_struct): New global variable. 1075 (Gcc_backend::non_zero_size_type): New function. 1076 (Gcc_backend::global_variable): Don't build an assignment for a 1077 zero-sized value. 1078 * go-c.h (go_non_zero_struct): Declare. 1079 * config-lang.in (gtfiles): Add go-c.h. 1080 10812012-02-29 Ian Lance Taylor <iant@google.com> 1082 1083 * go-gcc.cc (class Gcc_tree): Add set_tree method. 1084 (set_placeholder_pointer_type): When setting to a pointer to 1085 error, set to error_mark_node. 1086 10872012-02-23 Richard Guenther <rguenther@suse.de> 1088 1089 * go-gcc.cc (Gcc_backend::placeholder_pointer_type): Use 1090 build_distinct_type_copy. 1091 10922012-02-17 Ian Lance Taylor <iant@google.com> 1093 1094 * Make-lang.in (go/import.o): Add dependency on $(GO_LEX_H). 1095 10962012-02-17 Ian Lance Taylor <iant@google.com> 1097 1098 * gospec.c (lang_specific_driver): If linking, and no -o option 1099 was used, add one. 1100 11012012-02-14 Ian Lance Taylor <iant@google.com> 1102 1103 PR go/48411 1104 * Make-lang.in (gccgo-cross$(exeext)): New target. 1105 (go.all.cross): Depend on gccgo-cross$(exeext) instead of 1106 gccgo$(exeext). 1107 (go.install-common): Only install GCCGO_TARGET_INSTALL_NAME if 1108 gccgo-cross$(exeext) does not exist. 1109 11102012-02-07 Ian Lance Taylor <iant@google.com> 1111 1112 * gccgo.texi (Function Names): Document //extern instead of 1113 __asm__. 1114 11152012-02-01 Jakub Jelinek <jakub@redhat.com> 1116 1117 PR target/52079 1118 * go-lang.c (go_langhook_type_for_mode): For TImode and 64-bit HWI 1119 return build_nonstandard_integer_type result if possible. 1120 11212012-01-21 Ian Lance Taylor <iant@google.com> 1122 1123 * go-gcc.cc (Gcc_backend::type_size): Check for error_mark_node. 1124 (Gcc_backend::type_alignment): Likewise. 1125 (Gcc_backend::type_field_alignment): Likewise. 1126 (Gcc_backend::type_field_offset): Likewise. 1127 11282012-01-20 Ian Lance Taylor <iant@google.com> 1129 1130 * go-gcc.cc (Gcc_backend::placeholder_struct_type): Permit name to 1131 be empty. 1132 (Gcc_backend::set_placeholder_struct_type): Likewise. 1133 11342012-01-17 Ian Lance Taylor <iant@google.com> 1135 1136 * gospec.c (lang_specific_driver): If we see -S without -o, add -o 1137 BASE.s rather than -o BASE.o. 1138 11392012-01-11 Ian Lance Taylor <iant@google.com> 1140 1141 * go-lang.c (go_langhook_init): Initialize void_list_node before 1142 calling go_create_gogo. 1143 11442012-01-10 Ian Lance Taylor <iant@google.com> 1145 1146 * go-gcc.cc (Gcc_backend::type_size): New function. 1147 (Gcc_backend::type_alignment): New function. 1148 (Gcc_backend::type_field_alignment): New function. 1149 (Gcc_backend::type_field_offset): New function. 1150 * go-backend.c (go_type_alignment): Remove. 1151 * go-c.h (go_type_alignment): Don't declare. 1152 11532011-12-27 Ian Lance Taylor <iant@google.com> 1154 1155 * go-gcc.cc (Gcc_backend::set_placeholder_struct_type): Use 1156 build_distinct_type_copy rather than build_variant_type_copy. 1157 (Gcc_backend::set_placeholder_array_type): Likewise. 1158 (Gcc_backend::named_type): Add special handling for builtin 1159 basic types. 1160 11612011-12-22 Ian Lance Taylor <iant@google.com> 1162 1163 * go-gcc.cc (Gcc_backend::set_placeholder_pointer_type): Arrange 1164 for the type name to have a DECL_ORIGINAL_TYPE as gcc expects. 1165 (Gcc_backend::set_placeholder_struct_type): Likewise. 1166 (Gcc_backend::set_placeholder_array_type): Likewise. 1167 (Gcc_backend::named_type): Set DECL_ORIGINAL_TYPE. 1168 11692011-12-13 Ian Lance Taylor <iant@google.com> 1170 1171 * go-backend.c: #include "simple-object.h" and "intl.h". 1172 (GO_EXPORT_SEGMENT_NAME): Define if not defined. 1173 (GO_EXPORT_SECTION_NAME): Likewise. 1174 (go_write_export_data): Use GO_EXPORT_SECTION_NAME. 1175 (go_read_export_data): New function. 1176 * go-c.h (go_read_export_data): Declare. 1177 11782011-11-29 Sanjoy Das <thedigitalangel@gmail.com> 1179 Ian Lance Taylor <iant@google.com> 1180 1181 * go-location.h: New file. 1182 * go-linemap.cc: New file. 1183 * go-gcc.cc: Change all uses of source_location to Location. 1184 * Make-lang.in (GO_OBJS): Add go/go-linemap.o. 1185 (GO_LINEMAP_H): New variable. 1186 (GO_LEX_H): Use $(GO_LINEMAP_H). 1187 (GO_GOGO_H, GO_TYPES_H, GO_IMPORT_H): Likewise. 1188 (go/go-linemap.o): New target. 1189 11902011-11-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 1191 1192 * Make-lang.in (gospec.o): Pass SHLIB instead of SHLIB_LINK. 1193 11942011-08-24 Roberto Lublinerman <rluble@gmail.com> 1195 1196 * lang.opt: Add fgo-optimize-. 1197 * go-lang.c (go_langhook_handle_option): Handle OPT_fgo_optimize. 1198 * go-c.h (go_enable_optimize): Declare. 1199 * Make-lang.in (GO_OBJS): Add go/go-optimize.o. 1200 (GO_EXPORT_H): Define. 1201 (GO_IMPORT_H): Add $(GO_EXPORT_H). 1202 (GO_AST_DUMP_H): Define. 1203 (go/ast-dump.o, go/statements.o): Use GO_AST_DUMP_H. 1204 (go/export.o, go/gogo.o, go/import.o): Use GO_EXPORT_H. 1205 (go/types.o): Likewise. 1206 (go/expressions.o): Use GO_AST_DUMP_H and GO_EXPORT_H. 1207 (go/go-optimize.o): New target. 1208 12092011-08-24 Joseph Myers <joseph@codesourcery.com> 1210 1211 * Make-lang.in (CFLAGS-go/go-lang.o): New. 1212 (go/go-lang.o): Remove explicit compilation rule. 1213 12142011-08-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 1215 1216 * Make-lang.in (gccgo$(exeext)): Add $(EXTRA_GCC_LIBS). 1217 12182011-08-02 Roberto Lublinerman <rluble@gmail.com> 1219 1220 * Make-lang.in (GO_OBJS): Add go/ast-dump.o. 1221 (go/ast-dump.o): New target. 1222 (go/expressions.o): Depend on go/gofrontend/ast-dump.h. 1223 (go/statements.o): Likewise. 1224 12252011-07-06 Richard Guenther <rguenther@suse.de> 1226 1227 * go-lang.c (go_langhook_init): 1228 Merge calls to build_common_tree_nodes and build_common_tree_nodes_2. 1229 12302011-06-14 Joseph Myers <joseph@codesourcery.com> 1231 1232 * Make-lang.in (go/go-lang.o, go/go-backend.o): Update 1233 dependencies. 1234 * go-backend.c: Include common/common-target.h. 1235 (go_write_export_data): Use targetm_common.have_named_sections. 1236 * go-lang.c: Include common/common-target.h. 1237 (go_langhook_init_options_struct): Use 1238 targetm_common.supports_split_stack. 1239 12402011-06-13 Ian Lance Taylor <iant@google.com> 1241 1242 * Make-lang.in (go/expressions.o): Depend on $(GO_RUNTIME_H). 1243 12442011-06-10 Ian Lance Taylor <iant@google.com> 1245 1246 * go-gcc.cc: Include "toplev.h". 1247 (Gcc_backend::immutable_struct): New function. 1248 (Gcc_backend::immutable_struct_set_init): New function. 1249 (Gcc_backend::immutable_struct_reference): New function. 1250 * Make-lang.in (go/go-gcc.o): Depend on toplev.h. 1251 12522011-06-09 Ian Lance Taylor <iant@google.com> 1253 1254 * go-gcc.cc (Gcc_backend::zero_expression): New function. 1255 12562011-06-07 Richard Guenther <rguenther@suse.de> 1257 1258 * go-lang.c (go_langhook_init): Do not set 1259 size_type_node or call set_sizetype. 1260 12612011-05-27 Ian Lance Taylor <iant@google.com> 1262 1263 * go-backend.c: Include "output.h". 1264 (go_write_export_data): New function. 1265 * go-c.h (go_write_export_data): Declare. 1266 * Make-lang.in (go/go-backend.o): Depend on output.h. 1267 (go/export.o): Depend on $(GO_C_H). Do not depend on 1268 $(MACHMODE_H), output.h, or $(TARGET_H). 1269 12702011-05-24 Joseph Myers <joseph@codesourcery.com> 1271 1272 * Make-lang.in (GCCGO_OBJS): Remove prefix.o. 1273 (gccgo$(exeext)): Use libcommon-target.a. 1274 12752011-05-20 Joseph Myers <joseph@codesourcery.com> 1276 1277 * Make-lang.in (GCCGO_OBJS): Remove intl.o and version.o. 1278 12792011-05-13 Ian Lance Taylor <iant@google.com> 1280 1281 * go-gcc.cc (Gcc_backend::function_type): When building a struct 1282 for multiple results, check that all fields types have a size. 1283 (Gcc_backend::placeholder_pointer_type): Permit name to be empty. 1284 12852011-05-12 Ian Lance Taylor <iant@google.com> 1286 1287 * go-gcc.cc (Gcc_backend::local_variable): Add is_address_taken 1288 parameter. 1289 (Gcc_backend::parameter_variable): Likewise. 1290 12912011-05-07 Eric Botcazou <ebotcazou@adacore.com> 1292 1293 * go-lang.c (global_bindings_p): Return bool and simplify. 1294 12952011-05-05 Nathan Froyd <froydnj@codesourcery.com> 1296 1297 * go-gcc.cc (Gcc_backend::switch_statement): Call build_case_label. 1298 12992011-05-04 Ian Lance Taylor <iant@google.com> 1300 1301 * go-gcc.cc (Gcc_backend::struct_type): Call fill_in_struct. 1302 (Gcc_backend::fill_in_struct): New function. 1303 (Gcc_backend::array_type): Implement. 1304 (Gcc_backend::fill_in_array): New function. 1305 (Gcc_backend::placeholder_pointer_type): New function. 1306 (Gcc_backend::set_placeholder_pointer_type): New function. 1307 (Gcc_backend::set_placeholder_function_type): New function. 1308 (Gcc_backend::placeholder_struct_type): New function. 1309 (Gcc_backend::set_placeholder_struct_type): New function. 1310 (Gcc_backend::placeholder_array_type): New function. 1311 (Gcc_backend::set_placeholder_array_type): New function. 1312 (Gcc_backend::named_type): New function. 1313 (Gcc_backend::circular_pointer_type): New function. 1314 (Gcc_backend::is_circular_pointer_type): New function. 1315 13162011-04-26 Ian Lance Taylor <iant@google.com> 1317 1318 * go-gcc.cc (Gcc_backend::struct_type): Implement. 1319 13202011-04-25 Ian Lance Taylor <iant@google.com> 1321 1322 * go-gcc.cc (Gcc_backend::error_type): Implement. 1323 (Gcc_backend::string_type): Remove. 1324 (Gcc_backend::function_type): Change signature and implement. 1325 (Gcc_backend::struct_type): Change signature. 1326 (Gcc_backend::slice_type, Gcc_backend::map_type): Remove. 1327 (Gcc_backend::channel_type, Gcc_backend::interface_type): Remove. 1328 (Gcc_backend::pointer_type): Check for error. 1329 * Make-lang.in (go/types.o): Depend on go/gofrontend/backend.h. 1330 13312011-04-25 Evan Shaw <edsrzf@gmail.com> 1332 1333 * go-gcc.c (class Gcc_tree): Make get_tree const. 1334 (Gcc_backend::void_type): Implement. 1335 (Gcc_backend::bool_type): Implement. 1336 (Gcc_backend::integer_type): Implement. 1337 (Gcc_backend::float_type): Implement. 1338 (Gcc_backend::complex_type): New function. 1339 (Gcc_backend::pointer_type): New function. 1340 (Gcc_backend::make_type): New function. 1341 (type_to_tree): New function. 1342 13432011-04-21 Ian Lance Taylor <iant@google.com> 1344 1345 * go-system.h (go_assert, go_unreachable): Define. 1346 13472011-04-19 Ian Lance Taylor <iant@google.com> 1348 1349 * go-system.h: Include "intl.h". 1350 * Make-lang.in (GO_SYSTEM_H): Add intl.h. 1351 (go/statements.o): Remove dependencies on intl.h $(TREE_H) 1352 $(GIMPLE_H) convert.h tree-iterator.h $(TREE_FLOW_H) $(REAL_H). 1353 13542011-04-19 Ian Lance Taylor <iant@google.com> 1355 1356 * go-gcc.cc (Gcc_backend::temporary_variable): New function. 1357 13582011-04-19 Ian Lance Taylor <iant@google.com> 1359 1360 * go-gcc.cc (class Bblock): Define. 1361 (Gcc_backend::if_statement): Change then_block and else_block to 1362 Bblock*. 1363 (Gcc_backend::block): New function. 1364 (Gcc_backend::block_add_statements): New function. 1365 (Gcc_backend::block_statement): New function. 1366 (tree_to_block, block_to_tree): New functions. 1367 13682011-04-18 Ian Lance Taylor <iant@google.com> 1369 1370 * go-gcc.cc: Include "go-c.h". 1371 (class Bvariable): Define. 1372 (Gcc_backend::init_statement): New function. 1373 (Gcc_backend::global_variable): New function. 1374 (Gcc_backend::global_variable_set_init): New function. 1375 (Gcc_backend::local_variable): New function. 1376 (Gcc_backend::parameter_variable): New function. 1377 (tree_to_type, var_to_tree): New functions. 1378 * Make-lang.in (go/go-gcc.o): Depend on $(GO_C_H). 1379 * (go/gogo-tree.o): Depend on go/gofrontend/backend.h. 1380 13812011-04-15 Ian Lance Taylor <iant@google.com> 1382 1383 * go-gcc.cc (Gcc_backend::compound_statement): New function. 1384 (Gcc_backend::assignment_statement): Use error_statement. 1385 (Gcc_backend::return_statement): Likewise. 1386 (Gcc_backend::if_statement): Likewise. 1387 (Gcc_backend::switch_statement): Likewise. 1388 (Gcc_backend::statement_list): Likewise. 1389 13902011-04-14 Ian Lance Taylor <iant@google.com> 1391 1392 * go-gcc.cc (Gcc_backend::error_statement): New function. 1393 13942011-04-13 Ian Lance Taylor <iant@google.com> 1395 1396 * Make-lang.in (go/gogo-tree.o): depend on $(GO_RUNTIME_H). 1397 13982011-04-13 Ian Lance Taylor <iant@google.com> 1399 1400 * Make-lang.in (GO_OBJS): Add go/runtime.o. 1401 (GO_RUNTIME_H): New variable. 1402 (go/runtime.o): New target. 1403 (go/gogo.o): Depend on $(GO_RUNTIME_H). 1404 (go/statements.o): Likewise. 1405 14062011-04-12 Nathan Froyd <froydnj@codesourcery.com> 1407 1408 * go-lang.c (union lang_tree_node): Check for TS_COMMON before 1409 calling TREE_CHAIN. 1410 14112011-04-06 Ian Lance Taylor <iant@google.com> 1412 1413 * go-gcc.cc (if_statement): Use build3_loc. 1414 (Gcc_backend::switch_statement): New function. 1415 (Gcc_backend::statement_list): New function. 1416 14172011-04-06 Ian Lance Taylor <iant@google.com> 1418 1419 * go-gcc.cc (Gcc_backend::if_statement): New function. 1420 (tree_to_stat): New function. 1421 (expr_to_tree): Renamed from expression_to_tree. 1422 (stat_to_tree): Renamed from statement_to_tree. 1423 14242011-04-06 Ian Lance Taylor <iant@google.com> 1425 1426 * go-gcc.cc (Gcc_backend::expression_statement): New function. 1427 14282011-04-04 Ian Lance Taylor <iant@google.com> 1429 1430 * go-gcc.c (class Blabel): Define. 1431 (Gcc_backend::make_expression): New function. 1432 (get_identifier_from_string): New function. 1433 (Gcc_backend::label): New function. 1434 (Gcc_backend::label_definition_statement): New function. 1435 (Gcc_backend::goto_statement): New function. 1436 (Gcc_backend::label_address): New function. 1437 (expression_to_tree): New function. 1438 * Make-lang.in (go/expressions.o): Depend on 1439 go/gofrontend/backend.h. 1440 (go/gogo.o): Likewise. 1441 14422011-04-04 Ian Lance Taylor <iant@google.com> 1443 1444 * go-gcc.cc: #include "tree-iterator.h", "gimple.h", and "gogo.h". 1445 (class Bfunction): Define. 1446 (Gcc_backend::assignment_statement): Rename from assignment. 1447 Check for errors. 1448 (Gcc_backend::return_statement): New function. 1449 (tree_to_function): New function. 1450 * Make-lang.in (go/go-gcc.o): Depend on tree-iterator.h, 1451 $(GIMPLE_H), and $(GO_GOGO_H). 1452 14532011-04-03 Ian Lance Taylor <iant@google.com> 1454 1455 * go-gcc.cc: New file. 1456 * Make-lang.in (GO_OBJS): Add go/go-gcc.o. 1457 (go/go-gcc.o): New target. 1458 (go/go.o): Depend on go/gofrontend/backend.h. 1459 (go/statements.o): Likewise. 1460 14612011-02-14 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 1462 1463 * gccgo.texi (Top, Import and Export): Fix a typo and a markup nit. 1464 14652011-02-08 Ian Lance Taylor <iant@google.com> 1466 1467 * go-lang.c (go_langhook_init_options_struct): Set 1468 frontend_set_flag_errno_math. Don't set x_flag_trapping_math. 1469 14702011-01-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 1471 1472 * gospec.c (lang_specific_driver) [HAVE_LD_STATIC_DYNAMIC] Use 1473 LD_STATIC_OPTION, LD_DYNAMIC_OPTION. 1474 14752011-01-21 Ian Lance Taylor <iant@google.com> 1476 1477 * go-lang.c (go_langhook_init): Omit float_type_size when calling 1478 go_create_gogo. 1479 * go-c.h: Update declaration of go_create_gogo. 1480 14812011-01-13 Ian Lance Taylor <iant@google.com> 1482 1483 * go-backend.c: Include "rtl.h" and "target.h". 1484 (go_imported_unsafe): New function. 1485 * go-c.h (go_imported_unsafe): Declare. 1486 * Make-lang.in (go/go-backend.o): Depend on $(RTL_H). 1487 (go/gogo-tree.o): Remove dependency on $(RTL_H). 1488 (go/unsafe.o): Depend on $(GO_C_H). 1489 14902010-12-31 Joern Rennecke <amylaar@spamcop.net> 1491 1492 PR go/47113 1493 * go-backend.c: (go_field_alignment): Add ATTRIBUTE_UNUSED to 1494 variable ‘field’ . 1495 14962010-12-21 Ian Lance Taylor <iant@google.com> 1497 1498 * Make-lang.in (check-go): Remove. 1499 (lang_checks_parallelized): Add check-go. 1500 (check_go_parallelize): Set. 1501 15022010-12-13 Ian Lance Taylor <iant@google.com> 1503 1504 * gospec.c (lang_specific_driver): Add a -o option if not linking 1505 and there is no -o option already. 1506 15072010-12-07 Ian Lance Taylor <iant@google.com> 1508 1509 PR tree-optimization/46805 1510 PR tree-optimization/46833 1511 * go-lang.c (go_langhook_type_for_mode): Handle vector modes. 1512 15132010-12-06 Ian Lance Taylor <iant@google.com> 1514 1515 PR other/46789 1516 PR bootstrap/46812 1517 * go-lang.c (go_char_p): Define type and vectors. 1518 (go_search_dirs): New static variable. 1519 (go_langhook_handle_option): Use version and version/machine 1520 directories for -L. 1521 (go_langhook_post_options): Add non-specific -L paths. 1522 * Make-lang.in (go/go-lang.o): Define DEFAULT_TARGET_VERSION and 1523 DEFAULT_TARGET_MACHINE when compiling. 1524 * gccgo.texi (Invoking gccgo): Only document -L for linking. 1525 (Import and Export): Don't mention -L for finding import files. 1526 15272010-12-03 Ian Lance Taylor <iant@google.com> 1528 1529 PR bootstrap/46776 1530 * go-backend.c: New file. 1531 * go-c.h (go_type_alignment): Declare. 1532 (go_field_alignment, go_trampoline_info): Declare. 1533 * Make-lang.in (GO_OBJS): Add go/go-backend.o. 1534 (go/go-backend.o): New target. 1535 (go/go-lang.o): Make dependencies match source file. 1536 (go/expressions.o): Don't depend on $(TM_H) $(TM_P_H). 1537 (go/gogo-tree.o): Don't depend on $(TM_H). 1538 15392010-12-03 Ian Lance Taylor <iant@google.com> 1540 1541 * config-lang.in (build_by_default): Set to no. 1542 15432010-12-02 Ian Lance Taylor <iant@google.com> 1544 1545 Go frontend added to gcc repository. 1546 1547Copyright (C) 2010-2018 Free Software Foundation, Inc. 1548 1549Copying and distribution of this file, with or without modification, 1550are permitted in any medium without royalty provided the copyright 1551notice and this notice are preserved. 1552