Daily bump.
[official-gcc.git] / gcc / d / ChangeLog-2018
blobd1afa38886d48e5655430de9627227e10303c80c
1 2018-11-24  Iain Buclaw  <ibuclaw@gdcproject.org>
3         PR d/87866
4         * d-incpath.cc (add_globalpaths): Use lrealpath to get canonical name.
5         (add_filepaths): Likewise.
7 2018-11-17  Iain Buclaw  <ibuclaw@gdcproject.org>
9         PR d/87824
10         * d-target.cc (Target::alignsize): Return min_align_of_type.
12 2018-11-05  Iain Buclaw  <ibuclaw@gdcproject.org>
14         PR d/87865
15         * d-system.h: New file.
17 2018-11-01  Jakub Jelinek  <jakub@redhat.com>
19         PR d/87824
20         * lang.opt (Wpsabi): New option.
22 2018-10-31  Iain Buclaw  <ibuclaw@gdcproject.org>
24         PR d/87825
25         * Make-lang.in (d/idgen) Link with BUILD_LINKERFLAGS.
26         (d/impcvgen): Likewise.
28 2018-10-26  Eugene Wissner  <belka@caraus.de>
30         * Make-lang.in (selftest-d): New.
31         * d-diagnostic.cc (vwarning): Fix warning emitting.
33 2018-10-22  Iain Buclaw  <ibuclaw@gdcproject.org>
35         * d-spec.cc (lang_specific_driver): Always link against phobos if any
36         input file is given.
38 2018-10-21  Iain Buclaw  <ibuclaw@gdcproject.org>
40         * d-lang.cc (d_get_alias_set): Always return zero.
42 2018-10-21  Iain Buclaw  <ibuclaw@gdcproject.org>
44         * intrinsics.cc (maybe_set_intrinsic): Don't set built-in flag on
45         unsupported pow() overloads.
47 2018-10-20  Iain Buclaw  <ibuclaw@gdcproject.org>
49         * expr.cc (ExprVisitor::binop_assignment): Call stabilize_reference on
50         LHS construct if it has side effects.
52 2018-10-20  Iain Buclaw  <ibuclaw@gdcproject.org>
54         * intrinsics.cc (clear_intrinsic_flag): Remove function.
55         (maybe_expand_intrinsic): Remove clear_intrinsic_flag call.
57 2018-10-20  Iain Buclaw  <ibuclaw@gdcproject.org>
59         * intrinsics.cc (expand_intrinsic_copysign): Use mathfn_built_in to
60         determine correct built-in to call.
61         (expand_intrinsic_pow): Likewise.
63 2018-10-20  Iain Buclaw  <ibuclaw@gdcproject.org>
65         * intrinsics.cc (expand_intrinsic_sqrt): Remove implicit int to double
66         conversion.
67         (expand_intrinsic_pow): Likewise.
69 2018-10-20  Iain Buclaw  <ibuclaw@gdcproject.org>
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.
85 2018-10-20  Iain Buclaw  <ibuclaw@gdcproject.org>
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.
102 2018-10-20  Iain Buclaw  <ibuclaw@gdcproject.org>
104         * d-diagnostic.cc (d_diagnostic_report_diagnostic): Skip translation
105         by instead calling diagnostic_set_info_translated.
107 2018-10-20  Iain Buclaw  <ibuclaw@gdcproject.org>
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.
121 2018-10-20  Iain Buclaw  <ibuclaw@gdcproject.org>
123         * expr.cc (ExprVisitor::visit(PowExp)): Remove function.
125 2018-10-19  Iain Buclaw  <ibuclaw@gdcproject.org>
127         * d-attribs.c: Rename to d-attribs.cc.
128         * d-spec.c: Rename to d-spec.cc.
130 2018-10-19  Iain Buclaw  <ibuclaw@gdcproject.org>
132         * d-lang.cc (d_gimplify_expr): Don't handle TREE_THIS_VOLATILE.
134 2018-10-19  Iain Buclaw  <ibuclaw@gdcproject.org>
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.
144 2018-10-18  Iain Buclaw  <ibuclaw@gdcproject.org>
146         * d-diagnostic.cc (expand_format): Rename to expand_d_format.
147         Updated all callers.
149 2018-10-17  Iain Buclaw  <ibuclaw@gdcproject.org>
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.
155 2018-10-17  Iain Buclaw  <ibuclaw@gdcproject.org>
157         * expr.cc (ExprVisitor::binary_op): Use POINTER_DIFF_EXPR.
159 2018-10-17  Iain Buclaw  <ibuclaw@gdcproject.org>
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.
167 2018-10-17  Iain Buclaw  <ibuclaw@gdcproject.org>
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.
175 2018-10-17  Iain Buclaw  <ibuclaw@gdcproject.org>
177         * d-spec.c (lang_specific_driver): Use strrchr and strcmp to check
178         input file suffix.
180 2018-10-17  Iain Buclaw  <ibuclaw@gdcproject.org>
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.
187 2018-10-16  Iain Buclaw  <ibuclaw@gdcproject.org>
189         * d-frontend.cc (Port::writelongLE): Remove function.
190         (Port::writelongBE): Remove function.
192 2018-10-16  Iain Buclaw  <ibuclaw@gdcproject.org>
194         * d-convert.cc (convert): Remove goto maybe_fold.
196 2018-10-16  Iain Buclaw  <ibuclaw@gdcproject.org>
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.
205 2018-10-16  Iain Buclaw  <ibuclaw@gdcproject.org>
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.
214 2018-10-16  Iain Buclaw  <ibuclaw@gdcproject.org>
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.
221 2018-10-16  Iain Buclaw  <ibuclaw@gdcproject.org>
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.
228 2018-10-16  Iain Buclaw  <ibuclaw@gdcproject.org>
230         * lang.opt: Add missing periods to the ends of sentences.
232 2018-10-16  Iain Buclaw  <ibuclaw@gdcproject.org>
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.
240 2018-10-16  Iain Buclaw  <ibuclaw@gdcproject.org>
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.
246 2018-10-15  Iain Buclaw  <ibuclaw@gdcproject.org>
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.
253 2018-10-08  Iain Buclaw  <ibuclaw@gdcproject.org>
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.
264 2018-10-01  Iain Buclaw  <ibuclaw@gdcproject.org>
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.
278 2018-10-01  Eugene Wissner  <belka@caraus.de>
280         * decl.cc (finish_thunk): Adjust call to cgraph_node::create_thunk.
282 2018-09-25  Eugene Wissner  <belka@caraus.de>
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.
289 2018-09-24  Iain Buclaw  <ibuclaw@gdcproject.org>
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.
306 2018-09-17  Iain Buclaw  <ibuclaw@gdcproject.org>
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
313 2018-09-10  Iain Buclaw  <ibuclaw@gdcproject.org>
315         * intrinsics.cc (maybe_expand_intrinsic): Handle INTRINSIC_EXP.
316         * intrinsics.def (EXP): Add CTFE intrinsic.
318 2018-09-07  Iain Buclaw  <ibuclaw@gdcproject.org>
320         * d-lang.cc: Include errors.h, mars.h.
321         * decl.cc: Include errors.h.
322         * typeinfo.cc: Include globals.h, errors.h.
324 2018-09-05  Eugene Wissner  <belka@caraus.de>
326         * d-frontend.cc (eval_builtin): Replace DECL_BUILT_IN with
327         fndecl_built_in_p.
329 2018-08-29  Iain Buclaw  <ibuclaw@gdcproject.org>
331         * d-target.cc (Target::prefixName): Remove function.
332         (Target::cppParameterType): New function.
334 2018-08-25  Iain Buclaw  <ibuclaw@gdcproject.org>
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.
342 2018-07-23  Eugene Wissner  <belka@caraus.de>
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.
348 2018-07-21  Iain Buclaw  <ibuclaw@gdcproject.org>
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.
355 2018-07-14  Iain Buclaw  <ibuclaw@gdcproject.org>
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.
378 2018-07-14  Iain Buclaw  <ibuclaw@gdcproject.org>
380         * types.cc (same_type_p): Check type codes match before checking
381         equivalence.
383 2018-07-09  Iain Buclaw  <ibuclaw@gdcproject.org>
385         * Makefile.in (d/verstr.h): Remove recipe.
386         (d.mostlyclean): Remove cleanup of verstr.h.
387         * verstr.h: New file.
389 2018-07-06  Iain Buclaw  <ibuclaw@gdcproject.org>
391         * d-codegen.cc (lower_struct_comparison): Evaluate side effects of
392         empty struct.
393         (build_struct_comparison): Likewise.
395 2018-07-06  Iain Buclaw  <ibuclaw@gdcproject.org>
397         * typeinfo.cc (TypeInfoVisitor::layout_interfaces): Only generate an
398         interface vtable for classes.
399         (TypeInfoVisitor::visit(TypeInfoClassDeclaration)): Likewise.
401 2018-07-05  Iain Buclaw  <ibuclaw@gdcproject.org>
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.
408 2018-07-04  Iain Buclaw  <ibuclaw@gdcproject.org>
410         * d-builtins.cc (d_build_builtins_module): Export __builtin_clonglong
411         and __builtin_culonglong to gcc builtins module.
413 2018-07-04  Eugene Wissner  <belka@caraus.de>
415         * d-spec.c: Include opt-suggestions.h containing option_proposer used by
416         gcc.h.
418 2018-07-01  Iain Buclaw  <ibuclaw@gdcproject.org>
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.
424 2018-06-30  Iain Buclaw  <ibuclaw@gdcproject.org>
426         * expr.cc (ExprVisitor::visit(FuncExp)): Don't error about nested
427         delegate literals.
429 2018-06-29  Iain Buclaw  <ibuclaw@gdcproject.org>
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.
441 2018-06-27  Iain Buclaw  <ibuclaw@gdcproject.org>
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.
448 2018-06-26  Iain Buclaw  <ibuclaw@gdcproject.org>
450         * types.cc (TypeVisitor::visit(TypeClass)): Handle get_symbol_decl
451         returning an error_mark_node.
453 2018-06-22  Iain Buclaw  <ibuclaw@gdcproject.org>
455         * decl.cc (DeclVisitor::visit(FuncDeclaration)): Move function
456         unnesting to...
457         (get_symbol_decl): ... here.
459 2018-06-22  Iain Buclaw  <ibuclaw@gdcproject.org>
461         * d-lang.cc (d_post_options): Set global showColumns parameter.
463 2018-06-22  Iain Buclaw  <ibuclaw@gdcproject.org>
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.
473 2018-06-22  Iain Buclaw  <ibuclaw@gdcproject.org>
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.
486 2018-05-28  Iain Buclaw  <ibuclaw@gdcproject.org>
488         * expr.cc (ExprVisitor::visit(StringExp)): Copy string literal from
489         the frontend to a null terminated string.
491 2018-05-21  Iain Buclaw  <ibuclaw@gdcproject.org>
493         * expr.cc (ExprVisitor::binary_op): Don't do complex conversions if
494         already handling excess precision.
496 2018-04-02  Iain Buclaw  <ibuclaw@gdcproject.org>
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.
504 2018-03-18  Iain Buclaw  <ibuclaw@gdcproject.org>
506         * d-codegen.cc (stabilize_expr): Move modify expression rewrite...
507         * expr.cc (ExprVisitor::binop_assignment): ... here.
509 2018-03-11  Iain Buclaw  <ibuclaw@gdcproject.org>
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.
515 2018-03-04  Iain Buclaw  <ibuclaw@gdcproject.org>
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.
523 2018-03-04  Iain Buclaw  <ibuclaw@gdcproject.org>
525         * lang.opt (fdeps, fdeps=): Deprecate options.
526         * gdc.texi (Code Generation): Remove deprecated fdeps options.
528 2018-02-25  Iain Buclaw  <ibuclaw@gdcproject.org>
530         * Make-lang.in (D_FRONTEND_OBJS): Remove inline.o and inlinecost.o.
532 2018-02-24  Iain Buclaw  <ibuclaw@gdcproject.org>
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.
548 2018-02-19  Iain Buclaw  <ibuclaw@gdcproject.org>
550         * Make-lang.in (DMD_WARN_CXXFLAGS): Only filter out
551         -Wmissing-format-attribute from WARN_CXXFLAGS.
553 2018-02-18  Iain Buclaw  <ibuclaw@gdcproject.org>
555         * d-builtins.cc (build_frontend_type): Set alignment of structs in
556         frontend.
558 2018-02-17  Iain Buclaw  <ibuclaw@gdcproject.org>
560         * d-incpath.cc (add_environment_paths): Remove function.
561         * gdc.texi (Environment Variables): Remove section.
563 2018-02-10  Iain Buclaw  <ibuclaw@gdcproject.org>
565         * expr.cc (ExprVisitor::AssertExp): Use builtin expect to mark assert
566         condition as being likely true.
568 2018-02-11  Iain Buclaw  <ibuclaw@gdcproject.org>
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.
575 2018-01-28  Iain Buclaw  <ibuclaw@gdcproject.org>
577         * gdc.texi (Runtime Options): Remove deprecated -fproperty option.
579 2018-01-27  Iain Buclaw  <ibuclaw@gdcproject.org>
581         * d-lang.cc (d_gimplify_expr): Gimplify all CALL_EXPR_ARGS_ORDERED
582         call arguments, not just non-constant.
584 2018-01-27  Iain Buclaw  <ibuclaw@gdcproject.org>
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.
590 2018-01-27  Iain Buclaw  <ibuclaw@gdcproject.org>
592         * toir.cc (build_function_body): Set input_location.
594 2018-01-23  Iain Buclaw  <ibuclaw@gdcproject.org>
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.
601 2018-01-21  Iain Buclaw  <ibuclaw@gdcproject.org>
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.
617 2018-01-21  Iain Buclaw  <ibuclaw@gdcproject.org>
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.
626 2018-01-21  Iain Buclaw  <ibuclaw@gdcproject.org>
628         * decls.cc (get_symbol_decl): Use attribute to mark naked functions.
630 2018-01-08  Eugene Wissner  <belka@caraus.de>
632         * d-builtins.cc (d_eval_constant_expression): Handle polynomial
633         VECTOR_CST_NELTS.
634         (build_frontend_type): Handle polynomial TYPE_VECTOR_SUBPARTS.
636 2018-01-08  Iain Buclaw  <ibuclaw@gdcproject.org>
638         Update copyright years.
640 Copyright (C) 2018 Free Software Foundation, Inc.
642 Copying and distribution of this file, with or without modification,
643 are permitted in any medium without royalty provided the copyright
644 notice and this notice are preserved.