1 2019-06-11 Richard Biener <rguenthe@suse.de>
4 * toir.cc (pop_label): Only queue labels in a vector.
5 (cmp_labels): Label decl comparator.
6 (pop_binding_level): Pop labels in DECL_UID order to avoid
7 debug info differences.
9 2019-05-24 Nathan Sidwell <nathan@acm.org>
11 * types.cc (fixup_anonymous_offset): Use IDENTIFIER_ANON_P.
12 (layout_aggregate_members): Use make_anon_name.
14 2019-05-16 Martin Sebor <msebor@redhat.com>
16 * d-builtins.cc (d_init_builtins): Quote keywords, operators,
17 and types in diagnostics.
18 * d-codegen.cc (get_array_length): Same. Replace can't with cannot.
19 * d-convert.cc (convert_expr): Same.
20 * d-frontend.cc (getTypeInfoType): Quote an option name in
22 * d-lang.cc (d_handle_option): Same.
24 * decl.cc: Remove a trailing period from a diagnostic.
25 * expr.cc: Use a directive for an apostrophe.
26 * toir.cc: Quote keywords, operators, and types in diagnostics.
27 * typeinfo.cc (build_typeinfo): Quote an option name in a diagnostic.
29 2019-04-25 Johannes Pfau <johannespfau@gmail.com>
31 * config-lang.in: Do not add target_libs if phobos is disabled.
33 2019-04-23 Iain Buclaw <ibuclaw@gdcproject.org>
34 Robin Dapp <rdapp@linux.ibm.com>
36 * typeinfo.cc (create_typeinfo): Write typeinfo flags as uint.
38 2019-04-23 Iain Buclaw <ibuclaw@gdcproject.org>
40 * d-builtins.cc (d_init_versions): Add D_BetterC, D_ModuleInfo,
41 D_Exceptions, D_TypeInfo as predefined version conditions.
42 * d-codegen.cc (build_bounds_condition): Generate trap if D asserts
44 * d-frontend.cc (getTypeInfoType): Add error when -fno-rtti is set.
45 * d-lang.cc (d_init_options): Initialize new front-end options.
46 (d_handle_option): Handle -fdruntime, -fexceptions, and -frtti.
47 (d_post_options): Turn off D runtime features if -fno-druntime is set.
48 * d-spec.cc (lang_specific_driver): Handle -fdruntime.
49 * d-tree.h (have_typeinfo_p): Add prototype.
50 (build_typeinfo): Update prototype.
51 * decl.cc (DeclVisitor::visit(StructDeclaration)): Create typeinfo
52 only if TypeInfo exists.
53 (DeclVisitor::visit(ClassDeclaration)): Likewise.
54 (DeclVisitor::visit(InterfaceDeclaration)): Likewise.
55 (DeclVisitor::visit(EnumDeclaration)): Likewise.
56 * expr.cc: Update all calls to build_typeinfo.
57 * gdc.texi (Runtime Options): Document -fdruntime and -frtti.
58 * lang.opt: Add -fdruntime and -frtti.
59 * modules.cc (build_module_tree): Create module info only if
61 * toir.cc (IRVisitor::visit(ThrowStatement)): Update test for
63 * typeinfo.cc (create_tinfo_types): Build internal typeinfo classes
64 only if Object exists.
65 (have_typeinfo_p): New function.
66 (class TypeInfoVisitor): Update all calls to build_typeinfo.
67 (build_typeinfo): Add error when -fno-rtti is set.
69 2019-04-21 Iain Buclaw <ibuclaw@gdcproject.org>
71 * decl.cc (DeclVisitor::visit(Import)): Set semanticRun after
72 completion, guard against being called more than once.
73 (DeclVisitor::visit(StructDeclaration)): Likewise.
74 (DeclVisitor::visit(ClassDeclaration)): Likewise.
75 (DeclVisitor::visit(InterfaceDeclaration)): Likewise.
76 (DeclVisitor::visit(VarDeclaration)): Likewise.
77 (DeclVisitor::visit(TypeInfoDeclaration)): Likewise.
79 2019-04-21 Iain Buclaw <ibuclaw@gdcproject.org>
81 * modules.cc (register_module_decl): Don't register unittests against
82 the ModuleInfo symbol for -fbuilding-libphobos-tests.
84 2019-04-17 Iain Buclaw <ibuclaw@gdcproject.org>
86 * d-system.h (POSIX): Define unix as POSIX.
87 (INT32_MAX, INT32_MIN, INT64_MIN, UINT32_MAX, UINT64_MAX): Provide
90 2019-04-16 Iain Buclaw <ibuclaw@gdcproject.org>
92 * Make-lang.in (d.mostyclean): Clean idgen and impcvgen.
93 (d/idgen): Rename to d/idgen$(build_exeext), add BUILD_LIBDEPS.
94 (d/impcvgen): Rename to d/impcvgen$(build_exeext), add BUILD_LIBDEPS.
95 (d/id.c): Call idgen$(build_exeext).
96 (d/impcnvtab.c): Call impcvgen$(build_exeext).
98 2019-04-14 Johannes Pfau <johannespfau@gmail.com>
100 * d-system.h (_mkdir): Forward _mkdir on MinGW to mkdir in system.h.
102 2019-04-12 Iain Buclaw <ibuclaw@gdcproject.org>
104 * d-tree.h (DECL_IN_UNITTEST_CONDITION_P): Define.
105 * decl.cc (DeclVisitor): Add in_version_unittest_ field.
106 (DeclVisitor::visit(ConditionalDeclaration)): New override.
107 (DeclVisitor::visit(FuncDeclaration)): Set
108 DECL_IN_UNITTEST_CONDITION_P.
109 * lang.opt (-fbuilding-libphobos-tests): Add option.
110 * modules.cc (current_testing_module): New static variable.
111 (build_module_tree): Generate second moduleinfo symbol to hold
112 reference to unittests if flag_building_libphobos_tests.
113 (register_module_decl): Check DECL_IN_UNITTEST_CONDITION_P to decide
114 which moduleinfo the decl should be registered against.
116 2019-03-31 Iain Buclaw <ibuclaw@gdcproject.org>
119 * modules.cc (layout_moduleinfo_fields): Properly align ModuleInfo,
120 instead of forcing alignment to be 1.
122 2019-03-21 Iain Buclaw <ibuclaw@gdcproject.org>
125 * d-codegen.cc (d_decl_context): Skip over template instances when
127 * decl.cc (DeclVisitor::visit(TemplateDeclaration)): New override.
128 (build_type_decl): Include parameters in name of template types.
130 2019-03-13 Iain Buclaw <ibuclaw@gdcproject.org>
133 * expr.cc (ExprVisitor::visit(VectorArrayExp)): New override.
135 2019-03-12 Iain Buclaw <ibuclaw@gdcproject.org>
138 * d-system.h (realpath): Redefine as lrealpath.
140 2019-03-12 Iain Buclaw <ibuclaw@gdcproject.org>
142 * d-lang.cc (d_init_options): Set global.params.cplusplus to C++14.
143 * d-target.cc (Target::cppFundamentalType): New method.
145 2019-03-09 Iain Buclaw <ibuclaw@gdcproject.org>
148 * d-codegen.cc (get_frame_for_symbol): Delegate literals defined in
149 global scope don't have a frame pointer.
151 2019-03-01 Iain Buclaw <ibuclaw@gdcproject.org>
153 * d-builtins.cc (d_init_versions): Add CppRuntime_Gcc as predefined
156 2019-02-14 Maya Rashish <coypu@sdf.org>
158 * d-system.h: NetBSD is POSIX.
160 2019-02-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
163 * lang.opt (dstartfiles): New option.
164 * d-spec.cc (need_spec): New variable.
165 (lang_specific_driver) <OPT_dstartfiles>: Enable need_spec.
166 (lang_specific_pre_link): Also load libgphobos.spec if need_spec.
168 2019-01-26 Iain Buclaw <ibuclaw@gdcproject.org>
171 * decl.cc (DeclVisitor::visit(VarDeclaration)): Don't assert if
172 handling a void initialized manifest constant.
174 2019-01-21 Iain Buclaw <ibuclaw@gdcproject.org>
176 * d-frontend.cc (Compiler::paintAsType): Update for new signature.
178 2019-01-20 Iain Buclaw <ibuclaw@gdcproject.org>
180 * d-builtins.cc (d_init_versions): Check value of
181 STACK_GROWS_DOWNWARD.
183 2019-01-20 Iain Buclaw <ibuclaw@gdcproject.org>
185 * d-codegen.cc (identity_compare_p): Return false if seen built-in
187 (build_float_identity): Moved here from expr.cc.
188 (lower_struct_comparison): Handle real and complex types.
189 * d-tree.h (build_float_identity): New.
190 * expr.cc (build_float_identity): Move to d-codegen.cc.
192 2019-01-20 Johannes Pfau <johannespfau@gmail.com>
194 * expr.cc (build_float_identity): New function.
195 (ExprVisitor::visit(IdentityExp)): Add support for complex types.
197 2019-01-16 Iain Buclaw <ibuclaw@gdcproject.org>
200 * d-lang.cc (d_post_options): Disable implicit
201 -forder-blocks-and-partition.
203 2019-01-16 Iain Buclaw <ibuclaw@gdcproject.org>
205 * d-codegen.cc (build_typeof_null_value): New function.
206 * d-tree.h (build_typeof_null_value): Declare.
207 * d-convert.cc (convert_expr): Use build_typeof_null_value.
208 * expr.cc (ExprVisitor::visit(NullExp)): Likewise.
210 2019-01-15 Richard Sandiford <richard.sandiford@arm.com>
213 * lang.opt (Wdeprecated): Reference common.opt instead of c.opt.
215 2019-01-12 Iain Buclaw <ibuclaw@gdcproject.org>
217 * README.gcc: New file.
219 2019-01-01 Jakub Jelinek <jakub@redhat.com>
221 Update copyright years.
223 * gdc.texi: Bump @copyrights-d year.
225 Copyright (C) 2019 Free Software Foundation, Inc.
227 Copying and distribution of this file, with or without modification,
228 are permitted in any medium without royalty provided the copyright
229 notice and this notice are preserved.