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