| 2020-12-31 Iain Buclaw <ibuclaw@gdcproject.org> | |
| * dmd/MERGE: Merge upstream dmd 2bd4fc3fe. | |
| 2020-12-30 Iain Buclaw <ibuclaw@gdcproject.org> | |
| * d-lang.cc (deps_add_target): Handle quoting ':' character. | |
| Reimplement backslash tracking. | |
| 2020-12-30 Iain Buclaw <ibuclaw@gdcproject.org> | |
| * d-tree.h (d_eval_constant_expression): Add location argument. | |
| * d-builtins.cc (d_eval_constant_expression): Give generated constants | |
| a proper file location. | |
| * d-compiler.cc (Compiler::paintAsType): Pass expression location to | |
| d_eval_constant_expression. | |
| * d-frontend.cc (eval_builtin): Likewise. | |
| 2020-12-23 Iain Buclaw <ibuclaw@gdcproject.org> | |
| PR d/98427 | |
| * types.cc (TypeVisitor::visit (TypeStruct *)): Set TYPE_MODE of all | |
| non-trivial types as BLKmode. | |
| (TypeVisitor::visit (TypeClass *)): Likewise. | |
| 2020-12-15 Iain Buclaw <ibuclaw@gdcproject.org> | |
| PR d/98277 | |
| * decl.cc (DeclVisitor::visit (VarDeclaration *)): Move setting of | |
| DECL_INITIAL for manifest constants to ... | |
| (get_symbol_decl): ... here. | |
| 2020-11-29 Iain Buclaw <ibuclaw@gdcproject.org> | |
| * d-target.def (d_minfo_section): New hook. | |
| (d_minfo_start_name): New hook. | |
| (d_minfo_end_name): New hook. | |
| * modules.cc: Include d-target.h. | |
| (register_moduleinfo): Update to use new targetdm hooks. | |
| 2020-11-29 Iain Buclaw <ibuclaw@gdcproject.org> | |
| PR d/87788 | |
| * dmd/MERGE: Merge upsream dmd 45fa6cfd2. | |
| 2020-11-27 Iain Buclaw <ibuclaw@gdcproject.org> | |
| * dmd/MERGE: Merge upstream dmd db0df3f7e. | |
| * types.cc (TypeVisitor::visit (TypeFunction *)): Remove LINKpascal. | |
| 2020-11-27 Iain Buclaw <ibuclaw@gdcproject.org> | |
| * intrinsics.cc (maybe_expand_intrinsic): Handle new intrinsics. | |
| * intrinsics.def (INTRINSIC_COS): Add float and double overloads. | |
| (INTRINSIC_FABS): Likewise. | |
| (INTRINSIC_LDEXP): Likewise. | |
| (INTRINSIC_RINT): Likewise. | |
| (INTRINSIC_RNDTOL): Likewise. | |
| (INTRINSIC_SIN): Likewise. | |
| (INTRINSIC_TOPREC): Adjust signature. | |
| 2020-11-22 Iain Buclaw <ibuclaw@gdcproject.org> | |
| PR d/97889 | |
| * expr.cc (ExprVisitor::visit (CatAssignExp *)): Enforce LTR order of | |
| evaluation on left and right hand side expressions. | |
| 2020-11-20 Jakub Jelinek <jakub@redhat.com> | |
| PR other/97911 | |
| * Make-lang.in (d.serial): Change from goal to a variable. | |
| (.PHONY): Drop d.serial and d.prev. | |
| (d21$(exeext)): Depend on $(d.serial) rather than d.serial. | |
| 2020-11-18 Jakub Jelinek <jakub@redhat.com> | |
| * Make-lang.in (d.serial): New goal. | |
| (.PHONY): Add d.serial d.prev. | |
| (d21$(exeext)): Depend on d.prev. Call LINK_PROGRESS. | |
| 2020-11-18 Iain Buclaw <ibuclaw@gdcproject.org> | |
| PR d/97843 | |
| * d-codegen.cc (build_assign): Evaluate TARGET_EXPR before use in | |
| the right hand side of an assignment. | |
| * expr.cc (ExprVisitor::visit (CatAssignExp *)): Force a TARGET_EXPR | |
| on the element to append if it is a CALL_EXPR. | |
| 2020-11-18 Iain Buclaw <ibuclaw@gdcproject.org> | |
| PR d/97842 | |
| * dmd/MERGE: Merge upstream dmd b6a779e49 | |
| 2020-11-13 Iain Buclaw <ibuclaw@gdcproject.org> | |
| * intrinsics.cc (expand_intrinsic_copysign): Explicitly determine | |
| which built-in copysign function to call. | |
| 2020-11-13 Iain Buclaw <ibuclaw@gdcproject.org> | |
| PR d/97644 | |
| * dmd/MERGE: Merge upstream dmd 95044d8e4. | |
| * d-target.cc (TargetCPP::thunkMangle): New function. | |
| * decl.cc (finish_thunk): Don't force expand thunks for external | |
| functions. | |
| (make_thunk): Emit thunks only if the function has a definition. | |
| Generate correct mangling for thunks to C++ classes. | |
| 2020-11-10 Strager Neds <strager.nds@gmail.com> | |
| * decl.cc (finish_thunk): Use new overload of | |
| set_decl_section_name | |
| 2020-10-27 Iain Buclaw <ibuclaw@gdcproject.org> | |
| * dmd/MERGE: Merge upstream dmd bec5973b0. | |
| * d-target.cc (Target::critsecsize): Remove. | |
| * d-target.def: Remove d_critsec_size. | |
| 2020-10-27 Iain Buclaw <ibuclaw@gdcproject.org> | |
| * dmd/MERGE: Merge upstream dmd 0fcdaab32 | |
| 2020-10-23 Jan Hubicka <hubicka@ucw.cz> | |
| * decl.cc (finish_thunk): Update for new thunk api. | |
| 2020-10-22 Jan Hubicka <hubicka@ucw.cz> | |
| * decl.cc: Include tree-nested.h | |
| (get_symbol_decl): Update for new nested function info. | |
| 2020-10-12 Iain Buclaw <ibuclaw@gdcproject.org> | |
| * dmd/MERGE: Merge upstream dmd 70aabfb51 | |
| 2020-10-12 Iain Buclaw <ibuclaw@gdcproject.org> | |
| * dmd/MERGE: Merge upstream dmd 3a9790525 | |
| * d-target.cc (Target::isVectorTypeSupported): Adjust return codes for | |
| invalid size and invalid base type. | |
| 2020-09-12 Iain Buclaw <ibuclaw@gdcproject.org> | |
| PR d/97002 | |
| * d-codegen.cc (d_build_call): Set input_location on CALL_EXPR. | |
| * d-lang.cc: Include function.h. | |
| (d_type_promotes_to): Do default conversions for C and C++ functions. | |
| * intrinsics.cc (expand_intrinsic_vaarg): Use build1_loc to build | |
| VA_ARG_EXPR. | |
| 2020-09-12 Iain Buclaw <ibuclaw@gdcproject.org> | |
| * d-builtins.cc (d_build_d_type_nodes): Call build_ctype() on all | |
| basic front-end types. | |
| * decl.cc (DeclVisitor::visit (EnumDeclaration *)): Always add decl to | |
| current binding level. | |
| (build_type_decl): Build TYPE_DECL as a typedef if not for an enum or | |
| record type. | |
| * types.cc (TypeVisitor::visit (TypeEnum *)): Set underlying type for | |
| ENUMERAL_TYPEs. Build TYPE_DECL for non-numeric enums. | |
| 2020-09-10 Iain Buclaw <ibuclaw@gdcproject.org> | |
| * lang.opt (Waddress): Enable warning by -Wextra. | |
| (Wcast-result): Likewise. | |
| (Wunknown-pragmas): Likewise. | |
| 2020-09-10 Iain Buclaw <ibuclaw@gdcproject.org> | |
| * decl.cc (DeclVisitor::visit (VarDeclaration *)): Don't warn about | |
| variables initialized with 'void'. | |
| 2020-09-10 Iain Buclaw <ibuclaw@gdcproject.org> | |
| * d-convert.cc (convert_expr): Warn when casting from a D class to a | |
| C++ class. | |
| 2020-09-04 Iain Buclaw <ibuclaw@gdcproject.org> | |
| PR d/96924 | |
| * expr.cc (ExprVisitor::visit (CatAssignExp *)): Don't force | |
| temporaries needlessly. | |
| 2020-09-02 Iain Buclaw <ibuclaw@gdcproject.org> | |
| PR d/96869 | |
| * d-builtins.cc (build_frontend_type): Don't expose intrinsics that | |
| use unsupported vector types. | |
| * d-target.cc (Target::isVectorTypeSupported): Restrict to supporting | |
| only if TARGET_VECTOR_MODE_SUPPORTED_P is true. Don't allow complex | |
| or boolean vector types. | |
| 2020-08-31 Iain Buclaw <ibuclaw@gdcproject.org> | |
| * d-target.cc (Target::_init): Don't set classinfosize. | |
| * d-tree.h (base_vtable_offset): Move under typeinfo.cc section. | |
| * decl.cc (base_vtable_offset): Move to... | |
| * typeinfo.cc (base_vtable_offset): ...here. Get base offset from | |
| internal TypeInfo_Class type. | |
| * intrinsics.cc (expand_intrinsic_bt): Use pointer TYPE_SIZE for | |
| setting bitsize value. Build integer constants of correct type. | |
| 2020-08-26 Iain Buclaw <ibuclaw@gdcproject.org> | |
| * dmd/MERGE: Merge upstream dmd e49192807 | |
| 2020-08-26 Iain Buclaw <ibuclaw@gdcproject.org> | |
| PR d/96156 | |
| * d-frontend.cc (retStyle): Only return RETstack for struct and static | |
| array types. | |
| * decl.cc (DeclVisitor::visit (FuncDeclaration *)): Use NRVO return | |
| for all TREE_ADDRESSABLE types. Set shidden to the RESULT_DECL. | |
| * expr.cc (ExprVisitor::visit (CallExp *)): Force TARGET_EXPR if the | |
| 'this' pointer reference is a CONSTRUCTOR. | |
| (ExprVisitor::visit (StructLiteralExp *)): Generate assignment to the | |
| symbol to initialize with literal. | |
| * toir.cc (IRVisitor::visit (ReturnStatement *)): Detect returning | |
| struct literals and write directly into the RESULT_DECL. | |
| * dmd/MERGE: Merge upstream dmd fe5f388d8. | |
| 2020-08-26 Iain Buclaw <ibuclaw@gdcproject.org> | |
| * dmd/MERGE: Merge upstream dmd cb4a96fae | |
| 2020-08-26 Iain Buclaw <ibuclaw@gdcproject.org> | |
| * d-lang.cc (d_parse_file): Use read() to load contents from stdin, | |
| allow the front-end to free the memory after parsing. | |
| * dmd/MERGE: Merge upstream dmd 2cc25c219. | |
| 2020-08-26 Iain Buclaw <ibuclaw@gdcproject.org> | |
| PR d/96153 | |
| * d-codegen.cc (build_address): Create a temporary for CALL_EXPRs | |
| returning trivial aggregates, pre-filling it with zeroes. | |
| (build_memset_call): Use build_zero_cst if setting the entire object. | |
| 2020-08-26 Iain Buclaw <ibuclaw@gdcproject.org> | |
| PR d/96157 | |
| * d-codegen.cc (d_build_call): Handle TREE_ADDRESSABLE static arrays. | |
| * types.cc (make_array_type): Propagate TREE_ADDRESSABLE from base | |
| type to static array. | |
| 2020-08-26 Iain Buclaw <ibuclaw@gdcproject.org> | |
| * d-gimplify.cc (d_gimplify_expr): Move lowering of each tree node to | |
| separate functions. | |
| (d_gimplify_modify_expr): New function. | |
| (d_gimplify_addr_expr): New function. | |
| (d_gimplify_call_expr): New function. | |
| (d_gimplify_unsigned_rshift_expr): New function. | |
| 2020-08-26 Iain Buclaw <ibuclaw@gdcproject.org> | |
| * Make-lang.in (D_OBJS): Add d-gimplify.o. | |
| * d-lang.cc (empty_modify_p): Move to d-gimplify.cc. | |
| (d_gimplify_expr): Likewise. | |
| * d-tree.h (d_gimplify_expr): Declare. | |
| * d-gimplify.cc: New file. | |
| 2020-08-20 Iain Buclaw <ibuclaw@gdcproject.org> | |
| * dmd/MERGE: Merge upstream dmd 1b5a53d01. | |
| 2020-08-18 Iain Buclaw <ibuclaw@gdcproject.org> | |
| PR d/96301 | |
| * decl.cc (DeclVisitor::visit (FuncDeclaration *)): Only return | |
| non-trivial structs by invisible reference. | |
| 2020-08-04 Iain Buclaw <ibuclaw@gdcproject.org> | |
| PR d/96153 | |
| * d-tree.h (build_expr): Add literalp argument. | |
| * expr.cc (ExprVisitor): Add literalp_ field. | |
| (ExprVisitor::ExprVisitor): Initialize literalp_. | |
| (ExprVisitor::visit (AssignExp *)): Call memset() on blits where RHS | |
| is a struct literal. Elide assignment if initializer is all zeroes. | |
| (ExprVisitor::visit (CastExp *)): Forward literalp_ to generation of | |
| subexpression. | |
| (ExprVisitor::visit (AddrExp *)): Likewise. | |
| (ExprVisitor::visit (ArrayLiteralExp *)): Use memset() to pre-fill | |
| object with zeroes. Set literalp in subexpressions. | |
| (ExprVisitor::visit (StructLiteralExp *)): Likewise. | |
| (ExprVisitor::visit (TupleExp *)): Set literalp in subexpressions. | |
| (ExprVisitor::visit (VectorExp *)): Likewise. | |
| (ExprVisitor::visit (VectorArrayExp *)): Likewise. | |
| (build_expr): Forward literal_p to ExprVisitor. | |
| 2020-08-04 Iain Buclaw <ibuclaw@gdcproject.org> | |
| PR d/96429 | |
| * expr.cc (ExprVisitor::visit (BinExp*)): Use EXACT_DIV_EXPR for | |
| pointer diff expressions. | |
| 2020-08-03 Iain Buclaw <ibuclaw@gdcproject.org> | |
| PR d/96254 | |
| * d-codegen.cc (error_no_frame_access): New. | |
| (get_frame_for_symbol): Use fdparent name in error message. | |
| (get_framedecl): Replace call to assert with error. | |
| * d-tree.h (error_no_frame_access): Declare. | |
| * decl.cc (get_decl_tree): Detect recursion and error. | |
| 2020-08-03 Iain Buclaw <ibuclaw@gdcproject.org> | |
| PR d/96250 | |
| * dmd/MERGE: Merge upstream dmd c2274e56a. | |
| 2020-07-31 Iain Buclaw <ibuclaw@gdcproject.org> | |
| PR d/96393 | |
| * intrinsics.cc (expand_intrinsic_bt): Don't generate BIT_NOT_EXPR for | |
| btr32 intrinsic. | |
| 2020-07-30 Iain Buclaw <ibuclaw@gdcproject.org> | |
| PR d/96152 | |
| * d-codegen.cc (build_array_from_exprs): New function. | |
| * d-tree.h (build_array_from_exprs): Declare. | |
| * expr.cc (ExprVisitor::visit (AssocArrayLiteralExp *)): Use | |
| build_array_from_exprs to generate key and value arrays. | |
| 2020-07-30 Iain Buclaw <ibuclaw@gdcproject.org> | |
| PR d/96154 | |
| * gdc.texi (Warnings): Document -Wvarargs. | |
| * lang.opt: Add -Wvarargs | |
| 2020-07-30 Iain Buclaw <ibuclaw@gdcproject.org> | |
| PR d/96140 | |
| * intrinsics.cc (expand_intrinsic_vaarg): Handle ref parameters as | |
| arguments to va_arg(). | |
| (expand_intrinsic_vastart): Handle ref parameters as arguments to | |
| va_start(). | |
| 2020-07-30 Iain Buclaw <ibuclaw@gdcproject.org> | |
| * expr.cc (ExprVisitor::visit (AssignExp *)): Inline bounds checking | |
| for simple array assignments. | |
| 2020-07-30 Iain Buclaw <ibuclaw@gdcproject.org> | |
| * d-codegen.cc (build_memcmp_call): New function. | |
| (build_memcpy_call): New function. | |
| (build_memset_call): New function. | |
| (build_float_identity): Call build_memcmp_call. | |
| (lower_struct_comparison): Likewise. | |
| (build_struct_comparison): Likewise. | |
| * d-tree.h (build_memcmp_call): Declare. | |
| (build_memcpy_call): Declare. | |
| (build_memset_call): Declare. | |
| * expr.cc (ExprVisitor::visit (EqualExp *)): Call build_memcmp_call. | |
| (ExprVisitor::visit (AssignExp *)): Call build_memset_call. | |
| (ExprVisitor::visit (ArrayLiteralExp *)): Call build_memcpy_call. | |
| (ExprVisitor::visit (StructLiteralExp *)): Call build_memset_call. | |
| 2020-07-30 Iain Buclaw <ibuclaw@gdcproject.org> | |
| * expr.cc (needs_postblit): Move out of ExprVisitor as a static | |
| function. Update all callers. | |
| (needs_dtor): Likewise. | |
| (lvalue_p): Likewise. | |
| (binary_op): Likewise. | |
| (binop_assignment): Likewise. | |
| 2020-07-30 Iain Buclaw <ibuclaw@gdcproject.org> | |
| * intrinsics.cc (expand_intrinsic_rotate): Add function. | |
| (maybe_expand_intrinsic): Handle rol and ror intrinsics. | |
| * intrinsics.def (ROL): Add intrinsic. | |
| (ROL_TIARG): Add intrinsic. | |
| (ROR): Add intrinsic. | |
| (ROR_TIARG): Add intrinsic. | |
| 2020-07-30 Iain Buclaw <ibuclaw@gdcproject.org> | |
| * d-tree.h (DEF_D_INTRINSIC): Rename second argument from A to B. | |
| * intrinsics.cc (intrinsic_decl): Add built_in field. | |
| (DEF_D_INTRINSIC): Rename second argument from ALIAS to BUILTIN. | |
| (maybe_set_intrinsic): Handle new intrinsic codes. | |
| (expand_intrinsic_bt): Likewise. | |
| (expand_intrinsic_checkedint): Likewise. | |
| (expand_intrinsic_bswap): Remove. | |
| (expand_intrinsic_sqrt): Remove. | |
| (maybe_expand_intrinsic): Group together intrinsic cases that map | |
| directly to gcc built-ins. | |
| * intrinsics.def (DEF_D_BUILTIN): Rename second argument from A to B. | |
| Update all callers to pass equivalent DECL_FUNCTION_CODE. | |
| (DEF_CTFE_BUILTIN): Likewise. | |
| (STD_COS): Remove intrinsic. | |
| (STD_FABS): Remove intrinsic. | |
| (STD_LDEXP): Remove intrinsic. | |
| (STD_RINT): Remove intrinsic. | |
| (STD_RNDTOL): Remove intrinsic. | |
| (STD_SIN): Remove intrinsic. | |
| (STD_SQRTF): Remove intrinsic. | |
| (STD_SQRT): Remove intrinsic. | |
| (STD_SQRTL): Remove intrinsic. | |
| 2020-06-28 Iain Buclaw <ibuclaw@gdcproject.org> | |
| * dmd/MERGE: Merge upstream dmd 8508c4e68. | |
| 2020-06-25 Iain Buclaw <ibuclaw@gdcproject.org> | |
| * decl.cc (get_symbol_decl): Do not implicitly set | |
| DECL_DECLARED_INLINE_P on member functions. | |
| 2020-06-25 Iain Buclaw <ibuclaw@gdcproject.org> | |
| * d-lang.cc (d_gimplify_expr_p): Make static. | |
| (d_parse_file): Likewise. | |
| (d_signed_or_unsigned_type): Move to types.cc. | |
| (d_unsigned_type): Likewise. | |
| (d_signed_type): Likewise. | |
| * d-tree.h (d_unsigned_type): Change the location in file. | |
| (d_signed_type): Likewise. | |
| * types.cc (d_signed_or_unsigned_type): Moved from d-lang.cc. | |
| (d_unsigned_type): Likewise. | |
| (d_signed_type): Likewise. | |
| 2020-06-25 Iain Buclaw <ibuclaw@gdcproject.org> | |
| PR d/95075 | |
| * dmd/MERGE: Merge upstream dmd 4be011355. | |
| 2020-06-25 Iain Buclaw <ibuclaw@gdcproject.org> | |
| PR d/95250 | |
| * dmd/MERGE: Merge upstream dmd 90450f3ef. | |
| 2020-06-25 Iain Buclaw <ibuclaw@gdcproject.org> | |
| * d-lang.cc (d_parse_file): Replace OutBuffer with obstack. | |
| 2020-06-25 Iain Buclaw <ibuclaw@gdcproject.org> | |
| * dmd/MERGE: Merge upstream dmd 5fc1806cd. | |
| * d-lang.cc (d_parse_file): Use peekChars to get string representation | |
| of OutBuffer data. | |
| 2020-06-25 Iain Buclaw <ibuclaw@gdcproject.org> | |
| PR d/95173 | |
| * d-attribs.cc (uda_attribute_p): Don't search target attribute table | |
| if NULL. | |
| 2020-06-25 Iain Buclaw <ibuclaw@gdcproject.org> | |
| * decl.cc (DeclVisitor::visit (VarDeclaration *)): Don't set | |
| DECL_INITIAL if initializer is 'void'. | |
| 2020-06-25 Iain Buclaw <ibuclaw@gdcproject.org> | |
| * d-lang.cc (d_init_options): Turn on deprecation warnings by default. | |
| 2020-06-25 Iain Buclaw <ibuclaw@gdcproject.org> | |
| * dmd/MERGE: Merge upstream dmd 4f1046222. | |
| * toir.cc (IRVisitor::visit (OnScopeGuardStatement *)): Rename to ... | |
| (IRVisitor::visit (ScopeGuardStatement *)): ... this. | |
| 2020-06-16 Iain Buclaw <ibuclaw@gdcproject.org> | |
| * d-attribs.cc (handle_noreturn_attribute): Remove names of unused | |
| function parameters. | |
| (handle_leaf_attribute): Likewise. | |
| (handle_const_attribute): Likewise. | |
| (handle_malloc_attribute): Likewise. | |
| (handle_pure_attribute): Likewise. | |
| (handle_novops_attribute): Likewise. | |
| (handle_nonnull_attribute): Likewise. | |
| (handle_nothrow_attribute): Likewise. | |
| (handle_type_generic_attribute): Likewise. | |
| (handle_transaction_pure_attribute): Likewise. | |
| (handle_returns_twice_attribute): Likewise. | |
| (handle_fnspec_attribute): Likewise. | |
| (handle_always_inline_attribute): Likewise. | |
| (d_handle_noinline_attribute): Likewise. | |
| (d_handle_forceinline_attribute): Likewise. | |
| (d_handle_flatten_attribute): Likewise. | |
| (d_handle_noclone_attribute): Likewise. | |
| (d_handle_section_attribute): Likewise. | |
| (d_handle_alias_attribute): Likewise. | |
| (d_handle_weak_attribute): Likewise. | |
| 2020-06-16 Iain Buclaw <ibuclaw@gdcproject.org> | |
| * d-attribs.cc: Update code formatting in a consistant style. | |
| * d-builtins.cc: Likewise. | |
| * d-codegen.cc: Likewise. | |
| * d-compiler.cc: Likewise. | |
| * d-convert.cc: Likewise. | |
| * d-diagnostic.cc: Likewise. | |
| * d-frontend.cc: Likewise. | |
| * d-lang.cc: Likewise. | |
| * d-longdouble.cc: Likewise. | |
| * d-port.cc: Likewise. | |
| * d-spec.cc: Likewise. | |
| * d-tree.h: Likewise. | |
| * decl.cc: Likewise. | |
| * expr.cc: Likewise. | |
| * longdouble.h: Likewise. | |
| * modules.cc: Likewise. | |
| * toir.cc: Likewise. | |
| * typeinfo.cc: Likewise. | |
| 2020-06-16 Iain Buclaw <ibuclaw@gdcproject.org> | |
| * d-builtins.cc: Update quotation formatting of comments. | |
| * d-codegen.cc: Likewise. | |
| * d-lang.cc: Likewise. | |
| * decl.cc: Likewise. | |
| * expr.cc: Likewise. | |
| * imports.cc: Likewise. | |
| * runtime.cc: Likewise. | |
| * toir.cc: Likewise. | |
| * typeinfo.cc: Likewise. | |
| * types.cc: Likewise. | |
| 2020-06-16 Iain Buclaw <ibuclaw@gdcproject.org> | |
| * d-diagnostic.cc (expand_d_format): Replace OutBuffer with obstack. | |
| (d_diagnostic_report_diagnostic): Don't free xformat. | |
| * d-lang.cc (struct d_option_data): Change deps_target type from | |
| OutBuffer to vec <const char *>. | |
| (deps_add_target): Update to push each target to deps_target. | |
| (deps_write_string): New function. | |
| (deps_write): Change buffer type to obstack* and remove colmax. | |
| (d_init_options): Update initialization of deps_target. | |
| (d_parse_file): Replace OutBuffer with obstack. | |
| 2020-06-16 Iain Buclaw <ibuclaw@gdcproject.org> | |
| * d-lang.cc (d_parse_file): Replace uses of File with FILE. | |
| 2020-06-16 Iain Buclaw <ibuclaw@gdcproject.org> | |
| * d-codegen.cc (build_array_bounds_call): New function. | |
| (build_bounds_condition): Use build_array_bounds_call. | |
| * d-lang.cc (d_init_options): Explicitly set default check action to | |
| CHECKACTION_D. | |
| (d_post_options): Set check action to CHECKACTION_C if the flag | |
| -fno-druntime was seen. | |
| * d-tree.h (build_array_bounds_call): Declare. | |
| * expr.cc (ExprVisitor::visit (AssertExp *)): Use | |
| build_array_bounds_call. | |
| 2020-06-16 Iain Buclaw <ibuclaw@gdcproject.org> | |
| * d-attribs.cc (build_attributes): Use toStringExp instead of cast. | |
| * toir.cc (IRVisitor::visit): Likewise. | |
| 2020-06-16 Iain Buclaw <ibuclaw@gdcproject.org> | |
| * d-attribs.cc (build_attributes): Use isXxxxExp helpers instead of | |
| explicit casts. | |
| * d-codegen.cc (d_build_call): Likewise. | |
| * d-compiler.cc (Compiler::paintAsType): Likewise. | |
| * decl.cc (ExprVisitor::visit): Likewise. | |
| (layout_class_initializer): Likewise. | |
| * expr.cc (ExprVisitor::lvalue_p): Likewise | |
| (ExprVisitor::visit): Likewise. | |
| * types.cc (layout_aggregate_members): Likewise. | |
| 2020-06-16 Iain Buclaw <ibuclaw@gdcproject.org> | |
| * d-frontend.cc (eval_builtin): Use toTypeFunction instead of cast. | |
| * decl.cc (DeclVisitor::visit): Likewise. | |
| * toir.cc (IRVisitor::visit): Likewise. | |
| * typeinfo.cc (TypeInfoVisitor::visit): Likewise. | |
| 2020-06-16 Iain Buclaw <ibuclaw@gdcproject.org> | |
| * d-builtins.cc (d_eval_constant_expression): Use isTypeXxxx helpers | |
| instead of explicit casts. | |
| (d_build_builtins_module): Likewise. | |
| * d-codegen.cc (get_array_length): Likewise. | |
| (identity_compare_p): Likewise. | |
| (lower_struct_comparison): Likewise. | |
| (build_array_from_val): Likewise. | |
| (array_bounds_check): Likewise. | |
| (get_function_type): Likewise. | |
| (d_build_call): Likewise. | |
| * d-compiler.cc (Compiler::paintAsType): Likewise. | |
| * d-convert.cc (convert_expr): Likewise. | |
| (convert_for_assignment): Likewise. | |
| * d-lang.cc (d_classify_record): Likewise. | |
| (d_build_eh_runtime_type): Likewise. | |
| * decl.cc (DeclVisitor::visit): Likewise. | |
| * expr.cc (ExprVisitor::needs_postblit): Likewise. | |
| (ExprVisitor::needs_dtor): Likewise. | |
| (ExprVisitor::visit): Likewise. | |
| * imports.cc (ImportVisitor::visit): Likewise. | |
| * typeinfo.cc (get_typeinfo_kind): Likewise. | |
| (TypeInfoVisitor::visit): Likewise. | |
| (TypeDeclInfoVisitor::visit): Likewise. | |
| * types.cc (merge_aggregate_types): Likewise. | |
| (TypeVisitor::visit): Likewise. | |
| 2020-06-14 Iain Buclaw <ibuclaw@gdcproject.org> | |
| * expr.cc (ExprVisitor::visit (AssocArrayLiteralExp *)): Fix line | |
| lengths, no functional change. | |
| * typeinfo.cc (TypeInfoVisitor::layout_interfaces): Likewise. | |
| (layout_classinfo_interfaces): Likewise. | |
| 2020-06-09 Iain Buclaw <ibuclaw@gdcproject.org> | |
| * dmd/MERGE: Merge upstream dmd 13d67c575. | |
| * d-builtins.cc (build_frontend_type): Update call to | |
| TypeVector::create. | |
| * d-frontend.cc (Global::_init): Move setting of errorLimit to ... | |
| * d-lang.cc (d_init_options): ... here. Update for new field | |
| location of errorLimit. | |
| (d_post_options): Likewise. | |
| * d-port.cc (Port::readwordLE): Update signature. | |
| (Port::readwordBE): Likewise. | |
| (Port::readlongLE): Likewise. | |
| (Port::readlongBE): Likewise. | |
| * decl.cc (get_symbol_decl): Update for new field types. | |
| 2020-06-08 Iain Buclaw <ibuclaw@gdcproject.org> | |
| PR d/95573 | |
| * dmd/MERGE: Merge upstream dmd 5041e56f1. | |
| 2020-06-08 Iain Buclaw <ibuclaw@gdcproject.org> | |
| * dmd/MERGE: Merge upstream dmd 955b8b36f. | |
| * expr.cc (ExprVisitor::visit (AndAndExp *)): Rename type to ... | |
| (ExprVisitor::visit (LogicalExp *)): ... this. Handle both 'and if' | |
| and 'or if' expression nodes. | |
| (ExprVisitor::visit (OrOrExp *)): Remove. | |
| 2020-06-07 Iain Buclaw <ibuclaw@gdcproject.org> | |
| * dmd/MERGE: Merge upstream dmd 73d8e2fec. | |
| * decl.cc (get_symbol_decl): Use new Prot::Kind enum. | |
| * modules.cc (get_internal_fn): Likewise. | |
| 2020-06-07 Iain Buclaw <ibuclaw@gdcproject.org> | |
| * dmd/MERGE: Merge upstream dmd 108ca1bcd. | |
| * d-diagnostic.cc (expand_d_format): Adjust to use extractChars(). | |
| * d-frontend.cc (Loc::toChars): Likewise. | |
| * d-lang.cc (deps_write): Likewise. | |
| (d_parse_file): Likewise. | |
| * decl.cc (d_mangle_decl): Likewise. | |
| * intrinsics.cc (maybe_set_intrinsic): Likewise. | |
| 2020-06-07 Iain Buclaw <ibuclaw@gdcproject.org> | |
| * dmd/MERGE: Merge upstream dmd b0df0e982. | |
| * d-builtins.cc (build_frontend_type): Use VarArg for varargs_p. | |
| * d-codegen.cc (declaration_type): Call TypeFunction::create with | |
| argument VARARGnone. | |
| (parameter_type): Likewise. | |
| (d_build_call): Use new field names and member functions. | |
| * d-target.cc (Target::cppParameterType): Call TypeFunction::create | |
| with argument VARARGnone. | |
| * types.cc (TypeVisitor::visit (TypeFunction *): Use new field names | |
| and member functions. | |
| 2020-06-07 Iain Buclaw <ibuclaw@gdcproject.org> | |
| * dmd/MERGE: Merge upstream dmd 1831b24ff. | |
| * d-lang.cc (d_init_options): Remove initialization of updated fields. | |
| (d_handle_option): Adjust for new field types. | |
| 2020-06-07 Iain Buclaw <ibuclaw@gdcproject.org> | |
| * dmd/MERGE: Merge upstream dmd cef1e7991. | |
| * d-lang.cc (d_parse_file): Adjust for new field types. | |
| 2020-06-05 Iain Buclaw <ibuclaw@gdcproject.org> | |
| * dmd/MERGE: Merge upstream dmd 740f3d1ea. | |
| * d-lang.cc (d_handle_option): Use new fields to save debug and | |
| version levels passed over command-line. | |
| (d_post_options): Add them to front-end here. | |
| 2020-06-05 Iain Buclaw <ibuclaw@gdcproject.org> | |
| * dmd/MERGE: Merge upstream dmd f5638c7b8. | |
| * d-builtins.cc (d_init_versions): Use new CHECKENABLE enum. | |
| * d-codegen.cc (array_bounds_check): Likewise. | |
| (build_frame_type): Likewise. | |
| (get_frameinfo): Likewise. | |
| * d-lang.cc (d_init_options): Likewise. | |
| (d_init_options_struct): Don't initialize x_flag_bounds_check. | |
| (d_handle_option): Use new CHECKENABLE enum. | |
| (d_post_options): Likewise. Set flag_bounds_check here. | |
| * expr.cc (ExprVisitor::visit(AssertExp *)): Use new CHECKENABLE enum. | |
| 2020-06-05 Iain Buclaw <ibuclaw@gdcproject.org> | |
| * dmd/MERGE: Merge upstream dmd 56f0a65c4. | |
| * d-builtins.cc (build_frontend_type): Remove static. | |
| (d_build_builtins_module): Use target.va_listType() to get front-end | |
| type for va_list. | |
| (d_init_builtins): Move creation of va_list to Target::va_listType. | |
| * d-codegen.cc (build_interface_binfo): Use new target global. | |
| (build_vindex_ref): Likewise. | |
| (identity_compare_p): Likewise. | |
| * d-ctfloat.cc (CTFloat::parse): Likewise. | |
| * d-lang.cc (d_init): Likewise. | |
| * d-port.cc (Port::isFloat32LiteralOutOfRange): Likewise. | |
| (Port::isFloat64LiteralOutOfRange): Likewise. | |
| * d-target.cc (define_float_constants): Initialize constants through a | |
| reference, instead of setting globals. | |
| (Target::_init): Initialize new fields instead of setting globals. | |
| (Target::va_listType): Build front-end type from va_list_type_node. | |
| (Target::toCppMangle): Renamed to ... | |
| (TargetCPP::toMangle): ... this. | |
| (Target::cppTypeInfoMangle): Renamed to ... | |
| (TargetCPP::typeInfoMangle): ... this. | |
| (Target::cppTypeMangle): Renamed to ... | |
| (TargetCPP::typeMangle): this. | |
| (Target::cppParameterType): Renamed to ... | |
| (TargetCPP::parameterType): ... this. Use target.va_listType() to get | |
| front-end type for va_list. | |
| (Target::cppFundamentalType): Renamed to ... | |
| (TargetCPP::fundamentalType): ... this. | |
| * d-tree.h (build_frontend_type): Declare. | |
| * decl.cc (base_vtable_offset): Use new target global. | |
| * typeinfo.cc (layout_classinfo_interfaces): Likewise. | |
| (layout_cpp_typeinfo): Likewise. | |
| * types.cc (valist_array_p): Use target.va_listType() to get front-end | |
| type for va_list. | |
| (layout_aggregate_type): Use new target global. | |
| 2020-06-05 Iain Buclaw <ibuclaw@gdcproject.org> | |
| * dmd/MERGE: Merge upstream dmd 6d5bffa54. | |
| * d-builtins.cc (maybe_set_builtin_1): Update call to | |
| Condition::include(). | |
| * decl.cc (DeclVisitor::visit(AttribDeclaration *)): Likewise. | |
| * types.cc (layout_aggregate_members): Likewise. | |
| 2020-06-04 Iain Buclaw <ibuclaw@gdcproject.org> | |
| * dmd/MERGE: Merge upstream dmd 48d704f08. | |
| * d-attribs.cc (build_attributes): Use new field name. | |
| * d-builtins.cc (build_frontend_type): Likewise. | |
| (maybe_set_builtin_1): Likewise. | |
| (d_maybe_set_builtin): Likewise. | |
| * d-codegen.cc (build_interface_binfo): Likewise. | |
| (identity_compare_p): Likewise. | |
| (lower_struct_comparison): Likewise. | |
| (build_struct_comparison): Likewise. | |
| (d_build_call): Likewise. | |
| (build_frame_type): Likewise. | |
| (build_closure): Likewise. | |
| * d-compiler.cc (Compiler::paintAsType): Likewise. | |
| (Compiler::loadModule): Likewise. | |
| * d-incpath.cc (add_globalpaths): Likewise. | |
| (add_filepaths): Likewise. | |
| (add_import_paths): Likewise. | |
| * d-lang.cc (deps_write): Likewise. | |
| (d_parse_file): Likewise. | |
| * decl.cc (gcc_attribute_p): Likewise. | |
| (base_vtable_offset): Likewise. | |
| (get_vtable_decl): Likewise. | |
| (build_class_instance): Likewise. | |
| * expr.cc (class ExprVisitor): Likewise. | |
| * modules.cc (layout_moduleinfo_fields): Likewise. | |
| (layout_moduleinfo): Likewise. | |
| (build_module_tree): Likewise. | |
| * toir.cc (class IRVisitor): Likewise. | |
| * typeinfo.cc (class TypeInfoVisitor): Likewise. | |
| (layout_classinfo_interfaces): Likewise. | |
| * types.cc (layout_aggregate_members): Likewise. | |
| (layout_aggregate_type): Likewise. | |
| 2020-06-04 Iain Buclaw <ibuclaw@gdcproject.org> | |
| * dmd/MERGE: Merge upstream dmd 47ed0330f. | |
| 2020-06-04 Iain Buclaw <ibuclaw@gdcproject.org> | |
| * Make-lang.in (D_OBJS): Add d-compiler.o, d-ctfloat.o, d-port.o. | |
| * d-frontend.cc (Port::memicmp): Move to d-port.cc. | |
| (Port::strupr): Likewise. | |
| (Port::isFloat32LiteralOutOfRange): Likewise. | |
| (Port::isFloat64LiteralOutOfRange): Likewise. | |
| (Port::readwordLE): Likewise. | |
| (Port::readwordBE): Likewise. | |
| (Port::readlongLE): Likewise. | |
| (Port::readlongBE): Likewise. | |
| (Port::valcpy): Likewise. | |
| (CTFloat::fabs): Move to d-ctfloat.cc. | |
| (CTFloat::ldexp): Likewise. | |
| (CTFloat::isIdentical): Likewise. | |
| (CTFloat::isNaN): Likewise. | |
| (CTFloat::isSNaN): Likewise. | |
| (CTFloat::isInfinity): Likewise. | |
| (CTFloat::parse): Likewise. | |
| (CTFloat::sprint): Likewise. | |
| (CTFloat::hash): Likewise. | |
| (Compiler::genCmain): Move to d-compiler.cc. | |
| (Compiler::paintAsType): Likewise. | |
| (Compiler::loadModule): Likewise. | |
| * d-compiler.cc: New file. | |
| * d-ctfloat.cc: New file. | |
| * d-port.cc: New file. | |
| 2020-06-02 Iain Buclaw <ibuclaw@gdcproject.org> | |
| * decl.cc (DeclVisitor::build_dsymbol): New function. | |
| (DeclVisitor::visit (TupleDeclaration *)): Use build_dsymbol to | |
| traverse AST instead of accept. | |
| (DeclVisitor::visit (AttribDeclaration *)): Likewise. | |
| (DeclVisitor::visit (Nspace *)): Likewise. | |
| (DeclVisitor::visit (TemplateDeclaration *)): Likewise. | |
| (DeclVisitor::visit (TemplateInstance *)): Likewise. | |
| (DeclVisitor::visit (TemplateMixin *)): Likewise. | |
| (DeclVisitor::visit (StructDeclaration *)): Likewise. | |
| (DeclVisitor::visit (ClassDeclaration *)): Likewise. | |
| (DeclVisitor::visit (InterfaceDeclaration *)): Likewise. | |
| (DeclVisitor::visit (VarDeclaration *)): Likewise. | |
| (build_decl_tree): Likewise. | |
| 2020-06-02 Iain Buclaw <ibuclaw@gdcproject.org> | |
| * d-builtins.cc (build_frontend_type): Handle struct fields with NULL | |
| DECL_NAME. Use byte_position to get the real field offset. | |
| 2020-05-06 Iain Buclaw <ibuclaw@gdcproject.org> | |
| PR d/94970 | |
| * d-codegen.cc (force_target_expr): Move create_temporary_var | |
| implementation inline here. | |
| (create_temporary_var): Remove. | |
| (maybe_temporary_var): Remove. | |
| (bind_expr): Remove. | |
| * d-convert.cc (d_array_convert): Use build_local_temp to generate | |
| temporaries, and generate its assignment. | |
| * d-tree.h (create_temporary_var): Remove. | |
| (maybe_temporary_var): Remove. | |
| (d_array_convert): Remove vars argument. | |
| * expr.cc (ExprVisitor::visit (CatExp *)): Use build_local_temp to | |
| generate temporaries, don't wrap them in a BIND_EXPR. | |
| (ExprVisitor::visit (NewExp *)): Likewise. | |
| 2020-04-30 Iain Buclaw <ibuclaw@gdcproject.org> | |
| * gdc.texi (Options for Linking): Clarify usage of -defaultlib= and | |
| -debuglib= options. | |
| 2020-04-29 Iain Buclaw <ibuclaw@gdcproject.org> | |
| * d-codegen.cc (d_decl_context): Don't include module in the name of | |
| class and struct types that aren't extern(D). | |
| 2020-04-27 Iain Buclaw <ibuclaw@gdcproject.org> | |
| PR d/94777 | |
| * d-builtins.cc (build_frontend_type): Set parent for generated | |
| fields of built-in types. | |
| * d-codegen.cc (argument_reference_p): Rename to ... | |
| (parameter_reference_p): ... this. | |
| (type_passed_as): Rename to ... | |
| (parameter_type): ... this. Make TREE_ADDRESSABLE types restrict. | |
| (d_build_call): Move handling of non-POD types here from ... | |
| * d-convert.cc (convert_for_argument): ... here. | |
| * d-tree.h (argument_reference_p): Rename declaration to ... | |
| (parameter_reference_p): ... this. | |
| (type_passed_as): Rename declaration to ... | |
| (parameter_type): ... this. | |
| * types.cc (TypeVisitor::visit (TypeFunction *)): Update caller. | |
| 2020-04-26 Iain Buclaw <ibuclaw@gdcproject.org> | |
| * decl.cc (get_symbol_decl): Set DECL_DECLARED_INLINE_P or | |
| DECL_UNINLINABLE for declarations with pragma(inline). | |
| * toir.cc (IRVisitor::visit (GccAsmStatement *)): Set ASM_INLINE_P if | |
| in function decorated with pragma(inline). | |
| 2020-04-25 Iain Buclaw <ibuclaw@gdcproject.org> | |
| * intrinsics.cc (expand_intrinsic_toprec): New function. | |
| (maybe_expand_intrinsic): Handle toPrec intrinsics. | |
| * intrinsics.def (TOPRECF, TOPREC, TOPRECL): Add toPrec intrinsics. | |
| 2020-04-24 Iain Buclaw <ibuclaw@gdcproject.org> | |
| * d-spec.cc (need_phobos): Remove. | |
| (lang_specific_driver): Replace need_phobos with phobos_library. | |
| Reorder -debuglib and -defaultlib to have precedence over libphobos. | |
| (lang_specific_pre_link): Remove test for need_phobos. | |
| 2020-04-19 Iain Buclaw <ibuclaw@gdcproject.org> | |
| PR d/94609 | |
| * d-codegen.cc (argument_reference_p): Don't check TREE_ADDRESSABLE. | |
| (type_passed_as): Build reference type if TREE_ADDRESSABLE. | |
| * d-convert.cc (convert_for_argument): Build explicit TARGET_EXPR if | |
| needed for arguments passed by invisible reference. | |
| * types.cc (TypeVisitor::visit (TypeStruct *)): Mark all structs that | |
| are not POD as TREE_ADDRESSABLE. | |
| 2020-04-13 Iain Buclaw <ibuclaw@gdcproject.org> | |
| * Make-lang.in (D_FRONTEND_OBJS): Remove d/argtypes.o. | |
| * d-target.cc (Target::toArgTypes): New function. | |
| 2020-04-10 Iain Buclaw <ibuclaw@gdcproject.org> | |
| * d-spec.cc (LIBDRUNTIME): Remove. | |
| (LIBDRUNTIME_PROFILE): Remove. | |
| (lang_specific_driver): Don't link in libgdruntime. | |
| 2020-04-07 Iain Buclaw <ibuclaw@gdcproject.org> | |
| PR d/94425 | |
| * toir.cc (IRVisitor::visit (GccAsmStatement *)): Set ASM_VOLATILE_P | |
| on all asm statements. | |
| 2020-04-01 Iain Buclaw <ibuclaw@gdcproject.org> | |
| PR d/90136 | |
| * d-attribs.cc: Include dmd/attrib.h. | |
| (build_attributes): Redeclare as static. | |
| (apply_user_attributes): New function. | |
| * d-tree.h (class UserAttributeDeclaration): Remove. | |
| (build_attributes): Remove. | |
| (apply_user_attributes): Declare. | |
| (finish_aggregate_type): Remove attrs argument. | |
| * decl.cc (get_symbol_decl): Merge declaration prototypes with | |
| definitions. Use apply_user_attributes. | |
| * modules.cc (layout_moduleinfo_fields): Remove last argument to | |
| finish_aggregate_type. | |
| * typeinfo.cc (layout_classinfo_interfaces): Likewise. | |
| * types.cc (layout_aggregate_members): Likewise. | |
| (finish_aggregate_type): Remove attrs argument. | |
| (TypeVisitor::visit (TypeEnum *)): Use apply_user_attributes. | |
| (TypeVisitor::visit (TypeStruct *)): Remove last argument to | |
| finish_aggregate_type. Use apply_user_attributes. | |
| (TypeVisitor::visit (TypeClass *)): Likewise. | |
| 2020-03-31 Iain Buclaw <ibuclaw@gdcproject.org> | |
| * d-attribs.cc (d_langhook_common_attribute_table): Add always_inline. | |
| (handle_always_inline_attribute): New function. | |
| 2020-03-31 Iain Buclaw <ibuclaw@gdcproject.org> | |
| PR d/94424 | |
| * d-codegen.cc (build_alignment_field): Remove. | |
| (build_struct_literal): Don't insert alignment padding. | |
| * expr.cc (ExprVisitor::visit (AssignExp *)): Call memset before | |
| assigning struct literals. | |
| 2020-03-31 Iain Buclaw <ibuclaw@gdcproject.org> | |
| * typeinfo.cc (TypeInfoVisitor::internal_reference): Call | |
| d_comdat_linkage on generated decl. | |
| 2020-03-22 Iain Buclaw <ibuclaw@gdcproject.org> | |
| PR d/93038 | |
| * d-lang.cc (deps_write): Generate phony targets for content imported | |
| files. | |
| 2020-03-22 Iain Buclaw <ibuclaw@gdcproject.org> | |
| PR d/93038 | |
| * d-lang.cc (deps_write): Add content imported files to the make | |
| dependency list. | |
| 2020-03-21 Iain Buclaw <ibuclaw@gdcproject.org> | |
| PR d/94240 | |
| * typeinfo.cc (class TypeInfoVisitor): Replace type_ field with decl_. | |
| (TypeInfoVisitor::TypeInfoVisitor): Set decl_. | |
| (TypeInfoVisitor::result): Update. | |
| (TypeInfoVisitor::internal_reference): New function. | |
| (TypeInfoVisitor::layout_string): Use internal_reference. | |
| (TypeInfoVisitor::visit (TypeInfoTupleDeclaration *)): Likewise. | |
| (layout_typeinfo): Construct TypeInfoVisitor with typeinfo decl. | |
| (layout_classinfo): Likewise. | |
| 2020-03-20 Iain Buclaw <ibuclaw@gdcproject.org> | |
| PR lto/91027 | |
| * d-tree.h (struct GTY): Add daggregate field. | |
| (IDENTIFIER_DAGGREGATE): Define. | |
| (d_mangle_decl): Add declaration. | |
| * decl.cc (mangle_decl): Remove static linkage, rename to... | |
| (d_mangle_decl): ...this, update all callers. | |
| * types.cc (merge_aggregate_types): New function. | |
| (TypeVisitor::visit (TypeStruct *)): Call merge_aggregate_types, set | |
| IDENTIFIER_DAGGREGATE and TYPE_CXX_ODR_P. | |
| (TypeVisitor::visit (TypeClass *)): Likewise. | |
| 2020-03-18 Jakub Jelinek <jakub@redhat.com> | |
| * expr.cc (ExprVisitor::visit (CatAssignExp *)): Fix up duplicated | |
| word issue in a comment. | |
| * d-target.cc (Target::FPTypeProperties<T>::max): Likewise. | |
| 2020-03-16 Iain Buclaw <ibuclaw@gdcproject.org> | |
| PR d/92309 | |
| * types.cc (fixup_anonymous_offset): Don't set DECL_FIELD_OFFSET on | |
| anonymous fields. | |
| 2020-03-16 Iain Buclaw <ibuclaw@gdcproject.org> | |
| PR d/92216 | |
| * decl.cc (make_thunk): Don't set TREE_PUBLIC on thunks if the target | |
| function is external to the current compilation. | |
| 2020-01-01 Jakub Jelinek <jakub@redhat.com> | |
| Update copyright years. | |
| * gdc.texi: Bump @copyrights-d year. | |
| Copyright (C) 2020 Free Software Foundation, Inc. | |
| Copying and distribution of this file, with or without modification, | |
| are permitted in any medium without royalty provided the copyright | |
| notice and this notice are preserved. |