| 2023-07-07 Release Manager |
| |
| * GCC 10.5.0 released. |
| |
| 2023-07-01 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| Backported from master: |
| 2023-07-01 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| PR d/110511 |
| * dmd/dinterpret.c (Interpreter::visit (CastExp *)): Handle casting |
| null to int or float. |
| |
| 2023-06-26 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| Backported from master: |
| 2023-06-26 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| PR d/110359 |
| * d-convert.cc (convert_for_rvalue): Only apply the @safe boolean |
| conversion to boolean fields of a union. |
| (convert_for_condition): Call convert_for_rvalue in the default case. |
| |
| 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-05 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| Backported from master: |
| 2022-07-04 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. |
| |
| 2022-06-28 Release Manager |
| |
| * GCC 10.4.0 released. |
| |
| 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. |
| |
| 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-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-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-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 (resolvePropertiesX): Remove early error. |
| (Expression::checkPostblit): Don't generate typeinfo when type is |
| missing from library. |
| * dmd/expressionsem.c (ExpressionSemanticVisitor): Set type of |
| DotTemplateExp as void. |
| * 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-04-19 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| Backported from master: |
| 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-08 Release Manager |
| |
| * GCC 10.3.0 released. |
| |
| 2021-03-03 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| Backported from master: |
| 2021-03-03 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| PR d/99337 |
| * dmd/dmodule.c (checkModFileAlias): Don't read past buffer in |
| comparison. |
| |
| 2021-02-02 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| Backported from master: |
| 2021-02-02 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| PR d/98921 |
| * dmd/dmangle.c (Mangler::visit (TypeSArray *)): Use buf->print |
| to format integer value. |
| (Mangler::visit (TypeIdentifier *)): Likewise. |
| (Mangler::toBuffer): Likewise. |
| (Mangler::visit (IntegerExp *)): Likewise. |
| (Mangler::visit (StringExp *)): Likewise. |
| (Mangler::visit (ArrayLiteralExp *)): Likewise. |
| (Mangler::visit (AssocArrayLiteralExp *)): Likewise. |
| (Mangler::visit (StructLiteralExp *)): Likewise. |
| * dmd/root/outbuffer.c (OutBuffer::print): New function. |
| * dmd/root/outbuffer.h (OutBuffer::print): Declare. |
| |
| 2020-12-15 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| Backported from master: |
| 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-22 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| Backported from master: |
| 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-18 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| Backported from master: |
| 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> |
| |
| Backported from master: |
| 2020-11-18 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| PR d/97842 |
| * dmd/cond.c (StaticIfCondition::include): Return error if condition |
| expression is unset. |
| * dmd/mtype.c (TypeTypeof::resolve): Return error if scope is unset. |
| |
| 2020-11-18 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| Backported from master: |
| 2020-11-13 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| * intrinsics.cc (expand_intrinsic_copysign): Explicitly determine |
| which built-in copysign function to call. |
| |
| 2020-11-18 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| Backported from master: |
| 2020-10-27 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| * dmd/dtemplate.c (TemplateInstance::semantic): Propagate the root |
| module where the instantiated template should belong from the instance |
| to all member scopes. |
| |
| 2020-10-12 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| Backported from master: |
| 2020-10-12 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| * dmd/declaration.c (AliasDeclaration::aliasSemantic): Apply storage |
| class and protection attributes. |
| |
| 2020-09-04 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| Backported from master: |
| 2020-09-04 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| PR d/96924 |
| * expr.cc (ExprVisitor::visit (CatAssignExp *)): Don't force |
| temporaries needlessly. |
| |
| 2020-08-30 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| Backported from master: |
| 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-30 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| Backported from master: |
| 2020-08-26 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| * dmd/globals.h (Global): Add recursionLimit. |
| * dmd/dmacro.c (Macro::expand): Limit recursive expansion to |
| global.recursionLimit. |
| * dmd/dtemplate.c (deduceType): Likewise. |
| (TemplateInstance::tryExpandMembers): Likewise. |
| (TemplateInstance::trySemantic3): Likewise. |
| (TemplateMixin::semantic): Likewise. |
| * dmd/expressionsem.c (ExpressionSemanticVisitor::visit): Likewise. |
| * dmd/mtype.c (Type::noMember): Likewise. |
| (TypeFunction::semantic): Likewise. |
| * dmd/optimize.c (Expression_optimize): Likewise. |
| |
| 2020-08-30 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| Backported from master: |
| 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/func.c (FuncDeclaration::semantic): Use module filename if |
| searchPath returns NULL. |
| |
| 2020-08-20 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| PR d/96250 |
| * dmd/expressionsem.c (ExpressionSemanticVisitor::visit(TypeExp)): |
| Fix cast from Expression to VarExp. |
| |
| 2020-08-20 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| PR d/96250 |
| * dmd/dstruct.c (StructDeclaration::semantic): Error if redefinition |
| of struct exists in compilation. |
| * dmd/expressionsem.c (ExpressionSemanticVisitor::visit(TypeExp)): |
| Rewrite resolved field variables as 'this.var' before semantic. |
| * dmd/parse.c (Parser::parseUnaryExp): Mark '(type) una_exp' as a |
| parenthesized expression. |
| |
| 2020-08-20 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| Backported from master: |
| 2020-08-20 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| * dmd/ctfeexpr.c (isCtfeValueValid): Return true for array literals as |
| well as structs. |
| * dmd/dinterpret.c: Don't reinterpret static arrays into dynamic. |
| |
| 2020-08-20 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| Backported from master: |
| 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-18 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| Backported from master: |
| 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-01 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| Backported from master: |
| 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-23 Release Manager |
| |
| * GCC 10.2.0 released. |
| |
| 2020-06-28 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| Backported from master: |
| 2020-06-28 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| * dmd/cond.c (lowerArrayAggregate): Directly use the elements of the |
| array for TupleExp creation. |
| (lowerNonArrayAggregate): Inline creation of foreach range indexes. |
| |
| 2020-06-26 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| Backported from master: |
| 2020-06-25 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| PR d/95250 |
| * dmd/expressionsem.c (class ExpressionSemanticVisitor): Return early |
| if error occurred during semantic of DivExp. |
| |
| 2020-06-26 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| Backported from master: |
| 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-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-17 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| Backport from mainline |
| 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-05-07 Release Manager |
| |
| * GCC 10.1.0 released. |
| |
| 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. |