2019-11-14  Richard Sandiford  <richard.sandiford@arm.com>

	* d-codegen.cc (build_boolop): Use truth_type_for instead of
	build_same_sized_truth_vector_type.

2019-11-13  Joseph Myers  <joseph@codesourcery.com>

	* d-target.cc (define_float_constants): Update call to
	get_max_float.

2019-11-04  Richard Sandiford  <richard.sandiford@arm.com>

	* d-builtins.cc (build_frontend_type): Cope with variable
	TYPE_VECTOR_SUBPARTS.

2019-08-23  Jakub Jelinek  <jakub@redhat.com>

	PR middle-end/91283
	* d-lang.cc (d_post_options): Set flag_excess_precision instead of
	flag_excess_precision_cmdline.

2019-08-20  Iain Buclaw  <ibuclaw@gdcproject.org>

	PR d/88722
	* modules.cc: Include diagnostic.h.
	(register_moduleinfo): Use sorry instead of gcc_assert for targets
	without named sections.

2019-08-20  Iain Buclaw  <ibuclaw@gdcproject.org>

	* d-target.cc: Include diagnostic.h.
	(Target::_init): Set Tsize_t and Tptrdiff_t as D ushort and short if
	the target pointer size is 2.  Add sorry if the pointer size is not
	either 2, 4, or 8.

2019-08-20  Iain Buclaw  <ibuclaw@gdcproject.org>

	PR d/90446
	* d-lang.cc (d_type_for_mode): Check for all internal __intN types.
	(d_type_for_size): Likewise.

2019-08-20  Iain Buclaw  <ibuclaw@gdcproject.org>

	PR d/90445
	* d-builtins.cc (d_build_c_type_nodes): Test UINTMAX_TYPE for setting
	uintmax_type_node.  Set signed_size_type_node as the signed_type_for
	size_type_node.

2019-08-20  Iain Buclaw  <ibuclaw@gdcproject.org>

	PR d/90444
	* d-builtins.cc (build_frontend_type): Build anonymous RECORD_TYPE
	nodes as well, push all fields to the struct members.
	(d_build_builtins_module): Push anonymous va_list structs to the
	builtins module, naming them __builtin_va_list.
	(d_init_builtins): Use sorry instead of gcc_unreachable if va_list did
	not succeed in being represented as a D type.

2019-08-13  Richard Sandiford  <richard.sandiford@arm.com>

	PR middle-end/91421
	* intrinsics.cc (maybe_set_intrinsic): Use set_decl_built_in_function.

2019-08-11  Iain Buclaw  <ibuclaw@gdcproject.org>

	PR d/90601
	* d-convert.cc (convert_expr): Don't convert an expression to its
	original front-end type before converting to its target type.

2019-08-10  Iain Buclaw  <ibuclaw@gdcproject.org>

	PR d/91238
	* d-codegen.cc (build_address): If taking the address of a CALL_EXPR,
	wrap it in a TARGET_EXPR.

2019-08-10  Iain Buclaw  <ibuclaw@gdcproject.org>

	PR d/90893
	* runtime.cc (enum libcall_type): Rename to...
	(enum d_libcall_type): ...this.
	(get_libcall_type): Use d_libcall_type.
	(build_libcall_decl): Likewise.

2019-06-16  Iain Buclaw  <ibuclaw@gdcproject.org>

	PR d/90559
	* d-target.cc (Target::_init): Reduce max static data size to INT_MAX.

2019-06-16  Iain Buclaw  <ibuclaw@gdcproject.org>

	PR d/90651
	* typeinfo.cc (object_module): New variable.
	(make_frontend_typeinfo): Update signature.  Set temporary on
	generated TypeInfo classes.
	(create_tinfo_types): Set object_module.  Move generation of front-end
	typeinfo into ...
	(create_frontend_tinfo_types): ... New function.
	(layout_typeinfo): Call create_frontend_tinfo_types.
	(layout_classinfo): Likewise.
	(layout_cpp_typeinfo): Likewise.
	(create_typeinfo): Likewise.

2019-06-11  Richard Biener  <rguenthe@suse.de>

	d/90778
	* toir.cc (pop_label): Only queue labels in a vector.
	(cmp_labels): Label decl comparator.
	(pop_binding_level): Pop labels in DECL_UID order to avoid
	debug info differences.

2019-05-24  Nathan Sidwell  <nathan@acm.org>

	* types.cc (fixup_anonymous_offset): Use IDENTIFIER_ANON_P.
	(layout_aggregate_members): Use make_anon_name.

2019-05-16  Martin Sebor  <msebor@redhat.com>

	* d-builtins.cc (d_init_builtins): Quote keywords, operators,
	and types in diagnostics.
	* d-codegen.cc (get_array_length): Same.  Replace can't with cannot.
	* d-convert.cc (convert_expr): Same.
	* d-frontend.cc (getTypeInfoType): Quote an option name in
	a diagnostic.
	* d-lang.cc (d_handle_option): Same.
	(d_parse_file): Same.
	* decl.cc: Remove a trailing period from a diagnostic.
	* expr.cc: Use a directive for an apostrophe.
	* toir.cc: Quote keywords, operators, and types in diagnostics.
	* typeinfo.cc (build_typeinfo): Quote an option name in a diagnostic.

2019-04-25  Johannes Pfau  <johannespfau@gmail.com>

	* config-lang.in: Do not add target_libs if phobos is disabled.

2019-04-23  Iain Buclaw  <ibuclaw@gdcproject.org>
	    Robin Dapp  <rdapp@linux.ibm.com>

	* typeinfo.cc (create_typeinfo): Write typeinfo flags as uint.

2019-04-23  Iain Buclaw  <ibuclaw@gdcproject.org>

	* d-builtins.cc (d_init_versions): Add D_BetterC, D_ModuleInfo,
	D_Exceptions, D_TypeInfo as predefined version conditions.
	* d-codegen.cc (build_bounds_condition): Generate trap if D asserts
	are turned off.
	* d-frontend.cc (getTypeInfoType): Add error when -fno-rtti is set.
	* d-lang.cc (d_init_options): Initialize new front-end options.
	(d_handle_option): Handle -fdruntime, -fexceptions, and -frtti.
	(d_post_options): Turn off D runtime features if -fno-druntime is set.
	* d-spec.cc (lang_specific_driver): Handle -fdruntime.
	* d-tree.h (have_typeinfo_p): Add prototype.
	(build_typeinfo): Update prototype.
	* decl.cc (DeclVisitor::visit(StructDeclaration)): Create typeinfo
	only if TypeInfo exists.
	(DeclVisitor::visit(ClassDeclaration)): Likewise.
	(DeclVisitor::visit(InterfaceDeclaration)): Likewise.
	(DeclVisitor::visit(EnumDeclaration)): Likewise.
	* expr.cc: Update all calls to build_typeinfo.
	* gdc.texi (Runtime Options): Document -fdruntime and -frtti.
	* lang.opt: Add -fdruntime and -frtti.
	* modules.cc (build_module_tree): Create module info only if
	ModuleInfo exists.
	* toir.cc (IRVisitor::visit(ThrowStatement)): Update test for
	-fno-exceptions.
	* typeinfo.cc (create_tinfo_types): Build internal typeinfo classes
	only if Object exists.
	(have_typeinfo_p): New function.
	(class TypeInfoVisitor): Update all calls to build_typeinfo.
	(build_typeinfo): Add error when -fno-rtti is set.

2019-04-21  Iain Buclaw  <ibuclaw@gdcproject.org>

	* decl.cc (DeclVisitor::visit(Import)): Set semanticRun after
	completion, guard against being called more than once.
	(DeclVisitor::visit(StructDeclaration)): Likewise.
	(DeclVisitor::visit(ClassDeclaration)): Likewise.
	(DeclVisitor::visit(InterfaceDeclaration)): Likewise.
	(DeclVisitor::visit(VarDeclaration)): Likewise.
	(DeclVisitor::visit(TypeInfoDeclaration)): Likewise.

2019-04-21  Iain Buclaw  <ibuclaw@gdcproject.org>

	* modules.cc (register_module_decl): Don't register unittests against
	the ModuleInfo symbol for -fbuilding-libphobos-tests.

2019-04-17  Iain Buclaw  <ibuclaw@gdcproject.org>

	* d-system.h (POSIX): Define unix as POSIX.
	(INT32_MAX, INT32_MIN, INT64_MIN, UINT32_MAX, UINT64_MAX): Provide
	fallback definitions.

2019-04-16  Iain Buclaw  <ibuclaw@gdcproject.org>

	* Make-lang.in (d.mostyclean): Clean idgen and impcvgen.
	(d/idgen): Rename to d/idgen$(build_exeext), add BUILD_LIBDEPS.
	(d/impcvgen): Rename to d/impcvgen$(build_exeext), add BUILD_LIBDEPS.
	(d/id.c): Call idgen$(build_exeext).
	(d/impcnvtab.c): Call impcvgen$(build_exeext).

2019-04-14  Johannes Pfau  <johannespfau@gmail.com>
	PR d/87799
	* d-system.h (_mkdir): Forward _mkdir on MinGW to mkdir in system.h.

2019-04-12  Iain Buclaw  <ibuclaw@gdcproject.org>

	* d-tree.h (DECL_IN_UNITTEST_CONDITION_P): Define.
	* decl.cc (DeclVisitor): Add in_version_unittest_ field.
	(DeclVisitor::visit(ConditionalDeclaration)): New override.
	(DeclVisitor::visit(FuncDeclaration)): Set
	DECL_IN_UNITTEST_CONDITION_P.
	* lang.opt (-fbuilding-libphobos-tests): Add option.
	* modules.cc (current_testing_module): New static variable.
	(build_module_tree): Generate second moduleinfo symbol to hold
	reference to unittests if flag_building_libphobos_tests.
	(register_module_decl): Check DECL_IN_UNITTEST_CONDITION_P to decide
	which moduleinfo the decl should be registered against.

2019-03-31  Iain Buclaw  <ibuclaw@gdcproject.org>

	PR d/88462
	* modules.cc (layout_moduleinfo_fields): Properly align ModuleInfo,
	instead of forcing alignment to be 1.

2019-03-21  Iain Buclaw  <ibuclaw@gdcproject.org>

	PR d/89017
	* d-codegen.cc (d_decl_context): Skip over template instances when
	finding the context.
	* decl.cc (DeclVisitor::visit(TemplateDeclaration)): New override.
	(build_type_decl): Include parameters in name of template types.

2019-03-13  Iain Buclaw  <ibuclaw@gdcproject.org>

	PR d/88957
	* expr.cc (ExprVisitor::visit(VectorArrayExp)): New override.

2019-03-12  Iain Buclaw  <ibuclaw@gdcproject.org>

	PR d/87866
	* d-system.h (realpath): Redefine as lrealpath.

2019-03-12  Iain Buclaw  <ibuclaw@gdcproject.org>

	* d-lang.cc (d_init_options): Set global.params.cplusplus to C++14.
	* d-target.cc (Target::cppFundamentalType): New method.

2019-03-09  Iain Buclaw  <ibuclaw@gdcproject.org>

	PR d/89041
	* d-codegen.cc (get_frame_for_symbol): Delegate literals defined in
	global scope don't have a frame pointer.

2019-03-01  Iain Buclaw  <ibuclaw@gdcproject.org>

	* d-builtins.cc (d_init_versions): Add CppRuntime_Gcc as predefined
	version condition.

2019-02-14  Maya Rashish  <coypu@sdf.org>

	* d-system.h: NetBSD is POSIX.

2019-02-14  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	PR d/87864
	* lang.opt (dstartfiles): New option.
	* d-spec.cc (need_spec): New variable.
	(lang_specific_driver) <OPT_dstartfiles>: Enable need_spec.
	(lang_specific_pre_link): Also load libgphobos.spec if need_spec.

2019-01-26  Iain Buclaw  <ibuclaw@gdcproject.org>

	PR d/89042
	* decl.cc (DeclVisitor::visit(VarDeclaration)): Don't assert if
	handling a void initialized manifest constant.

2019-01-21  Iain Buclaw  <ibuclaw@gdcproject.org>

	* d-frontend.cc (Compiler::paintAsType): Update for new signature.

2019-01-20  Iain Buclaw  <ibuclaw@gdcproject.org>

	* d-builtins.cc (d_init_versions): Check value of
	STACK_GROWS_DOWNWARD.

2019-01-20  Iain Buclaw  <ibuclaw@gdcproject.org>

	* d-codegen.cc (identity_compare_p): Return false if seen built-in
	type with padding.
	(build_float_identity): Moved here from expr.cc.
	(lower_struct_comparison): Handle real and complex types.
	* d-tree.h (build_float_identity): New.
	* expr.cc (build_float_identity): Move to d-codegen.cc.

2019-01-20  Johannes Pfau  <johannespfau@gmail.com>

	* expr.cc (build_float_identity): New function.
	(ExprVisitor::visit(IdentityExp)): Add support for complex types.

2019-01-16  Iain Buclaw  <ibuclaw@gdcproject.org>

	PR d/87824
	* d-lang.cc (d_post_options): Disable implicit
	-forder-blocks-and-partition.

2019-01-16  Iain Buclaw  <ibuclaw@gdcproject.org>

	* d-codegen.cc (build_typeof_null_value): New function.
	* d-tree.h (build_typeof_null_value): Declare.
	* d-convert.cc (convert_expr): Use build_typeof_null_value.
	* expr.cc (ExprVisitor::visit(NullExp)): Likewise.

2019-01-15  Richard Sandiford  <richard.sandiford@arm.com>

	PR inline-asm/52813
	* lang.opt (Wdeprecated): Reference common.opt instead of c.opt.

2019-01-12  Iain Buclaw  <ibuclaw@gdcproject.org>

	* README.gcc: New file.

2019-01-01  Jakub Jelinek  <jakub@redhat.com>

	Update copyright years.

	* gdc.texi: Bump @copyrights-d year.

Copyright (C) 2019 Free Software Foundation, Inc.

Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
notice and this notice are preserved.
