mirror of
https://forge.sourceware.org/marek/gcc.git
synced 2026-02-22 12:00:11 -05:00
705 lines
22 KiB
Plaintext
705 lines
22 KiB
Plaintext
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.
|