]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/d/ChangeLog
d: Partially fix ICE: in register_moduleinfo, at d/modules.cc:40
[thirdparty/gcc.git] / gcc / d / ChangeLog
CommitLineData
d836de5b 12019-08-20 Iain Buclaw <ibuclaw@gdcproject.org>
2
3 PR d/88722
4 * modules.cc: Include diagnostic.h.
5 (register_moduleinfo): Use sorry instead of gcc_assert for targets
6 without named sections.
7
5a62bc78 82019-08-20 Iain Buclaw <ibuclaw@gdcproject.org>
9
10 * d-target.cc: Include diagnostic.h.
11 (Target::_init): Set Tsize_t and Tptrdiff_t as D ushort and short if
12 the target pointer size is 2. Add sorry if the pointer size is not
13 either 2, 4, or 8.
14
42e27985 152019-08-20 Iain Buclaw <ibuclaw@gdcproject.org>
16
17 PR d/90446
18 * d-lang.cc (d_type_for_mode): Check for all internal __intN types.
19 (d_type_for_size): Likewise.
20
2bc838cb 212019-08-20 Iain Buclaw <ibuclaw@gdcproject.org>
22
23 PR d/90445
24 * d-builtins.cc (d_build_c_type_nodes): Test UINTMAX_TYPE for setting
25 uintmax_type_node. Set signed_size_type_node as the signed_type_for
26 size_type_node.
27
8ba7efbc 282019-08-20 Iain Buclaw <ibuclaw@gdcproject.org>
29
30 PR d/90444
31 * d-builtins.cc (build_frontend_type): Build anonymous RECORD_TYPE
32 nodes as well, push all fields to the struct members.
33 (d_build_builtins_module): Push anonymous va_list structs to the
34 builtins module, naming them __builtin_va_list.
35 (d_init_builtins): Use sorry instead of gcc_unreachable if va_list did
36 not succeed in being represented as a D type.
37
d1170f8d 382019-08-13 Richard Sandiford <richard.sandiford@arm.com>
39
40 PR middle-end/91421
41 * intrinsics.cc (maybe_set_intrinsic): Use set_decl_built_in_function.
42
9a59b525 432019-08-11 Iain Buclaw <ibuclaw@gdcproject.org>
44
45 PR d/90601
46 * d-convert.cc (convert_expr): Don't convert an expression to its
47 original front-end type before converting to its target type.
48
e03f736d 492019-08-10 Iain Buclaw <ibuclaw@gdcproject.org>
50
51 PR d/91238
52 * d-codegen.cc (build_address): If taking the address of a CALL_EXPR,
53 wrap it in a TARGET_EXPR.
54
e4cbf23c 552019-08-10 Iain Buclaw <ibuclaw@gdcproject.org>
56
57 PR d/90893
58 * runtime.cc (enum libcall_type): Rename to...
59 (enum d_libcall_type): ...this.
60 (get_libcall_type): Use d_libcall_type.
61 (build_libcall_decl): Likewise.
62
960d7913 632019-06-16 Iain Buclaw <ibuclaw@gdcproject.org>
64
65 PR d/90559
66 * d-target.cc (Target::_init): Reduce max static data size to INT_MAX.
67
985afcab 682019-06-16 Iain Buclaw <ibuclaw@gdcproject.org>
69
70 PR d/90651
71 * typeinfo.cc (object_module): New variable.
72 (make_frontend_typeinfo): Update signature. Set temporary on
73 generated TypeInfo classes.
74 (create_tinfo_types): Set object_module. Move generation of front-end
75 typeinfo into ...
76 (create_frontend_tinfo_types): ... New function.
77 (layout_typeinfo): Call create_frontend_tinfo_types.
78 (layout_classinfo): Likewise.
79 (layout_cpp_typeinfo): Likewise.
80 (create_typeinfo): Likewise.
81
7aab47d0 822019-06-11 Richard Biener <rguenthe@suse.de>
83
84 d/90778
85 * toir.cc (pop_label): Only queue labels in a vector.
86 (cmp_labels): Label decl comparator.
87 (pop_binding_level): Pop labels in DECL_UID order to avoid
88 debug info differences.
89
b95089a0 902019-05-24 Nathan Sidwell <nathan@acm.org>
91
92 * types.cc (fixup_anonymous_offset): Use IDENTIFIER_ANON_P.
93 (layout_aggregate_members): Use make_anon_name.
94
85b9be9b 952019-05-16 Martin Sebor <msebor@redhat.com>
96
c5c4ce6c 97 * d-builtins.cc (d_init_builtins): Quote keywords, operators,
98 and types in diagnostics.
99 * d-codegen.cc (get_array_length): Same. Replace can't with cannot.
100 * d-convert.cc (convert_expr): Same.
101 * d-frontend.cc (getTypeInfoType): Quote an option name in
102 a diagnostic.
103 * d-lang.cc (d_handle_option): Same.
104 (d_parse_file): Same.
105 * decl.cc: Remove a trailing period from a diagnostic.
106 * expr.cc: Use a directive for an apostrophe.
107 * toir.cc: Quote keywords, operators, and types in diagnostics.
108 * typeinfo.cc (build_typeinfo): Quote an option name in a diagnostic.
85b9be9b 109
6c897c5f 1102019-04-25 Johannes Pfau <johannespfau@gmail.com>
111
112 * config-lang.in: Do not add target_libs if phobos is disabled.
113
22da68fb 1142019-04-23 Iain Buclaw <ibuclaw@gdcproject.org>
115 Robin Dapp <rdapp@linux.ibm.com>
116
117 * typeinfo.cc (create_typeinfo): Write typeinfo flags as uint.
118
7ad41fff 1192019-04-23 Iain Buclaw <ibuclaw@gdcproject.org>
120
121 * d-builtins.cc (d_init_versions): Add D_BetterC, D_ModuleInfo,
122 D_Exceptions, D_TypeInfo as predefined version conditions.
123 * d-codegen.cc (build_bounds_condition): Generate trap if D asserts
124 are turned off.
125 * d-frontend.cc (getTypeInfoType): Add error when -fno-rtti is set.
126 * d-lang.cc (d_init_options): Initialize new front-end options.
127 (d_handle_option): Handle -fdruntime, -fexceptions, and -frtti.
128 (d_post_options): Turn off D runtime features if -fno-druntime is set.
129 * d-spec.cc (lang_specific_driver): Handle -fdruntime.
130 * d-tree.h (have_typeinfo_p): Add prototype.
131 (build_typeinfo): Update prototype.
132 * decl.cc (DeclVisitor::visit(StructDeclaration)): Create typeinfo
133 only if TypeInfo exists.
134 (DeclVisitor::visit(ClassDeclaration)): Likewise.
135 (DeclVisitor::visit(InterfaceDeclaration)): Likewise.
136 (DeclVisitor::visit(EnumDeclaration)): Likewise.
137 * expr.cc: Update all calls to build_typeinfo.
138 * gdc.texi (Runtime Options): Document -fdruntime and -frtti.
139 * lang.opt: Add -fdruntime and -frtti.
140 * modules.cc (build_module_tree): Create module info only if
141 ModuleInfo exists.
142 * toir.cc (IRVisitor::visit(ThrowStatement)): Update test for
143 -fno-exceptions.
144 * typeinfo.cc (create_tinfo_types): Build internal typeinfo classes
145 only if Object exists.
146 (have_typeinfo_p): New function.
147 (class TypeInfoVisitor): Update all calls to build_typeinfo.
148 (build_typeinfo): Add error when -fno-rtti is set.
149
d901a66a 1502019-04-21 Iain Buclaw <ibuclaw@gdcproject.org>
151
152 * decl.cc (DeclVisitor::visit(Import)): Set semanticRun after
153 completion, guard against being called more than once.
154 (DeclVisitor::visit(StructDeclaration)): Likewise.
155 (DeclVisitor::visit(ClassDeclaration)): Likewise.
156 (DeclVisitor::visit(InterfaceDeclaration)): Likewise.
157 (DeclVisitor::visit(VarDeclaration)): Likewise.
158 (DeclVisitor::visit(TypeInfoDeclaration)): Likewise.
159
cbe95191 1602019-04-21 Iain Buclaw <ibuclaw@gdcproject.org>
161
162 * modules.cc (register_module_decl): Don't register unittests against
163 the ModuleInfo symbol for -fbuilding-libphobos-tests.
164
6f9d7793 1652019-04-17 Iain Buclaw <ibuclaw@gdcproject.org>
166
167 * d-system.h (POSIX): Define unix as POSIX.
168 (INT32_MAX, INT32_MIN, INT64_MIN, UINT32_MAX, UINT64_MAX): Provide
169 fallback definitions.
170
ca93a8c8 1712019-04-16 Iain Buclaw <ibuclaw@gdcproject.org>
172
173 * Make-lang.in (d.mostyclean): Clean idgen and impcvgen.
174 (d/idgen): Rename to d/idgen$(build_exeext), add BUILD_LIBDEPS.
175 (d/impcvgen): Rename to d/impcvgen$(build_exeext), add BUILD_LIBDEPS.
176 (d/id.c): Call idgen$(build_exeext).
177 (d/impcnvtab.c): Call impcvgen$(build_exeext).
178
77999887 1792019-04-14 Johannes Pfau <johannespfau@gmail.com>
180 PR d/87799
181 * d-system.h (_mkdir): Forward _mkdir on MinGW to mkdir in system.h.
182
fc11fa17 1832019-04-12 Iain Buclaw <ibuclaw@gdcproject.org>
184
185 * d-tree.h (DECL_IN_UNITTEST_CONDITION_P): Define.
186 * decl.cc (DeclVisitor): Add in_version_unittest_ field.
187 (DeclVisitor::visit(ConditionalDeclaration)): New override.
188 (DeclVisitor::visit(FuncDeclaration)): Set
189 DECL_IN_UNITTEST_CONDITION_P.
190 * lang.opt (-fbuilding-libphobos-tests): Add option.
191 * modules.cc (current_testing_module): New static variable.
192 (build_module_tree): Generate second moduleinfo symbol to hold
193 reference to unittests if flag_building_libphobos_tests.
194 (register_module_decl): Check DECL_IN_UNITTEST_CONDITION_P to decide
195 which moduleinfo the decl should be registered against.
196
c1df9acf 1972019-03-31 Iain Buclaw <ibuclaw@gdcproject.org>
198
199 PR d/88462
200 * modules.cc (layout_moduleinfo_fields): Properly align ModuleInfo,
201 instead of forcing alignment to be 1.
202
bffad515 2032019-03-21 Iain Buclaw <ibuclaw@gdcproject.org>
204
205 PR d/89017
206 * d-codegen.cc (d_decl_context): Skip over template instances when
207 finding the context.
208 * decl.cc (DeclVisitor::visit(TemplateDeclaration)): New override.
209 (build_type_decl): Include parameters in name of template types.
210
3627cdbc 2112019-03-13 Iain Buclaw <ibuclaw@gdcproject.org>
212
213 PR d/88957
214 * expr.cc (ExprVisitor::visit(VectorArrayExp)): New override.
215
785c9a82 2162019-03-12 Iain Buclaw <ibuclaw@gdcproject.org>
217
218 PR d/87866
219 * d-system.h (realpath): Redefine as lrealpath.
220
1886b55b 2212019-03-12 Iain Buclaw <ibuclaw@gdcproject.org>
222
223 * d-lang.cc (d_init_options): Set global.params.cplusplus to C++14.
224 * d-target.cc (Target::cppFundamentalType): New method.
225
52e19479 2262019-03-09 Iain Buclaw <ibuclaw@gdcproject.org>
227
228 PR d/89041
229 * d-codegen.cc (get_frame_for_symbol): Delegate literals defined in
230 global scope don't have a frame pointer.
231
939c6404 2322019-03-01 Iain Buclaw <ibuclaw@gdcproject.org>
233
234 * d-builtins.cc (d_init_versions): Add CppRuntime_Gcc as predefined
235 version condition.
236
668bd806 2372019-02-14 Maya Rashish <coypu@sdf.org>
238
239 * d-system.h: NetBSD is POSIX.
240
e06fcd5a 2412019-02-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
242
243 PR d/87864
244 * lang.opt (dstartfiles): New option.
245 * d-spec.cc (need_spec): New variable.
246 (lang_specific_driver) <OPT_dstartfiles>: Enable need_spec.
247 (lang_specific_pre_link): Also load libgphobos.spec if need_spec.
248
cfa3a863 2492019-01-26 Iain Buclaw <ibuclaw@gdcproject.org>
250
251 PR d/89042
252 * decl.cc (DeclVisitor::visit(VarDeclaration)): Don't assert if
253 handling a void initialized manifest constant.
254
d2aef8c0 2552019-01-21 Iain Buclaw <ibuclaw@gdcproject.org>
256
257 * d-frontend.cc (Compiler::paintAsType): Update for new signature.
258
1e260753 2592019-01-20 Iain Buclaw <ibuclaw@gdcproject.org>
260
261 * d-builtins.cc (d_init_versions): Check value of
262 STACK_GROWS_DOWNWARD.
263
c343819b 2642019-01-20 Iain Buclaw <ibuclaw@gdcproject.org>
265
266 * d-codegen.cc (identity_compare_p): Return false if seen built-in
267 type with padding.
268 (build_float_identity): Moved here from expr.cc.
269 (lower_struct_comparison): Handle real and complex types.
270 * d-tree.h (build_float_identity): New.
271 * expr.cc (build_float_identity): Move to d-codegen.cc.
272
c161bb93 2732019-01-20 Johannes Pfau <johannespfau@gmail.com>
274
275 * expr.cc (build_float_identity): New function.
276 (ExprVisitor::visit(IdentityExp)): Add support for complex types.
277
46c0cb43 2782019-01-16 Iain Buclaw <ibuclaw@gdcproject.org>
279
280 PR d/87824
281 * d-lang.cc (d_post_options): Disable implicit
282 -forder-blocks-and-partition.
283
1f4720ba 2842019-01-16 Iain Buclaw <ibuclaw@gdcproject.org>
285
286 * d-codegen.cc (build_typeof_null_value): New function.
287 * d-tree.h (build_typeof_null_value): Declare.
288 * d-convert.cc (convert_expr): Use build_typeof_null_value.
289 * expr.cc (ExprVisitor::visit(NullExp)): Likewise.
290
9d1cdb74 2912019-01-15 Richard Sandiford <richard.sandiford@arm.com>
292
293 PR inline-asm/52813
294 * lang.opt (Wdeprecated): Reference common.opt instead of c.opt.
295
49fc210b 2962019-01-12 Iain Buclaw <ibuclaw@gdcproject.org>
297
298 * README.gcc: New file.
299
3d8932fd 3002019-01-01 Jakub Jelinek <jakub@redhat.com>
63d054f3 301
fbd26352 302 Update copyright years.
303
3d8932fd 304 * gdc.texi: Bump @copyrights-d year.
03385ed3 305\f
3d8932fd 306Copyright (C) 2019 Free Software Foundation, Inc.
03385ed3 307
308Copying and distribution of this file, with or without modification,
309are permitted in any medium without royalty provided the copyright
310notice and this notice are preserved.