summaryrefslogtreecommitdiff
path: root/gcc/d/ChangeLog
blob: a29cf967a4a65215336b8cb0d66098115aa7083a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
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-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-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-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-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-05-18  Iain Buclaw  <ibuclaw@gdcproject.org>

	Backport from mainline
	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-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-16  Iain Buclaw  <ibuclaw@gdcproject.org>

	PR d/95155
	* dmd/dclass.c (ClassDeclaration::semantic): Don't prematurely
	set done on semantic analysis.

2020-04-07  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-12  Release Manager

	* GCC 9.3.0 released.

2019-08-12  Release Manager

	* GCC 9.2.0 released.

2019-06-11  Richard Biener  <rguenthe@suse.de>

	d/90778
	* toir.cc (pop_label): Only queue labels in a vector.
	(cmp_labels): Label decl comparator.
	(pop_binding_level): Pop labels in DECL_UID order to avoid
	debug info differences.

2019-05-03  Release Manager

	* GCC 9.1.0 released.

2019-04-25  Johannes Pfau  <johannespfau@gmail.com>

	* config-lang.in: Do not add target_libs if phobos is disabled.

2019-04-23  Iain Buclaw  <ibuclaw@gdcproject.org>
	    Robin Dapp  <rdapp@linux.ibm.com>

	* typeinfo.cc (create_typeinfo): Write typeinfo flags as uint.

2019-04-23  Iain Buclaw  <ibuclaw@gdcproject.org>

	* d-builtins.cc (d_init_versions): Add D_BetterC, D_ModuleInfo,
	D_Exceptions, D_TypeInfo as predefined version conditions.
	* d-codegen.cc (build_bounds_condition): Generate trap if D asserts
	are turned off.
	* d-frontend.cc (getTypeInfoType): Add error when -fno-rtti is set.
	* d-lang.cc (d_init_options): Initialize new front-end options.
	(d_handle_option): Handle -fdruntime, -fexceptions, and -frtti.
	(d_post_options): Turn off D runtime features if -fno-druntime is set.
	* d-spec.cc (lang_specific_driver): Handle -fdruntime.
	* d-tree.h (have_typeinfo_p): Add prototype.
	(build_typeinfo): Update prototype.
	* decl.cc (DeclVisitor::visit(StructDeclaration)): Create typeinfo
	only if TypeInfo exists.
	(DeclVisitor::visit(ClassDeclaration)): Likewise.
	(DeclVisitor::visit(InterfaceDeclaration)): Likewise.
	(DeclVisitor::visit(EnumDeclaration)): Likewise.
	* expr.cc: Update all calls to build_typeinfo.
	* gdc.texi (Runtime Options): Document -fdruntime and -frtti.
	* lang.opt: Add -fdruntime and -frtti.
	* modules.cc (build_module_tree): Create module info only if
	ModuleInfo exists.
	* toir.cc (IRVisitor::visit(ThrowStatement)): Update test for
	-fno-exceptions.
	* typeinfo.cc (create_tinfo_types): Build internal typeinfo classes
	only if Object exists.
	(have_typeinfo_p): New function.
	(class TypeInfoVisitor): Update all calls to build_typeinfo.
	(build_typeinfo): Add error when -fno-rtti is set.

2019-04-21  Iain Buclaw  <ibuclaw@gdcproject.org>

	* decl.cc (DeclVisitor::visit(Import)): Set semanticRun after
	completion, guard against being called more than once.
	(DeclVisitor::visit(StructDeclaration)): Likewise.
	(DeclVisitor::visit(ClassDeclaration)): Likewise.
	(DeclVisitor::visit(InterfaceDeclaration)): Likewise.
	(DeclVisitor::visit(VarDeclaration)): Likewise.
	(DeclVisitor::visit(TypeInfoDeclaration)): Likewise.

2019-04-21  Iain Buclaw  <ibuclaw@gdcproject.org>

	* modules.cc (register_module_decl): Don't register unittests against
	the ModuleInfo symbol for -fbuilding-libphobos-tests.

2019-04-17  Iain Buclaw  <ibuclaw@gdcproject.org>

	* d-system.h (POSIX): Define unix as POSIX.
	(INT32_MAX, INT32_MIN, INT64_MIN, UINT32_MAX, UINT64_MAX): Provide
	fallback definitions.

2019-04-16  Iain Buclaw  <ibuclaw@gdcproject.org>

	* Make-lang.in (d.mostyclean): Clean idgen and impcvgen.
	(d/idgen): Rename to d/idgen$(build_exeext), add BUILD_LIBDEPS.
	(d/impcvgen): Rename to d/impcvgen$(build_exeext), add BUILD_LIBDEPS.
	(d/id.c): Call idgen$(build_exeext).
	(d/impcnvtab.c): Call impcvgen$(build_exeext).

2019-04-14  Johannes Pfau  <johannespfau@gmail.com>
	PR d/87799
	* d-system.h (_mkdir): Forward _mkdir on MinGW to mkdir in system.h.

2019-04-12  Iain Buclaw  <ibuclaw@gdcproject.org>

	* d-tree.h (DECL_IN_UNITTEST_CONDITION_P): Define.
	* decl.cc (DeclVisitor): Add in_version_unittest_ field.
	(DeclVisitor::visit(ConditionalDeclaration)): New override.
	(DeclVisitor::visit(FuncDeclaration)): Set
	DECL_IN_UNITTEST_CONDITION_P.
	* lang.opt (-fbuilding-libphobos-tests): Add option.
	* modules.cc (current_testing_module): New static variable.
	(build_module_tree): Generate second moduleinfo symbol to hold
	reference to unittests if flag_building_libphobos_tests.
	(register_module_decl): Check DECL_IN_UNITTEST_CONDITION_P to decide
	which moduleinfo the decl should be registered against.

2019-03-31  Iain Buclaw  <ibuclaw@gdcproject.org>

	PR d/88462
	* modules.cc (layout_moduleinfo_fields): Properly align ModuleInfo,
	instead of forcing alignment to be 1.

2019-03-21  Iain Buclaw  <ibuclaw@gdcproject.org>

	PR d/89017
	* d-codegen.cc (d_decl_context): Skip over template instances when
	finding the context.
	* decl.cc (DeclVisitor::visit(TemplateDeclaration)): New override.
	(build_type_decl): Include parameters in name of template types.

2019-03-13  Iain Buclaw  <ibuclaw@gdcproject.org>

	PR d/88957
	* expr.cc (ExprVisitor::visit(VectorArrayExp)): New override.

2019-03-12  Iain Buclaw  <ibuclaw@gdcproject.org>

	PR d/87866
	* d-system.h (realpath): Redefine as lrealpath.

2019-03-12  Iain Buclaw  <ibuclaw@gdcproject.org>

	* d-lang.cc (d_init_options): Set global.params.cplusplus to C++14.
	* d-target.cc (Target::cppFundamentalType): New method.

2019-03-09  Iain Buclaw  <ibuclaw@gdcproject.org>

	PR d/89041
	* d-codegen.cc (get_frame_for_symbol): Delegate literals defined in
	global scope don't have a frame pointer.

2019-03-01  Iain Buclaw  <ibuclaw@gdcproject.org>

	* d-builtins.cc (d_init_versions): Add CppRuntime_Gcc as predefined
	version condition.

2019-02-14  Maya Rashish  <coypu@sdf.org>

	* d-system.h: NetBSD is POSIX.

2019-02-14  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	PR d/87864
	* lang.opt (dstartfiles): New option.
	* d-spec.cc (need_spec): New variable.
	(lang_specific_driver) <OPT_dstartfiles>: Enable need_spec.
	(lang_specific_pre_link): Also load libgphobos.spec if need_spec.

2019-01-26  Iain Buclaw  <ibuclaw@gdcproject.org>

	PR d/89042
	* decl.cc (DeclVisitor::visit(VarDeclaration)): Don't assert if
	handling a void initialized manifest constant.

2019-01-21  Iain Buclaw  <ibuclaw@gdcproject.org>

	* d-frontend.cc (Compiler::paintAsType): Update for new signature.

2019-01-20  Iain Buclaw  <ibuclaw@gdcproject.org>

	* d-builtins.cc (d_init_versions): Check value of
	STACK_GROWS_DOWNWARD.

2019-01-20  Iain Buclaw  <ibuclaw@gdcproject.org>

	* d-codegen.cc (identity_compare_p): Return false if seen built-in
	type with padding.
	(build_float_identity): Moved here from expr.cc.
	(lower_struct_comparison): Handle real and complex types.
	* d-tree.h (build_float_identity): New.
	* expr.cc (build_float_identity): Move to d-codegen.cc.

2019-01-20  Johannes Pfau  <johannespfau@gmail.com>

	* expr.cc (build_float_identity): New function.
	(ExprVisitor::visit(IdentityExp)): Add support for complex types.

2019-01-16  Iain Buclaw  <ibuclaw@gdcproject.org>

	PR d/87824
	* d-lang.cc (d_post_options): Disable implicit
	-forder-blocks-and-partition.

2019-01-16  Iain Buclaw  <ibuclaw@gdcproject.org>

	* d-codegen.cc (build_typeof_null_value): New function.
	* d-tree.h (build_typeof_null_value): Declare.
	* d-convert.cc (convert_expr): Use build_typeof_null_value.
	* expr.cc (ExprVisitor::visit(NullExp)): Likewise.

2019-01-15  Richard Sandiford  <richard.sandiford@arm.com>

	PR inline-asm/52813
	* lang.opt (Wdeprecated): Reference common.opt instead of c.opt.

2019-01-12  Iain Buclaw  <ibuclaw@gdcproject.org>

	* README.gcc: New file.

2019-01-01  Jakub Jelinek  <jakub@redhat.com>

	Update copyright years.

	* gdc.texi: Bump @copyrights-d year.

Copyright (C) 2019 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.