12018-11-24 Iain Buclaw <ibuclaw@gdcproject.org> 2 3 PR d/87866 4 * d-incpath.cc (add_globalpaths): Use lrealpath to get canonical name. 5 (add_filepaths): Likewise. 6 72018-11-17 Iain Buclaw <ibuclaw@gdcproject.org> 8 9 PR d/87824 10 * d-target.cc (Target::alignsize): Return min_align_of_type. 11 122018-11-05 Iain Buclaw <ibuclaw@gdcproject.org> 13 14 PR d/87865 15 * d-system.h: New file. 16 172018-11-01 Jakub Jelinek <jakub@redhat.com> 18 19 PR d/87824 20 * lang.opt (Wpsabi): New option. 21 222018-10-31 Iain Buclaw <ibuclaw@gdcproject.org> 23 24 PR d/87825 25 * Make-lang.in (d/idgen) Link with BUILD_LINKERFLAGS. 26 (d/impcvgen): Likewise. 27 282018-10-26 Eugene Wissner <belka@caraus.de> 29 30 * Make-lang.in (selftest-d): New. 31 * d-diagnostic.cc (vwarning): Fix warning emitting. 32 332018-10-22 Iain Buclaw <ibuclaw@gdcproject.org> 34 35 * d-spec.cc (lang_specific_driver): Always link against phobos if any 36 input file is given. 37 382018-10-21 Iain Buclaw <ibuclaw@gdcproject.org> 39 40 * d-lang.cc (d_get_alias_set): Always return zero. 41 422018-10-21 Iain Buclaw <ibuclaw@gdcproject.org> 43 44 * intrinsics.cc (maybe_set_intrinsic): Don't set built-in flag on 45 unsupported pow() overloads. 46 472018-10-20 Iain Buclaw <ibuclaw@gdcproject.org> 48 49 * expr.cc (ExprVisitor::binop_assignment): Call stabilize_reference on 50 LHS construct if it has side effects. 51 522018-10-20 Iain Buclaw <ibuclaw@gdcproject.org> 53 54 * intrinsics.cc (clear_intrinsic_flag): Remove function. 55 (maybe_expand_intrinsic): Remove clear_intrinsic_flag call. 56 572018-10-20 Iain Buclaw <ibuclaw@gdcproject.org> 58 59 * intrinsics.cc (expand_intrinsic_copysign): Use mathfn_built_in to 60 determine correct built-in to call. 61 (expand_intrinsic_pow): Likewise. 62 632018-10-20 Iain Buclaw <ibuclaw@gdcproject.org> 64 65 * intrinsics.cc (expand_intrinsic_sqrt): Remove implicit int to double 66 conversion. 67 (expand_intrinsic_pow): Likewise. 68 692018-10-20 Iain Buclaw <ibuclaw@gdcproject.org> 70 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. 84 852018-10-20 Iain Buclaw <ibuclaw@gdcproject.org> 86 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. 101 1022018-10-20 Iain Buclaw <ibuclaw@gdcproject.org> 103 104 * d-diagnostic.cc (d_diagnostic_report_diagnostic): Skip translation 105 by instead calling diagnostic_set_info_translated. 106 1072018-10-20 Iain Buclaw <ibuclaw@gdcproject.org> 108 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. 120 1212018-10-20 Iain Buclaw <ibuclaw@gdcproject.org> 122 123 * expr.cc (ExprVisitor::visit(PowExp)): Remove function. 124 1252018-10-19 Iain Buclaw <ibuclaw@gdcproject.org> 126 127 * d-attribs.c: Rename to d-attribs.cc. 128 * d-spec.c: Rename to d-spec.cc. 129 1302018-10-19 Iain Buclaw <ibuclaw@gdcproject.org> 131 132 * d-lang.cc (d_gimplify_expr): Don't handle TREE_THIS_VOLATILE. 133 1342018-10-19 Iain Buclaw <ibuclaw@gdcproject.org> 135 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. 143 1442018-10-18 Iain Buclaw <ibuclaw@gdcproject.org> 145 146 * d-diagnostic.cc (expand_format): Rename to expand_d_format. 147 Updated all callers. 148 1492018-10-17 Iain Buclaw <ibuclaw@gdcproject.org> 150 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. 154 1552018-10-17 Iain Buclaw <ibuclaw@gdcproject.org> 156 157 * expr.cc (ExprVisitor::binary_op): Use POINTER_DIFF_EXPR. 158 1592018-10-17 Iain Buclaw <ibuclaw@gdcproject.org> 160 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. 166 1672018-10-17 Iain Buclaw <ibuclaw@gdcproject.org> 168 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. 174 1752018-10-17 Iain Buclaw <ibuclaw@gdcproject.org> 176 177 * d-spec.c (lang_specific_driver): Use strrchr and strcmp to check 178 input file suffix. 179 1802018-10-17 Iain Buclaw <ibuclaw@gdcproject.org> 181 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. 186 1872018-10-16 Iain Buclaw <ibuclaw@gdcproject.org> 188 189 * d-frontend.cc (Port::writelongLE): Remove function. 190 (Port::writelongBE): Remove function. 191 1922018-10-16 Iain Buclaw <ibuclaw@gdcproject.org> 193 194 * d-convert.cc (convert): Remove goto maybe_fold. 195 1962018-10-16 Iain Buclaw <ibuclaw@gdcproject.org> 197 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. 204 2052018-10-16 Iain Buclaw <ibuclaw@gdcproject.org> 206 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. 213 2142018-10-16 Iain Buclaw <ibuclaw@gdcproject.org> 215 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. 220 2212018-10-16 Iain Buclaw <ibuclaw@gdcproject.org> 222 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. 227 2282018-10-16 Iain Buclaw <ibuclaw@gdcproject.org> 229 230 * lang.opt: Add missing periods to the ends of sentences. 231 2322018-10-16 Iain Buclaw <ibuclaw@gdcproject.org> 233 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. 239 2402018-10-16 Iain Buclaw <ibuclaw@gdcproject.org> 241 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. 245 2462018-10-15 Iain Buclaw <ibuclaw@gdcproject.org> 247 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. 252 2532018-10-08 Iain Buclaw <ibuclaw@gdcproject.org> 254 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. 263 2642018-10-01 Iain Buclaw <ibuclaw@gdcproject.org> 265 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. 277 2782018-10-01 Eugene Wissner <belka@caraus.de> 279 280 * decl.cc (finish_thunk): Adjust call to cgraph_node::create_thunk. 281 2822018-09-25 Eugene Wissner <belka@caraus.de> 283 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. 288 2892018-09-24 Iain Buclaw <ibuclaw@gdcproject.org> 290 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. 305 3062018-09-17 Iain Buclaw <ibuclaw@gdcproject.org> 307 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 312 3132018-09-10 Iain Buclaw <ibuclaw@gdcproject.org> 314 315 * intrinsics.cc (maybe_expand_intrinsic): Handle INTRINSIC_EXP. 316 * intrinsics.def (EXP): Add CTFE intrinsic. 317 3182018-09-07 Iain Buclaw <ibuclaw@gdcproject.org> 319 320 * d-lang.cc: Include errors.h, mars.h. 321 * decl.cc: Include errors.h. 322 * typeinfo.cc: Include globals.h, errors.h. 323 3242018-09-05 Eugene Wissner <belka@caraus.de> 325 326 * d-frontend.cc (eval_builtin): Replace DECL_BUILT_IN with 327 fndecl_built_in_p. 328 3292018-08-29 Iain Buclaw <ibuclaw@gdcproject.org> 330 331 * d-target.cc (Target::prefixName): Remove function. 332 (Target::cppParameterType): New function. 333 3342018-08-25 Iain Buclaw <ibuclaw@gdcproject.org> 335 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. 341 3422018-07-23 Eugene Wissner <belka@caraus.de> 343 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. 347 3482018-07-21 Iain Buclaw <ibuclaw@gdcproject.org> 349 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. 354 3552018-07-14 Iain Buclaw <ibuclaw@gdcproject.org> 356 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. 377 3782018-07-14 Iain Buclaw <ibuclaw@gdcproject.org> 379 380 * types.cc (same_type_p): Check type codes match before checking 381 equivalence. 382 3832018-07-09 Iain Buclaw <ibuclaw@gdcproject.org> 384 385 * Makefile.in (d/verstr.h): Remove recipe. 386 (d.mostlyclean): Remove cleanup of verstr.h. 387 * verstr.h: New file. 388 3892018-07-06 Iain Buclaw <ibuclaw@gdcproject.org> 390 391 * d-codegen.cc (lower_struct_comparison): Evaluate side effects of 392 empty struct. 393 (build_struct_comparison): Likewise. 394 3952018-07-06 Iain Buclaw <ibuclaw@gdcproject.org> 396 397 * typeinfo.cc (TypeInfoVisitor::layout_interfaces): Only generate an 398 interface vtable for classes. 399 (TypeInfoVisitor::visit(TypeInfoClassDeclaration)): Likewise. 400 4012018-07-05 Iain Buclaw <ibuclaw@gdcproject.org> 402 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. 407 4082018-07-04 Iain Buclaw <ibuclaw@gdcproject.org> 409 410 * d-builtins.cc (d_build_builtins_module): Export __builtin_clonglong 411 and __builtin_culonglong to gcc builtins module. 412 4132018-07-04 Eugene Wissner <belka@caraus.de> 414 415 * d-spec.c: Include opt-suggestions.h containing option_proposer used by 416 gcc.h. 417 4182018-07-01 Iain Buclaw <ibuclaw@gdcproject.org> 419 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. 423 4242018-06-30 Iain Buclaw <ibuclaw@gdcproject.org> 425 426 * expr.cc (ExprVisitor::visit(FuncExp)): Don't error about nested 427 delegate literals. 428 4292018-06-29 Iain Buclaw <ibuclaw@gdcproject.org> 430 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. 440 4412018-06-27 Iain Buclaw <ibuclaw@gdcproject.org> 442 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. 447 4482018-06-26 Iain Buclaw <ibuclaw@gdcproject.org> 449 450 * types.cc (TypeVisitor::visit(TypeClass)): Handle get_symbol_decl 451 returning an error_mark_node. 452 4532018-06-22 Iain Buclaw <ibuclaw@gdcproject.org> 454 455 * decl.cc (DeclVisitor::visit(FuncDeclaration)): Move function 456 unnesting to... 457 (get_symbol_decl): ... here. 458 4592018-06-22 Iain Buclaw <ibuclaw@gdcproject.org> 460 461 * d-lang.cc (d_post_options): Set global showColumns parameter. 462 4632018-06-22 Iain Buclaw <ibuclaw@gdcproject.org> 464 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. 472 4732018-06-22 Iain Buclaw <ibuclaw@gdcproject.org> 474 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. 485 4862018-05-28 Iain Buclaw <ibuclaw@gdcproject.org> 487 488 * expr.cc (ExprVisitor::visit(StringExp)): Copy string literal from 489 the frontend to a null terminated string. 490 4912018-05-21 Iain Buclaw <ibuclaw@gdcproject.org> 492 493 * expr.cc (ExprVisitor::binary_op): Don't do complex conversions if 494 already handling excess precision. 495 4962018-04-02 Iain Buclaw <ibuclaw@gdcproject.org> 497 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. 503 5042018-03-18 Iain Buclaw <ibuclaw@gdcproject.org> 505 506 * d-codegen.cc (stabilize_expr): Move modify expression rewrite... 507 * expr.cc (ExprVisitor::binop_assignment): ... here. 508 5092018-03-11 Iain Buclaw <ibuclaw@gdcproject.org> 510 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. 514 5152018-03-04 Iain Buclaw <ibuclaw@gdcproject.org> 516 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. 522 5232018-03-04 Iain Buclaw <ibuclaw@gdcproject.org> 524 525 * lang.opt (fdeps, fdeps=): Deprecate options. 526 * gdc.texi (Code Generation): Remove deprecated fdeps options. 527 5282018-02-25 Iain Buclaw <ibuclaw@gdcproject.org> 529 530 * Make-lang.in (D_FRONTEND_OBJS): Remove inline.o and inlinecost.o. 531 5322018-02-24 Iain Buclaw <ibuclaw@gdcproject.org> 533 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. 547 5482018-02-19 Iain Buclaw <ibuclaw@gdcproject.org> 549 550 * Make-lang.in (DMD_WARN_CXXFLAGS): Only filter out 551 -Wmissing-format-attribute from WARN_CXXFLAGS. 552 5532018-02-18 Iain Buclaw <ibuclaw@gdcproject.org> 554 555 * d-builtins.cc (build_frontend_type): Set alignment of structs in 556 frontend. 557 5582018-02-17 Iain Buclaw <ibuclaw@gdcproject.org> 559 560 * d-incpath.cc (add_environment_paths): Remove function. 561 * gdc.texi (Environment Variables): Remove section. 562 5632018-02-10 Iain Buclaw <ibuclaw@gdcproject.org> 564 565 * expr.cc (ExprVisitor::AssertExp): Use builtin expect to mark assert 566 condition as being likely true. 567 5682018-02-11 Iain Buclaw <ibuclaw@gdcproject.org> 569 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. 574 5752018-01-28 Iain Buclaw <ibuclaw@gdcproject.org> 576 577 * gdc.texi (Runtime Options): Remove deprecated -fproperty option. 578 5792018-01-27 Iain Buclaw <ibuclaw@gdcproject.org> 580 581 * d-lang.cc (d_gimplify_expr): Gimplify all CALL_EXPR_ARGS_ORDERED 582 call arguments, not just non-constant. 583 5842018-01-27 Iain Buclaw <ibuclaw@gdcproject.org> 585 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. 589 5902018-01-27 Iain Buclaw <ibuclaw@gdcproject.org> 591 592 * toir.cc (build_function_body): Set input_location. 593 5942018-01-23 Iain Buclaw <ibuclaw@gdcproject.org> 595 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. 600 6012018-01-21 Iain Buclaw <ibuclaw@gdcproject.org> 602 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. 616 6172018-01-21 Iain Buclaw <ibuclaw@gdcproject.org> 618 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. 625 6262018-01-21 Iain Buclaw <ibuclaw@gdcproject.org> 627 628 * decls.cc (get_symbol_decl): Use attribute to mark naked functions. 629 6302018-01-08 Eugene Wissner <belka@caraus.de> 631 632 * d-builtins.cc (d_eval_constant_expression): Handle polynomial 633 VECTOR_CST_NELTS. 634 (build_frontend_type): Handle polynomial TYPE_VECTOR_SUBPARTS. 635 6362018-01-08 Iain Buclaw <ibuclaw@gdcproject.org> 637 638 Update copyright years. 639 640Copyright (C) 2018 Free Software Foundation, Inc. 641 642Copying and distribution of this file, with or without modification, 643are permitted in any medium without royalty provided the copyright 644notice and this notice are preserved. 645