|
| 1 | +2020-07-30 Iain Buclaw < [email protected]> |
| 2 | + |
| 3 | + PR d/96152 |
| 4 | + * d-codegen.cc (build_array_from_exprs): New function. |
| 5 | + * d-tree.h (build_array_from_exprs): Declare. |
| 6 | + * expr.cc (ExprVisitor::visit (AssocArrayLiteralExp *)): Use |
| 7 | + build_array_from_exprs to generate key and value arrays. |
| 8 | + |
| 9 | +2020-07-30 Iain Buclaw < [email protected]> |
| 10 | + |
| 11 | + PR d/96154 |
| 12 | + * gdc.texi (Warnings): Document -Wvarargs. |
| 13 | + * lang.opt: Add -Wvarargs |
| 14 | + |
| 15 | +2020-07-30 Iain Buclaw < [email protected]> |
| 16 | + |
| 17 | + PR d/96140 |
| 18 | + * intrinsics.cc (expand_intrinsic_vaarg): Handle ref parameters as |
| 19 | + arguments to va_arg(). |
| 20 | + (expand_intrinsic_vastart): Handle ref parameters as arguments to |
| 21 | + va_start(). |
| 22 | + |
| 23 | +2020-07-30 Iain Buclaw < [email protected]> |
| 24 | + |
| 25 | + * expr.cc (ExprVisitor::visit (AssignExp *)): Inline bounds checking |
| 26 | + for simple array assignments. |
| 27 | + |
| 28 | +2020-07-30 Iain Buclaw < [email protected]> |
| 29 | + |
| 30 | + * d-codegen.cc (build_memcmp_call): New function. |
| 31 | + (build_memcpy_call): New function. |
| 32 | + (build_memset_call): New function. |
| 33 | + (build_float_identity): Call build_memcmp_call. |
| 34 | + (lower_struct_comparison): Likewise. |
| 35 | + (build_struct_comparison): Likewise. |
| 36 | + * d-tree.h (build_memcmp_call): Declare. |
| 37 | + (build_memcpy_call): Declare. |
| 38 | + (build_memset_call): Declare. |
| 39 | + * expr.cc (ExprVisitor::visit (EqualExp *)): Call build_memcmp_call. |
| 40 | + (ExprVisitor::visit (AssignExp *)): Call build_memset_call. |
| 41 | + (ExprVisitor::visit (ArrayLiteralExp *)): Call build_memcpy_call. |
| 42 | + (ExprVisitor::visit (StructLiteralExp *)): Call build_memset_call. |
| 43 | + |
| 44 | +2020-07-30 Iain Buclaw < [email protected]> |
| 45 | + |
| 46 | + * expr.cc (needs_postblit): Move out of ExprVisitor as a static |
| 47 | + function. Update all callers. |
| 48 | + (needs_dtor): Likewise. |
| 49 | + (lvalue_p): Likewise. |
| 50 | + (binary_op): Likewise. |
| 51 | + (binop_assignment): Likewise. |
| 52 | + |
| 53 | +2020-07-30 Iain Buclaw < [email protected]> |
| 54 | + |
| 55 | + * intrinsics.cc (expand_intrinsic_rotate): Add function. |
| 56 | + (maybe_expand_intrinsic): Handle rol and ror intrinsics. |
| 57 | + * intrinsics.def (ROL): Add intrinsic. |
| 58 | + (ROL_TIARG): Add intrinsic. |
| 59 | + (ROR): Add intrinsic. |
| 60 | + (ROR_TIARG): Add intrinsic. |
| 61 | + |
| 62 | +2020-07-30 Iain Buclaw < [email protected]> |
| 63 | + |
| 64 | + * d-tree.h (DEF_D_INTRINSIC): Rename second argument from A to B. |
| 65 | + * intrinsics.cc (intrinsic_decl): Add built_in field. |
| 66 | + (DEF_D_INTRINSIC): Rename second argument from ALIAS to BUILTIN. |
| 67 | + (maybe_set_intrinsic): Handle new intrinsic codes. |
| 68 | + (expand_intrinsic_bt): Likewise. |
| 69 | + (expand_intrinsic_checkedint): Likewise. |
| 70 | + (expand_intrinsic_bswap): Remove. |
| 71 | + (expand_intrinsic_sqrt): Remove. |
| 72 | + (maybe_expand_intrinsic): Group together intrinsic cases that map |
| 73 | + directly to gcc built-ins. |
| 74 | + * intrinsics.def (DEF_D_BUILTIN): Rename second argument from A to B. |
| 75 | + Update all callers to pass equivalent DECL_FUNCTION_CODE. |
| 76 | + (DEF_CTFE_BUILTIN): Likewise. |
| 77 | + (STD_COS): Remove intrinsic. |
| 78 | + (STD_FABS): Remove intrinsic. |
| 79 | + (STD_LDEXP): Remove intrinsic. |
| 80 | + (STD_RINT): Remove intrinsic. |
| 81 | + (STD_RNDTOL): Remove intrinsic. |
| 82 | + (STD_SIN): Remove intrinsic. |
| 83 | + (STD_SQRTF): Remove intrinsic. |
| 84 | + (STD_SQRT): Remove intrinsic. |
| 85 | + (STD_SQRTL): Remove intrinsic. |
| 86 | + |
1 | 87 | 2020-06-28 Iain Buclaw < [email protected]>
|
2 | 88 |
|
3 | 89 | * dmd/MERGE: Merge upstream dmd 8508c4e68.
|
|
0 commit comments