12019-11-14 Richard Sandiford <richard.sandiford@arm.com> 2 3 * d-codegen.cc (build_boolop): Use truth_type_for instead of 4 build_same_sized_truth_vector_type. 5 62019-11-13 Joseph Myers <joseph@codesourcery.com> 7 8 * d-target.cc (define_float_constants): Update call to 9 get_max_float. 10 112019-11-04 Richard Sandiford <richard.sandiford@arm.com> 12 13 * d-builtins.cc (build_frontend_type): Cope with variable 14 TYPE_VECTOR_SUBPARTS. 15 162019-08-23 Jakub Jelinek <jakub@redhat.com> 17 18 PR middle-end/91283 19 * d-lang.cc (d_post_options): Set flag_excess_precision instead of 20 flag_excess_precision_cmdline. 21 222019-08-20 Iain Buclaw <ibuclaw@gdcproject.org> 23 24 PR d/88722 25 * modules.cc: Include diagnostic.h. 26 (register_moduleinfo): Use sorry instead of gcc_assert for targets 27 without named sections. 28 292019-08-20 Iain Buclaw <ibuclaw@gdcproject.org> 30 31 * d-target.cc: Include diagnostic.h. 32 (Target::_init): Set Tsize_t and Tptrdiff_t as D ushort and short if 33 the target pointer size is 2. Add sorry if the pointer size is not 34 either 2, 4, or 8. 35 362019-08-20 Iain Buclaw <ibuclaw@gdcproject.org> 37 38 PR d/90446 39 * d-lang.cc (d_type_for_mode): Check for all internal __intN types. 40 (d_type_for_size): Likewise. 41 422019-08-20 Iain Buclaw <ibuclaw@gdcproject.org> 43 44 PR d/90445 45 * d-builtins.cc (d_build_c_type_nodes): Test UINTMAX_TYPE for setting 46 uintmax_type_node. Set signed_size_type_node as the signed_type_for 47 size_type_node. 48 492019-08-20 Iain Buclaw <ibuclaw@gdcproject.org> 50 51 PR d/90444 52 * d-builtins.cc (build_frontend_type): Build anonymous RECORD_TYPE 53 nodes as well, push all fields to the struct members. 54 (d_build_builtins_module): Push anonymous va_list structs to the 55 builtins module, naming them __builtin_va_list. 56 (d_init_builtins): Use sorry instead of gcc_unreachable if va_list did 57 not succeed in being represented as a D type. 58 592019-08-13 Richard Sandiford <richard.sandiford@arm.com> 60 61 PR middle-end/91421 62 * intrinsics.cc (maybe_set_intrinsic): Use set_decl_built_in_function. 63 642019-08-11 Iain Buclaw <ibuclaw@gdcproject.org> 65 66 PR d/90601 67 * d-convert.cc (convert_expr): Don't convert an expression to its 68 original front-end type before converting to its target type. 69 702019-08-10 Iain Buclaw <ibuclaw@gdcproject.org> 71 72 PR d/91238 73 * d-codegen.cc (build_address): If taking the address of a CALL_EXPR, 74 wrap it in a TARGET_EXPR. 75 762019-08-10 Iain Buclaw <ibuclaw@gdcproject.org> 77 78 PR d/90893 79 * runtime.cc (enum libcall_type): Rename to... 80 (enum d_libcall_type): ...this. 81 (get_libcall_type): Use d_libcall_type. 82 (build_libcall_decl): Likewise. 83 842019-06-16 Iain Buclaw <ibuclaw@gdcproject.org> 85 86 PR d/90559 87 * d-target.cc (Target::_init): Reduce max static data size to INT_MAX. 88 892019-06-16 Iain Buclaw <ibuclaw@gdcproject.org> 90 91 PR d/90651 92 * typeinfo.cc (object_module): New variable. 93 (make_frontend_typeinfo): Update signature. Set temporary on 94 generated TypeInfo classes. 95 (create_tinfo_types): Set object_module. Move generation of front-end 96 typeinfo into ... 97 (create_frontend_tinfo_types): ... New function. 98 (layout_typeinfo): Call create_frontend_tinfo_types. 99 (layout_classinfo): Likewise. 100 (layout_cpp_typeinfo): Likewise. 101 (create_typeinfo): Likewise. 102 1032019-06-11 Richard Biener <rguenthe@suse.de> 104 105 d/90778 106 * toir.cc (pop_label): Only queue labels in a vector. 107 (cmp_labels): Label decl comparator. 108 (pop_binding_level): Pop labels in DECL_UID order to avoid 109 debug info differences. 110 1112019-05-24 Nathan Sidwell <nathan@acm.org> 112 113 * types.cc (fixup_anonymous_offset): Use IDENTIFIER_ANON_P. 114 (layout_aggregate_members): Use make_anon_name. 115 1162019-05-16 Martin Sebor <msebor@redhat.com> 117 118 * d-builtins.cc (d_init_builtins): Quote keywords, operators, 119 and types in diagnostics. 120 * d-codegen.cc (get_array_length): Same. Replace can't with cannot. 121 * d-convert.cc (convert_expr): Same. 122 * d-frontend.cc (getTypeInfoType): Quote an option name in 123 a diagnostic. 124 * d-lang.cc (d_handle_option): Same. 125 (d_parse_file): Same. 126 * decl.cc: Remove a trailing period from a diagnostic. 127 * expr.cc: Use a directive for an apostrophe. 128 * toir.cc: Quote keywords, operators, and types in diagnostics. 129 * typeinfo.cc (build_typeinfo): Quote an option name in a diagnostic. 130 1312019-04-25 Johannes Pfau <johannespfau@gmail.com> 132 133 * config-lang.in: Do not add target_libs if phobos is disabled. 134 1352019-04-23 Iain Buclaw <ibuclaw@gdcproject.org> 136 Robin Dapp <rdapp@linux.ibm.com> 137 138 * typeinfo.cc (create_typeinfo): Write typeinfo flags as uint. 139 1402019-04-23 Iain Buclaw <ibuclaw@gdcproject.org> 141 142 * d-builtins.cc (d_init_versions): Add D_BetterC, D_ModuleInfo, 143 D_Exceptions, D_TypeInfo as predefined version conditions. 144 * d-codegen.cc (build_bounds_condition): Generate trap if D asserts 145 are turned off. 146 * d-frontend.cc (getTypeInfoType): Add error when -fno-rtti is set. 147 * d-lang.cc (d_init_options): Initialize new front-end options. 148 (d_handle_option): Handle -fdruntime, -fexceptions, and -frtti. 149 (d_post_options): Turn off D runtime features if -fno-druntime is set. 150 * d-spec.cc (lang_specific_driver): Handle -fdruntime. 151 * d-tree.h (have_typeinfo_p): Add prototype. 152 (build_typeinfo): Update prototype. 153 * decl.cc (DeclVisitor::visit(StructDeclaration)): Create typeinfo 154 only if TypeInfo exists. 155 (DeclVisitor::visit(ClassDeclaration)): Likewise. 156 (DeclVisitor::visit(InterfaceDeclaration)): Likewise. 157 (DeclVisitor::visit(EnumDeclaration)): Likewise. 158 * expr.cc: Update all calls to build_typeinfo. 159 * gdc.texi (Runtime Options): Document -fdruntime and -frtti. 160 * lang.opt: Add -fdruntime and -frtti. 161 * modules.cc (build_module_tree): Create module info only if 162 ModuleInfo exists. 163 * toir.cc (IRVisitor::visit(ThrowStatement)): Update test for 164 -fno-exceptions. 165 * typeinfo.cc (create_tinfo_types): Build internal typeinfo classes 166 only if Object exists. 167 (have_typeinfo_p): New function. 168 (class TypeInfoVisitor): Update all calls to build_typeinfo. 169 (build_typeinfo): Add error when -fno-rtti is set. 170 1712019-04-21 Iain Buclaw <ibuclaw@gdcproject.org> 172 173 * decl.cc (DeclVisitor::visit(Import)): Set semanticRun after 174 completion, guard against being called more than once. 175 (DeclVisitor::visit(StructDeclaration)): Likewise. 176 (DeclVisitor::visit(ClassDeclaration)): Likewise. 177 (DeclVisitor::visit(InterfaceDeclaration)): Likewise. 178 (DeclVisitor::visit(VarDeclaration)): Likewise. 179 (DeclVisitor::visit(TypeInfoDeclaration)): Likewise. 180 1812019-04-21 Iain Buclaw <ibuclaw@gdcproject.org> 182 183 * modules.cc (register_module_decl): Don't register unittests against 184 the ModuleInfo symbol for -fbuilding-libphobos-tests. 185 1862019-04-17 Iain Buclaw <ibuclaw@gdcproject.org> 187 188 * d-system.h (POSIX): Define unix as POSIX. 189 (INT32_MAX, INT32_MIN, INT64_MIN, UINT32_MAX, UINT64_MAX): Provide 190 fallback definitions. 191 1922019-04-16 Iain Buclaw <ibuclaw@gdcproject.org> 193 194 * Make-lang.in (d.mostyclean): Clean idgen and impcvgen. 195 (d/idgen): Rename to d/idgen$(build_exeext), add BUILD_LIBDEPS. 196 (d/impcvgen): Rename to d/impcvgen$(build_exeext), add BUILD_LIBDEPS. 197 (d/id.c): Call idgen$(build_exeext). 198 (d/impcnvtab.c): Call impcvgen$(build_exeext). 199 2002019-04-14 Johannes Pfau <johannespfau@gmail.com> 201 PR d/87799 202 * d-system.h (_mkdir): Forward _mkdir on MinGW to mkdir in system.h. 203 2042019-04-12 Iain Buclaw <ibuclaw@gdcproject.org> 205 206 * d-tree.h (DECL_IN_UNITTEST_CONDITION_P): Define. 207 * decl.cc (DeclVisitor): Add in_version_unittest_ field. 208 (DeclVisitor::visit(ConditionalDeclaration)): New override. 209 (DeclVisitor::visit(FuncDeclaration)): Set 210 DECL_IN_UNITTEST_CONDITION_P. 211 * lang.opt (-fbuilding-libphobos-tests): Add option. 212 * modules.cc (current_testing_module): New static variable. 213 (build_module_tree): Generate second moduleinfo symbol to hold 214 reference to unittests if flag_building_libphobos_tests. 215 (register_module_decl): Check DECL_IN_UNITTEST_CONDITION_P to decide 216 which moduleinfo the decl should be registered against. 217 2182019-03-31 Iain Buclaw <ibuclaw@gdcproject.org> 219 220 PR d/88462 221 * modules.cc (layout_moduleinfo_fields): Properly align ModuleInfo, 222 instead of forcing alignment to be 1. 223 2242019-03-21 Iain Buclaw <ibuclaw@gdcproject.org> 225 226 PR d/89017 227 * d-codegen.cc (d_decl_context): Skip over template instances when 228 finding the context. 229 * decl.cc (DeclVisitor::visit(TemplateDeclaration)): New override. 230 (build_type_decl): Include parameters in name of template types. 231 2322019-03-13 Iain Buclaw <ibuclaw@gdcproject.org> 233 234 PR d/88957 235 * expr.cc (ExprVisitor::visit(VectorArrayExp)): New override. 236 2372019-03-12 Iain Buclaw <ibuclaw@gdcproject.org> 238 239 PR d/87866 240 * d-system.h (realpath): Redefine as lrealpath. 241 2422019-03-12 Iain Buclaw <ibuclaw@gdcproject.org> 243 244 * d-lang.cc (d_init_options): Set global.params.cplusplus to C++14. 245 * d-target.cc (Target::cppFundamentalType): New method. 246 2472019-03-09 Iain Buclaw <ibuclaw@gdcproject.org> 248 249 PR d/89041 250 * d-codegen.cc (get_frame_for_symbol): Delegate literals defined in 251 global scope don't have a frame pointer. 252 2532019-03-01 Iain Buclaw <ibuclaw@gdcproject.org> 254 255 * d-builtins.cc (d_init_versions): Add CppRuntime_Gcc as predefined 256 version condition. 257 2582019-02-14 Maya Rashish <coypu@sdf.org> 259 260 * d-system.h: NetBSD is POSIX. 261 2622019-02-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> 263 264 PR d/87864 265 * lang.opt (dstartfiles): New option. 266 * d-spec.cc (need_spec): New variable. 267 (lang_specific_driver) <OPT_dstartfiles>: Enable need_spec. 268 (lang_specific_pre_link): Also load libgphobos.spec if need_spec. 269 2702019-01-26 Iain Buclaw <ibuclaw@gdcproject.org> 271 272 PR d/89042 273 * decl.cc (DeclVisitor::visit(VarDeclaration)): Don't assert if 274 handling a void initialized manifest constant. 275 2762019-01-21 Iain Buclaw <ibuclaw@gdcproject.org> 277 278 * d-frontend.cc (Compiler::paintAsType): Update for new signature. 279 2802019-01-20 Iain Buclaw <ibuclaw@gdcproject.org> 281 282 * d-builtins.cc (d_init_versions): Check value of 283 STACK_GROWS_DOWNWARD. 284 2852019-01-20 Iain Buclaw <ibuclaw@gdcproject.org> 286 287 * d-codegen.cc (identity_compare_p): Return false if seen built-in 288 type with padding. 289 (build_float_identity): Moved here from expr.cc. 290 (lower_struct_comparison): Handle real and complex types. 291 * d-tree.h (build_float_identity): New. 292 * expr.cc (build_float_identity): Move to d-codegen.cc. 293 2942019-01-20 Johannes Pfau <johannespfau@gmail.com> 295 296 * expr.cc (build_float_identity): New function. 297 (ExprVisitor::visit(IdentityExp)): Add support for complex types. 298 2992019-01-16 Iain Buclaw <ibuclaw@gdcproject.org> 300 301 PR d/87824 302 * d-lang.cc (d_post_options): Disable implicit 303 -forder-blocks-and-partition. 304 3052019-01-16 Iain Buclaw <ibuclaw@gdcproject.org> 306 307 * d-codegen.cc (build_typeof_null_value): New function. 308 * d-tree.h (build_typeof_null_value): Declare. 309 * d-convert.cc (convert_expr): Use build_typeof_null_value. 310 * expr.cc (ExprVisitor::visit(NullExp)): Likewise. 311 3122019-01-15 Richard Sandiford <richard.sandiford@arm.com> 313 314 PR inline-asm/52813 315 * lang.opt (Wdeprecated): Reference common.opt instead of c.opt. 316 3172019-01-12 Iain Buclaw <ibuclaw@gdcproject.org> 318 319 * README.gcc: New file. 320 3212019-01-01 Jakub Jelinek <jakub@redhat.com> 322 323 Update copyright years. 324 325 * gdc.texi: Bump @copyrights-d year. 326 327Copyright (C) 2019 Free Software Foundation, Inc. 328 329Copying and distribution of this file, with or without modification, 330are permitted in any medium without royalty provided the copyright 331notice and this notice are preserved. 332