722 lines
24 KiB
Plaintext
722 lines
24 KiB
Plaintext
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.
|