mirror of
https://forge.sourceware.org/marek/gcc.git
synced 2026-02-22 12:00:11 -05:00
2021-01-01 Jakub Jelinek <jakub@redhat.com> gcc/ * ChangeLog-2020: Rotate ChangeLog. New file. gcc/ada/ * ChangeLog-2020: Rotate ChangeLog. New file. gcc/cp/ * ChangeLog-2020: Rotate ChangeLog. New file. gcc/d/ * ChangeLog-2020: Rotate ChangeLog. New file. gcc/fortran/ * ChangeLog-2020: Rotate ChangeLog. New file. gcc/testsuite/ * ChangeLog-2020: Rotate ChangeLog. New file. libgfortran/ * ChangeLog-2020: Rotate ChangeLog. New file. libstdc++-v3/ * ChangeLog-2020: Rotate ChangeLog. New file.
1031 lines
35 KiB
Plaintext
1031 lines
35 KiB
Plaintext
2020-12-31 Iain Buclaw <ibuclaw@gdcproject.org>
|
||
|
||
* dmd/MERGE: Merge upstream dmd 2bd4fc3fe.
|
||
|
||
2020-12-30 Iain Buclaw <ibuclaw@gdcproject.org>
|
||
|
||
* d-lang.cc (deps_add_target): Handle quoting ':' character.
|
||
Reimplement backslash tracking.
|
||
|
||
2020-12-30 Iain Buclaw <ibuclaw@gdcproject.org>
|
||
|
||
* d-tree.h (d_eval_constant_expression): Add location argument.
|
||
* d-builtins.cc (d_eval_constant_expression): Give generated constants
|
||
a proper file location.
|
||
* d-compiler.cc (Compiler::paintAsType): Pass expression location to
|
||
d_eval_constant_expression.
|
||
* d-frontend.cc (eval_builtin): Likewise.
|
||
|
||
2020-12-23 Iain Buclaw <ibuclaw@gdcproject.org>
|
||
|
||
PR d/98427
|
||
* types.cc (TypeVisitor::visit (TypeStruct *)): Set TYPE_MODE of all
|
||
non-trivial types as BLKmode.
|
||
(TypeVisitor::visit (TypeClass *)): Likewise.
|
||
|
||
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-29 Iain Buclaw <ibuclaw@gdcproject.org>
|
||
|
||
* d-target.def (d_minfo_section): New hook.
|
||
(d_minfo_start_name): New hook.
|
||
(d_minfo_end_name): New hook.
|
||
* modules.cc: Include d-target.h.
|
||
(register_moduleinfo): Update to use new targetdm hooks.
|
||
|
||
2020-11-29 Iain Buclaw <ibuclaw@gdcproject.org>
|
||
|
||
PR d/87788
|
||
* dmd/MERGE: Merge upsream dmd 45fa6cfd2.
|
||
|
||
2020-11-27 Iain Buclaw <ibuclaw@gdcproject.org>
|
||
|
||
* dmd/MERGE: Merge upstream dmd db0df3f7e.
|
||
* types.cc (TypeVisitor::visit (TypeFunction *)): Remove LINKpascal.
|
||
|
||
2020-11-27 Iain Buclaw <ibuclaw@gdcproject.org>
|
||
|
||
* intrinsics.cc (maybe_expand_intrinsic): Handle new intrinsics.
|
||
* intrinsics.def (INTRINSIC_COS): Add float and double overloads.
|
||
(INTRINSIC_FABS): Likewise.
|
||
(INTRINSIC_LDEXP): Likewise.
|
||
(INTRINSIC_RINT): Likewise.
|
||
(INTRINSIC_RNDTOL): Likewise.
|
||
(INTRINSIC_SIN): Likewise.
|
||
(INTRINSIC_TOPREC): Adjust signature.
|
||
|
||
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-20 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR other/97911
|
||
* Make-lang.in (d.serial): Change from goal to a variable.
|
||
(.PHONY): Drop d.serial and d.prev.
|
||
(d21$(exeext)): Depend on $(d.serial) rather than d.serial.
|
||
|
||
2020-11-18 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* Make-lang.in (d.serial): New goal.
|
||
(.PHONY): Add d.serial d.prev.
|
||
(d21$(exeext)): Depend on d.prev. Call LINK_PROGRESS.
|
||
|
||
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>
|
||
|
||
PR d/97842
|
||
* dmd/MERGE: Merge upstream dmd b6a779e49
|
||
|
||
2020-11-13 Iain Buclaw <ibuclaw@gdcproject.org>
|
||
|
||
* intrinsics.cc (expand_intrinsic_copysign): Explicitly determine
|
||
which built-in copysign function to call.
|
||
|
||
2020-11-13 Iain Buclaw <ibuclaw@gdcproject.org>
|
||
|
||
PR d/97644
|
||
* dmd/MERGE: Merge upstream dmd 95044d8e4.
|
||
* d-target.cc (TargetCPP::thunkMangle): New function.
|
||
* decl.cc (finish_thunk): Don't force expand thunks for external
|
||
functions.
|
||
(make_thunk): Emit thunks only if the function has a definition.
|
||
Generate correct mangling for thunks to C++ classes.
|
||
|
||
2020-11-10 Strager Neds <strager.nds@gmail.com>
|
||
|
||
* decl.cc (finish_thunk): Use new overload of
|
||
set_decl_section_name
|
||
|
||
2020-10-27 Iain Buclaw <ibuclaw@gdcproject.org>
|
||
|
||
* dmd/MERGE: Merge upstream dmd bec5973b0.
|
||
* d-target.cc (Target::critsecsize): Remove.
|
||
* d-target.def: Remove d_critsec_size.
|
||
|
||
2020-10-27 Iain Buclaw <ibuclaw@gdcproject.org>
|
||
|
||
* dmd/MERGE: Merge upstream dmd 0fcdaab32
|
||
|
||
2020-10-23 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
* decl.cc (finish_thunk): Update for new thunk api.
|
||
|
||
2020-10-22 Jan Hubicka <hubicka@ucw.cz>
|
||
|
||
* decl.cc: Include tree-nested.h
|
||
(get_symbol_decl): Update for new nested function info.
|
||
|
||
2020-10-12 Iain Buclaw <ibuclaw@gdcproject.org>
|
||
|
||
* dmd/MERGE: Merge upstream dmd 70aabfb51
|
||
|
||
2020-10-12 Iain Buclaw <ibuclaw@gdcproject.org>
|
||
|
||
* dmd/MERGE: Merge upstream dmd 3a9790525
|
||
* d-target.cc (Target::isVectorTypeSupported): Adjust return codes for
|
||
invalid size and invalid base type.
|
||
|
||
2020-09-12 Iain Buclaw <ibuclaw@gdcproject.org>
|
||
|
||
PR d/97002
|
||
* d-codegen.cc (d_build_call): Set input_location on CALL_EXPR.
|
||
* d-lang.cc: Include function.h.
|
||
(d_type_promotes_to): Do default conversions for C and C++ functions.
|
||
* intrinsics.cc (expand_intrinsic_vaarg): Use build1_loc to build
|
||
VA_ARG_EXPR.
|
||
|
||
2020-09-12 Iain Buclaw <ibuclaw@gdcproject.org>
|
||
|
||
* d-builtins.cc (d_build_d_type_nodes): Call build_ctype() on all
|
||
basic front-end types.
|
||
* decl.cc (DeclVisitor::visit (EnumDeclaration *)): Always add decl to
|
||
current binding level.
|
||
(build_type_decl): Build TYPE_DECL as a typedef if not for an enum or
|
||
record type.
|
||
* types.cc (TypeVisitor::visit (TypeEnum *)): Set underlying type for
|
||
ENUMERAL_TYPEs. Build TYPE_DECL for non-numeric enums.
|
||
|
||
2020-09-10 Iain Buclaw <ibuclaw@gdcproject.org>
|
||
|
||
* lang.opt (Waddress): Enable warning by -Wextra.
|
||
(Wcast-result): Likewise.
|
||
(Wunknown-pragmas): Likewise.
|
||
|
||
2020-09-10 Iain Buclaw <ibuclaw@gdcproject.org>
|
||
|
||
* decl.cc (DeclVisitor::visit (VarDeclaration *)): Don't warn about
|
||
variables initialized with 'void'.
|
||
|
||
2020-09-10 Iain Buclaw <ibuclaw@gdcproject.org>
|
||
|
||
* d-convert.cc (convert_expr): Warn when casting from a D class to a
|
||
C++ class.
|
||
|
||
2020-09-04 Iain Buclaw <ibuclaw@gdcproject.org>
|
||
|
||
PR d/96924
|
||
* expr.cc (ExprVisitor::visit (CatAssignExp *)): Don't force
|
||
temporaries needlessly.
|
||
|
||
2020-09-02 Iain Buclaw <ibuclaw@gdcproject.org>
|
||
|
||
PR d/96869
|
||
* d-builtins.cc (build_frontend_type): Don't expose intrinsics that
|
||
use unsupported vector types.
|
||
* d-target.cc (Target::isVectorTypeSupported): Restrict to supporting
|
||
only if TARGET_VECTOR_MODE_SUPPORTED_P is true. Don't allow complex
|
||
or boolean vector types.
|
||
|
||
2020-08-31 Iain Buclaw <ibuclaw@gdcproject.org>
|
||
|
||
* d-target.cc (Target::_init): Don't set classinfosize.
|
||
* d-tree.h (base_vtable_offset): Move under typeinfo.cc section.
|
||
* decl.cc (base_vtable_offset): Move to...
|
||
* typeinfo.cc (base_vtable_offset): ...here. Get base offset from
|
||
internal TypeInfo_Class type.
|
||
* intrinsics.cc (expand_intrinsic_bt): Use pointer TYPE_SIZE for
|
||
setting bitsize value. Build integer constants of correct type.
|
||
|
||
2020-08-26 Iain Buclaw <ibuclaw@gdcproject.org>
|
||
|
||
* dmd/MERGE: Merge upstream dmd e49192807
|
||
|
||
2020-08-26 Iain Buclaw <ibuclaw@gdcproject.org>
|
||
|
||
PR d/96156
|
||
* d-frontend.cc (retStyle): Only return RETstack for struct and static
|
||
array types.
|
||
* decl.cc (DeclVisitor::visit (FuncDeclaration *)): Use NRVO return
|
||
for all TREE_ADDRESSABLE types. Set shidden to the RESULT_DECL.
|
||
* expr.cc (ExprVisitor::visit (CallExp *)): Force TARGET_EXPR if the
|
||
'this' pointer reference is a CONSTRUCTOR.
|
||
(ExprVisitor::visit (StructLiteralExp *)): Generate assignment to the
|
||
symbol to initialize with literal.
|
||
* toir.cc (IRVisitor::visit (ReturnStatement *)): Detect returning
|
||
struct literals and write directly into the RESULT_DECL.
|
||
* dmd/MERGE: Merge upstream dmd fe5f388d8.
|
||
|
||
2020-08-26 Iain Buclaw <ibuclaw@gdcproject.org>
|
||
|
||
* dmd/MERGE: Merge upstream dmd cb4a96fae
|
||
|
||
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/MERGE: Merge upstream dmd 2cc25c219.
|
||
|
||
2020-08-26 Iain Buclaw <ibuclaw@gdcproject.org>
|
||
|
||
PR d/96153
|
||
* d-codegen.cc (build_address): Create a temporary for CALL_EXPRs
|
||
returning trivial aggregates, pre-filling it with zeroes.
|
||
(build_memset_call): Use build_zero_cst if setting the entire object.
|
||
|
||
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-26 Iain Buclaw <ibuclaw@gdcproject.org>
|
||
|
||
* d-gimplify.cc (d_gimplify_expr): Move lowering of each tree node to
|
||
separate functions.
|
||
(d_gimplify_modify_expr): New function.
|
||
(d_gimplify_addr_expr): New function.
|
||
(d_gimplify_call_expr): New function.
|
||
(d_gimplify_unsigned_rshift_expr): New function.
|
||
|
||
2020-08-26 Iain Buclaw <ibuclaw@gdcproject.org>
|
||
|
||
* Make-lang.in (D_OBJS): Add d-gimplify.o.
|
||
* d-lang.cc (empty_modify_p): Move to d-gimplify.cc.
|
||
(d_gimplify_expr): Likewise.
|
||
* d-tree.h (d_gimplify_expr): Declare.
|
||
* d-gimplify.cc: New file.
|
||
|
||
2020-08-20 Iain Buclaw <ibuclaw@gdcproject.org>
|
||
|
||
* dmd/MERGE: Merge upstream dmd 1b5a53d01.
|
||
|
||
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-04 Iain Buclaw <ibuclaw@gdcproject.org>
|
||
|
||
PR d/96153
|
||
* d-tree.h (build_expr): Add literalp argument.
|
||
* expr.cc (ExprVisitor): Add literalp_ field.
|
||
(ExprVisitor::ExprVisitor): Initialize literalp_.
|
||
(ExprVisitor::visit (AssignExp *)): Call memset() on blits where RHS
|
||
is a struct literal. Elide assignment if initializer is all zeroes.
|
||
(ExprVisitor::visit (CastExp *)): Forward literalp_ to generation of
|
||
subexpression.
|
||
(ExprVisitor::visit (AddrExp *)): Likewise.
|
||
(ExprVisitor::visit (ArrayLiteralExp *)): Use memset() to pre-fill
|
||
object with zeroes. Set literalp in subexpressions.
|
||
(ExprVisitor::visit (StructLiteralExp *)): Likewise.
|
||
(ExprVisitor::visit (TupleExp *)): Set literalp in subexpressions.
|
||
(ExprVisitor::visit (VectorExp *)): Likewise.
|
||
(ExprVisitor::visit (VectorArrayExp *)): Likewise.
|
||
(build_expr): Forward literal_p to ExprVisitor.
|
||
|
||
2020-08-04 Iain Buclaw <ibuclaw@gdcproject.org>
|
||
|
||
PR d/96429
|
||
* expr.cc (ExprVisitor::visit (BinExp*)): Use EXACT_DIV_EXPR for
|
||
pointer diff expressions.
|
||
|
||
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-03 Iain Buclaw <ibuclaw@gdcproject.org>
|
||
|
||
PR d/96250
|
||
* dmd/MERGE: Merge upstream dmd c2274e56a.
|
||
|
||
2020-07-31 Iain Buclaw <ibuclaw@gdcproject.org>
|
||
|
||
PR d/96393
|
||
* intrinsics.cc (expand_intrinsic_bt): Don't generate BIT_NOT_EXPR for
|
||
btr32 intrinsic.
|
||
|
||
2020-07-30 Iain Buclaw <ibuclaw@gdcproject.org>
|
||
|
||
PR d/96152
|
||
* d-codegen.cc (build_array_from_exprs): New function.
|
||
* d-tree.h (build_array_from_exprs): Declare.
|
||
* expr.cc (ExprVisitor::visit (AssocArrayLiteralExp *)): Use
|
||
build_array_from_exprs to generate key and value arrays.
|
||
|
||
2020-07-30 Iain Buclaw <ibuclaw@gdcproject.org>
|
||
|
||
PR d/96154
|
||
* gdc.texi (Warnings): Document -Wvarargs.
|
||
* lang.opt: Add -Wvarargs
|
||
|
||
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-30 Iain Buclaw <ibuclaw@gdcproject.org>
|
||
|
||
* expr.cc (ExprVisitor::visit (AssignExp *)): Inline bounds checking
|
||
for simple array assignments.
|
||
|
||
2020-07-30 Iain Buclaw <ibuclaw@gdcproject.org>
|
||
|
||
* d-codegen.cc (build_memcmp_call): New function.
|
||
(build_memcpy_call): New function.
|
||
(build_memset_call): New function.
|
||
(build_float_identity): Call build_memcmp_call.
|
||
(lower_struct_comparison): Likewise.
|
||
(build_struct_comparison): Likewise.
|
||
* d-tree.h (build_memcmp_call): Declare.
|
||
(build_memcpy_call): Declare.
|
||
(build_memset_call): Declare.
|
||
* expr.cc (ExprVisitor::visit (EqualExp *)): Call build_memcmp_call.
|
||
(ExprVisitor::visit (AssignExp *)): Call build_memset_call.
|
||
(ExprVisitor::visit (ArrayLiteralExp *)): Call build_memcpy_call.
|
||
(ExprVisitor::visit (StructLiteralExp *)): Call build_memset_call.
|
||
|
||
2020-07-30 Iain Buclaw <ibuclaw@gdcproject.org>
|
||
|
||
* expr.cc (needs_postblit): Move out of ExprVisitor as a static
|
||
function. Update all callers.
|
||
(needs_dtor): Likewise.
|
||
(lvalue_p): Likewise.
|
||
(binary_op): Likewise.
|
||
(binop_assignment): Likewise.
|
||
|
||
2020-07-30 Iain Buclaw <ibuclaw@gdcproject.org>
|
||
|
||
* intrinsics.cc (expand_intrinsic_rotate): Add function.
|
||
(maybe_expand_intrinsic): Handle rol and ror intrinsics.
|
||
* intrinsics.def (ROL): Add intrinsic.
|
||
(ROL_TIARG): Add intrinsic.
|
||
(ROR): Add intrinsic.
|
||
(ROR_TIARG): Add intrinsic.
|
||
|
||
2020-07-30 Iain Buclaw <ibuclaw@gdcproject.org>
|
||
|
||
* d-tree.h (DEF_D_INTRINSIC): Rename second argument from A to B.
|
||
* intrinsics.cc (intrinsic_decl): Add built_in field.
|
||
(DEF_D_INTRINSIC): Rename second argument from ALIAS to BUILTIN.
|
||
(maybe_set_intrinsic): Handle new intrinsic codes.
|
||
(expand_intrinsic_bt): Likewise.
|
||
(expand_intrinsic_checkedint): Likewise.
|
||
(expand_intrinsic_bswap): Remove.
|
||
(expand_intrinsic_sqrt): Remove.
|
||
(maybe_expand_intrinsic): Group together intrinsic cases that map
|
||
directly to gcc built-ins.
|
||
* intrinsics.def (DEF_D_BUILTIN): Rename second argument from A to B.
|
||
Update all callers to pass equivalent DECL_FUNCTION_CODE.
|
||
(DEF_CTFE_BUILTIN): Likewise.
|
||
(STD_COS): Remove intrinsic.
|
||
(STD_FABS): Remove intrinsic.
|
||
(STD_LDEXP): Remove intrinsic.
|
||
(STD_RINT): Remove intrinsic.
|
||
(STD_RNDTOL): Remove intrinsic.
|
||
(STD_SIN): Remove intrinsic.
|
||
(STD_SQRTF): Remove intrinsic.
|
||
(STD_SQRT): Remove intrinsic.
|
||
(STD_SQRTL): Remove intrinsic.
|
||
|
||
2020-06-28 Iain Buclaw <ibuclaw@gdcproject.org>
|
||
|
||
* dmd/MERGE: Merge upstream dmd 8508c4e68.
|
||
|
||
2020-06-25 Iain Buclaw <ibuclaw@gdcproject.org>
|
||
|
||
* decl.cc (get_symbol_decl): Do not implicitly set
|
||
DECL_DECLARED_INLINE_P on member functions.
|
||
|
||
2020-06-25 Iain Buclaw <ibuclaw@gdcproject.org>
|
||
|
||
* d-lang.cc (d_gimplify_expr_p): Make static.
|
||
(d_parse_file): Likewise.
|
||
(d_signed_or_unsigned_type): Move to types.cc.
|
||
(d_unsigned_type): Likewise.
|
||
(d_signed_type): Likewise.
|
||
* d-tree.h (d_unsigned_type): Change the location in file.
|
||
(d_signed_type): Likewise.
|
||
* types.cc (d_signed_or_unsigned_type): Moved from d-lang.cc.
|
||
(d_unsigned_type): Likewise.
|
||
(d_signed_type): Likewise.
|
||
|
||
2020-06-25 Iain Buclaw <ibuclaw@gdcproject.org>
|
||
|
||
PR d/95075
|
||
* dmd/MERGE: Merge upstream dmd 4be011355.
|
||
|
||
2020-06-25 Iain Buclaw <ibuclaw@gdcproject.org>
|
||
|
||
PR d/95250
|
||
* dmd/MERGE: Merge upstream dmd 90450f3ef.
|
||
|
||
2020-06-25 Iain Buclaw <ibuclaw@gdcproject.org>
|
||
|
||
* d-lang.cc (d_parse_file): Replace OutBuffer with obstack.
|
||
|
||
2020-06-25 Iain Buclaw <ibuclaw@gdcproject.org>
|
||
|
||
* dmd/MERGE: Merge upstream dmd 5fc1806cd.
|
||
* d-lang.cc (d_parse_file): Use peekChars to get string representation
|
||
of OutBuffer data.
|
||
|
||
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-25 Iain Buclaw <ibuclaw@gdcproject.org>
|
||
|
||
* decl.cc (DeclVisitor::visit (VarDeclaration *)): Don't set
|
||
DECL_INITIAL if initializer is 'void'.
|
||
|
||
2020-06-25 Iain Buclaw <ibuclaw@gdcproject.org>
|
||
|
||
* d-lang.cc (d_init_options): Turn on deprecation warnings by default.
|
||
|
||
2020-06-25 Iain Buclaw <ibuclaw@gdcproject.org>
|
||
|
||
* dmd/MERGE: Merge upstream dmd 4f1046222.
|
||
* toir.cc (IRVisitor::visit (OnScopeGuardStatement *)): Rename to ...
|
||
(IRVisitor::visit (ScopeGuardStatement *)): ... this.
|
||
|
||
2020-06-16 Iain Buclaw <ibuclaw@gdcproject.org>
|
||
|
||
* d-attribs.cc (handle_noreturn_attribute): Remove names of unused
|
||
function parameters.
|
||
(handle_leaf_attribute): Likewise.
|
||
(handle_const_attribute): Likewise.
|
||
(handle_malloc_attribute): Likewise.
|
||
(handle_pure_attribute): Likewise.
|
||
(handle_novops_attribute): Likewise.
|
||
(handle_nonnull_attribute): Likewise.
|
||
(handle_nothrow_attribute): Likewise.
|
||
(handle_type_generic_attribute): Likewise.
|
||
(handle_transaction_pure_attribute): Likewise.
|
||
(handle_returns_twice_attribute): Likewise.
|
||
(handle_fnspec_attribute): Likewise.
|
||
(handle_always_inline_attribute): Likewise.
|
||
(d_handle_noinline_attribute): Likewise.
|
||
(d_handle_forceinline_attribute): Likewise.
|
||
(d_handle_flatten_attribute): Likewise.
|
||
(d_handle_noclone_attribute): Likewise.
|
||
(d_handle_section_attribute): Likewise.
|
||
(d_handle_alias_attribute): Likewise.
|
||
(d_handle_weak_attribute): Likewise.
|
||
|
||
2020-06-16 Iain Buclaw <ibuclaw@gdcproject.org>
|
||
|
||
* d-attribs.cc: Update code formatting in a consistant style.
|
||
* d-builtins.cc: Likewise.
|
||
* d-codegen.cc: Likewise.
|
||
* d-compiler.cc: Likewise.
|
||
* d-convert.cc: Likewise.
|
||
* d-diagnostic.cc: Likewise.
|
||
* d-frontend.cc: Likewise.
|
||
* d-lang.cc: Likewise.
|
||
* d-longdouble.cc: Likewise.
|
||
* d-port.cc: Likewise.
|
||
* d-spec.cc: Likewise.
|
||
* d-tree.h: Likewise.
|
||
* decl.cc: Likewise.
|
||
* expr.cc: Likewise.
|
||
* longdouble.h: Likewise.
|
||
* modules.cc: Likewise.
|
||
* toir.cc: Likewise.
|
||
* typeinfo.cc: Likewise.
|
||
|
||
2020-06-16 Iain Buclaw <ibuclaw@gdcproject.org>
|
||
|
||
* d-builtins.cc: Update quotation formatting of comments.
|
||
* d-codegen.cc: Likewise.
|
||
* d-lang.cc: Likewise.
|
||
* decl.cc: Likewise.
|
||
* expr.cc: Likewise.
|
||
* imports.cc: Likewise.
|
||
* runtime.cc: Likewise.
|
||
* toir.cc: Likewise.
|
||
* typeinfo.cc: Likewise.
|
||
* types.cc: Likewise.
|
||
|
||
2020-06-16 Iain Buclaw <ibuclaw@gdcproject.org>
|
||
|
||
* d-diagnostic.cc (expand_d_format): Replace OutBuffer with obstack.
|
||
(d_diagnostic_report_diagnostic): Don't free xformat.
|
||
* d-lang.cc (struct d_option_data): Change deps_target type from
|
||
OutBuffer to vec <const char *>.
|
||
(deps_add_target): Update to push each target to deps_target.
|
||
(deps_write_string): New function.
|
||
(deps_write): Change buffer type to obstack* and remove colmax.
|
||
(d_init_options): Update initialization of deps_target.
|
||
(d_parse_file): Replace OutBuffer with obstack.
|
||
|
||
2020-06-16 Iain Buclaw <ibuclaw@gdcproject.org>
|
||
|
||
* d-lang.cc (d_parse_file): Replace uses of File with FILE.
|
||
|
||
2020-06-16 Iain Buclaw <ibuclaw@gdcproject.org>
|
||
|
||
* d-codegen.cc (build_array_bounds_call): New function.
|
||
(build_bounds_condition): Use build_array_bounds_call.
|
||
* d-lang.cc (d_init_options): Explicitly set default check action to
|
||
CHECKACTION_D.
|
||
(d_post_options): Set check action to CHECKACTION_C if the flag
|
||
-fno-druntime was seen.
|
||
* d-tree.h (build_array_bounds_call): Declare.
|
||
* expr.cc (ExprVisitor::visit (AssertExp *)): Use
|
||
build_array_bounds_call.
|
||
|
||
2020-06-16 Iain Buclaw <ibuclaw@gdcproject.org>
|
||
|
||
* d-attribs.cc (build_attributes): Use toStringExp instead of cast.
|
||
* toir.cc (IRVisitor::visit): Likewise.
|
||
|
||
2020-06-16 Iain Buclaw <ibuclaw@gdcproject.org>
|
||
|
||
* d-attribs.cc (build_attributes): Use isXxxxExp helpers instead of
|
||
explicit casts.
|
||
* d-codegen.cc (d_build_call): Likewise.
|
||
* d-compiler.cc (Compiler::paintAsType): Likewise.
|
||
* decl.cc (ExprVisitor::visit): Likewise.
|
||
(layout_class_initializer): Likewise.
|
||
* expr.cc (ExprVisitor::lvalue_p): Likewise
|
||
(ExprVisitor::visit): Likewise.
|
||
* types.cc (layout_aggregate_members): Likewise.
|
||
|
||
2020-06-16 Iain Buclaw <ibuclaw@gdcproject.org>
|
||
|
||
* d-frontend.cc (eval_builtin): Use toTypeFunction instead of cast.
|
||
* decl.cc (DeclVisitor::visit): Likewise.
|
||
* toir.cc (IRVisitor::visit): Likewise.
|
||
* typeinfo.cc (TypeInfoVisitor::visit): Likewise.
|
||
|
||
2020-06-16 Iain Buclaw <ibuclaw@gdcproject.org>
|
||
|
||
* d-builtins.cc (d_eval_constant_expression): Use isTypeXxxx helpers
|
||
instead of explicit casts.
|
||
(d_build_builtins_module): Likewise.
|
||
* d-codegen.cc (get_array_length): Likewise.
|
||
(identity_compare_p): Likewise.
|
||
(lower_struct_comparison): Likewise.
|
||
(build_array_from_val): Likewise.
|
||
(array_bounds_check): Likewise.
|
||
(get_function_type): Likewise.
|
||
(d_build_call): Likewise.
|
||
* d-compiler.cc (Compiler::paintAsType): Likewise.
|
||
* d-convert.cc (convert_expr): Likewise.
|
||
(convert_for_assignment): Likewise.
|
||
* d-lang.cc (d_classify_record): Likewise.
|
||
(d_build_eh_runtime_type): Likewise.
|
||
* decl.cc (DeclVisitor::visit): Likewise.
|
||
* expr.cc (ExprVisitor::needs_postblit): Likewise.
|
||
(ExprVisitor::needs_dtor): Likewise.
|
||
(ExprVisitor::visit): Likewise.
|
||
* imports.cc (ImportVisitor::visit): Likewise.
|
||
* typeinfo.cc (get_typeinfo_kind): Likewise.
|
||
(TypeInfoVisitor::visit): Likewise.
|
||
(TypeDeclInfoVisitor::visit): Likewise.
|
||
* types.cc (merge_aggregate_types): Likewise.
|
||
(TypeVisitor::visit): Likewise.
|
||
|
||
2020-06-14 Iain Buclaw <ibuclaw@gdcproject.org>
|
||
|
||
* expr.cc (ExprVisitor::visit (AssocArrayLiteralExp *)): Fix line
|
||
lengths, no functional change.
|
||
* typeinfo.cc (TypeInfoVisitor::layout_interfaces): Likewise.
|
||
(layout_classinfo_interfaces): Likewise.
|
||
|
||
2020-06-09 Iain Buclaw <ibuclaw@gdcproject.org>
|
||
|
||
* dmd/MERGE: Merge upstream dmd 13d67c575.
|
||
* d-builtins.cc (build_frontend_type): Update call to
|
||
TypeVector::create.
|
||
* d-frontend.cc (Global::_init): Move setting of errorLimit to ...
|
||
* d-lang.cc (d_init_options): ... here. Update for new field
|
||
location of errorLimit.
|
||
(d_post_options): Likewise.
|
||
* d-port.cc (Port::readwordLE): Update signature.
|
||
(Port::readwordBE): Likewise.
|
||
(Port::readlongLE): Likewise.
|
||
(Port::readlongBE): Likewise.
|
||
* decl.cc (get_symbol_decl): Update for new field types.
|
||
|
||
2020-06-08 Iain Buclaw <ibuclaw@gdcproject.org>
|
||
|
||
PR d/95573
|
||
* dmd/MERGE: Merge upstream dmd 5041e56f1.
|
||
|
||
2020-06-08 Iain Buclaw <ibuclaw@gdcproject.org>
|
||
|
||
* dmd/MERGE: Merge upstream dmd 955b8b36f.
|
||
* expr.cc (ExprVisitor::visit (AndAndExp *)): Rename type to ...
|
||
(ExprVisitor::visit (LogicalExp *)): ... this. Handle both 'and if'
|
||
and 'or if' expression nodes.
|
||
(ExprVisitor::visit (OrOrExp *)): Remove.
|
||
|
||
2020-06-07 Iain Buclaw <ibuclaw@gdcproject.org>
|
||
|
||
* dmd/MERGE: Merge upstream dmd 73d8e2fec.
|
||
* decl.cc (get_symbol_decl): Use new Prot::Kind enum.
|
||
* modules.cc (get_internal_fn): Likewise.
|
||
|
||
2020-06-07 Iain Buclaw <ibuclaw@gdcproject.org>
|
||
|
||
* dmd/MERGE: Merge upstream dmd 108ca1bcd.
|
||
* d-diagnostic.cc (expand_d_format): Adjust to use extractChars().
|
||
* d-frontend.cc (Loc::toChars): Likewise.
|
||
* d-lang.cc (deps_write): Likewise.
|
||
(d_parse_file): Likewise.
|
||
* decl.cc (d_mangle_decl): Likewise.
|
||
* intrinsics.cc (maybe_set_intrinsic): Likewise.
|
||
|
||
2020-06-07 Iain Buclaw <ibuclaw@gdcproject.org>
|
||
|
||
* dmd/MERGE: Merge upstream dmd b0df0e982.
|
||
* d-builtins.cc (build_frontend_type): Use VarArg for varargs_p.
|
||
* d-codegen.cc (declaration_type): Call TypeFunction::create with
|
||
argument VARARGnone.
|
||
(parameter_type): Likewise.
|
||
(d_build_call): Use new field names and member functions.
|
||
* d-target.cc (Target::cppParameterType): Call TypeFunction::create
|
||
with argument VARARGnone.
|
||
* types.cc (TypeVisitor::visit (TypeFunction *): Use new field names
|
||
and member functions.
|
||
|
||
2020-06-07 Iain Buclaw <ibuclaw@gdcproject.org>
|
||
|
||
* dmd/MERGE: Merge upstream dmd 1831b24ff.
|
||
* d-lang.cc (d_init_options): Remove initialization of updated fields.
|
||
(d_handle_option): Adjust for new field types.
|
||
|
||
2020-06-07 Iain Buclaw <ibuclaw@gdcproject.org>
|
||
|
||
* dmd/MERGE: Merge upstream dmd cef1e7991.
|
||
* d-lang.cc (d_parse_file): Adjust for new field types.
|
||
|
||
2020-06-05 Iain Buclaw <ibuclaw@gdcproject.org>
|
||
|
||
* dmd/MERGE: Merge upstream dmd 740f3d1ea.
|
||
* d-lang.cc (d_handle_option): Use new fields to save debug and
|
||
version levels passed over command-line.
|
||
(d_post_options): Add them to front-end here.
|
||
|
||
2020-06-05 Iain Buclaw <ibuclaw@gdcproject.org>
|
||
|
||
* dmd/MERGE: Merge upstream dmd f5638c7b8.
|
||
* d-builtins.cc (d_init_versions): Use new CHECKENABLE enum.
|
||
* d-codegen.cc (array_bounds_check): Likewise.
|
||
(build_frame_type): Likewise.
|
||
(get_frameinfo): Likewise.
|
||
* d-lang.cc (d_init_options): Likewise.
|
||
(d_init_options_struct): Don't initialize x_flag_bounds_check.
|
||
(d_handle_option): Use new CHECKENABLE enum.
|
||
(d_post_options): Likewise. Set flag_bounds_check here.
|
||
* expr.cc (ExprVisitor::visit(AssertExp *)): Use new CHECKENABLE enum.
|
||
|
||
2020-06-05 Iain Buclaw <ibuclaw@gdcproject.org>
|
||
|
||
* dmd/MERGE: Merge upstream dmd 56f0a65c4.
|
||
* d-builtins.cc (build_frontend_type): Remove static.
|
||
(d_build_builtins_module): Use target.va_listType() to get front-end
|
||
type for va_list.
|
||
(d_init_builtins): Move creation of va_list to Target::va_listType.
|
||
* d-codegen.cc (build_interface_binfo): Use new target global.
|
||
(build_vindex_ref): Likewise.
|
||
(identity_compare_p): Likewise.
|
||
* d-ctfloat.cc (CTFloat::parse): Likewise.
|
||
* d-lang.cc (d_init): Likewise.
|
||
* d-port.cc (Port::isFloat32LiteralOutOfRange): Likewise.
|
||
(Port::isFloat64LiteralOutOfRange): Likewise.
|
||
* d-target.cc (define_float_constants): Initialize constants through a
|
||
reference, instead of setting globals.
|
||
(Target::_init): Initialize new fields instead of setting globals.
|
||
(Target::va_listType): Build front-end type from va_list_type_node.
|
||
(Target::toCppMangle): Renamed to ...
|
||
(TargetCPP::toMangle): ... this.
|
||
(Target::cppTypeInfoMangle): Renamed to ...
|
||
(TargetCPP::typeInfoMangle): ... this.
|
||
(Target::cppTypeMangle): Renamed to ...
|
||
(TargetCPP::typeMangle): this.
|
||
(Target::cppParameterType): Renamed to ...
|
||
(TargetCPP::parameterType): ... this. Use target.va_listType() to get
|
||
front-end type for va_list.
|
||
(Target::cppFundamentalType): Renamed to ...
|
||
(TargetCPP::fundamentalType): ... this.
|
||
* d-tree.h (build_frontend_type): Declare.
|
||
* decl.cc (base_vtable_offset): Use new target global.
|
||
* typeinfo.cc (layout_classinfo_interfaces): Likewise.
|
||
(layout_cpp_typeinfo): Likewise.
|
||
* types.cc (valist_array_p): Use target.va_listType() to get front-end
|
||
type for va_list.
|
||
(layout_aggregate_type): Use new target global.
|
||
|
||
2020-06-05 Iain Buclaw <ibuclaw@gdcproject.org>
|
||
|
||
* dmd/MERGE: Merge upstream dmd 6d5bffa54.
|
||
* d-builtins.cc (maybe_set_builtin_1): Update call to
|
||
Condition::include().
|
||
* decl.cc (DeclVisitor::visit(AttribDeclaration *)): Likewise.
|
||
* types.cc (layout_aggregate_members): Likewise.
|
||
|
||
2020-06-04 Iain Buclaw <ibuclaw@gdcproject.org>
|
||
|
||
* dmd/MERGE: Merge upstream dmd 48d704f08.
|
||
* d-attribs.cc (build_attributes): Use new field name.
|
||
* d-builtins.cc (build_frontend_type): Likewise.
|
||
(maybe_set_builtin_1): Likewise.
|
||
(d_maybe_set_builtin): Likewise.
|
||
* d-codegen.cc (build_interface_binfo): Likewise.
|
||
(identity_compare_p): Likewise.
|
||
(lower_struct_comparison): Likewise.
|
||
(build_struct_comparison): Likewise.
|
||
(d_build_call): Likewise.
|
||
(build_frame_type): Likewise.
|
||
(build_closure): Likewise.
|
||
* d-compiler.cc (Compiler::paintAsType): Likewise.
|
||
(Compiler::loadModule): Likewise.
|
||
* d-incpath.cc (add_globalpaths): Likewise.
|
||
(add_filepaths): Likewise.
|
||
(add_import_paths): Likewise.
|
||
* d-lang.cc (deps_write): Likewise.
|
||
(d_parse_file): Likewise.
|
||
* decl.cc (gcc_attribute_p): Likewise.
|
||
(base_vtable_offset): Likewise.
|
||
(get_vtable_decl): Likewise.
|
||
(build_class_instance): Likewise.
|
||
* expr.cc (class ExprVisitor): Likewise.
|
||
* modules.cc (layout_moduleinfo_fields): Likewise.
|
||
(layout_moduleinfo): Likewise.
|
||
(build_module_tree): Likewise.
|
||
* toir.cc (class IRVisitor): Likewise.
|
||
* typeinfo.cc (class TypeInfoVisitor): Likewise.
|
||
(layout_classinfo_interfaces): Likewise.
|
||
* types.cc (layout_aggregate_members): Likewise.
|
||
(layout_aggregate_type): Likewise.
|
||
|
||
2020-06-04 Iain Buclaw <ibuclaw@gdcproject.org>
|
||
|
||
* dmd/MERGE: Merge upstream dmd 47ed0330f.
|
||
|
||
2020-06-04 Iain Buclaw <ibuclaw@gdcproject.org>
|
||
|
||
* Make-lang.in (D_OBJS): Add d-compiler.o, d-ctfloat.o, d-port.o.
|
||
* d-frontend.cc (Port::memicmp): Move to d-port.cc.
|
||
(Port::strupr): Likewise.
|
||
(Port::isFloat32LiteralOutOfRange): Likewise.
|
||
(Port::isFloat64LiteralOutOfRange): Likewise.
|
||
(Port::readwordLE): Likewise.
|
||
(Port::readwordBE): Likewise.
|
||
(Port::readlongLE): Likewise.
|
||
(Port::readlongBE): Likewise.
|
||
(Port::valcpy): Likewise.
|
||
(CTFloat::fabs): Move to d-ctfloat.cc.
|
||
(CTFloat::ldexp): Likewise.
|
||
(CTFloat::isIdentical): Likewise.
|
||
(CTFloat::isNaN): Likewise.
|
||
(CTFloat::isSNaN): Likewise.
|
||
(CTFloat::isInfinity): Likewise.
|
||
(CTFloat::parse): Likewise.
|
||
(CTFloat::sprint): Likewise.
|
||
(CTFloat::hash): Likewise.
|
||
(Compiler::genCmain): Move to d-compiler.cc.
|
||
(Compiler::paintAsType): Likewise.
|
||
(Compiler::loadModule): Likewise.
|
||
* d-compiler.cc: New file.
|
||
* d-ctfloat.cc: New file.
|
||
* d-port.cc: New file.
|
||
|
||
2020-06-02 Iain Buclaw <ibuclaw@gdcproject.org>
|
||
|
||
* decl.cc (DeclVisitor::build_dsymbol): New function.
|
||
(DeclVisitor::visit (TupleDeclaration *)): Use build_dsymbol to
|
||
traverse AST instead of accept.
|
||
(DeclVisitor::visit (AttribDeclaration *)): Likewise.
|
||
(DeclVisitor::visit (Nspace *)): Likewise.
|
||
(DeclVisitor::visit (TemplateDeclaration *)): Likewise.
|
||
(DeclVisitor::visit (TemplateInstance *)): Likewise.
|
||
(DeclVisitor::visit (TemplateMixin *)): Likewise.
|
||
(DeclVisitor::visit (StructDeclaration *)): Likewise.
|
||
(DeclVisitor::visit (ClassDeclaration *)): Likewise.
|
||
(DeclVisitor::visit (InterfaceDeclaration *)): Likewise.
|
||
(DeclVisitor::visit (VarDeclaration *)): Likewise.
|
||
(build_decl_tree): Likewise.
|
||
|
||
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-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-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.
|