1 2021-04-05 Iain Buclaw <ibuclaw@gdcproject.org>
4 * d-lang.cc (d_init): Disable flag_weak_templates if no support for
5 weak or one-only symbols.
6 * d-tree.h (VAR_OR_FUNCTION_DECL_CHECK): New macro.
7 (DECL_INSTANTIATED): New macro.
8 (d_comdat_linkage): Remove declaration.
9 (d_linkonce_linkage): Remove declaration.
10 (set_linkage_for_decl): New declaration.
11 * decl.cc (DeclVisitor::visit (StructDeclaration *)): Replace call to
12 d_linkonce_linkage with setting DECL_INSTANTIATED.
13 (DeclVisitor::visit (ClassDeclaration *)): Likewise.
14 (DeclVisitor::visit (EnumDeclaration *)): Likewise.
15 (DeclVisitor::visit (InterfaceDeclaration *)): Remove call to
17 (get_symbol_decl): Call set_linkage_for_decl instead of
19 (d_finish_decl): Call set_linkage_for_decl.
20 (d_comdat_linkage): Made function static. Only set DECL_COMDAT for
21 DECL_INSTANTIATED decls.
22 (d_linkonce_linkage): Remove function.
23 (d_weak_linkage): New function.
24 (set_linkage_for_decl): New function.
25 * gdc.texi (Runtime Options): Rename -fno-weak to -fno-weak-templates,
26 update documentation of option.
27 * lang.opt (fweak): Rename option to ...
28 (fweak-templates): ... this. Update help string.
29 * modules.cc (get_internal_fn): Add Prot parameter. Set generated
31 (build_internal_fn): Update call to get_internal_fn.
32 (build_dso_cdtor_fn): Likewise.
33 (register_moduleinfo): Call d_finish_decl on dso_slot_node and
35 * typeinfo.cc (TypeInfoVisitor::internal_reference): Call
36 set_linkage_for_decl instead of d_comdat_linkage.
37 (TypeInfoDeclVisitor::visit (TypeInfoDeclaration *)): Remove calls to
38 d_linkonce_linkage and d_comdat_linkage.
39 (get_cpp_typeinfo_decl): Likewise.
41 2021-04-03 Iain Buclaw <ibuclaw@gdcproject.org>
43 * dmd/MERGE: Merge upstream dmd 3b808e838.
44 * Make-lang.in (D_FRONTEND_OBJS): Add d/chkformat.o.
45 * d-codegen.cc (build_struct_literal): Handle special enums.
46 * d-convert.cc (convert_expr): Handle noreturn type.
47 (convert_for_condition): Likewise.
48 * d-target.cc (Target::_init): Set type for wchar_t.
49 (TargetCPP::derivedClassOffset): New method.
50 (Target::libraryObjectMonitors): New method.
51 * decl.cc (get_symbol_decl): Set TREE_THIS_VOLATILE for functions of
53 * toir.cc (IRVisitor::visit (ReturnStatement *)): Handle returning
55 * types.cc (TypeVisitor::visit (TypeNoreturn *)): New method.
56 (TypeVisitor::visit (TypeEnum *)): Handle special enums.
58 2021-03-28 Iain Buclaw <ibuclaw@gdcproject.org>
60 * d-builtins.cc (d_init_versions): Predefine D_PIE if flag_pie is set.
62 2021-03-28 Iain Buclaw <ibuclaw@gdcproject.org>
64 * d-lang.cc (d_enum_underlying_base_type): New function.
65 (LANG_HOOKS_ENUM_UNDERLYING_BASE_TYPE): Set as
66 d_enum_underlying_base_type.
68 2021-03-28 Iain Buclaw <ibuclaw@gdcproject.org>
70 * Make-lang.in (DMDGEN_COMPILE): Remove.
71 (d/%.dmdgen.o): Use COMPILER_FOR_BUILD and BUILD_COMPILERFLAGS to
72 build all D generator programs.
73 (D_SYSTEM_H): New macro.
74 (d/idgen.dmdgen.o): Add dependencies to build.
75 (d/impcnvgen.dmdgen.o): Likewise.
76 * d-system.h: Include bconfig.h if GENERATOR_FILE is defined.
78 2021-03-28 Iain Buclaw <ibuclaw@gdcproject.org>
80 * config-lang.in (gtfiles): Remove modules.cc.
81 * modules.cc (struct module_info): Remove GTY marker.
82 (static_ctor_list): Remove variable.
83 (static_dtor_list): Remove variable.
84 (register_moduleinfo): Directly set DECL_STATIC_CONSTRUCTOR on
85 dso_ctor, and DECL_STATIC_DESTRUCTOR on dso_dtor.
86 (d_finish_compilation): Remove static ctor/dtor handling.
88 2021-03-06 Iain Buclaw <ibuclaw@gdcproject.org>
90 * d-lang.cc (d_init_options_struct): Don't set default
93 2021-03-03 Iain Buclaw <ibuclaw@gdcproject.org>
96 * dmd/MERGE: Merge upstream dmd a3c9bf422.
98 2021-02-13 Iain Buclaw <ibuclaw@gdcproject.org>
100 * dmd/MERGE: Merge upstream dmd 7132b3537.
101 * Make-lang.in (D_FRONTEND_OBJS): Add d/dsymbolsem.o, d/semantic2.o,
102 d/semantic3.o, and d/templateparamsem.o.
103 * d-compiler.cc (Compiler::genCmain): Update calls to semantic
104 entrypoint functions.
105 * d-lang.cc (d_parse_file): Likewise.
106 * typeinfo.cc (make_frontend_typeinfo): Likewise.
108 2021-02-05 Iain Buclaw <ibuclaw@gdcproject.org>
110 * d-tree.h (DEF_D_INTRINSIC): Don't insert INTRINSIC_ into the
112 * intrinsics.cc (DEF_D_INTRINSIC): Don't insert INTRISIC_ and
113 BUILT_IN_ into the intrinsic and built-in code names.
114 * intrinsics.def: Explicitly use full intrinsic and built-in
115 codes in all definitions.
117 2021-02-04 Iain Buclaw <ibuclaw@gdcproject.org>
119 * dmd/MERGE: Merge upstream dmd 46133f761.
120 * d-builtins.cc (d_build_builtins_module): Set builtins as BUILTINgcc.
121 (maybe_set_builtin_1): Likewise.
122 * d-frontend.cc (eval_builtin): Adjust condition for early return.
123 * intrinsics.cc (maybe_set_intrinsic): Set intrinsics as BUILTINgcc.
124 (maybe_expand_intrinsic): Add case for INTRINSIC_BSWAP16.
125 * intrinsics.def (INTRINSIC_BT): Update signature.
126 (INTRINSIC_BT64): Likewise.
127 (INTRINSIC_BSWAP16): New intrinsic.
128 (INTRINSIC_VLOAD8): Update module.
129 (INTRINSIC_VLOAD16): Likewise.
130 (INTRINSIC_VLOAD32): Likewise.
131 (INTRINSIC_VLOAD64): Likewise.
132 (INTRINSIC_VSTORE8): Likewise.
133 (INTRINSIC_VSTORE16): Likewise.
134 (INTRINSIC_VSTORE32): Likewise.
135 (INTRINSIC_VSTORE64): Likewise.
136 (INTRINSIC_ADDS): Update signature.
137 (INTRINSIC_ADDSL): Likewise.
138 (INTRINSIC_ADDU): Likewise.
139 (INTRINSIC_ADDUL): Likewise.
140 (INTRINSIC_SUBS): Likewise.
141 (INTRINSIC_SUBSL): Likewise.
142 (INTRINSIC_SUBU): Likewise.
143 (INTRINSIC_SUBUL): Likewise.
144 (INTRINSIC_MULS): Likewise.
145 (INTRINSIC_MULSL): Likewise.
146 (INTRINSIC_MULU): Likewise.
147 (INTRINSIC_MULUI): Likewise.
148 (INTRINSIC_MULUL): Likewise.
149 (INTRINSIC_NEGS): Likewise.
150 (INTRINSIC_NEGSL): Likewise.
152 2021-02-02 Iain Buclaw <ibuclaw@gdcproject.org>
155 * dmd/MERGE: Merge upstream dmd 5e2a81d9c.
157 2021-01-30 Iain Buclaw <ibuclaw@gdcproject.org>
159 * typeinfo.cc (TypeInfoVisitor::visit (TypeInfoDeclaration *)): Don't
160 layout m_arg1 and m_arg2 fields.
162 2021-01-26 Iain Buclaw <ibuclaw@gdcproject.org>
164 * dmd/MERGE: Merge upstream dmd 609c3ce2d.
165 * d-compiler.cc (Compiler::loadModule): Rename to ...
166 (Compiler::onParseModule): ... this.
167 (Compiler::onImport): New function.
168 * d-lang.cc (d_parse_file): Remove call to Compiler::loadModule.
170 2021-01-21 Iain Buclaw <ibuclaw@gdcproject.org>
172 * dmd/MERGE: Merge upstream dmd 3a7ebef73.
174 2021-01-11 Iain Buclaw <ibuclaw@gdcproject.org>
176 * dmd/MERGE: Merge upstream dmd 2d3d13748.
177 * d-lang.cc (d_handle_option): Remove OPT_ftransition_checkimports and
178 OPT_ftransition_import.
179 * gdc.texi (Warnings): Remove documentation for -ftransition=import
180 and -ftransition=checkimports.
181 * lang.opt (ftransition=checkimports): Remove.
182 (ftransition=import): Remove.
184 2021-01-09 Iain Buclaw <ibuclaw@gdcproject.org>
186 * dmd/MERGE: Merge upstream dmd cb1106ad5.
188 2021-01-09 Iain Buclaw <ibuclaw@gdcproject.org>
190 * dmd/MERGE: Merge upstream dmd 9bba772fa.
192 2021-01-09 Iain Buclaw <ibuclaw@gdcproject.org>
194 * dmd/MERGE: Merge upstream dmd e598f69c0.
196 2021-01-07 Iain Buclaw <ibuclaw@gdcproject.org>
198 * dmd/MERGE: Merge upstream dmd 9038e64c5.
199 * d-builtins.cc (build_frontend_type): Update call to
202 2021-01-05 Iain Buclaw <ibuclaw@gdcproject.org>
204 * dmd/MERGE: Merge upstream dmd a5c86f5b9.
205 * d-builtins.cc (d_eval_constant_expression): Handle ADDR_EXPR trees
206 created by build_string_literal.
207 * d-frontend.cc (retStyle): Remove function.
208 * d-target.cc (d_language_target_info): New variable.
209 (d_target_info_table): Likewise.
210 (Target::_init): Initialize d_target_info_table.
211 (Target::isReturnOnStack): New function.
212 (d_add_target_info_handlers): Likewise.
213 (d_handle_target_cpp_std): Likewise.
214 (d_handle_target_cpp_runtime_library): Likewise.
215 (Target::getTargetInfo): Likewise.
216 * d-target.h (struct d_target_info_spec): New type.
217 (d_add_target_info_handlers): Declare.
219 2021-01-01 Jakub Jelinek <jakub@redhat.com>
221 * gdc.texi: Bump @copyrights-d year.
223 2021-01-01 Jakub Jelinek <jakub@redhat.com>
225 * ChangeLog-2020: Rotate ChangeLog. New file.
228 Copyright (C) 2021 Free Software Foundation, Inc.
230 Copying and distribution of this file, with or without modification,
231 are permitted in any medium without royalty provided the copyright
232 notice and this notice are preserved.