mirror of
https://forge.sourceware.org/marek/gcc.git
synced 2026-02-22 12:00:11 -05:00
Rotate ChangeLog files for ChangeLogs with yearly cadence. Also remove empty lines before Form Feed line.
833 lines
29 KiB
Plaintext
833 lines
29 KiB
Plaintext
2022-12-12 Iain Buclaw <ibuclaw@gdcproject.org>
|
||
|
||
PR d/108055
|
||
* decl.cc (function_defined_in_root_p): Check all enclosing template
|
||
instances for definition in a root module.
|
||
(function_needs_inline_definition_p): Replace call to
|
||
function_defined_in_root_p with test for outer module `isRoot'.
|
||
|
||
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-12-11 Iain Buclaw <ibuclaw@gdcproject.org>
|
||
|
||
* dmd/MERGE: Merge upstream dmd c8ae4adb2e.
|
||
* typeinfo.cc (check_typeinfo_type): Update for new front-end
|
||
interface.
|
||
(TypeInfoVisitor::visit (TypeInfoStructDeclaration *)): Remove warning
|
||
that toHash() must be declared 'nothrow @safe`.
|
||
|
||
2022-12-11 Iain Buclaw <ibuclaw@gdcproject.org>
|
||
|
||
* intrinsics.cc (expand_intrinsic_bsf): Fix comment.
|
||
(expand_intrinsic_bsr): Use BIT_XOR_EXPR instead of MINUS_EXPR.
|
||
|
||
2022-11-30 Iain Buclaw <ibuclaw@gdcproject.org>
|
||
|
||
* Make-lang.in (D_TEXI_FILES): Add d/implement-d.texi.
|
||
* gdc.texi: Adjust introduction, include implement-d.texi.
|
||
* implement-d.texi: New file.
|
||
|
||
2022-11-30 Iain Buclaw <ibuclaw@gdcproject.org>
|
||
|
||
* Make-lang.in: Only include doc/include when building documentation.
|
||
(d.html): Rename html directory to $(build_htmldir)/gdc.
|
||
|
||
2022-11-30 Iain Buclaw <ibuclaw@gdcproject.org>
|
||
|
||
* gdc.texi: Separate indices into options and keywords.
|
||
|
||
2022-11-30 Iain Buclaw <ibuclaw@gdcproject.org>
|
||
|
||
* gdc.texi: Update gdc option documentation.
|
||
* lang.opt (frevert=intpromote): Correct documentation.
|
||
|
||
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-11-23 Martin Liska <mliska@suse.cz>
|
||
|
||
* Make-lang.in: Use it as $DO_LINK_MUTEX.
|
||
|
||
2022-11-23 Marek Polacek <polacek@redhat.com>
|
||
|
||
Revert:
|
||
2022-11-23 Marek Polacek <polacek@redhat.com>
|
||
|
||
* Make-lang.in: Remove NO_PIE_CFLAGS.
|
||
|
||
2022-11-23 Marek Polacek <polacek@redhat.com>
|
||
|
||
* Make-lang.in: Remove NO_PIE_CFLAGS.
|
||
|
||
2022-11-14 Martin Liska <mliska@suse.cz>
|
||
|
||
Revert:
|
||
2022-11-14 Martin Liska <mliska@suse.cz>
|
||
|
||
* doc/conf.py: New file.
|
||
* doc/copyright.rst: New file.
|
||
* doc/general-public-license-3.rst: New file.
|
||
* doc/gnu-free-documentation-license.rst: New file.
|
||
* doc/index.rst: New file.
|
||
* doc/indices-and-tables.rst: New file.
|
||
* doc/invoking-gdc.rst: New file.
|
||
* doc/invoking-gdc/code-generation.rst: New file.
|
||
* doc/invoking-gdc/developer-options.rst: New file.
|
||
* doc/invoking-gdc/input-and-output-files.rst: New file.
|
||
* doc/invoking-gdc/options-for-directory-search.rst: New file.
|
||
* doc/invoking-gdc/options-for-linking.rst: New file.
|
||
* doc/invoking-gdc/runtime-options.rst: New file.
|
||
* doc/invoking-gdc/warnings.rst: New file.
|
||
|
||
2022-11-14 Martin Liska <mliska@suse.cz>
|
||
|
||
Revert:
|
||
2022-11-14 Martin Liska <mliska@suse.cz>
|
||
|
||
* d-target.def: Port to RST.
|
||
|
||
2022-11-14 Martin Liska <mliska@suse.cz>
|
||
|
||
Revert:
|
||
2022-11-14 Martin Liska <mliska@suse.cz>
|
||
|
||
* Make-lang.in: Support Sphinx based documentation.
|
||
|
||
2022-11-14 Martin Liska <mliska@suse.cz>
|
||
|
||
Revert:
|
||
2022-11-09 Martin Liska <mliska@suse.cz>
|
||
|
||
* gdc.texi: Removed.
|
||
|
||
2022-11-14 Martin Liska <mliska@suse.cz>
|
||
|
||
Revert:
|
||
2022-11-14 Martin Liska <mliska@suse.cz>
|
||
|
||
* Make-lang.in: Support --with-sphinx-build.
|
||
|
||
2022-11-14 Martin Liska <mliska@suse.cz>
|
||
|
||
Revert:
|
||
2022-11-14 Martin Liska <mliska@suse.cz>
|
||
|
||
* Make-lang.in:
|
||
Support installation if sphinx-build is missing.
|
||
|
||
2022-11-14 Martin Liska <mliska@suse.cz>
|
||
|
||
Revert:
|
||
2022-11-14 Martin Liska <mliska@suse.cz>
|
||
|
||
* doc/copyright.rst:
|
||
Add trailing newline.
|
||
* doc/general-public-license-3.rst:
|
||
Add trailing newline.
|
||
* doc/gnu-free-documentation-license.rst:
|
||
Add trailing newline.
|
||
* doc/index.rst:
|
||
Add trailing newline.
|
||
* doc/indices-and-tables.rst:
|
||
Add trailing newline.
|
||
* doc/invoking-gdc.rst:
|
||
Add trailing newline.
|
||
* doc/invoking-gdc/code-generation.rst:
|
||
Add trailing newline.
|
||
* doc/invoking-gdc/developer-options.rst:
|
||
Add trailing newline.
|
||
* doc/invoking-gdc/input-and-output-files.rst:
|
||
Add trailing newline.
|
||
* doc/invoking-gdc/options-for-directory-search.rst:
|
||
Add trailing newline.
|
||
* doc/invoking-gdc/options-for-linking.rst:
|
||
Add trailing newline.
|
||
* doc/invoking-gdc/runtime-options.rst:
|
||
Add trailing newline.
|
||
* doc/invoking-gdc/warnings.rst:
|
||
Add trailing newline.
|
||
|
||
2022-11-14 Martin Liska <mliska@suse.cz>
|
||
|
||
Revert:
|
||
2022-11-10 Martin Liska <mliska@suse.cz>
|
||
|
||
* doc/conf.py: Add newline at last line.
|
||
|
||
2022-11-10 Martin Liska <mliska@suse.cz>
|
||
|
||
* doc/conf.py: Add newline at last line.
|
||
|
||
2022-11-09 Martin Liska <mliska@suse.cz>
|
||
|
||
* doc/copyright.rst:
|
||
Add trailing newline.
|
||
* doc/general-public-license-3.rst:
|
||
Add trailing newline.
|
||
* doc/gnu-free-documentation-license.rst:
|
||
Add trailing newline.
|
||
* doc/index.rst:
|
||
Add trailing newline.
|
||
* doc/indices-and-tables.rst:
|
||
Add trailing newline.
|
||
* doc/invoking-gdc.rst:
|
||
Add trailing newline.
|
||
* doc/invoking-gdc/code-generation.rst:
|
||
Add trailing newline.
|
||
* doc/invoking-gdc/developer-options.rst:
|
||
Add trailing newline.
|
||
* doc/invoking-gdc/input-and-output-files.rst:
|
||
Add trailing newline.
|
||
* doc/invoking-gdc/options-for-directory-search.rst:
|
||
Add trailing newline.
|
||
* doc/invoking-gdc/options-for-linking.rst:
|
||
Add trailing newline.
|
||
* doc/invoking-gdc/runtime-options.rst:
|
||
Add trailing newline.
|
||
* doc/invoking-gdc/warnings.rst:
|
||
Add trailing newline.
|
||
|
||
2022-11-09 Martin Liska <mliska@suse.cz>
|
||
|
||
* Make-lang.in:
|
||
Support installation if sphinx-build is missing.
|
||
|
||
2022-11-09 Martin Liska <mliska@suse.cz>
|
||
|
||
* Make-lang.in: Support --with-sphinx-build.
|
||
|
||
2022-11-09 Martin Liska <mliska@suse.cz>
|
||
|
||
* gdc.texi: Removed.
|
||
|
||
2022-11-09 Martin Liska <mliska@suse.cz>
|
||
|
||
* Make-lang.in: Support Sphinx based documentation.
|
||
|
||
2022-11-09 Martin Liska <mliska@suse.cz>
|
||
|
||
* d-target.def: Port to RST.
|
||
|
||
2022-11-09 Martin Liska <mliska@suse.cz>
|
||
|
||
* doc/conf.py: New file.
|
||
* doc/copyright.rst: New file.
|
||
* doc/general-public-license-3.rst: New file.
|
||
* doc/gnu-free-documentation-license.rst: New file.
|
||
* doc/index.rst: New file.
|
||
* doc/indices-and-tables.rst: New file.
|
||
* doc/invoking-gdc.rst: New file.
|
||
* doc/invoking-gdc/code-generation.rst: New file.
|
||
* doc/invoking-gdc/developer-options.rst: New file.
|
||
* doc/invoking-gdc/input-and-output-files.rst: New file.
|
||
* doc/invoking-gdc/options-for-directory-search.rst: New file.
|
||
* doc/invoking-gdc/options-for-linking.rst: New file.
|
||
* doc/invoking-gdc/runtime-options.rst: New file.
|
||
* doc/invoking-gdc/warnings.rst: New file.
|
||
|
||
2022-11-05 Iain Buclaw <ibuclaw@gdcproject.org>
|
||
|
||
* d-target.cc (Target::isVectorOpSupported): Remove cases for
|
||
comparison operators.
|
||
* intrinsics.cc (maybe_set_intrinsic): Remove cases for vector
|
||
comparison intrinsics.
|
||
(maybe_warn_intrinsic_mismatch): Likewise.
|
||
(expand_intrinsic_vec_cond): Remove.
|
||
(maybe_expand_intrinsic): Remove cases for vector comparison
|
||
intrinsics.
|
||
* intrinsics.def (INTRINSIC_EQUALMASK): Remove.
|
||
(INTRINSIC_NOTEQUALMASK): Remove.
|
||
(INTRINSIC_GREATERMASK): Remove.
|
||
(INTRINSIC_GREATEREQUALMASK): Remove.
|
||
|
||
2022-10-29 Iain Buclaw <ibuclaw@gdcproject.org>
|
||
|
||
* d-attribs.cc (apply_user_attributes): Update for new front-end
|
||
interface.
|
||
* d-builtins.cc (d_init_versions): Predefine `D_Optimized' with
|
||
compiling with optimizations enabled.
|
||
* d-lang.cc (d_handle_option): Update for new front-end interface.
|
||
Handle new option `-fpreview=systemvariables'.
|
||
* dmd/MERGE: Merge upstream dmd e4f8919591.
|
||
* dmd/VERSION: Bump version to v2.101.0-beta.1.
|
||
* expr.cc (ExprVisitor::visit (AssignExp *)): Treat construction of
|
||
static arrays from a call expression as a simple assignment.
|
||
(ExprVisitor::visit (ArrayLiteralExp *)): Handle array literals with
|
||
`scope' storage.
|
||
* gdc.texi: Update documentation of `-fpreview=' options.
|
||
* lang.opt (fpreview=shortenedmethods): Remove.
|
||
(fpreview=systemvariables): New option.
|
||
|
||
2022-10-29 Iain Buclaw <ibuclaw@gdcproject.org>
|
||
|
||
* d-target.def (d_minfo_section): Expand documentation of hook.
|
||
Default initialize to "minfo".
|
||
(d_minfo_start_name): Rename to ...
|
||
(d_minfo_section_start): ... this. Default initialize to
|
||
"__start_minfo".
|
||
(d_minfo_end_name): Rename to ...
|
||
(d_minfo_section_end): ... this. Default initialize to "__stop_minfo".
|
||
* modules.cc (register_moduleinfo): Use new targetdm hook names.
|
||
|
||
2022-09-27 Iain Buclaw <ibuclaw@gdcproject.org>
|
||
|
||
* dmd/MERGE: Merge upstream dmd d579c467c1.
|
||
* decl.cc (layout_struct_initializer): Update for new front-end
|
||
interface.
|
||
* expr.cc (ExprVisitor::visit (AssignExp *)): Remove lowering of array
|
||
assignments.
|
||
(ExprVisitor::visit (NewExp *)): Add new lowering of new'ing
|
||
associative arrays to an _aaNew() library call.
|
||
* runtime.def (ARRAYSETASSIGN): Remove.
|
||
(AANEW): Define.
|
||
|
||
2022-09-15 Richard Biener <rguenther@suse.de>
|
||
|
||
* d-builtins.cc (d_build_c_type_nodes): Do not initialize
|
||
void_list_node.
|
||
|
||
2022-08-27 Iain Buclaw <ibuclaw@gdcproject.org>
|
||
|
||
* dmd/MERGE: Merge upstream dmd 817610b16d.
|
||
* d-ctfloat.cc (CTFloat::parse): Update for new front-end interface.
|
||
* d-lang.cc (d_parse_file): Likewise.
|
||
* expr.cc (ExprVisitor::visit (AssignExp *)): Remove handling of array
|
||
assignments to non-trivial static and dynamic arrays.
|
||
* runtime.def (ARRAYASSIGN): Remove.
|
||
(ARRAYASSIGN_L): Remove.
|
||
(ARRAYASSIGN_R): Remove.
|
||
|
||
2022-08-16 Iain Buclaw <ibuclaw@gdcproject.org>
|
||
|
||
PR d/106638
|
||
* gdc.texi: Update DIP links to point at upstream dlang/DIPs
|
||
repository.
|
||
|
||
2022-08-15 Iain Buclaw <ibuclaw@gdcproject.org>
|
||
|
||
* d-tree.h (d_defer_declaration): Declare.
|
||
* decl.cc (function_needs_inline_definition_p): Defer checking
|
||
DECL_UNINLINABLE and DECL_DECLARED_INLINE_P.
|
||
(maybe_build_decl_tree): Call d_defer_declaration instead of
|
||
build_decl_tree.
|
||
* modules.cc (deferred_inline_declarations): New variable.
|
||
(build_module_tree): Set deferred_inline_declarations and a handle
|
||
declarations pushed to it.
|
||
(d_defer_declaration): New function.
|
||
|
||
2022-08-15 Iain Buclaw <ibuclaw@gdcproject.org>
|
||
|
||
PR d/106623
|
||
* d-codegen.cc (underlying_complex_expr): New function.
|
||
(d_build_call): Handle passing native complex objects as the
|
||
library-defined equivalent.
|
||
* d-tree.h (underlying_complex_expr): Declare.
|
||
* expr.cc (ExprVisitor::visit (DotVarExp *)): Call
|
||
underlying_complex_expr instead of build_vconvert.
|
||
|
||
2022-08-15 Iain Buclaw <ibuclaw@gdcproject.org>
|
||
|
||
* d-compiler.cc (Compiler::onParseModule): Call create_tinfo_types
|
||
when module name is object.
|
||
* typeinfo.cc (create_tinfo_types): Add guard for multiple
|
||
invocations.
|
||
|
||
2022-08-15 Iain Buclaw <ibuclaw@gdcproject.org>
|
||
|
||
* d-codegen.cc (build_delegate_cst): Give anonymous delegate field
|
||
names same as per ABI spec.
|
||
|
||
2022-08-09 Iain Buclaw <ibuclaw@gdcproject.org>
|
||
|
||
PR d/106563
|
||
* decl.cc (DeclVisitor::visit (FuncDeclaration *)): Set semanticRun
|
||
before generating its symbol.
|
||
(function_defined_in_root_p): New function.
|
||
(function_needs_inline_definition_p): New function.
|
||
(maybe_build_decl_tree): New function.
|
||
(get_symbol_decl): Call maybe_build_decl_tree before returning symbol.
|
||
(start_function): Use function_defined_in_root_p instead of inline
|
||
test for locally defined symbols.
|
||
(set_linkage_for_decl): Check for inline functions before private or
|
||
protected symbols.
|
||
|
||
2022-08-08 Iain Buclaw <ibuclaw@gdcproject.org>
|
||
|
||
PR d/106555
|
||
* d-target.cc (Target::isReturnOnStack): Check for return type size.
|
||
|
||
2022-08-03 Iain Buclaw <ibuclaw@gdcproject.org>
|
||
|
||
* dmd/MERGE: Merge upstream dmd d7772a2369.
|
||
* dmd/VERSION: Bump version to v2.100.1.
|
||
* d-codegen.cc (get_frameinfo): Check whether decision to generate
|
||
closure changed since semantic finished.
|
||
* d-lang.cc (d_handle_option): Remove handling of -fdebug=level and
|
||
-fversion=level.
|
||
* decl.cc (DeclVisitor::visit (VarDeclaration *)): Generate evaluation
|
||
of noreturn variable initializers before throw.
|
||
* expr.cc (ExprVisitor::visit (AssignExp *)): Don't generate
|
||
assignment for noreturn types, only evaluate for side effects.
|
||
* lang.opt (fdebug=): Undocument -fdebug=level.
|
||
(fversion=): Undocument -fversion=level.
|
||
|
||
2022-07-06 Iain Buclaw <ibuclaw@gdcproject.org>
|
||
|
||
* dmd/MERGE: Merge upstream dmd 56589f0f4.
|
||
|
||
2022-07-06 Iain Buclaw <ibuclaw@gdcproject.org>
|
||
|
||
* Make-lang.in (NOEXCEPTION_DFLAGS): Define.
|
||
(ALL_DFLAGS): Add NO_EXCEPTION_DFLAGS.
|
||
|
||
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.
|
||
* 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-29 Iain Buclaw <ibuclaw@gdcproject.org>
|
||
|
||
* intrinsics.cc (build_shuffle_mask_type): Use to_constant when
|
||
getting the number of subparts from a vector type.
|
||
(expand_intrinsic_vec_shufflevector): Likewise.
|
||
|
||
2022-06-29 Iain Buclaw <ibuclaw@gdcproject.org>
|
||
|
||
* intrinsics.cc: Include diagnostic.h, langhooks.h,
|
||
vec-perm-indices.h.
|
||
(maybe_set_intrinsic): Add cases for new simd intrinsics.
|
||
(warn_mismatched_return_type): New function.
|
||
(warn_mismatched_argument): New function.
|
||
(build_shuffle_mask_type): New function.
|
||
(maybe_warn_intrinsic_mismatch): New function.
|
||
(expand_intrinsic_vec_cond): New function.
|
||
(expand_intrinsic_vec_convert): New function.
|
||
(expand_intrinsic_vec_blend): New function.
|
||
(expand_intrinsic_vec_shuffle): New function.
|
||
(expand_intrinsic_vec_shufflevector): New function.
|
||
(expand_intrinsic_vec_load_unaligned): New function.
|
||
(expand_intrinsic_vec_store_unaligned): New function.
|
||
(maybe_expand_intrinsic): Check signature of intrinsic before handing
|
||
off to front-end lowering. Add cases for new simd intrinsics.
|
||
* intrinsics.def (INTRINSIC_LOADUNALIGNED): Define intrinsic.
|
||
(INTRINSIC_STOREUNALIGNED): Define intrinsic.
|
||
(INTRINSIC_SHUFFLE): Define intrinsic.
|
||
(INTRINSIC_SHUFFLEVECTOR): Define intrinsic.
|
||
(INTRINSIC_CONVERTVECTOR): Define intrinsic.
|
||
(INTRINSIC_BLENDVECTOR): Define intrinsic.
|
||
(INTRINSIC_EQUALMASK): Define intrinsic.
|
||
(INTRINSIC_NOTEQUALMASK): Define intrinsic.
|
||
(INTRINSIC_GREATERMASK): Define intrinsic.
|
||
(INTRINSIC_GREATEREQUALMASK): Define intrinsic.
|
||
|
||
2022-06-28 Iain Buclaw <ibuclaw@gdcproject.org>
|
||
|
||
* d-codegen.cc: Include gimple-expr.h.
|
||
(force_target_expr): Use create_tmp_var_raw.
|
||
* decl.cc: Inlucde gimple-expr.h.
|
||
(build_local_temp): Use create_tmp_var_raw.
|
||
* intrinsics.cc (expand_intrinsic_rotate): Use get_callee_fndecl.
|
||
(maybe_expand_intrinsic): Likewise.
|
||
|
||
2022-06-28 Iain Buclaw <ibuclaw@gdcproject.org>
|
||
|
||
* d-attribs.cc (handle_omp_declare_simd_attribute): New function.
|
||
(d_handle_simd_attribute): New function.
|
||
(d_langhook_common_attribute_table): Add 'omp declare simd' attribute.
|
||
(d_langhook_attribute_table): Add simd attribute.
|
||
|
||
2022-06-24 Iain Buclaw <ibuclaw@gdcproject.org>
|
||
|
||
* d-attribs.cc (d_handle_section_attribute): Update error message.
|
||
(d_handle_symver_attribute): Likewise.
|
||
(d_handle_no_sanitize_attribute): Likewise.
|
||
(d_handle_visibility_attribute): Likewise.
|
||
|
||
2022-06-24 Iain Buclaw <ibuclaw@gdcproject.org>
|
||
|
||
PR d/105413
|
||
* d-attribs.cc (d_handle_register_attribute): New function.
|
||
(d_langhook_attribute_table): Add register attribute.
|
||
* d-codegen.cc (d_mark_addressable): Error if taken address of
|
||
register variable.
|
||
(build_frame_type): Error if register variable has non-local
|
||
references.
|
||
* d-tree.h (d_mark_addressable): Add complain parameter.
|
||
* decl.cc (get_symbol_decl): Mark register varibles DECL_REGISTER.
|
||
Error when register variable declared thread-local or extern.
|
||
* expr.cc (ExprVisitor::visit (IndexExp *)): Don't complain about
|
||
marking register vectors as addressable in an ARRAY_REF.
|
||
|
||
2022-06-24 Iain Buclaw <ibuclaw@gdcproject.org>
|
||
|
||
* d-codegen.cc (build_array_index): Rename to...
|
||
(build_pointer_index): ...this.
|
||
* d-tree.h (build_array_index): Rename declaration to...
|
||
(build_pointer_index): ...this.
|
||
* expr.cc (ExprVisitor::visit (IndexExp *)): Construct indexes of
|
||
ARRAY_TYPE using ARRAY_REF.
|
||
(ExprVisitor::visit (SliceExp *)): Update.
|
||
* intrinsics.cc (expand_intrinsic_bt): Update.
|
||
|
||
2022-06-24 Iain Buclaw <ibuclaw@gdcproject.org>
|
||
|
||
* dmd/MERGE: Merge upstream dmd 529110f66.
|
||
* decl.cc (DeclVisitor::visit (TupleDeclaration *)): Update for new
|
||
front-end interface.
|
||
* types.cc (layout_aggregate_members): Likewise.
|
||
|
||
2022-06-22 Iain Buclaw <ibuclaw@gdcproject.org>
|
||
|
||
* dmd/MERGE: Merge upstream dmd 6203135dc.
|
||
* typeinfo.cc (TypeInfoVisitor::visit (TypeInfoStructDeclaration *)):
|
||
Update for new front-end interface.
|
||
(SpeculativeTypeVisitor::visit (TypeStruct *)): Likewise.
|
||
|
||
2022-06-15 Iain Buclaw <ibuclaw@gdcproject.org>
|
||
|
||
* d-attribs.cc (d_langhook_attribute_table): Add no_sanitize.
|
||
(d_handle_no_sanitize_attribute): New function.
|
||
|
||
2022-06-15 Iain Buclaw <ibuclaw@gdcproject.org>
|
||
|
||
* d-attribs.cc (d_langhook_attribute_table): Add visibility.
|
||
(insert_type_attribute): Use decl_attributes instead of
|
||
merge_attributes.
|
||
(insert_decl_attribute): Likewise.
|
||
(apply_user_attributes): Do nothing when no UDAs applied.
|
||
(d_handle_visibility_attribute): New function.
|
||
* d-gimplify.cc (d_gimplify_binary_expr): Adjust.
|
||
* d-tree.h (set_visibility_for_decl): Declare.
|
||
* decl.cc (get_symbol_decl): Move setting of visibility flags to...
|
||
(set_visibility_for_decl): ... here. New function.
|
||
* types.cc (TypeVisitor::visit (TypeStruct *)): Call
|
||
set_visibility_for_decl().
|
||
(TypeVisitor::visit (TypeClass *)): Likewise.
|
||
|
||
2022-06-15 Iain Buclaw <ibuclaw@gdcproject.org>
|
||
|
||
* typeinfo.cc (make_internal_typeinfo): Set TYPE_ARTIFICIAL.
|
||
|
||
2022-06-15 Iain Buclaw <ibuclaw@gdcproject.org>
|
||
|
||
* d-attribs.cc (apply_user_attributes): Set ATTR_FLAG_TYPE_IN_PLACE
|
||
only on incomplete types.
|
||
* d-codegen.cc (copy_aggregate_type): Set TYPE_STUB_DECL after copy.
|
||
* d-compiler.cc (Compiler::onParseModule): Adjust.
|
||
* d-tree.h (AGGREGATE_OR_ENUM_TYPE_CHECK): Define.
|
||
(TYPE_FORWARD_REFERENCES): Define.
|
||
* decl.cc (gcc_attribute_p): Update documentation.
|
||
(DeclVisitor::visit (StructDeclaration *)): Exit before building type
|
||
node if gcc.attributes symbol.
|
||
(DeclVisitor::visit (ClassDeclaration *)): Build type node and add
|
||
TYPE_NAME to current binding level before emitting anything else.
|
||
(DeclVisitor::visit (InterfaceDeclaration *)): Likewise.
|
||
(DeclVisitor::visit (EnumDeclaration *)): Likewise.
|
||
(build_type_decl): Move rest_of_decl_compilation() call to
|
||
finish_aggregate_type().
|
||
* types.cc (insert_aggregate_field): Move layout_decl() call to
|
||
finish_aggregate_type().
|
||
(insert_aggregate_bitfield): Likewise.
|
||
(layout_aggregate_members): Adjust.
|
||
(finish_incomplete_fields): New function.
|
||
(finish_aggregate_type): Handle forward referenced field types. Call
|
||
rest_of_type_compilation() after completing the aggregate.
|
||
(TypeVisitor::visit (TypeEnum *)): Don't set size and alignment until
|
||
after apply_user_attributes(). Call rest_of_type_compilation() after
|
||
completing the enumeral.
|
||
(TypeVisitor::visit (TypeStruct *)): Call build_type_decl() before
|
||
apply_user_attributes(). Don't set size, alignment, and mode until
|
||
after apply_user_attributes().
|
||
(TypeVisitor::visit (TypeClass *)): Call build_type_decl() before
|
||
applly_user_attributes().
|
||
|
||
2022-06-13 Iain Buclaw <ibuclaw@gdcproject.org>
|
||
|
||
* d-builtins.cc: Include builtins.h.
|
||
(gcc_builtins_libfuncs): Remove.
|
||
(strip_type_modifiers): New function.
|
||
(matches_builtin_type): New function.
|
||
(covariant_with_builtin_type_p): New function.
|
||
(maybe_set_builtin_1): Set front-end built-in if identifier matches
|
||
gcc built-in name. Apply user-specified attributes and assembler name
|
||
overrides to the built-in. Warn about built-in declaration mismatches.
|
||
(d_builtin_function): Set IDENTIFIER_DECL_TREE of built-in functions.
|
||
* d-compiler.cc (Compiler::onParseModule): Scan all modules for any
|
||
identifiers that match built-in function names.
|
||
* lang.opt (Wbuiltin-declaration-mismatch): New option.
|
||
|
||
2022-06-13 Iain Buclaw <ibuclaw@gdcproject.org>
|
||
|
||
* d-tree.h (check_typeinfo_type): Add Expression* parameter.
|
||
(build_typeinfo): Likewise. Declare new override.
|
||
* expr.cc (ExprVisitor): Call build_typeinfo with Expression*.
|
||
* typeinfo.cc (check_typeinfo_type): Include expression in the
|
||
diagnostic message.
|
||
(build_typeinfo): New override.
|
||
|
||
2022-06-13 Iain Buclaw <ibuclaw@gdcproject.org>
|
||
|
||
* dmd/MERGE: Merge upstream dmd 821ed393d.
|
||
* expr.cc (ExprVisitor::visit (NewExp *)): Remove handled of
|
||
allocating `@nogc' throwable object.
|
||
* runtime.def (NEWTHROW): Remove.
|
||
|
||
2022-06-02 David Malcolm <dmalcolm@redhat.com>
|
||
|
||
* d-lang.cc (d_get_sarif_source_language): New.
|
||
(LANG_HOOKS_GET_SARIF_SOURCE_LANGUAGE): Redefine.
|
||
|
||
2022-05-31 Jason Merrill <jason@redhat.com>
|
||
|
||
* Make-lang.in (d.tags): Just look at *.cc.
|
||
|
||
2022-05-31 Iain Buclaw <ibuclaw@gdcproject.org>
|
||
|
||
PR d/105544
|
||
* d-lang.cc (d_parse_file): Zero padding past the end of the stdin
|
||
buffer so the D lexer has a sentinel to stop parsing at.
|
||
|
||
2022-05-27 Iain Buclaw <ibuclaw@gdcproject.org>
|
||
|
||
* dmd/MERGE: Merge upstream dmd 4d07f22f2
|
||
* d-lang.cc (d_handle_option): Handle OPT_fpreview_fiximmutableconv.
|
||
* lang.opt (fpreview=fiximmutableconv): New option.
|
||
* runtime.def (ARRAYAPPENDT): Remove.
|
||
|
||
2022-05-25 Iain Buclaw <ibuclaw@gdcproject.org>
|
||
|
||
* expr.cc: Add "final" and "override" to all "visit" vfunc decls
|
||
as appropriate.
|
||
* imports.cc: Likewise.
|
||
* typeinfo.cc: Likewise.
|
||
|
||
2022-05-24 David Malcolm <dmalcolm@redhat.com>
|
||
|
||
* decl.cc: Add "final" and "override" to all "visit" vfunc decls
|
||
as appropriate.
|
||
* expr.cc: Likewise.
|
||
* toir.cc: Likewise.
|
||
* typeinfo.cc: Likewise.
|
||
* types.cc: Likewise.
|
||
|
||
2022-05-16 Iain Buclaw <ibuclaw@gdcproject.org>
|
||
|
||
* dmd/MERGE: Merge upstream dmd 60bfa0ee7.
|
||
* dmd/VERSION: Update version to v2.100.0.
|
||
* d-builtins.cc (d_init_versions): Update for new front-end interface.
|
||
* d-codegen.cc (d_decl_context): Use resolvedLinkage to get
|
||
declaration linkage.
|
||
(build_struct_literal): Track offset in bits.
|
||
* d-gimplify.cc (d_gimplify_modify_expr): Check both operands for a
|
||
bit-field reference.
|
||
* d-lang.cc (d_handle_option): Handle -fpreview=bitfields, remove
|
||
-frevert=markdown and -ftransition=vmarkdown.
|
||
(d_post_options): Set flag_rtti and flag_exceptions if -fno-druntime
|
||
was seen on command-line.
|
||
(d_parse_file): Update for new front-end interface.
|
||
(d_type_promotes_to): Use resolvedLinkage to get declaration linkage.
|
||
* decl.cc (make_thunk): Likewise.
|
||
* expr.cc (ExprVisitor::visit (CatAssignExp *)): Remove lowering for
|
||
appending of an element or array to another array.
|
||
* lang.opt (fpreview=bitfields): New option.
|
||
(frevert=markdown): Remove.
|
||
(ftransition=vmarkdown): Remove.
|
||
* types.cc (layout_aggregate_members): Ignore anonymous fields in
|
||
total count.
|
||
|
||
2022-04-28 Iain Buclaw <ibuclaw@gdcproject.org>
|
||
|
||
* dmd/MERGE: Merge upstream dmd 313d28b3d.
|
||
* d-port.cc (Port::memicmp): Use d_size_t instead of size_t.
|
||
(Port::valcpy): Likewise.
|
||
|
||
2022-04-21 Iain Buclaw <ibuclaw@gdcproject.org>
|
||
|
||
* dmd/MERGE: Merge upstream dmd eb7bee331.
|
||
* dmd/VERSION: Update version to v2.100.0-beta.1.
|
||
* d-lang.cc (d_handle_option): Handle OPT_frevert_dip1000.
|
||
* lang.opt (frevert=dip1000): New option.
|
||
|
||
2022-04-13 Iain Buclaw <ibuclaw@gdcproject.org>
|
||
|
||
* Make-lang.in (D_FRONTEND_OBJS): Add d/common-bitfields.o,
|
||
d/mustuse.o.
|
||
* d-ctfloat.cc (CTFloat::isIdentical): Don't treat NaN values as
|
||
identical.
|
||
* dmd/MERGE: Merge upstream dmd 4d1bfcf14.
|
||
* expr.cc (ExprVisitor::visit (VoidInitExp *)): New.
|
||
|
||
2022-04-03 Iain Buclaw <ibuclaw@gdcproject.org>
|
||
|
||
* d-lang.cc: Include dmd/template.h.
|
||
(d_parse_file): Call printTemplateStats when vtemplates is set.
|
||
* decl.cc (start_function): Remove OPT_Wtemplates warning.
|
||
* lang.opt (Wtemplates): Remove.
|
||
|
||
2022-04-02 Iain Buclaw <ibuclaw@gdcproject.org>
|
||
|
||
* dmd/MERGE: Merge upstream dmd 47871363d.
|
||
* d-builtins.cc (d_init_versions): Add predefined version identifiers
|
||
D_PreConditions, D_PostConditions, and D_Invariants.
|
||
* d-codegen.cc (d_build_call): Update for new front-end interface.
|
||
(build_frame_type): Generate reference field for NRVO variables with
|
||
nested references.
|
||
(build_closure): Generate assignment of return address to closure.
|
||
* d-tree.h (DECL_INSTANTIATED): Use DECL_LANG_FLAG_2.
|
||
(bind_expr): Remove.
|
||
* decl.cc (DeclVisitor::visit (FuncDeclaration *)): Update for new
|
||
front-end interface.
|
||
(get_symbol_decl): Likewise.
|
||
(get_decl_tree): Check DECL_LANG_FRAME_FIELD before DECL_LANG_NRVO.
|
||
Dereference the field when both are set.
|
||
* expr.cc (ExprVisitor::visit (DeleteExp *)): Update for new front-end
|
||
interface.
|
||
* modules.cc (get_internal_fn): Likewise.
|
||
* toir.cc (IRVisitor::visit (ReturnStatement *)): Likewise.
|
||
|
||
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.
|
||
|
||
2022-03-21 Iain Buclaw <ibuclaw@gdcproject.org>
|
||
|
||
PR d/104911
|
||
* dmd/MERGE: Merge upstream dmd 2503f17e5.
|
||
* d-convert.cc (convert_expr): Replace d_uns64 with dinteger_t.
|
||
* d-lang.cc: Remove dmd/root/file.h include.
|
||
(d_handle_option): Update for new front-end interface.
|
||
(d_parse_file): Likewise.
|
||
|
||
2022-03-13 Iain Buclaw <ibuclaw@gdcproject.org>
|
||
|
||
* dmd/MERGE: Merge upstream dmd 02a3fafc6.
|
||
* dmd/VERSION: Update version to v2.099.0.
|
||
* imports.cc (ImportVisitor::visit (EnumDeclaration *)): Don't cache
|
||
decl in front-end AST node.
|
||
(ImportVisitor::visit (AggregateDeclaration *)): Likewise.
|
||
(ImportVisitor::visit (ClassDeclaration *)): Likewise.
|
||
|
||
2022-03-11 Iain Buclaw <ibuclaw@gdcproject.org>
|
||
|
||
* imports.cc (imported_decls): Define.
|
||
(class ImportVisitor): Add result_ field.
|
||
(ImportVisitor::result): New method.
|
||
(ImportVisitor::visit (Module *)): Store decl to result_.
|
||
(ImportVisitor::visit (Import *)): Likewise.
|
||
(ImportVisitor::visit (AliasDeclaration *)): Don't cache decl in
|
||
front-end AST node.
|
||
(ImportVisitor::visit (OverDeclaration *)): Likewise.
|
||
(ImportVisitor::visit (FuncDeclaration *)): Likewise.
|
||
(ImportVisitor::visit (Declaration *)): Likewise.
|
||
(build_import_decl): Use imported_decls to cache and lookup built
|
||
declarations.
|
||
|
||
2022-03-11 Iain Buclaw <ibuclaw@gdcproject.org>
|
||
|
||
PR translation/104552
|
||
* lang.opt (fdump-cxx-spec=): Fix typo in argument handle.
|
||
(fpreview=fixaliasthis): Quote `alias this' as code.
|
||
|
||
2022-03-02 Iain Buclaw <ibuclaw@gdcproject.org>
|
||
|
||
* dmd/MERGE: Merge upstream dmd 423f19b41.
|
||
|
||
2022-02-28 Iain Buclaw <ibuclaw@gdcproject.org>
|
||
|
||
* d-target.cc (Target::_init): Initialize C type size fields.
|
||
* dmd/MERGE: Merge upstream dmd cf63dd8e5.
|
||
* dmd/VERSION: Update version to v2.099.0-rc.1.
|
||
|
||
2022-02-20 Iain Buclaw <ibuclaw@gdcproject.org>
|
||
|
||
* expr.cc (ExprVisitor::visit (DeleteExp *)): Remove handling of
|
||
deleting GC allocated classes.
|
||
* runtime.def (DELCLASS): Remove.
|
||
(DELINTERFACE): Remove.
|
||
|
||
2022-02-20 Iain Buclaw <ibuclaw@gdcproject.org>
|
||
|
||
* dmd/MERGE: Merge upstream dmd cb49e99f8.
|
||
* dmd/VERSION: Update version to v2.099.0-beta.1.
|
||
* decl.cc (layout_class_initializer): Update call to NewExp::create.
|
||
* expr.cc (ExprVisitor::visit (DeleteExp *)): Remove handling of
|
||
deleting arrays and pointers.
|
||
(ExprVisitor::visit (DotVarExp *)): Convert complex types to the
|
||
front-end library type representing them.
|
||
(ExprVisitor::visit (StringExp *)): Use getCodeUnit instead of charAt
|
||
to get the value of each index in a string expression.
|
||
* runtime.def (DELMEMORY): Remove.
|
||
(DELARRAYT): Remove.
|
||
* types.cc (TypeVisitor::visit (TypeEnum *)): Handle anonymous enums.
|
||
|
||
2022-02-16 Iain Buclaw <ibuclaw@gdcproject.org>
|
||
|
||
* d-builtins.cc (d_build_builtins_module): Set purity of DECL_PURE_P
|
||
functions to PURE::const_.
|
||
* d-gimplify.cc (bit_field_ref): New function.
|
||
(d_gimplify_modify_expr): Handle implicit casting for assignments to
|
||
bit-fields.
|
||
(d_gimplify_unary_expr): New function.
|
||
(d_gimplify_binary_expr): New function.
|
||
(d_gimplify_expr): Handle UNARY_CLASS_P and BINARY_CLASS_P.
|
||
* d-target.cc (Target::_init): Initialize bitFieldStyle.
|
||
(TargetCPP::parameterType): Update signature.
|
||
(Target::supportsLinkerDirective): New function.
|
||
* dmd/MERGE: Merge upstream dmd 52844d4b1.
|
||
* expr.cc (ExprVisitor::visit (ThrowExp *)): New function.
|
||
* types.cc (d_build_bitfield_integer_type): New function.
|
||
(insert_aggregate_bitfield): New function.
|
||
(layout_aggregate_members): Handle inserting bit-fields into an
|
||
aggregate type.
|
||
|
||
2022-01-31 Martin Liska <mliska@suse.cz>
|
||
|
||
PR d/104287
|
||
* decl.cc (d_finish_decl): Remove trailing dot.
|
||
|
||
2022-01-28 Martin Liska <mliska@suse.cz>
|
||
|
||
* decl.cc (d_finish_decl): Do not use leading capital letter.
|
||
|
||
2022-01-17 Martin Liska <mliska@suse.cz>
|
||
|
||
* d-gimplify.cc: Rename .c names to .cc.
|
||
* d-incpath.cc: Likewise.
|
||
* lang-specs.h: Likewise.
|
||
|
||
2022-01-03 Iain Buclaw <ibuclaw@gdcproject.org>
|
||
|
||
PR d/103840
|
||
* dmd/MERGE: Merge upstream dmd 001bfd97b.
|
||
* Make-lang.in (D_FRONTEND_OBJS): Rename d/complex.o to
|
||
d/root-complex.o, and d/utf.o to d/root/utf.o.
|
||
|
||
2022-01-03 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* gdc.texi: Bump @copyrights-d year.
|
||
|
||
Copyright (C) 2022 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.
|