1 2019-08-13 Richard Sandiford <richard.sandiford@arm.com>
4 * intrinsics.cc (maybe_set_intrinsic): Use set_decl_built_in_function.
6 2019-08-11 Iain Buclaw <ibuclaw@gdcproject.org>
9 * d-convert.cc (convert_expr): Don't convert an expression to its
10 original front-end type before converting to its target type.
12 2019-08-10 Iain Buclaw <ibuclaw@gdcproject.org>
15 * d-codegen.cc (build_address): If taking the address of a CALL_EXPR,
16 wrap it in a TARGET_EXPR.
18 2019-08-10 Iain Buclaw <ibuclaw@gdcproject.org>
21 * runtime.cc (enum libcall_type): Rename to...
22 (enum d_libcall_type): ...this.
23 (get_libcall_type): Use d_libcall_type.
24 (build_libcall_decl): Likewise.
26 2019-06-16 Iain Buclaw <ibuclaw@gdcproject.org>
29 * d-target.cc (Target::_init): Reduce max static data size to INT_MAX.
31 2019-06-16 Iain Buclaw <ibuclaw@gdcproject.org>
34 * typeinfo.cc (object_module): New variable.
35 (make_frontend_typeinfo): Update signature. Set temporary on
36 generated TypeInfo classes.
37 (create_tinfo_types): Set object_module. Move generation of front-end
39 (create_frontend_tinfo_types): ... New function.
40 (layout_typeinfo): Call create_frontend_tinfo_types.
41 (layout_classinfo): Likewise.
42 (layout_cpp_typeinfo): Likewise.
43 (create_typeinfo): Likewise.
45 2019-06-11 Richard Biener <rguenthe@suse.de>
48 * toir.cc (pop_label): Only queue labels in a vector.
49 (cmp_labels): Label decl comparator.
50 (pop_binding_level): Pop labels in DECL_UID order to avoid
51 debug info differences.
53 2019-05-24 Nathan Sidwell <nathan@acm.org>
55 * types.cc (fixup_anonymous_offset): Use IDENTIFIER_ANON_P.
56 (layout_aggregate_members): Use make_anon_name.
58 2019-05-16 Martin Sebor <msebor@redhat.com>
60 * d-builtins.cc (d_init_builtins): Quote keywords, operators,
61 and types in diagnostics.
62 * d-codegen.cc (get_array_length): Same. Replace can't with cannot.
63 * d-convert.cc (convert_expr): Same.
64 * d-frontend.cc (getTypeInfoType): Quote an option name in
66 * d-lang.cc (d_handle_option): Same.
68 * decl.cc: Remove a trailing period from a diagnostic.
69 * expr.cc: Use a directive for an apostrophe.
70 * toir.cc: Quote keywords, operators, and types in diagnostics.
71 * typeinfo.cc (build_typeinfo): Quote an option name in a diagnostic.
73 2019-04-25 Johannes Pfau <johannespfau@gmail.com>
75 * config-lang.in: Do not add target_libs if phobos is disabled.
77 2019-04-23 Iain Buclaw <ibuclaw@gdcproject.org>
78 Robin Dapp <rdapp@linux.ibm.com>
80 * typeinfo.cc (create_typeinfo): Write typeinfo flags as uint.
82 2019-04-23 Iain Buclaw <ibuclaw@gdcproject.org>
84 * d-builtins.cc (d_init_versions): Add D_BetterC, D_ModuleInfo,
85 D_Exceptions, D_TypeInfo as predefined version conditions.
86 * d-codegen.cc (build_bounds_condition): Generate trap if D asserts
88 * d-frontend.cc (getTypeInfoType): Add error when -fno-rtti is set.
89 * d-lang.cc (d_init_options): Initialize new front-end options.
90 (d_handle_option): Handle -fdruntime, -fexceptions, and -frtti.
91 (d_post_options): Turn off D runtime features if -fno-druntime is set.
92 * d-spec.cc (lang_specific_driver): Handle -fdruntime.
93 * d-tree.h (have_typeinfo_p): Add prototype.
94 (build_typeinfo): Update prototype.
95 * decl.cc (DeclVisitor::visit(StructDeclaration)): Create typeinfo
96 only if TypeInfo exists.
97 (DeclVisitor::visit(ClassDeclaration)): Likewise.
98 (DeclVisitor::visit(InterfaceDeclaration)): Likewise.
99 (DeclVisitor::visit(EnumDeclaration)): Likewise.
100 * expr.cc: Update all calls to build_typeinfo.
101 * gdc.texi (Runtime Options): Document -fdruntime and -frtti.
102 * lang.opt: Add -fdruntime and -frtti.
103 * modules.cc (build_module_tree): Create module info only if
105 * toir.cc (IRVisitor::visit(ThrowStatement)): Update test for
107 * typeinfo.cc (create_tinfo_types): Build internal typeinfo classes
108 only if Object exists.
109 (have_typeinfo_p): New function.
110 (class TypeInfoVisitor): Update all calls to build_typeinfo.
111 (build_typeinfo): Add error when -fno-rtti is set.
113 2019-04-21 Iain Buclaw <ibuclaw@gdcproject.org>
115 * decl.cc (DeclVisitor::visit(Import)): Set semanticRun after
116 completion, guard against being called more than once.
117 (DeclVisitor::visit(StructDeclaration)): Likewise.
118 (DeclVisitor::visit(ClassDeclaration)): Likewise.
119 (DeclVisitor::visit(InterfaceDeclaration)): Likewise.
120 (DeclVisitor::visit(VarDeclaration)): Likewise.
121 (DeclVisitor::visit(TypeInfoDeclaration)): Likewise.
123 2019-04-21 Iain Buclaw <ibuclaw@gdcproject.org>
125 * modules.cc (register_module_decl): Don't register unittests against
126 the ModuleInfo symbol for -fbuilding-libphobos-tests.
128 2019-04-17 Iain Buclaw <ibuclaw@gdcproject.org>
130 * d-system.h (POSIX): Define unix as POSIX.
131 (INT32_MAX, INT32_MIN, INT64_MIN, UINT32_MAX, UINT64_MAX): Provide
132 fallback definitions.
134 2019-04-16 Iain Buclaw <ibuclaw@gdcproject.org>
136 * Make-lang.in (d.mostyclean): Clean idgen and impcvgen.
137 (d/idgen): Rename to d/idgen$(build_exeext), add BUILD_LIBDEPS.
138 (d/impcvgen): Rename to d/impcvgen$(build_exeext), add BUILD_LIBDEPS.
139 (d/id.c): Call idgen$(build_exeext).
140 (d/impcnvtab.c): Call impcvgen$(build_exeext).
142 2019-04-14 Johannes Pfau <johannespfau@gmail.com>
144 * d-system.h (_mkdir): Forward _mkdir on MinGW to mkdir in system.h.
146 2019-04-12 Iain Buclaw <ibuclaw@gdcproject.org>
148 * d-tree.h (DECL_IN_UNITTEST_CONDITION_P): Define.
149 * decl.cc (DeclVisitor): Add in_version_unittest_ field.
150 (DeclVisitor::visit(ConditionalDeclaration)): New override.
151 (DeclVisitor::visit(FuncDeclaration)): Set
152 DECL_IN_UNITTEST_CONDITION_P.
153 * lang.opt (-fbuilding-libphobos-tests): Add option.
154 * modules.cc (current_testing_module): New static variable.
155 (build_module_tree): Generate second moduleinfo symbol to hold
156 reference to unittests if flag_building_libphobos_tests.
157 (register_module_decl): Check DECL_IN_UNITTEST_CONDITION_P to decide
158 which moduleinfo the decl should be registered against.
160 2019-03-31 Iain Buclaw <ibuclaw@gdcproject.org>
163 * modules.cc (layout_moduleinfo_fields): Properly align ModuleInfo,
164 instead of forcing alignment to be 1.
166 2019-03-21 Iain Buclaw <ibuclaw@gdcproject.org>
169 * d-codegen.cc (d_decl_context): Skip over template instances when
171 * decl.cc (DeclVisitor::visit(TemplateDeclaration)): New override.
172 (build_type_decl): Include parameters in name of template types.
174 2019-03-13 Iain Buclaw <ibuclaw@gdcproject.org>
177 * expr.cc (ExprVisitor::visit(VectorArrayExp)): New override.
179 2019-03-12 Iain Buclaw <ibuclaw@gdcproject.org>
182 * d-system.h (realpath): Redefine as lrealpath.
184 2019-03-12 Iain Buclaw <ibuclaw@gdcproject.org>
186 * d-lang.cc (d_init_options): Set global.params.cplusplus to C++14.
187 * d-target.cc (Target::cppFundamentalType): New method.
189 2019-03-09 Iain Buclaw <ibuclaw@gdcproject.org>
192 * d-codegen.cc (get_frame_for_symbol): Delegate literals defined in
193 global scope don't have a frame pointer.
195 2019-03-01 Iain Buclaw <ibuclaw@gdcproject.org>
197 * d-builtins.cc (d_init_versions): Add CppRuntime_Gcc as predefined
200 2019-02-14 Maya Rashish <coypu@sdf.org>
202 * d-system.h: NetBSD is POSIX.
204 2019-02-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
207 * lang.opt (dstartfiles): New option.
208 * d-spec.cc (need_spec): New variable.
209 (lang_specific_driver) <OPT_dstartfiles>: Enable need_spec.
210 (lang_specific_pre_link): Also load libgphobos.spec if need_spec.
212 2019-01-26 Iain Buclaw <ibuclaw@gdcproject.org>
215 * decl.cc (DeclVisitor::visit(VarDeclaration)): Don't assert if
216 handling a void initialized manifest constant.
218 2019-01-21 Iain Buclaw <ibuclaw@gdcproject.org>
220 * d-frontend.cc (Compiler::paintAsType): Update for new signature.
222 2019-01-20 Iain Buclaw <ibuclaw@gdcproject.org>
224 * d-builtins.cc (d_init_versions): Check value of
225 STACK_GROWS_DOWNWARD.
227 2019-01-20 Iain Buclaw <ibuclaw@gdcproject.org>
229 * d-codegen.cc (identity_compare_p): Return false if seen built-in
231 (build_float_identity): Moved here from expr.cc.
232 (lower_struct_comparison): Handle real and complex types.
233 * d-tree.h (build_float_identity): New.
234 * expr.cc (build_float_identity): Move to d-codegen.cc.
236 2019-01-20 Johannes Pfau <johannespfau@gmail.com>
238 * expr.cc (build_float_identity): New function.
239 (ExprVisitor::visit(IdentityExp)): Add support for complex types.
241 2019-01-16 Iain Buclaw <ibuclaw@gdcproject.org>
244 * d-lang.cc (d_post_options): Disable implicit
245 -forder-blocks-and-partition.
247 2019-01-16 Iain Buclaw <ibuclaw@gdcproject.org>
249 * d-codegen.cc (build_typeof_null_value): New function.
250 * d-tree.h (build_typeof_null_value): Declare.
251 * d-convert.cc (convert_expr): Use build_typeof_null_value.
252 * expr.cc (ExprVisitor::visit(NullExp)): Likewise.
254 2019-01-15 Richard Sandiford <richard.sandiford@arm.com>
257 * lang.opt (Wdeprecated): Reference common.opt instead of c.opt.
259 2019-01-12 Iain Buclaw <ibuclaw@gdcproject.org>
261 * README.gcc: New file.
263 2019-01-01 Jakub Jelinek <jakub@redhat.com>
265 Update copyright years.
267 * gdc.texi: Bump @copyrights-d year.
269 Copyright (C) 2019 Free Software Foundation, Inc.
271 Copying and distribution of this file, with or without modification,
272 are permitted in any medium without royalty provided the copyright
273 notice and this notice are preserved.