12018-11-24  Iain Buclaw  <ibuclaw@gdcproject.org>
2
3	PR d/87866
4	* d-incpath.cc (add_globalpaths): Use lrealpath to get canonical name.
5	(add_filepaths): Likewise.
6
72018-11-17  Iain Buclaw  <ibuclaw@gdcproject.org>
8
9	PR d/87824
10	* d-target.cc (Target::alignsize): Return min_align_of_type.
11
122018-11-05  Iain Buclaw  <ibuclaw@gdcproject.org>
13
14	PR d/87865
15	* d-system.h: New file.
16
172018-11-01  Jakub Jelinek  <jakub@redhat.com>
18
19	PR d/87824
20	* lang.opt (Wpsabi): New option.
21
222018-10-31  Iain Buclaw  <ibuclaw@gdcproject.org>
23
24	PR d/87825
25	* Make-lang.in (d/idgen) Link with BUILD_LINKERFLAGS.
26	(d/impcvgen): Likewise.
27
282018-10-26  Eugene Wissner  <belka@caraus.de>
29
30	* Make-lang.in (selftest-d): New.
31	* d-diagnostic.cc (vwarning): Fix warning emitting.
32
332018-10-22  Iain Buclaw  <ibuclaw@gdcproject.org>
34
35	* d-spec.cc (lang_specific_driver): Always link against phobos if any
36	input file is given.
37
382018-10-21  Iain Buclaw  <ibuclaw@gdcproject.org>
39
40	* d-lang.cc (d_get_alias_set): Always return zero.
41
422018-10-21  Iain Buclaw  <ibuclaw@gdcproject.org>
43
44	* intrinsics.cc (maybe_set_intrinsic): Don't set built-in flag on
45	unsupported pow() overloads.
46
472018-10-20  Iain Buclaw  <ibuclaw@gdcproject.org>
48
49	* expr.cc (ExprVisitor::binop_assignment): Call stabilize_reference on
50	LHS construct if it has side effects.
51
522018-10-20  Iain Buclaw  <ibuclaw@gdcproject.org>
53
54	* intrinsics.cc (clear_intrinsic_flag): Remove function.
55	(maybe_expand_intrinsic): Remove clear_intrinsic_flag call.
56
572018-10-20  Iain Buclaw  <ibuclaw@gdcproject.org>
58
59	* intrinsics.cc (expand_intrinsic_copysign): Use mathfn_built_in to
60	determine correct built-in to call.
61	(expand_intrinsic_pow): Likewise.
62
632018-10-20  Iain Buclaw  <ibuclaw@gdcproject.org>
64
65	* intrinsics.cc (expand_intrinsic_sqrt): Remove implicit int to double
66	conversion.
67	(expand_intrinsic_pow): Likewise.
68
692018-10-20  Iain Buclaw  <ibuclaw@gdcproject.org>
70
71	* d-codegen.cc (get_frame_for_symbol): Use error_at.
72	(build_frame_type): Likewise.
73	(get_framedecl): Likewise.
74	* d-lang.cc (d_parse_file): Likewise.
75	* decl.cc (DeclVisitor::visit(StructDeclaration)): Likewise.
76	(DeclVisitor::finish_vtable): Likewise.
77	(DeclVisitor::visit(ClassDeclaration)): Likewise.
78	(DeclVisitor::visit(InterfaceDeclaration)): Likewise.
79	(DeclVisitor::visit(EnumDeclaration)): Likewise.
80	(DeclVisitor::visit(VarDeclaration)): Likewise.
81	* toir.cc (IRVisitor::check_goto): Likewise.
82	(IRVisitor::check_previous_goto): Likewise.
83	(IRVisitor::visit(ThrowStatement)): Likewise.
84
852018-10-20  Iain Buclaw  <ibuclaw@gdcproject.org>
86
87	* d-codegen.cc (get_array_length): Use quoted format flag in message.
88	(d_build_call): Likewise.
89	* d-lang.cc (d_handle_option): Likewise.
90	* decl.cc (DeclVisitor::finish_vtable): Likewise.
91	* expr.cc (ExprVisitor::visit(ArrayLengthExp)): Likewise.
92	(ExprVisitor::visit(DeleteExp)): Likewise.
93	(ExprVisitor::visit(RemoveExp)): Likewise.
94	(ExprVisitor::visit(RemoveExp)): Likewise.
95	(ExprVisitor::visit(CallExp)): Likewise.
96	(ExprVisitor::visit(DotVarExp)): Likewise.
97	(ExprVisitor::visit(VarExp)): Likewise.
98	(ExprVisitor::visit(ScopeExp)): Likewise.
99	(ExprVisitor::visit(TypeExp)): Likewise.
100	(build_expr): Likewise.
101
1022018-10-20  Iain Buclaw  <ibuclaw@gdcproject.org>
103
104	* d-diagnostic.cc (d_diagnostic_report_diagnostic): Skip translation
105	by instead calling diagnostic_set_info_translated.
106
1072018-10-20  Iain Buclaw  <ibuclaw@gdcproject.org>
108
109	* d-tree.h (bool_type_node): Rename to d_bool_type.
110	(byte_type_node): Rename to d_byte_type.
111	(ubyte_type_node): Rename to d_ubyte_type.
112	(short_type_node): Rename to d_short_type.
113	(ushort_type_node): Rename to d_ushort_type.
114	(int_type_node): Rename to d_int_type.
115	(uint_type_node): Rename to d_uint_type.
116	(long_type_node): Rename to d_long_type.
117	(ulong_type_node): Rename to d_ulong_type.
118	(cent_type_node): Rename to d_cent_type.
119	(ucent_type_node): Rename to d_ucent_type.
120
1212018-10-20  Iain Buclaw  <ibuclaw@gdcproject.org>
122
123	* expr.cc (ExprVisitor::visit(PowExp)): Remove function.
124
1252018-10-19  Iain Buclaw  <ibuclaw@gdcproject.org>
126
127	* d-attribs.c: Rename to d-attribs.cc.
128	* d-spec.c: Rename to d-spec.cc.
129
1302018-10-19  Iain Buclaw  <ibuclaw@gdcproject.org>
131
132	* d-lang.cc (d_gimplify_expr): Don't handle TREE_THIS_VOLATILE.
133
1342018-10-19  Iain Buclaw  <ibuclaw@gdcproject.org>
135
136	* d-diagnostic.cc (vwarning): Update to use Diagnostic enum.
137	(vdeprecation): Likewise.
138	(vdeprecationSupplemental): Likewise.
139	* d-lang.cc (d_init_options): Explicitly set warnings and deprecations
140	as DIAGNOSTICoff.
141	(d_handle_option): Update to use Diagnostic enum.
142	(d_post_options): Likewise.
143
1442018-10-18  Iain Buclaw  <ibuclaw@gdcproject.org>
145
146	* d-diagnostic.cc (expand_format): Rename to expand_d_format.
147	Updated all callers.
148
1492018-10-17  Iain Buclaw  <ibuclaw@gdcproject.org>
150
151	* d-codegen.cc (get_linemap): Rename function to make_location_t.
152	Updated all callers.
153	* d-tree.h (get_linemap): Rename declaration to make_location_t.
154
1552018-10-17  Iain Buclaw  <ibuclaw@gdcproject.org>
156
157	* expr.cc (ExprVisitor::binary_op): Use POINTER_DIFF_EXPR.
158
1592018-10-17  Iain Buclaw  <ibuclaw@gdcproject.org>
160
161	* intrinsics.cc (expand_intrinsic_bsf): Assert that built-in function
162	code is not END_BUILTINS.
163	(expand_intrinsic_bsr): Likewise.
164	(expand_intrinsic_bswap): Likewise.
165	(expand_intrinsic_popcnt): Likewise.
166
1672018-10-17  Iain Buclaw  <ibuclaw@gdcproject.org>
168
169	* config-lang.in (gtfiles): Add modules.cc.
170	* modules.cc: Include gt-d-modules.h.
171	(module_info): Mark with GTY.
172	(static_ctor_list): Likewise.
173	(static_dtor_list): Likewise.
174
1752018-10-17  Iain Buclaw  <ibuclaw@gdcproject.org>
176
177	* d-spec.c (lang_specific_driver): Use strrchr and strcmp to check
178	input file suffix.
179
1802018-10-17  Iain Buclaw  <ibuclaw@gdcproject.org>
181
182	* d-spec.c (phobos_action): New enum.
183	(library): Rename to phobos_library.
184	(lang_specific_driver): Update to use phobos_library.
185	(lang_specific_pre_link): Likewise.
186
1872018-10-16  Iain Buclaw  <ibuclaw@gdcproject.org>
188
189	* d-frontend.cc (Port::writelongLE): Remove function.
190	(Port::writelongBE): Remove function.
191
1922018-10-16  Iain Buclaw  <ibuclaw@gdcproject.org>
193
194	* d-convert.cc (convert): Remove goto maybe_fold.
195
1962018-10-16  Iain Buclaw  <ibuclaw@gdcproject.org>
197
198	* d-codegen.cc (warn_for_null_address): New function.
199	(build_boolop): Warn about comparing address of decl to null.
200	* d-convert.cc (decl_with_nonnull_addr_p): New function.
201	(d_truthvalue_conversion): Warn about evaluating address as boolean.
202	* d-tree.h (decl_with_nonnull_addr_p): Add declaration.
203	* lang.opt (Waddress): New option.
204
2052018-10-16  Iain Buclaw  <ibuclaw@gdcproject.org>
206
207	* d-codegen.cc (d_array_length): Assert that argument type is a
208	dynamic array.
209	(d_array_ptr): Likewise.
210	(d_array_value): Likewise.
211	(delegate_method): Assert that argument type is a delegate.
212	(delegate_object): Likewise.
213
2142018-10-16  Iain Buclaw  <ibuclaw@gdcproject.org>
215
216	* d-attribs.c (handle_malloc_attribute): Use gcc_assert instead of
217	gcc_unreachable.
218	(handle_pure_attribute): Likewise.
219	(handle_nothrow_attribute): Likewise.
220
2212018-10-16  Iain Buclaw  <ibuclaw@gdcproject.org>
222
223	* Make-lang.in: Rename compiler proper to d21.
224	* config-lang.in (compilers): Rename compiler to d21.
225	* d-spec.c (lang_specific_driver): Update comments.
226	* lang-specs.h: Rename compiler to d21.
227
2282018-10-16  Iain Buclaw  <ibuclaw@gdcproject.org>
229
230	* lang.opt: Add missing periods to the ends of sentences.
231
2322018-10-16  Iain Buclaw  <ibuclaw@gdcproject.org>
233
234	* d-lang.cc (d_handle_option): Remove handling of -fdeps.
235	(d_parse_file): Don't generate module dependencies.
236	* lang.opt (fdeps, fdeps=): Remove options.
237	(fintfc, fintfc-dir=, fintfc-file=): Remove options.
238	(ftransition=safe): Remove option.
239
2402018-10-16  Iain Buclaw  <ibuclaw@gdcproject.org>
241
242	* d-lang.cc (d_init_ts): Remove handling of IASM_EXPR.
243	(d_gimplify_expr): Likewise.
244	* d-tree.def (IASM_EXPR): Remove tree code.
245
2462018-10-15  Iain Buclaw  <ibuclaw@gdcproject.org>
247
248	* d-attrib.c (attr_noreturn_exclusions): Attribute not mutually
249	exclusive with self.
250	* typeinfo.cc (TypeInfoVisitor::layout_interfaces): Assert that
251	base class vtable is found in interface.
252
2532018-10-08  Iain Buclaw  <ibuclaw@gdcproject.org>
254
255	* decl.cc (DeclVisitor): Add using Visitor::visit.
256	* expr.cc (ExprVisitor): Likewise.
257	* imports.cc (ImportVisitor): Likewise.
258	* toir.cc (IRVisitor): Likewise.
259	* typeinfo.cc (TypeInfoVisitor): Likewise.
260	(TypeInfoDeclVisitor): Likewise.
261	(SpeculativeTypeVisitor): Likewise.
262	* types.cc (TypeVisitor): Likewise.
263
2642018-10-01  Iain Buclaw  <ibuclaw@gdcproject.org>
265
266	* d-frontend.cc: Include compiler.h, errors.h, expression.h.
267	(genCmain): Rename function to Compiler::genCmain.
268	(Compiler::paintAsType): New function.
269	(Compiler::loadModule): New function.
270	(getTypeInfoType): Call error function directly.
271	* d-lang.cc (deps_write): Use hash_set for dependency tracking.
272	(d_parse_file): Call Compiler::loadModule.
273	* d-target.cc: Remove include identifier.h, module.h.
274	(Target::paintAsType): Remove function.
275	(Target::loadModule): Remove function.
276	(Target::getTargetInfo): New function.
277
2782018-10-01  Eugene Wissner  <belka@caraus.de>
279
280	* decl.cc (finish_thunk): Adjust call to cgraph_node::create_thunk.
281
2822018-09-25  Eugene Wissner  <belka@caraus.de>
283
284	* d-codegen.cc (d_assert_call): Don't make STRING_CSTs larger than they
285	are.
286	* expr.cc (ExprVisitor::visit(StringExp)): Likewise.
287	* typeinfo.cc (TypeInfoVisitor::layout_string): Likewise.
288
2892018-09-24  Iain Buclaw  <ibuclaw@gdcproject.org>
290
291	* d-builtins.cc: Include expression.h, identifier.h.
292	* d-codegen.cc: Include identifier.h.
293	* d-convert.cc: Include declaration.h.
294	* d-frontend.cc: Include identifier.h.
295	* d-lang.cc: Include declaration.h, expression.h, identifier.h.
296	(d_parse_file): Call moduleToBuffer to get string dump of contents.
297	* d-target.cc: Include declaration.h, expression.h, identifier.h.
298	* expr.cc: Include identifier.h.
299	* imports.cc: Include identifier.h.
300	* intrinsics.cc: Include identifier.h.
301	* modules.cc: Include identifier.h.
302	* toir.cc: Include expression.h, identifier.h.
303	* typeinfo.cc: Include expression.h, identifier.h.
304	* types.cc: Include expression.h, identifier.h.
305
3062018-09-17  Iain Buclaw  <ibuclaw@gdcproject.org>
307
308	* Make-lang.in (D_INCLUDES): Rename dfrontend to dmd.
309	(d/%.o): Likewise.
310	(d/%.dmdgen.o): Likewise.
311	* verstr.h: Update to 2.076.1
312
3132018-09-10  Iain Buclaw  <ibuclaw@gdcproject.org>
314
315	* intrinsics.cc (maybe_expand_intrinsic): Handle INTRINSIC_EXP.
316	* intrinsics.def (EXP): Add CTFE intrinsic.
317
3182018-09-07  Iain Buclaw  <ibuclaw@gdcproject.org>
319
320	* d-lang.cc: Include errors.h, mars.h.
321	* decl.cc: Include errors.h.
322	* typeinfo.cc: Include globals.h, errors.h.
323
3242018-09-05  Eugene Wissner  <belka@caraus.de>
325
326	* d-frontend.cc (eval_builtin): Replace DECL_BUILT_IN with
327	fndecl_built_in_p.
328
3292018-08-29  Iain Buclaw  <ibuclaw@gdcproject.org>
330
331	* d-target.cc (Target::prefixName): Remove function.
332	(Target::cppParameterType): New function.
333
3342018-08-25  Iain Buclaw  <ibuclaw@gdcproject.org>
335
336	* Make-lang.in (D_FRONTEND_OBJS): Add iasm.o, iasmgcc.o
337	* lang.opt (fproperty): Remove option.
338	* d-lang.cc (d_handle_option): Remove case for OPT_fproperty.
339	* toir.cc (IRVisitor::visit(ExtAsmStatement)): Rename override to
340	GccAsmStatement.
341
3422018-07-23  Eugene Wissner  <belka@caraus.de>
343
344	* d-lang.cc (d_handle_option): Change function argument to HOST_WIDE_INT.
345	* lang.opt (Walloca-larger-than=, Wno-alloca-larger-than): New options.
346	* opt.texi (Walloca-larger-than=, Wno-alloca-larger-than): Likewise.
347
3482018-07-21  Iain Buclaw  <ibuclaw@gdcproject.org>
349
350	* decl.cc (get_symbol_decl): Set all generated static symbols as
351	DECL_EXTERNAL. Move logic for determining TREE_STATIC ...
352	(start_function): ... here.
353	(d_finish_decl): Update TLS model after finishing variable linkage.
354
3552018-07-14  Iain Buclaw  <ibuclaw@gdcproject.org>
356
357	* Make-lang.in (d.tags): Rename dfrontend to dmd.
358	* d-attribs.c: Rename dfrontend includes to dmd.
359	* d-builtins.cc: Likewise.
360	* d-codegen.cc: Likewise.
361	* d-convert.cc: Likewise.
362	* d-diagnostic.cc: Likewise.
363	* d-frontend.cc: Likewise.
364	* d-incpath.cc: Likewise.
365	* d-lang.cc: Likewise.
366	* d-longdouble.cc: Likewise.
367	* d-target.cc: Likewise.
368	* decl.cc: Likewise.
369	* expr.cc: Likewise.
370	* imports.cc: Likewise.
371	* intrinsics.cc: Likewise.
372	* modules.cc: Likewise.
373	* runtime.cc: Likewise.
374	* toir.cc: Likewise.
375	* typeinfo.cc: Likewise.
376	* types.cc: Likewise.
377
3782018-07-14  Iain Buclaw  <ibuclaw@gdcproject.org>
379
380	* types.cc (same_type_p): Check type codes match before checking
381	equivalence.
382
3832018-07-09  Iain Buclaw  <ibuclaw@gdcproject.org>
384
385	* Makefile.in (d/verstr.h): Remove recipe.
386	(d.mostlyclean): Remove cleanup of verstr.h.
387	* verstr.h: New file.
388
3892018-07-06  Iain Buclaw  <ibuclaw@gdcproject.org>
390
391	* d-codegen.cc (lower_struct_comparison): Evaluate side effects of
392	empty struct.
393	(build_struct_comparison): Likewise.
394
3952018-07-06  Iain Buclaw  <ibuclaw@gdcproject.org>
396
397	* typeinfo.cc (TypeInfoVisitor::layout_interfaces): Only generate an
398	interface vtable for classes.
399	(TypeInfoVisitor::visit(TypeInfoClassDeclaration)): Likewise.
400
4012018-07-05  Iain Buclaw  <ibuclaw@gdcproject.org>
402
403	* d-lang.cc (deps_write): Ignore __main module.
404	(d_handle_option): Handle -fmain option.
405	(d_parse_file): Generate D main function if requested.
406	* lang.opt (fmain): New option.
407
4082018-07-04  Iain Buclaw  <ibuclaw@gdcproject.org>
409
410	* d-builtins.cc (d_build_builtins_module): Export __builtin_clonglong
411	and __builtin_culonglong to gcc builtins module.
412
4132018-07-04  Eugene Wissner  <belka@caraus.de>
414
415	* d-spec.c: Include opt-suggestions.h containing option_proposer used by
416	gcc.h.
417
4182018-07-01  Iain Buclaw  <ibuclaw@gdcproject.org>
419
420	* decl.cc (get_symbol_decl): Implicitly convert return type of 'void'
421	main to 'int' for both C and D entry functions.
422	* toir.cc (IRVisitor::visit(ReturnStatement)): Likewise.
423
4242018-06-30  Iain Buclaw  <ibuclaw@gdcproject.org>
425
426	* expr.cc (ExprVisitor::visit(FuncExp)): Don't error about nested
427	delegate literals.
428
4292018-06-29  Iain Buclaw  <ibuclaw@gdcproject.org>
430
431	* d-frontend.cc (eval_builtin): Allow both gcc and frontend builtins.
432	* intrinsics.cc (call_builtin_fn): Use convert.
433	(expand_intrinsic_sqrt): Use fold_convert.
434	(expand_intrinsic_copysign): New function.
435	(expand_intrinsic_pow): New function.
436	(maybe_expand_intrinsic): Handle many math intrinsics.
437	* intrinsics.def (EXPM1, EXP2, LOG, LOG2, LOG10, ROUND, FLOORF),
438	(FLOOR, FLOORL, CEILF, CEIL, CEILL, TRUNC, FMIN, FMAX, COPYSIGN),
439	(POW, FMA): Add math intrinsics.
440
4412018-06-27  Iain Buclaw  <ibuclaw@gdcproject.org>
442
443	* d-codegen.cc (find_aggregate_field): Move to decl.cc
444	(build_class_instance): Move to decl.cc, make static.
445	* d-tree.h (build_class_instance): Remove declaration.
446	* decl.cc (DeclVisitor::finish_vtable): New function.
447
4482018-06-26  Iain Buclaw  <ibuclaw@gdcproject.org>
449
450	* types.cc (TypeVisitor::visit(TypeClass)): Handle get_symbol_decl
451	returning an error_mark_node.
452
4532018-06-22  Iain Buclaw  <ibuclaw@gdcproject.org>
454
455	* decl.cc (DeclVisitor::visit(FuncDeclaration)): Move function
456	unnesting to...
457	(get_symbol_decl): ... here.
458
4592018-06-22  Iain Buclaw  <ibuclaw@gdcproject.org>
460
461	* d-lang.cc (d_post_options): Set global showColumns parameter.
462
4632018-06-22  Iain Buclaw  <ibuclaw@gdcproject.org>
464
465	* d-diagnostic.cc (expand_format): Handle whitespace format specifier.
466	(d_diagnostic_report_diagnostic): Change signature, updated all
467	callers.  Handle writing messages verbatim.
468	(vmessage): New function.
469	* d-lang.cc (d_parse_file): Use message to emit verbose diagnostics.
470	* decl.cc (DeclVisitor::visit(FuncDeclaration)): Likewise.
471	(get_symbol_decl): Likewise.
472
4732018-06-22  Iain Buclaw  <ibuclaw@gdcproject.org>
474
475	* d-builtins.cc (build_frontend_type): Use Type::merge2 to merge
476	generated front-end types.
477	* d-codegen.cc (declaration_type): Likewise.
478	(type_passed_as): Likewise.
479	* d-convert.cc (convert_expr): Use ClassDeclaration::isCPPclass.
480	* d-lang.cc (d_build_eh_runtime_type): Likewise.
481	* toir.cc (IRVisitor::visit): Use ClassDecalration::isCPPclass.
482	* typeinfo.cc (TypeInfoVisitor::visit): Use Type::merge2 to merge
483	generated front-end types.
484	* types.cc (layout_aggregate_type): Use ClassDeclaration::isCPPclass.
485
4862018-05-28  Iain Buclaw  <ibuclaw@gdcproject.org>
487
488	* expr.cc (ExprVisitor::visit(StringExp)): Copy string literal from
489	the frontend to a null terminated string.
490
4912018-05-21  Iain Buclaw  <ibuclaw@gdcproject.org>
492
493	* expr.cc (ExprVisitor::binary_op): Don't do complex conversions if
494	already handling excess precision.
495
4962018-04-02  Iain Buclaw  <ibuclaw@gdcproject.org>
497
498	* d-lang.cc (doing_semantic_analysis_p): New variable.
499	(d_parse_file): Set when in semantic pass.
500	* d-tree.h (doing_semantic_analysis_p): Add declaration.
501	* intrinsics.cc (maybe_expand_intrinsic): Test for
502	doing_semantic_analysis_p.
503
5042018-03-18  Iain Buclaw  <ibuclaw@gdcproject.org>
505
506	* d-codegen.cc (stabilize_expr): Move modify expression rewrite...
507	* expr.cc (ExprVisitor::binop_assignment): ... here.
508
5092018-03-11  Iain Buclaw  <ibuclaw@gdcproject.org>
510
511	* expr.cc (ExprVisitor::visit(StringExp)): Include null terminator
512	in length when calling build_String.  Generate static array string
513	literals as array constructors.
514
5152018-03-04  Iain Buclaw  <ibuclaw@gdcproject.org>
516
517	* d-lang.cc (d_handle_option): Rename OPT_fintfc cases to OPT_H.
518	* gdc.texi (Code Generation): Rename -fintfc options to -H.
519	* lang-specs.h: Add H, Hd, and Hf options.
520	* lang.opt (H, Hd, Hf): New options.
521	(fintfc, fintfc-dir=, fintfc-file=): Deprecate and alias new options.
522
5232018-03-04  Iain Buclaw  <ibuclaw@gdcproject.org>
524
525	* lang.opt (fdeps, fdeps=): Deprecate options.
526	* gdc.texi (Code Generation): Remove deprecated fdeps options.
527
5282018-02-25  Iain Buclaw  <ibuclaw@gdcproject.org>
529
530	* Make-lang.in (D_FRONTEND_OBJS): Remove inline.o and inlinecost.o.
531
5322018-02-24  Iain Buclaw  <ibuclaw@gdcproject.org>
533
534	* d-frontend.cc (CTFloat::fabs): Assign result to real_t directly.
535	(CTFloat::ldexp): Likewise.
536	* d-longdouble.cc (longdouble::from_int): Remove function.
537	(longdouble::from_uint): Likewise.
538	(longdouble::to_int): Update Signature.
539	(longdouble::to_uint): Likewise.
540	(longdouble::operator): Likewise.
541	(longdouble::add): New function, move operator overload headers.
542	(longdouble::sub, longdouble::mul, longdouble::div): Likewise.
543	(longdouble::mod, longdouble::neg): Likewise.
544	(longdouble::cmp, longdouble::equals): Likewise.
545	* d-target.cc (Target::_init): Construct assignment into real_t
546	directly.
547
5482018-02-19  Iain Buclaw  <ibuclaw@gdcproject.org>
549
550	* Make-lang.in (DMD_WARN_CXXFLAGS): Only filter out
551	-Wmissing-format-attribute from WARN_CXXFLAGS.
552
5532018-02-18  Iain Buclaw  <ibuclaw@gdcproject.org>
554
555	* d-builtins.cc (build_frontend_type): Set alignment of structs in
556	frontend.
557
5582018-02-17  Iain Buclaw  <ibuclaw@gdcproject.org>
559
560	* d-incpath.cc (add_environment_paths): Remove function.
561	* gdc.texi (Environment Variables): Remove section.
562
5632018-02-10  Iain Buclaw  <ibuclaw@gdcproject.org>
564
565	* expr.cc (ExprVisitor::AssertExp): Use builtin expect to mark assert
566	condition as being likely true.
567
5682018-02-11  Iain Buclaw  <ibuclaw@gdcproject.org>
569
570	* lang.opt (fd-vgc, fd-verbose, fd-vtls): Remove options.
571	(femit-moduleinfo, femit-templates): Likewise.
572	(fmake-deps, fmake-mdeps): Likewise.
573	(fin, fout, fXf): Likewise.
574
5752018-01-28  Iain Buclaw  <ibuclaw@gdcproject.org>
576
577	* gdc.texi (Runtime Options): Remove deprecated -fproperty option.
578
5792018-01-27  Iain Buclaw  <ibuclaw@gdcproject.org>
580
581	* d-lang.cc (d_gimplify_expr): Gimplify all CALL_EXPR_ARGS_ORDERED
582	call arguments, not just non-constant.
583
5842018-01-27  Iain Buclaw  <ibuclaw@gdcproject.org>
585
586	* decl.cc (DeclVisitor::visit(VarDeclaration)): Don't reuse existing
587	temporary for TARGET_EXPR.
588	(declare_local_var): Push all variables to current binding level.
589
5902018-01-27  Iain Buclaw  <ibuclaw@gdcproject.org>
591
592	* toir.cc (build_function_body): Set input_location.
593
5942018-01-23  Iain Buclaw  <ibuclaw@gdcproject.org>
595
596	* d-codegen.cc (build_frame_type): Don't add chain field for
597	functions without context pointer.
598	(build_closure): Don't set chain field for functions without context
599	pointer.
600
6012018-01-21  Iain Buclaw  <ibuclaw@gdcproject.org>
602
603	* decl.cc (DeclVisitor::visit(StructDeclaration)): Mark compiler
604	generated symbols as DECL_ONE_ONLY instead of DECL_COMDAT.
605	(DeclVisitor::visit(ClassDeclaration)): Likewise.
606	(DeclVisitor::visit(InterfaceDeclaration)): Likewise.
607	(DeclVisitor::visit(EnumDeclaration)): Likewise.
608	(get_symbol_decl): Mark template instantiations as DECL_ONE_ONLY
609	instead of DECL_COMDAT.  Don't call mark_needed.
610	(declare_extern_var): Don't call mark_needed.
611	(d_finish_decl): Remove zero initializer for common symbols.
612	(finish_thunk): Don't call d_comdat_linkage on generic thunk.
613	(d_comdat_linkage): Don't set DECL_DECLARED_INLINE on functions.
614	* typeinfo.cc (TypeInfoDeclVisitor::visit(TypeInfoDeclaration)): Mark
615	built-in typeinfo symbols as DECL_ONE_ONLY instead of DECL_COMDAT.
616
6172018-01-21  Iain Buclaw  <ibuclaw@gdcproject.org>
618
619	* d-lang.cc (d_init): Disable flag_weak if not supported.
620	* decl.cc (d_comdat_linkage): Use flag_weak to guard setting
621	DECL_ONE_ONLY on decls.
622	(d_linkonce_linkage): New function.
623	* gdc.texi (Runtime Options): Document -fweak.
624	* lang.opt (fweak): Declare.
625
6262018-01-21  Iain Buclaw  <ibuclaw@gdcproject.org>
627
628	* decls.cc (get_symbol_decl): Use attribute to mark naked functions.
629
6302018-01-08  Eugene Wissner  <belka@caraus.de>
631
632	* d-builtins.cc (d_eval_constant_expression): Handle polynomial
633	VECTOR_CST_NELTS.
634	(build_frontend_type): Handle polynomial TYPE_VECTOR_SUBPARTS.
635
6362018-01-08  Iain Buclaw  <ibuclaw@gdcproject.org>
637
638	Update copyright years.
639
640Copyright (C) 2018 Free Software Foundation, Inc.
641
642Copying and distribution of this file, with or without modification,
643are permitted in any medium without royalty provided the copyright
644notice and this notice are preserved.
645