| 2023-05-29 Release Manager |
| |
| * GCC 11.4.0 released. |
| |
| 2023-03-14 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| Backported from master: |
| 2023-03-14 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| PR d/109108 |
| * decl.cc (get_symbol_decl): Set DECL_LAMBDA_FUNCTION_P on function |
| literals. |
| (start_function): Unconditionally unset DECL_EXTERNAL. |
| (set_linkage_for_decl): Give lambda functions one-only linkage. |
| |
| 2023-03-13 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| Backported from master: |
| 2023-03-13 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| * decl.cc (finish_thunk): Unset DECL_EXTERNAL on thunk. |
| (make_thunk): Set DECL_EXTERNAL on thunk, don't call build_decl_tree. |
| (finish_function): Call finish_thunk on forward referenced thunks. |
| |
| 2023-03-13 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| Backported from master: |
| 2023-03-13 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| * decl.cc (get_fndecl_result): New function. |
| (get_fndecl_arguments): New function. |
| (DeclVisitor::visit (FuncDeclaration *)): Adjust to call |
| get_fndecl_arguments. |
| (make_thunk): Adjust to call get_fndecl_arguments and |
| get_fndecl_result. |
| (start_function): Adjust to call get_fndecl_result. |
| |
| 2023-03-03 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| Backported from master: |
| 2023-03-03 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| PR d/108877 |
| * imports.cc (ImportVisitor::visit (EnumDeclaration *)): Call |
| make_import on TYPE_MAIN_VARIANT. |
| (ImportVisitor::visit (AggregateDeclaration *)): Likewise. |
| (ImportVisitor::visit (ClassDeclaration *)): Likewise. |
| |
| 2022-12-11 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| Backported from master: |
| 2022-12-11 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| PR d/108050 |
| * decl.cc (DeclVisitor::visit (Import *)): Handle build_import_decl |
| returning a TREE_LIST. |
| * imports.cc (ImportVisitor::visit (OverloadSet *)): New override. |
| |
| 2022-11-30 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| Backported from master: |
| 2022-11-30 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| PR d/107592 |
| * toir.cc (IRVisitor::push_unrolled_continue_label): New method. |
| (IRVisitor::pop_unrolled_continue_label): New method. |
| (IRVisitor::visit (UnrolledLoopStatement *)): Use them instead of |
| push_continue_label and pop_continue_label. |
| |
| 2022-08-16 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| Backported from master: |
| 2022-08-16 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| PR d/106638 |
| * gdc.texi: Update DIP links to point at upstream dlang/DIPs |
| repository. |
| |
| 2022-07-04 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| Backported from master: |
| 2022-06-29 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| PR d/106139 |
| * d-convert.cc (convert_expr): Handle casting from array to vector. |
| (convert_for_rvalue): Rewrite vector to array casts of the same |
| element type into a constructor. |
| (convert_for_assignment): Return calling convert_for_rvalue. |
| * dmd/expressionsem.c (ExpressionSemanticVisitor::visit): Run semantic |
| on vector expression after lowering. |
| * expr.cc (ExprVisitor::visit (VectorExp *)): Handle generating a |
| vector expression from a static array. |
| * toir.cc (IRVisitor::visit (ReturnStatement *)): Call |
| convert_for_rvalue on return value. |
| |
| 2022-06-15 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| Backported from master: |
| 2022-06-15 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| * typeinfo.cc (make_internal_typeinfo): Set TYPE_ARTIFICIAL. |
| |
| 2022-06-15 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| Backported from master: |
| 2021-12-01 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| * d-spec.cc (lang_specific_driver): Set SKIPOPT on -static-libstdc++ |
| and -static-libphobos only when target supports LD_STATIC_DYNAMIC. |
| Remove generate_option to re-add -static-libstdc++. |
| |
| 2022-04-21 Release Manager |
| |
| * GCC 11.3.0 released. |
| |
| 2022-03-21 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| Backported from master: |
| 2022-03-21 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| PR d/105004 |
| * d-codegen.cc (build_struct_literal): Use complex_expr to build |
| complex expressions from __c_complex types. |
| |
| 2021-12-10 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| Backported from master: |
| 2021-12-10 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| * decl.cc (get_symbol_decl): Align methods to MINIMUM_METHOD_BOUNDARY. |
| |
| 2021-11-29 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| Backported from master: |
| 2021-07-30 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| * d-lang.cc (deps_add_target): Insert null terminator in buffer. |
| (deps_write): Likewise. |
| (d_parse_file): Likewise. |
| |
| 2021-11-28 Martin Liska <mliska@suse.cz> |
| |
| Backported from master: |
| 2021-11-28 Martin Liska <mliska@suse.cz> |
| |
| * d-attribs.cc (parse_optimize_options): Fix thinko. |
| |
| 2021-11-26 Martin Liska <mliska@suse.cz> |
| |
| * d-attribs.cc (parse_optimize_options): Check index before |
| accessing cl_options. |
| |
| 2021-11-18 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| Backported from master: |
| 2021-11-18 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| * decl.cc (d_finish_decl): Use HOST_WIDE_INT for type size |
| temporaries. |
| |
| 2021-10-13 Iain Sandoe <iain@sandoe.co.uk> |
| |
| Backported from master: |
| 2021-10-05 Iain Sandoe <iain@sandoe.co.uk> |
| |
| * d-spec.cc (lang_specific_driver): Push the -static-libstdc++ |
| option back onto the command line for targets without support |
| for -Bstatic/dynamic. |
| |
| 2021-10-04 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| Backported from master: |
| 2021-10-04 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| PR d/102574 |
| * d-spec.cc (lang_specific_driver): Link libstdc++ statically if |
| -static-libstdc++ was given on command-line. |
| |
| 2021-09-12 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| Backported from master: |
| 2021-09-12 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| PR d/102185 |
| * d-builtins.cc (d_eval_constant_expression): Don't include |
| terminating null pointer in string expression conversion. |
| |
| 2021-07-29 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| Backported from master: |
| 2021-07-29 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| PR d/101664 |
| * expr.cc (ExprVisitor::visit (CallExp *)): Use object expression as |
| result for C++ constructor calls. |
| |
| 2021-07-29 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| Backported from master: |
| 2021-07-29 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| PR d/96435 |
| * d-convert.cc (convert_for_rvalue): New function. |
| * d-tree.h (convert_for_rvalue): Declare. |
| * expr.cc (ExprVisitor::visit (CastExp *)): Use convert_for_rvalue. |
| (build_return_dtor): Likewise. |
| |
| 2021-07-28 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| Backported from master: |
| 2021-07-28 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| PR d/101640 |
| * expr.cc (binary_op): Use build2 instead of fold_build2. |
| |
| 2021-07-28 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| Backported from master: |
| 2021-07-28 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| PR d/101490 |
| * d-codegen.cc (build_array_index): Handle void arrays same as byte. |
| * d-convert.cc (convert_expr): Handle converting to zero-sized arrays. |
| * dmd/dcast.c (castTo): Handle casting to zero-sized arrays. |
| |
| 2021-07-28 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| Backported from master: |
| 2021-07-28 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| PR d/101441 |
| * dmd/expression.c (FuncInitExp::resolveLoc): Set type as `string'. |
| (PrettyFuncInitExp::resolveLoc): Likewise. |
| |
| 2021-07-28 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| Backported from master: |
| 2021-07-28 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| PR d/101127 |
| * d-builtins.cc (d_builtin_function_ext_scope): New function. |
| * d-lang.cc (LANG_HOOKS_BUILTIN_FUNCTION_EXT_SCOPE): Define. |
| * d-tree.h (d_builtin_function_ext_scope): Declare. |
| |
| 2021-07-28 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| Backported from master: |
| 2021-07-28 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| PR d/101619 |
| * dmd/expression.c (DotTemplateExp::checkType): New function. |
| (DotTemplateExp::checkValue): New function. |
| * dmd/expression.h (class DotTemplateExp): Declare checkType and |
| checkValue. |
| |
| 2021-07-28 Release Manager |
| |
| * GCC 11.2.0 released. |
| |
| 2021-07-03 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| Backported from master: |
| 2021-07-03 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| PR d/101273 |
| * toir.cc (IRVisitor::visit (ReturnStatement *)): Detect returns that |
| use a temporary, and replace with return value. |
| |
| 2021-07-02 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| Backported from master: |
| 2021-07-02 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| PR d/101282 |
| * d-codegen.cc (build_assign): Force target_expr on RHS for non-POD |
| assignment expressions. |
| |
| 2021-06-11 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| Backported from master: |
| 2021-06-11 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| PR d/100999 |
| * dmd/cond.c (lowerArrayAggregate): Run CTFE interpret on foreach |
| input range. |
| (createTupleType): Don't generate typeinfo when disabled. |
| (lowerNonArrayAggregate): Suppress errors when running type semantic. |
| (staticForeachPrepare): Don't run CTFE interpret from here. |
| * dmd/dinterpret.c (ctfeInterpret): Add more shortcut cases. |
| * dmd/expression.c (Expression::checkPostblit): Don't generate |
| typeinfo when type is missing from library. |
| * dmd/expressionsem.c (resolvePropertiesX): Remove early error. |
| * dmd/statementsem.c (StatementSemanticVisitor::declareVariable): |
| Don't override index type. |
| (StatementSemanticVisitor::makeTupleForeachBody): Check index type is |
| integral and index range fits type size. |
| (StatementSemanticVisitor::visit (ForeachStatement*)): Adjust index |
| range before testing. |
| |
| 2021-06-10 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| Backported from master: |
| 2021-06-10 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| PR d/100967 |
| * d-frontend.cc (getTypeInfoType): Move TypeInfo checks to |
| check_typeinfo_type and call new function. |
| * d-tree.h (check_typeinfo_type): Declare. |
| * typeinfo.cc: Include dmd/scope.h. |
| (create_frontend_tinfo_types): Generate front-end types even if Object |
| is missing. |
| (build_typeinfo): Move TypeInfo checks to check_typeinfo_type and call |
| new function. |
| (check_typeinfo_type): New function. |
| |
| 2021-06-09 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| Backported from master: |
| 2021-06-09 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| PR d/100964 |
| * dmd/expression.c (Expression::checkPostblit): Don't generate |
| TypeInfo when RTTI is disabled. |
| |
| 2021-06-09 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| Backported from master: |
| 2021-06-09 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| PR d/100935 |
| * dmd/mtype.c (Type::getProperty): Prefer explicit alignment over |
| natural alignment for alignof property. |
| |
| 2021-06-04 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| Backported from master: |
| 2021-06-04 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| PR d/100882 |
| * d-codegen.cc (build_assign): Construct initializations inside |
| TARGET_EXPR_INITIAL. |
| (compound_expr): Remove intermediate expressions that have no |
| side-effects. |
| (return_expr): Construct returns inside TARGET_EXPR_INITIAL. |
| * expr.cc (ExprVisitor::visit (CallExp *)): Remove useless assignment |
| to TARGET_EXPR_SLOT. |
| |
| 2021-05-10 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| Backported from master: |
| 2021-05-10 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| * dmd/dsymbolsem.c (aliasInstanceSemantic): Merge storage class of old |
| alias into new symbol. |
| |
| 2021-04-27 Release Manager |
| |
| * GCC 11.1.0 released. |
| |
| 2021-04-19 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| PR d/98457 |
| * d-diagnostic.cc (expand_d_format): Handle escaped backticks. |
| (escape_d_format): New funtion. |
| (verror): Call escape_d_format on prefixing strings. |
| (vdeprecation): Likewise. |
| |
| 2021-04-17 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| PR d/99914 |
| * d-target.def (d_templates_always_comdat): New hook. |
| * d-tree.h (mark_needed): Remove prototype. |
| * decl.cc: Include d-target.h. |
| (mark_needed): Rename to... |
| (d_mark_needed): ...this. Make static. |
| (set_linkage_for_decl): Put variables in comdat if |
| d_templates_always_comdat. |
| |
| 2021-04-17 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| * d-target.cc (d_handle_target_object_format): New function. |
| (d_language_target_info): Add d_handle_target_object_format as handler |
| for objectFormat key. |
| (Target::getTargetInfo): Continue if handler returned NULL_TREE. |
| |
| 2021-04-14 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| * d-target.cc (Target::_init): Call new targetdm hook to register OS |
| specific target info keys. |
| * d-target.def (d_register_os_target_info): New hook. |
| |
| 2021-04-14 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| * d-builtins.cc (d_add_builtin_version): Remove all setting of |
| target-specific global.params. |
| * typeinfo.cc (create_typeinfo): Don't add argType fields to |
| TypeInfo_Struct. |
| |
| 2021-04-14 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| PR d/99914 |
| * decl.cc (DeclVisitor::visit (StructDeclaration *)): Don't set |
| DECL_INSTANTIATED on static initializer declarations. |
| (DeclVisitor::visit (ClassDeclaration *)): Likewise. |
| (DeclVisitor::visit (EnumDeclaration *)): Likewise. |
| (d_finish_decl): Move call to set_linkage_for_decl to... |
| (declare_extern_var): ...here. |
| |
| 2021-04-14 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| * d-target.cc (Target::_init): Call new targetdm hook to register CPU |
| specific target info keys. |
| * d-target.def (d_register_cpu_target_info): New hook. |
| |
| 2021-04-14 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| * d-target.cc (Target::systemLinkage): Return LINKwindows if |
| d_has_stdcall_convention applies to LINKsystem. |
| * d-target.def (d_has_stdcall_convention): New hook. |
| * types.cc (TypeVisitor::visit (TypeFunction *)): Insert "stdcall" |
| function attribute if d_has_stdcall_convention applies to LINKwindows. |
| |
| 2021-04-10 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| * dmd/MERGE: Merge upstream dmd 0450061c8. |
| |
| 2021-04-08 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| * d-attribs.cc: Include fold-const.h and opts.h. |
| (attr_noreturn_exclusions): Add alloc_size. |
| (attr_const_pure_exclusions): Likewise. |
| (attr_inline_exclusions): Add target_clones. |
| (attr_noinline_exclusions): Rename forceinline to always_inline. |
| (attr_target_exclusions): New array. |
| (attr_target_clones_exclusions): New array. |
| (attr_alloc_exclusions): New array. |
| (attr_cold_hot_exclusions): New array. |
| (d_langhook_common_attribute_table): Add new D attribute handlers. |
| (build_attributes): Update to look for gcc.attributes. Issue warning |
| if not given a struct literal. Handle void initialized arguments. |
| (handle_always_inline_attribute): Remove function. |
| (d_handle_noinline_attribute): Don't extract TYPE_LANG_FRONTEND. |
| (d_handle_forceinline_attribute): Rename to... |
| (d_handle_always_inline_attribute): ...this. Remove special handling. |
| (d_handle_flatten_attribute): Don't extract TYPE_LANG_FRONTEND. |
| (d_handle_target_attribute): Likewise. Warn about empty arguments. |
| (d_handle_target_clones_attribute): New function. |
| (optimize_args): New static variable. |
| (parse_optimize_options): New function. |
| (d_handle_optimize_attribute): New function. |
| (d_handle_noclone_attribute): Don't extract TYPE_LANG_FRONTEND. |
| (d_handle_alias_attribute): Remove function. |
| (d_handle_noicf_attribute): New function. |
| (d_handle_noipa_attribute): New function. |
| (d_handle_section_attribute): Call the handle_generic_attribute target |
| hook after performing target independent processing. |
| (d_handle_symver_attribute): New function. |
| (d_handle_noplt_attribute): New function. |
| (positional_argument): New function. |
| (d_handle_alloc_size_attribute): New function. |
| (d_handle_cold_attribute): New function. |
| (d_handle_restrict_attribute): New function. |
| (d_handle_used_attribute): New function. |
| * decl.cc (gcc_attribute_p): Update to look for gcc.attributes. |
| (get_symbol_decl): Update decl source location of old prototypes to |
| the new declaration being merged. |
| * types.cc (layout_aggregate_members): Apply user defined attributes |
| on fields. |
| |
| 2021-04-06 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| PR d/99917 |
| * dmd/MERGE: Merge upstream dmd d16195406. |
| |
| 2021-04-06 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| * d-codegen.cc (build_frame_type): Use Array::find to get index of |
| element. |
| |
| 2021-04-06 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| * d-diagnostic.cc (vwarning): Increment gaggedWarnings if warning |
| message was suppressed. |
| (vdeprecation): Likewise for deprecation messages. |
| |
| 2021-04-06 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| * dmd/MERGE: Merge upstream dmd 5cc71ff83. |
| |
| 2021-04-05 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| PR d/99914 |
| * d-lang.cc (d_init): Disable flag_weak_templates if no support for |
| weak or one-only symbols. |
| * d-tree.h (VAR_OR_FUNCTION_DECL_CHECK): New macro. |
| (DECL_INSTANTIATED): New macro. |
| (d_comdat_linkage): Remove declaration. |
| (d_linkonce_linkage): Remove declaration. |
| (set_linkage_for_decl): New declaration. |
| * decl.cc (DeclVisitor::visit (StructDeclaration *)): Replace call to |
| d_linkonce_linkage with setting DECL_INSTANTIATED. |
| (DeclVisitor::visit (ClassDeclaration *)): Likewise. |
| (DeclVisitor::visit (EnumDeclaration *)): Likewise. |
| (DeclVisitor::visit (InterfaceDeclaration *)): Remove call to |
| d_linkonce_linkage. |
| (get_symbol_decl): Call set_linkage_for_decl instead of |
| d_linkonce_linkage. |
| (d_finish_decl): Call set_linkage_for_decl. |
| (d_comdat_linkage): Made function static. Only set DECL_COMDAT for |
| DECL_INSTANTIATED decls. |
| (d_linkonce_linkage): Remove function. |
| (d_weak_linkage): New function. |
| (set_linkage_for_decl): New function. |
| * gdc.texi (Runtime Options): Rename -fno-weak to -fno-weak-templates, |
| update documentation of option. |
| * lang.opt (fweak): Rename option to ... |
| (fweak-templates): ... this. Update help string. |
| * modules.cc (get_internal_fn): Add Prot parameter. Set generated |
| function flag. |
| (build_internal_fn): Update call to get_internal_fn. |
| (build_dso_cdtor_fn): Likewise. |
| (register_moduleinfo): Call d_finish_decl on dso_slot_node and |
| dso_initialized_node. |
| * typeinfo.cc (TypeInfoVisitor::internal_reference): Call |
| set_linkage_for_decl instead of d_comdat_linkage. |
| (TypeInfoDeclVisitor::visit (TypeInfoDeclaration *)): Remove calls to |
| d_linkonce_linkage and d_comdat_linkage. |
| (get_cpp_typeinfo_decl): Likewise. |
| |
| 2021-04-03 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| * dmd/MERGE: Merge upstream dmd 3b808e838. |
| * Make-lang.in (D_FRONTEND_OBJS): Add d/chkformat.o. |
| * d-codegen.cc (build_struct_literal): Handle special enums. |
| * d-convert.cc (convert_expr): Handle noreturn type. |
| (convert_for_condition): Likewise. |
| * d-target.cc (Target::_init): Set type for wchar_t. |
| (TargetCPP::derivedClassOffset): New method. |
| (Target::libraryObjectMonitors): New method. |
| * decl.cc (get_symbol_decl): Set TREE_THIS_VOLATILE for functions of |
| type noreturn. |
| * toir.cc (IRVisitor::visit (ReturnStatement *)): Handle returning |
| noreturn types. |
| * types.cc (TypeVisitor::visit (TypeNoreturn *)): New method. |
| (TypeVisitor::visit (TypeEnum *)): Handle special enums. |
| |
| 2021-03-28 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| * d-builtins.cc (d_init_versions): Predefine D_PIE if flag_pie is set. |
| |
| 2021-03-28 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| * d-lang.cc (d_enum_underlying_base_type): New function. |
| (LANG_HOOKS_ENUM_UNDERLYING_BASE_TYPE): Set as |
| d_enum_underlying_base_type. |
| |
| 2021-03-28 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| * Make-lang.in (DMDGEN_COMPILE): Remove. |
| (d/%.dmdgen.o): Use COMPILER_FOR_BUILD and BUILD_COMPILERFLAGS to |
| build all D generator programs. |
| (D_SYSTEM_H): New macro. |
| (d/idgen.dmdgen.o): Add dependencies to build. |
| (d/impcnvgen.dmdgen.o): Likewise. |
| * d-system.h: Include bconfig.h if GENERATOR_FILE is defined. |
| |
| 2021-03-28 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| * config-lang.in (gtfiles): Remove modules.cc. |
| * modules.cc (struct module_info): Remove GTY marker. |
| (static_ctor_list): Remove variable. |
| (static_dtor_list): Remove variable. |
| (register_moduleinfo): Directly set DECL_STATIC_CONSTRUCTOR on |
| dso_ctor, and DECL_STATIC_DESTRUCTOR on dso_dtor. |
| (d_finish_compilation): Remove static ctor/dtor handling. |
| |
| 2021-03-06 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| * d-lang.cc (d_init_options_struct): Don't set default |
| flag_complex_method. |
| |
| 2021-03-03 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| PR d/99337 |
| * dmd/MERGE: Merge upstream dmd a3c9bf422. |
| |
| 2021-02-13 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| * dmd/MERGE: Merge upstream dmd 7132b3537. |
| * Make-lang.in (D_FRONTEND_OBJS): Add d/dsymbolsem.o, d/semantic2.o, |
| d/semantic3.o, and d/templateparamsem.o. |
| * d-compiler.cc (Compiler::genCmain): Update calls to semantic |
| entrypoint functions. |
| * d-lang.cc (d_parse_file): Likewise. |
| * typeinfo.cc (make_frontend_typeinfo): Likewise. |
| |
| 2021-02-05 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| * d-tree.h (DEF_D_INTRINSIC): Don't insert INTRINSIC_ into the |
| intrinsic code name. |
| * intrinsics.cc (DEF_D_INTRINSIC): Don't insert INTRISIC_ and |
| BUILT_IN_ into the intrinsic and built-in code names. |
| * intrinsics.def: Explicitly use full intrinsic and built-in |
| codes in all definitions. |
| |
| 2021-02-04 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| * dmd/MERGE: Merge upstream dmd 46133f761. |
| * d-builtins.cc (d_build_builtins_module): Set builtins as BUILTINgcc. |
| (maybe_set_builtin_1): Likewise. |
| * d-frontend.cc (eval_builtin): Adjust condition for early return. |
| * intrinsics.cc (maybe_set_intrinsic): Set intrinsics as BUILTINgcc. |
| (maybe_expand_intrinsic): Add case for INTRINSIC_BSWAP16. |
| * intrinsics.def (INTRINSIC_BT): Update signature. |
| (INTRINSIC_BT64): Likewise. |
| (INTRINSIC_BSWAP16): New intrinsic. |
| (INTRINSIC_VLOAD8): Update module. |
| (INTRINSIC_VLOAD16): Likewise. |
| (INTRINSIC_VLOAD32): Likewise. |
| (INTRINSIC_VLOAD64): Likewise. |
| (INTRINSIC_VSTORE8): Likewise. |
| (INTRINSIC_VSTORE16): Likewise. |
| (INTRINSIC_VSTORE32): Likewise. |
| (INTRINSIC_VSTORE64): Likewise. |
| (INTRINSIC_ADDS): Update signature. |
| (INTRINSIC_ADDSL): Likewise. |
| (INTRINSIC_ADDU): Likewise. |
| (INTRINSIC_ADDUL): Likewise. |
| (INTRINSIC_SUBS): Likewise. |
| (INTRINSIC_SUBSL): Likewise. |
| (INTRINSIC_SUBU): Likewise. |
| (INTRINSIC_SUBUL): Likewise. |
| (INTRINSIC_MULS): Likewise. |
| (INTRINSIC_MULSL): Likewise. |
| (INTRINSIC_MULU): Likewise. |
| (INTRINSIC_MULUI): Likewise. |
| (INTRINSIC_MULUL): Likewise. |
| (INTRINSIC_NEGS): Likewise. |
| (INTRINSIC_NEGSL): Likewise. |
| |
| 2021-02-02 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| PR d/98921 |
| * dmd/MERGE: Merge upstream dmd 5e2a81d9c. |
| |
| 2021-01-30 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| * typeinfo.cc (TypeInfoVisitor::visit (TypeInfoDeclaration *)): Don't |
| layout m_arg1 and m_arg2 fields. |
| |
| 2021-01-26 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| * dmd/MERGE: Merge upstream dmd 609c3ce2d. |
| * d-compiler.cc (Compiler::loadModule): Rename to ... |
| (Compiler::onParseModule): ... this. |
| (Compiler::onImport): New function. |
| * d-lang.cc (d_parse_file): Remove call to Compiler::loadModule. |
| |
| 2021-01-21 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| * dmd/MERGE: Merge upstream dmd 3a7ebef73. |
| |
| 2021-01-11 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| * dmd/MERGE: Merge upstream dmd 2d3d13748. |
| * d-lang.cc (d_handle_option): Remove OPT_ftransition_checkimports and |
| OPT_ftransition_import. |
| * gdc.texi (Warnings): Remove documentation for -ftransition=import |
| and -ftransition=checkimports. |
| * lang.opt (ftransition=checkimports): Remove. |
| (ftransition=import): Remove. |
| |
| 2021-01-09 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| * dmd/MERGE: Merge upstream dmd cb1106ad5. |
| |
| 2021-01-09 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| * dmd/MERGE: Merge upstream dmd 9bba772fa. |
| |
| 2021-01-09 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| * dmd/MERGE: Merge upstream dmd e598f69c0. |
| |
| 2021-01-07 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| * dmd/MERGE: Merge upstream dmd 9038e64c5. |
| * d-builtins.cc (build_frontend_type): Update call to |
| Parameter::create. |
| |
| 2021-01-05 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| * dmd/MERGE: Merge upstream dmd a5c86f5b9. |
| * d-builtins.cc (d_eval_constant_expression): Handle ADDR_EXPR trees |
| created by build_string_literal. |
| * d-frontend.cc (retStyle): Remove function. |
| * d-target.cc (d_language_target_info): New variable. |
| (d_target_info_table): Likewise. |
| (Target::_init): Initialize d_target_info_table. |
| (Target::isReturnOnStack): New function. |
| (d_add_target_info_handlers): Likewise. |
| (d_handle_target_cpp_std): Likewise. |
| (d_handle_target_cpp_runtime_library): Likewise. |
| (Target::getTargetInfo): Likewise. |
| * d-target.h (struct d_target_info_spec): New type. |
| (d_add_target_info_handlers): Declare. |
| |
| 2021-01-01 Jakub Jelinek <jakub@redhat.com> |
| |
| * gdc.texi: Bump @copyrights-d year. |
| |
| 2021-01-01 Jakub Jelinek <jakub@redhat.com> |
| |
| * ChangeLog-2020: Rotate ChangeLog. New file. |
| |
| |
| Copyright (C) 2021 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. |