12021-10-04 Iain Buclaw <ibuclaw@gdcproject.org> 2 3 Backported from master: 4 2021-10-04 Iain Buclaw <ibuclaw@gdcproject.org> 5 6 PR d/102574 7 * d-spec.cc (lang_specific_driver): Link libstdc++ statically if 8 -static-libstdc++ was given on command-line. 9 102021-07-29 Iain Buclaw <ibuclaw@gdcproject.org> 11 12 Backported from master: 13 2021-07-29 Iain Buclaw <ibuclaw@gdcproject.org> 14 15 PR d/96435 16 * d-convert.cc (convert_for_rvalue): New function. 17 * d-tree.h (convert_for_rvalue): Declare. 18 * expr.cc (ExprVisitor::visit (CastExp *)): Use convert_for_rvalue. 19 (build_return_dtor): Likewise. 20 212021-07-28 Iain Buclaw <ibuclaw@gdcproject.org> 22 23 Backported from master: 24 2021-07-28 Iain Buclaw <ibuclaw@gdcproject.org> 25 26 PR d/101640 27 * expr.cc (binary_op): Use build2 instead of fold_build2. 28 292021-07-28 Iain Buclaw <ibuclaw@gdcproject.org> 30 31 Backported from master: 32 2021-07-28 Iain Buclaw <ibuclaw@gdcproject.org> 33 34 PR d/101490 35 * d-codegen.cc (build_array_index): Handle void arrays same as byte. 36 * d-convert.cc (convert_expr): Handle converting to zero-sized arrays. 37 * dmd/dcast.c (castTo): Handle casting to zero-sized arrays. 38 392021-07-28 Iain Buclaw <ibuclaw@gdcproject.org> 40 41 Backported from master: 42 2021-07-28 Iain Buclaw <ibuclaw@gdcproject.org> 43 44 PR d/101441 45 * dmd/expression.c (FuncInitExp::resolveLoc): Set type as `string'. 46 (PrettyFuncInitExp::resolveLoc): Likewise. 47 482021-07-28 Iain Buclaw <ibuclaw@gdcproject.org> 49 50 Backported from master: 51 2021-07-28 Iain Buclaw <ibuclaw@gdcproject.org> 52 53 PR d/101127 54 * d-builtins.cc (d_builtin_function_ext_scope): New function. 55 * d-lang.cc (LANG_HOOKS_BUILTIN_FUNCTION_EXT_SCOPE): Define. 56 * d-tree.h (d_builtin_function_ext_scope): Declare. 57 582021-07-28 Iain Buclaw <ibuclaw@gdcproject.org> 59 60 Backported from master: 61 2021-07-28 Iain Buclaw <ibuclaw@gdcproject.org> 62 63 PR d/101619 64 * dmd/expression.c (DotTemplateExp::checkType): New function. 65 (DotTemplateExp::checkValue): New function. 66 * dmd/expression.h (class DotTemplateExp): Declare checkType and 67 checkValue. 68 692021-06-11 Iain Buclaw <ibuclaw@gdcproject.org> 70 71 Backported from master: 72 2021-06-11 Iain Buclaw <ibuclaw@gdcproject.org> 73 74 PR d/100999 75 * dmd/cond.c (lowerArrayAggregate): Run CTFE interpret on foreach 76 input range. 77 (createTupleType): Don't generate typeinfo when disabled. 78 (lowerNonArrayAggregate): Suppress errors when running type semantic. 79 (staticForeachPrepare): Don't run CTFE interpret from here. 80 * dmd/dinterpret.c (ctfeInterpret): Add more shortcut cases. 81 * dmd/expression.c (resolvePropertiesX): Remove early error. 82 (Expression::checkPostblit): Don't generate typeinfo when type is 83 missing from library. 84 * dmd/expressionsem.c (ExpressionSemanticVisitor): Set type of 85 DotTemplateExp as void. 86 * dmd/statementsem.c (StatementSemanticVisitor::declareVariable): 87 Don't override index type. 88 (StatementSemanticVisitor::makeTupleForeachBody): Check index type is 89 integral and index range fits type size. 90 (StatementSemanticVisitor::visit (ForeachStatement*)): Adjust index 91 range before testing. 92 932021-06-10 Iain Buclaw <ibuclaw@gdcproject.org> 94 95 Backported from master: 96 2021-06-10 Iain Buclaw <ibuclaw@gdcproject.org> 97 98 PR d/100967 99 * d-frontend.cc (getTypeInfoType): Move TypeInfo checks to 100 check_typeinfo_type and call new function. 101 * d-tree.h (check_typeinfo_type): Declare. 102 * typeinfo.cc: Include dmd/scope.h. 103 (create_frontend_tinfo_types): Generate front-end types even if Object 104 is missing. 105 (build_typeinfo): Move TypeInfo checks to check_typeinfo_type and call 106 new function. 107 (check_typeinfo_type): New function. 108 1092021-06-09 Iain Buclaw <ibuclaw@gdcproject.org> 110 111 Backported from master: 112 2021-06-09 Iain Buclaw <ibuclaw@gdcproject.org> 113 114 PR d/100964 115 * dmd/expression.c (Expression::checkPostblit): Don't generate 116 TypeInfo when RTTI is disabled. 117 1182021-06-09 Iain Buclaw <ibuclaw@gdcproject.org> 119 120 Backported from master: 121 2021-06-09 Iain Buclaw <ibuclaw@gdcproject.org> 122 123 PR d/100935 124 * dmd/mtype.c (Type::getProperty): Prefer explicit alignment over 125 natural alignment for alignof property. 126 1272021-06-04 Iain Buclaw <ibuclaw@gdcproject.org> 128 129 Backported from master: 130 2021-06-04 Iain Buclaw <ibuclaw@gdcproject.org> 131 132 PR d/100882 133 * d-codegen.cc (build_assign): Construct initializations inside 134 TARGET_EXPR_INITIAL. 135 (compound_expr): Remove intermediate expressions that have no 136 side-effects. 137 (return_expr): Construct returns inside TARGET_EXPR_INITIAL. 138 * expr.cc (ExprVisitor::visit (CallExp *)): Remove useless assignment 139 to TARGET_EXPR_SLOT. 140 1412021-04-19 Iain Buclaw <ibuclaw@gdcproject.org> 142 143 Backported from master: 144 2021-04-19 Iain Buclaw <ibuclaw@gdcproject.org> 145 146 PR d/98457 147 * d-diagnostic.cc (expand_d_format): Handle escaped backticks. 148 (escape_d_format): New funtion. 149 (verror): Call escape_d_format on prefixing strings. 150 (vdeprecation): Likewise. 151 1522021-04-08 Release Manager 153 154 * GCC 10.3.0 released. 155 1562021-03-03 Iain Buclaw <ibuclaw@gdcproject.org> 157 158 Backported from master: 159 2021-03-03 Iain Buclaw <ibuclaw@gdcproject.org> 160 161 PR d/99337 162 * dmd/dmodule.c (checkModFileAlias): Don't read past buffer in 163 comparison. 164 1652021-02-02 Iain Buclaw <ibuclaw@gdcproject.org> 166 167 Backported from master: 168 2021-02-02 Iain Buclaw <ibuclaw@gdcproject.org> 169 170 PR d/98921 171 * dmd/dmangle.c (Mangler::visit (TypeSArray *)): Use buf->print 172 to format integer value. 173 (Mangler::visit (TypeIdentifier *)): Likewise. 174 (Mangler::toBuffer): Likewise. 175 (Mangler::visit (IntegerExp *)): Likewise. 176 (Mangler::visit (StringExp *)): Likewise. 177 (Mangler::visit (ArrayLiteralExp *)): Likewise. 178 (Mangler::visit (AssocArrayLiteralExp *)): Likewise. 179 (Mangler::visit (StructLiteralExp *)): Likewise. 180 * dmd/root/outbuffer.c (OutBuffer::print): New function. 181 * dmd/root/outbuffer.h (OutBuffer::print): Declare. 182 1832020-12-15 Iain Buclaw <ibuclaw@gdcproject.org> 184 185 Backported from master: 186 2020-12-15 Iain Buclaw <ibuclaw@gdcproject.org> 187 188 PR d/98277 189 * decl.cc (DeclVisitor::visit (VarDeclaration *)): Move setting of 190 DECL_INITIAL for manifest constants to ... 191 (get_symbol_decl): ... here. 192 1932020-11-22 Iain Buclaw <ibuclaw@gdcproject.org> 194 195 Backported from master: 196 2020-11-22 Iain Buclaw <ibuclaw@gdcproject.org> 197 198 PR d/97889 199 * expr.cc (ExprVisitor::visit (CatAssignExp *)): Enforce LTR order of 200 evaluation on left and right hand side expressions. 201 2022020-11-18 Iain Buclaw <ibuclaw@gdcproject.org> 203 204 Backported from master: 205 2020-11-18 Iain Buclaw <ibuclaw@gdcproject.org> 206 207 PR d/97843 208 * d-codegen.cc (build_assign): Evaluate TARGET_EXPR before use in 209 the right hand side of an assignment. 210 * expr.cc (ExprVisitor::visit (CatAssignExp *)): Force a TARGET_EXPR 211 on the element to append if it is a CALL_EXPR. 212 2132020-11-18 Iain Buclaw <ibuclaw@gdcproject.org> 214 215 Backported from master: 216 2020-11-18 Iain Buclaw <ibuclaw@gdcproject.org> 217 218 PR d/97842 219 * dmd/cond.c (StaticIfCondition::include): Return error if condition 220 expression is unset. 221 * dmd/mtype.c (TypeTypeof::resolve): Return error if scope is unset. 222 2232020-11-18 Iain Buclaw <ibuclaw@gdcproject.org> 224 225 Backported from master: 226 2020-11-13 Iain Buclaw <ibuclaw@gdcproject.org> 227 228 * intrinsics.cc (expand_intrinsic_copysign): Explicitly determine 229 which built-in copysign function to call. 230 2312020-11-18 Iain Buclaw <ibuclaw@gdcproject.org> 232 233 Backported from master: 234 2020-10-27 Iain Buclaw <ibuclaw@gdcproject.org> 235 236 * dmd/dtemplate.c (TemplateInstance::semantic): Propagate the root 237 module where the instantiated template should belong from the instance 238 to all member scopes. 239 2402020-10-12 Iain Buclaw <ibuclaw@gdcproject.org> 241 242 Backported from master: 243 2020-10-12 Iain Buclaw <ibuclaw@gdcproject.org> 244 245 * dmd/declaration.c (AliasDeclaration::aliasSemantic): Apply storage 246 class and protection attributes. 247 2482020-09-04 Iain Buclaw <ibuclaw@gdcproject.org> 249 250 Backported from master: 251 2020-09-04 Iain Buclaw <ibuclaw@gdcproject.org> 252 253 PR d/96924 254 * expr.cc (ExprVisitor::visit (CatAssignExp *)): Don't force 255 temporaries needlessly. 256 2572020-08-30 Iain Buclaw <ibuclaw@gdcproject.org> 258 259 Backported from master: 260 2020-08-26 Iain Buclaw <ibuclaw@gdcproject.org> 261 262 PR d/96157 263 * d-codegen.cc (d_build_call): Handle TREE_ADDRESSABLE static arrays. 264 * types.cc (make_array_type): Propagate TREE_ADDRESSABLE from base 265 type to static array. 266 2672020-08-30 Iain Buclaw <ibuclaw@gdcproject.org> 268 269 Backported from master: 270 2020-08-26 Iain Buclaw <ibuclaw@gdcproject.org> 271 272 * dmd/globals.h (Global): Add recursionLimit. 273 * dmd/dmacro.c (Macro::expand): Limit recursive expansion to 274 global.recursionLimit. 275 * dmd/dtemplate.c (deduceType): Likewise. 276 (TemplateInstance::tryExpandMembers): Likewise. 277 (TemplateInstance::trySemantic3): Likewise. 278 (TemplateMixin::semantic): Likewise. 279 * dmd/expressionsem.c (ExpressionSemanticVisitor::visit): Likewise. 280 * dmd/mtype.c (Type::noMember): Likewise. 281 (TypeFunction::semantic): Likewise. 282 * dmd/optimize.c (Expression_optimize): Likewise. 283 2842020-08-30 Iain Buclaw <ibuclaw@gdcproject.org> 285 286 Backported from master: 287 2020-08-26 Iain Buclaw <ibuclaw@gdcproject.org> 288 289 * d-lang.cc (d_parse_file): Use read() to load contents from stdin, 290 allow the front-end to free the memory after parsing. 291 * dmd/func.c (FuncDeclaration::semantic): Use module filename if 292 searchPath returns NULL. 293 2942020-08-20 Iain Buclaw <ibuclaw@gdcproject.org> 295 296 PR d/96250 297 * dmd/expressionsem.c (ExpressionSemanticVisitor::visit(TypeExp)): 298 Fix cast from Expression to VarExp. 299 3002020-08-20 Iain Buclaw <ibuclaw@gdcproject.org> 301 302 PR d/96250 303 * dmd/dstruct.c (StructDeclaration::semantic): Error if redefinition 304 of struct exists in compilation. 305 * dmd/expressionsem.c (ExpressionSemanticVisitor::visit(TypeExp)): 306 Rewrite resolved field variables as 'this.var' before semantic. 307 * dmd/parse.c (Parser::parseUnaryExp): Mark '(type) una_exp' as a 308 parenthesized expression. 309 3102020-08-20 Iain Buclaw <ibuclaw@gdcproject.org> 311 312 Backported from master: 313 2020-08-20 Iain Buclaw <ibuclaw@gdcproject.org> 314 315 * dmd/ctfeexpr.c (isCtfeValueValid): Return true for array literals as 316 well as structs. 317 * dmd/dinterpret.c: Don't reinterpret static arrays into dynamic. 318 3192020-08-20 Iain Buclaw <ibuclaw@gdcproject.org> 320 321 Backported from master: 322 2020-08-03 Iain Buclaw <ibuclaw@gdcproject.org> 323 324 PR d/96254 325 * d-codegen.cc (error_no_frame_access): New. 326 (get_frame_for_symbol): Use fdparent name in error message. 327 (get_framedecl): Replace call to assert with error. 328 * d-tree.h (error_no_frame_access): Declare. 329 * decl.cc (get_decl_tree): Detect recursion and error. 330 3312020-08-18 Iain Buclaw <ibuclaw@gdcproject.org> 332 333 Backported from master: 334 2020-08-18 Iain Buclaw <ibuclaw@gdcproject.org> 335 336 PR d/96301 337 * decl.cc (DeclVisitor::visit (FuncDeclaration *)): Only return 338 non-trivial structs by invisible reference. 339 3402020-08-01 Iain Buclaw <ibuclaw@gdcproject.org> 341 342 Backported from master: 343 2020-07-30 Iain Buclaw <ibuclaw@gdcproject.org> 344 345 PR d/96140 346 * intrinsics.cc (expand_intrinsic_vaarg): Handle ref parameters as 347 arguments to va_arg(). 348 (expand_intrinsic_vastart): Handle ref parameters as arguments to 349 va_start(). 350 3512020-07-23 Release Manager 352 353 * GCC 10.2.0 released. 354 3552020-06-28 Iain Buclaw <ibuclaw@gdcproject.org> 356 357 Backported from master: 358 2020-06-28 Iain Buclaw <ibuclaw@gdcproject.org> 359 360 * dmd/cond.c (lowerArrayAggregate): Directly use the elements of the 361 array for TupleExp creation. 362 (lowerNonArrayAggregate): Inline creation of foreach range indexes. 363 3642020-06-26 Iain Buclaw <ibuclaw@gdcproject.org> 365 366 Backported from master: 367 2020-06-25 Iain Buclaw <ibuclaw@gdcproject.org> 368 369 PR d/95250 370 * dmd/expressionsem.c (class ExpressionSemanticVisitor): Return early 371 if error occurred during semantic of DivExp. 372 3732020-06-26 Iain Buclaw <ibuclaw@gdcproject.org> 374 375 Backported from master: 376 2020-06-25 Iain Buclaw <ibuclaw@gdcproject.org> 377 378 PR d/95173 379 * d-attribs.cc (uda_attribute_p): Don't search target attribute table 380 if NULL. 381 3822020-06-02 Iain Buclaw <ibuclaw@gdcproject.org> 383 384 * d-builtins.cc (build_frontend_type): Handle struct fields with NULL 385 DECL_NAME. Use byte_position to get the real field offset. 386 3872020-05-17 Iain Buclaw <ibuclaw@gdcproject.org> 388 389 Backport from mainline 390 2020-05-06 Iain Buclaw <ibuclaw@gdcproject.org> 391 392 PR d/94970 393 * d-codegen.cc (force_target_expr): Move create_temporary_var 394 implementation inline here. 395 (create_temporary_var): Remove. 396 (maybe_temporary_var): Remove. 397 (bind_expr): Remove. 398 * d-convert.cc (d_array_convert): Use build_local_temp to generate 399 temporaries, and generate its assignment. 400 * d-tree.h (create_temporary_var): Remove. 401 (maybe_temporary_var): Remove. 402 (d_array_convert): Remove vars argument. 403 * expr.cc (ExprVisitor::visit (CatExp *)): Use build_local_temp to 404 generate temporaries, don't wrap them in a BIND_EXPR. 405 (ExprVisitor::visit (NewExp *)): Likewise. 406 4072020-05-07 Release Manager 408 409 * GCC 10.1.0 released. 410 4112020-04-30 Iain Buclaw <ibuclaw@gdcproject.org> 412 413 * gdc.texi (Options for Linking): Clarify usage of -defaultlib= and 414 -debuglib= options. 415 4162020-04-29 Iain Buclaw <ibuclaw@gdcproject.org> 417 418 * d-codegen.cc (d_decl_context): Don't include module in the name of 419 class and struct types that aren't extern(D). 420 4212020-04-27 Iain Buclaw <ibuclaw@gdcproject.org> 422 423 PR d/94777 424 * d-builtins.cc (build_frontend_type): Set parent for generated 425 fields of built-in types. 426 * d-codegen.cc (argument_reference_p): Rename to ... 427 (parameter_reference_p): ... this. 428 (type_passed_as): Rename to ... 429 (parameter_type): ... this. Make TREE_ADDRESSABLE types restrict. 430 (d_build_call): Move handling of non-POD types here from ... 431 * d-convert.cc (convert_for_argument): ... here. 432 * d-tree.h (argument_reference_p): Rename declaration to ... 433 (parameter_reference_p): ... this. 434 (type_passed_as): Rename declaration to ... 435 (parameter_type): ... this. 436 * types.cc (TypeVisitor::visit (TypeFunction *)): Update caller. 437 4382020-04-26 Iain Buclaw <ibuclaw@gdcproject.org> 439 440 * decl.cc (get_symbol_decl): Set DECL_DECLARED_INLINE_P or 441 DECL_UNINLINABLE for declarations with pragma(inline). 442 * toir.cc (IRVisitor::visit (GccAsmStatement *)): Set ASM_INLINE_P if 443 in function decorated with pragma(inline). 444 4452020-04-25 Iain Buclaw <ibuclaw@gdcproject.org> 446 447 * intrinsics.cc (expand_intrinsic_toprec): New function. 448 (maybe_expand_intrinsic): Handle toPrec intrinsics. 449 * intrinsics.def (TOPRECF, TOPREC, TOPRECL): Add toPrec intrinsics. 450 4512020-04-24 Iain Buclaw <ibuclaw@gdcproject.org> 452 453 * d-spec.cc (need_phobos): Remove. 454 (lang_specific_driver): Replace need_phobos with phobos_library. 455 Reorder -debuglib and -defaultlib to have precedence over libphobos. 456 (lang_specific_pre_link): Remove test for need_phobos. 457 4582020-04-19 Iain Buclaw <ibuclaw@gdcproject.org> 459 460 PR d/94609 461 * d-codegen.cc (argument_reference_p): Don't check TREE_ADDRESSABLE. 462 (type_passed_as): Build reference type if TREE_ADDRESSABLE. 463 * d-convert.cc (convert_for_argument): Build explicit TARGET_EXPR if 464 needed for arguments passed by invisible reference. 465 * types.cc (TypeVisitor::visit (TypeStruct *)): Mark all structs that 466 are not POD as TREE_ADDRESSABLE. 467 4682020-04-13 Iain Buclaw <ibuclaw@gdcproject.org> 469 470 * Make-lang.in (D_FRONTEND_OBJS): Remove d/argtypes.o. 471 * d-target.cc (Target::toArgTypes): New function. 472 4732020-04-10 Iain Buclaw <ibuclaw@gdcproject.org> 474 475 * d-spec.cc (LIBDRUNTIME): Remove. 476 (LIBDRUNTIME_PROFILE): Remove. 477 (lang_specific_driver): Don't link in libgdruntime. 478 4792020-04-07 Iain Buclaw <ibuclaw@gdcproject.org> 480 481 PR d/94425 482 * toir.cc (IRVisitor::visit (GccAsmStatement *)): Set ASM_VOLATILE_P 483 on all asm statements. 484 4852020-04-01 Iain Buclaw <ibuclaw@gdcproject.org> 486 487 PR d/90136 488 * d-attribs.cc: Include dmd/attrib.h. 489 (build_attributes): Redeclare as static. 490 (apply_user_attributes): New function. 491 * d-tree.h (class UserAttributeDeclaration): Remove. 492 (build_attributes): Remove. 493 (apply_user_attributes): Declare. 494 (finish_aggregate_type): Remove attrs argument. 495 * decl.cc (get_symbol_decl): Merge declaration prototypes with 496 definitions. Use apply_user_attributes. 497 * modules.cc (layout_moduleinfo_fields): Remove last argument to 498 finish_aggregate_type. 499 * typeinfo.cc (layout_classinfo_interfaces): Likewise. 500 * types.cc (layout_aggregate_members): Likewise. 501 (finish_aggregate_type): Remove attrs argument. 502 (TypeVisitor::visit (TypeEnum *)): Use apply_user_attributes. 503 (TypeVisitor::visit (TypeStruct *)): Remove last argument to 504 finish_aggregate_type. Use apply_user_attributes. 505 (TypeVisitor::visit (TypeClass *)): Likewise. 506 5072020-03-31 Iain Buclaw <ibuclaw@gdcproject.org> 508 509 * d-attribs.cc (d_langhook_common_attribute_table): Add always_inline. 510 (handle_always_inline_attribute): New function. 511 5122020-03-31 Iain Buclaw <ibuclaw@gdcproject.org> 513 514 PR d/94424 515 * d-codegen.cc (build_alignment_field): Remove. 516 (build_struct_literal): Don't insert alignment padding. 517 * expr.cc (ExprVisitor::visit (AssignExp *)): Call memset before 518 assigning struct literals. 519 5202020-03-31 Iain Buclaw <ibuclaw@gdcproject.org> 521 522 * typeinfo.cc (TypeInfoVisitor::internal_reference): Call 523 d_comdat_linkage on generated decl. 524 5252020-03-22 Iain Buclaw <ibuclaw@gdcproject.org> 526 527 PR d/93038 528 * d-lang.cc (deps_write): Generate phony targets for content imported 529 files. 530 5312020-03-22 Iain Buclaw <ibuclaw@gdcproject.org> 532 533 PR d/93038 534 * d-lang.cc (deps_write): Add content imported files to the make 535 dependency list. 536 5372020-03-21 Iain Buclaw <ibuclaw@gdcproject.org> 538 539 PR d/94240 540 * typeinfo.cc (class TypeInfoVisitor): Replace type_ field with decl_. 541 (TypeInfoVisitor::TypeInfoVisitor): Set decl_. 542 (TypeInfoVisitor::result): Update. 543 (TypeInfoVisitor::internal_reference): New function. 544 (TypeInfoVisitor::layout_string): Use internal_reference. 545 (TypeInfoVisitor::visit (TypeInfoTupleDeclaration *)): Likewise. 546 (layout_typeinfo): Construct TypeInfoVisitor with typeinfo decl. 547 (layout_classinfo): Likewise. 548 5492020-03-20 Iain Buclaw <ibuclaw@gdcproject.org> 550 551 PR lto/91027 552 * d-tree.h (struct GTY): Add daggregate field. 553 (IDENTIFIER_DAGGREGATE): Define. 554 (d_mangle_decl): Add declaration. 555 * decl.cc (mangle_decl): Remove static linkage, rename to... 556 (d_mangle_decl): ...this, update all callers. 557 * types.cc (merge_aggregate_types): New function. 558 (TypeVisitor::visit (TypeStruct *)): Call merge_aggregate_types, set 559 IDENTIFIER_DAGGREGATE and TYPE_CXX_ODR_P. 560 (TypeVisitor::visit (TypeClass *)): Likewise. 561 5622020-03-18 Jakub Jelinek <jakub@redhat.com> 563 564 * expr.cc (ExprVisitor::visit (CatAssignExp *)): Fix up duplicated 565 word issue in a comment. 566 * d-target.cc (Target::FPTypeProperties<T>::max): Likewise. 567 5682020-03-16 Iain Buclaw <ibuclaw@gdcproject.org> 569 570 PR d/92309 571 * types.cc (fixup_anonymous_offset): Don't set DECL_FIELD_OFFSET on 572 anonymous fields. 573 5742020-03-16 Iain Buclaw <ibuclaw@gdcproject.org> 575 576 PR d/92216 577 * decl.cc (make_thunk): Don't set TREE_PUBLIC on thunks if the target 578 function is external to the current compilation. 579 5802020-01-01 Jakub Jelinek <jakub@redhat.com> 581 582 Update copyright years. 583 584 * gdc.texi: Bump @copyrights-d year. 585 586Copyright (C) 2020 Free Software Foundation, Inc. 587 588Copying and distribution of this file, with or without modification, 589are permitted in any medium without royalty provided the copyright 590notice and this notice are preserved. 591