Commit Graph

768 Commits

Author SHA1 Message Date
Jonathan Wakely
67a1cb2ad1 top-level: Fix comment about --enable-libstdcxx in configure
The custom option for enabling/disabling libstdc++ is not spelled the
same as the directory name:

AC_ARG_ENABLE(libstdcxx,
AS_HELP_STRING([--disable-libstdcxx],
  [do not build libstdc++-v3 directory])

The comment referring to it later use the wrong name.

ChangeLog:

	* configure.ac: Fix incorrect option in comment.
	* configure: Regenerate.
2022-03-14 13:08:02 +00:00
Iain Buclaw
7c6ae994fb config: Add check whether D compiler works (PR103528)
As well as checking for the existence of a GDC compiler, also validate
that it has also been built with libphobos, otherwise warn or fail with
the message that GDC is required to build d.

config/ChangeLog:

	PR d/103528
	* acx.m4 (ACX_PROG_GDC): Add check whether D compiler works.

ChangeLog:

	* configure: Regenerate.
2021-12-21 21:29:35 +01:00
H.J. Lu
ab18659afc Revert "Sync with binutils: GCC: Pass --plugin to AR and RANLIB"
This reverts commit bf8cdd3511.
2021-12-15 20:45:58 -08:00
H.J. Lu
4a5e71f234 Sync with binutils: Support the PGO build for binutils+gdb
Sync with binutils for building binutils with LTO:

1dbde357be3 Add missing changes to Makefile.tpl
af019bfde9b Support the PGO build for binutils+gdb

Add the --enable-pgo-build[=lto] configure option.  When binutils+gdb
is not built together with GCC, --enable-pgo-build enables the PGO build:

1. First build with -fprofile-generate.
2. Use "make maybe-check-*" to generate profiling data and pass -i to make
to ignore errors when generating profiling data.
3. Use "make clean" to remove the previous build.
4. Rebuild with -fprofile-use.

With --enable-pgo-build=lto, -flto=jobserver -ffat-lto-objects are used
together with -fprofile-generate and -fprofile-use.  Add '+' to the command
line for recursive make to support -flto=jobserver -ffat-lto-objects.

NB: --enable-pgo-build=lto enables the PGO build with LTO while
--enable-lto enables LTO support in toolchain.

	BZ binutils/26766
	* Makefile.tpl (BUILD_CFLAGS): New.
	(CFLAGS): Append $(BUILD_CFLAGS).
	(CXXFLAGS): Likewise.
	(PGO_BUILD_GEN_FLAGS_TO_PASS): New.
	(PGO_BUILD_TRAINING_CFLAGS): Likewise.
	(PGO_BUILD_TRAINING_CXXFLAGS): Likewise.
	(PGO_BUILD_TRAINING_FLAGS_TO_PASS): Likewise.
	(PGO_BUILD_TRAINING_MFLAGS): Likewise.
	(PGO_BUILD_USE_FLAGS_TO_PASS): Likewise.
	(PGO-TRAINING-TARGETS): Likewise.
	(PGO_BUILD_TRAINING): Likewise.
	(all): Add '+' to the command line for recursive make.  Support
	the PGO build.
	* configure.ac: Add --enable-pgo-build[=lto].
	AC_SUBST PGO_BUILD_GEN_CFLAGS, PGO_BUILD_USE_CFLAGS and
	PGO_BUILD_LTO_CFLAGS.  Enable the PGO build in Makefile.
	* Makefile.in: Regenerated.
	* configure: Likewise.
2021-12-15 14:20:49 -08:00
H.J. Lu
bf8cdd3511 Sync with binutils: GCC: Pass --plugin to AR and RANLIB
Sync with binutils for building binutils with LTO:

50ad1254d50 GCC: Pass --plugin to AR and RANLIB

Detect GCC LTO plugin.  Pass --plugin to AR and RANLIB to support LTO
build.

ChangeLog:

	* Makefile.tpl (AR): Add @AR_PLUGIN_OPTION@
	(RANLIB): Add @RANLIB_PLUGIN_OPTION@.
	* configure.ac: Include config/gcc-plugin.m4.
	AC_SUBST AR_PLUGIN_OPTION and RANLIB_PLUGIN_OPTION.
	* libtool.m4 (_LT_CMD_OLD_ARCHIVE): Pass --plugin to AR and
	RANLIB if possible.
	* Makefile.in: Regenerated.
	* configure: Likewise.

config/

	* gcc-plugin.m4 (GCC_PLUGIN_OPTION): New.

libiberty/

	* Makefile.in (AR): Add @AR_PLUGIN_OPTION@
	(RANLIB): Add @RANLIB_PLUGIN_OPTION@.
	(configure_deps): Depend on ../config/gcc-plugin.m4.
	* configure.ac: AC_SUBST AR_PLUGIN_OPTION and
	RANLIB_PLUGIN_OPTION.
	* aclocal.m4: Regenerated.
	* configure: Likewise.

zlib/

	* configure: Regenerated.
2021-12-15 14:18:10 -08:00
Pekka Seppänen
c841dc0a4d Adjust CPP_FOR_BUILD
Hi.

CPP/CPPFLAGS were changed by commit 84401ce5fb.  That commit uses CPP as a default for CPP_FOR_BUILD.  Unless CPP is defined, GNU make defaults CPP as `$(CC) -E'.  Given the context, this is now incorrect, since CC_FOR_BUILD should be used.

Fixes PR103011.

-- Pekka

gcc/Changelog:

	* configure: Regenerate.
	* configure.ac: For CPP_FOR_BUILD use $(CC_FOR_BUILD) -E instead of
	$(CPP).
2021-12-02 15:59:37 -05:00
Iain Buclaw
5fee5ec362 d: Import dmd b8384668f, druntime e6caaab9, phobos 5ab9ad256 (v2.098.0-beta.1)
The D front-end is now itself written in D, in order to build GDC, you
will need a working GDC compiler (GCC version 9.1 or later).

GCC changes:

    - Add support for bootstrapping the D front-end.

These add the required components in order to have a D front-end written
in D itself.  Because the compiler front-end only depends on the core
runtime modules, only libdruntime is built for the bootstrap stages.

D front-end changes:

    - Import dmd v2.098.0-beta.1.

Druntime changes:

    - Import druntime v2.098.0-beta.1.

Phobos changes:

    - Import phobos v2.098.0-beta.1.

The jump from v2.076.1 to v2.098.0 covers nearly 4 years worth of
development on the D programming language and run-time libraries.

ChangeLog:

	* Makefile.def: Add bootstrap to libbacktrace, libphobos, zlib, and
	libatomic.
	* Makefile.in: Regenerate.
	* Makefile.tpl (POSTSTAGE1_HOST_EXPORTS): Fix command for GDC.
	(STAGE1_CONFIGURE_FLAGS): Add --with-libphobos-druntime-only if
	target-libphobos-bootstrap.
	(STAGE2_CONFIGURE_FLAGS): Likewise.
	* configure: Regenerate.
	* configure.ac: Add support for bootstrapping D front-end.

config/ChangeLog:

	* acx.m4 (ACX_PROG_GDC): New m4 function.

gcc/ChangeLog:

	* Makefile.in (GDC): New variable.
	(GDCFLAGS): New variable.
	* configure: Regenerate.
	* configure.ac: Add call to ACX_PROG_GDC.  Substitute GDCFLAGS.

gcc/d/ChangeLog:

	* dmd/MERGE: Merge upstream dmd b8384668f.
	* Make-lang.in (d-warn): Use strict warnings.
	(DMD_WARN_CXXFLAGS): Remove.
	(DMD_COMPILE): Remove.
	(CHECKING_DFLAGS): Define.
	(WARN_DFLAGS): Define.
	(ALL_DFLAGS): Define.
	(DCOMPILE.base): Define.
	(DCOMPILE): Define.
	(DPOSTCOMPILE): Define.
	(DLINKER): Define.
	(DLLINKER): Define.
	(D_FRONTEND_OBJS): Add new dmd front-end objects.
	(D_GENERATED_SRCS): Remove.
	(D_GENERATED_OBJS): Remove.
	(D_ALL_OBJS): Remove D_GENERATED_OBJS.
	(d21$(exeext)): Build using DLLINKER and -static-libphobos.
	(d.tags): Remove dmd/*.c and dmd/root/*.c.
	(d.mostlyclean): Remove D_GENERATED_SRCS, d/idgen$(build_exeext),
	d/impcnvgen$(build_exeext).
	(D_INCLUDES): Include $(srcdir)/d/dmd/res.
	(CFLAGS-d/id.o): Remove.
	(CFLAGS-d/impcnvtab.o): Remove.
	(d/%.o): Build using DCOMPILE and DPOSTCOMPILE.  Update dependencies
	from d/dmd/%.c to d/dmd/%.d.
	(d/idgen$(build_exeext)): Remove.
	(d/impcnvgen$(build_exeext)): Remove.
	(d/id.c): Remove.
	(d/id.h): Remove.
	(d/impcnvtab.c): Remove.
	(d/%.dmdgen.o): Remove.
	(D_SYSTEM_H): Remove.
	(d/idgen.dmdgen.o): Remove.
	(d/impcnvgen.dmdgen.o): Remove.
	* config-lang.in (boot_language): New variable.
	* d-attribs.cc: Include dmd/expression.h.
	* d-builtins.cc: Include d-frontend.h.
	(build_frontend_type): Update for new front-end interface.
	(d_eval_constant_expression): Likewise.
	(d_build_builtins_module): Likewise.
	(maybe_set_builtin_1): Likewise.
	(d_build_d_type_nodes): Likewise.
	* d-codegen.cc (d_decl_context): Likewise.
	(declaration_reference_p): Likewise.
	(declaration_type): Likewise.
	(parameter_reference_p): Likewise.
	(parameter_type): Likewise.
	(get_array_length): Likewise.
	(build_delegate_cst): Likewise.
	(build_typeof_null_value): Likewise.
	(identity_compare_p): Likewise.
	(lower_struct_comparison): Likewise.
	(build_filename_from_loc): Likewise.
	(build_assert_call): Remove LIBCALL_SWITCH_ERROR.
	(build_bounds_index_condition): Call LIBCALL_ARRAYBOUNDS_INDEXP on
	bounds error.
	(build_bounds_slice_condition): Call LIBCALL_ARRAYBOUNDS_SLICEP on
	bounds error.
	(array_bounds_check): Update for new front-end interface.
	(checkaction_trap_p): Handle CHECKACTION_context.
	(get_function_type): Update for new front-end interface.
	(d_build_call): Likewise.
	* d-compiler.cc: Remove include of dmd/scope.h.
	(Compiler::genCmain): Remove.
	(Compiler::paintAsType): Update for new front-end interface.
	(Compiler::onParseModule): Likewise.
	* d-convert.cc (convert_expr): Remove call to LIBCALL_ARRAYCAST.
	(convert_for_rvalue): Update for new front-end interface.
	(convert_for_assignment): Likewise.
	(convert_for_condition): Likewise.
	(d_array_convert): Likewise.
	* d-diagnostic.cc (error): Remove.
	(errorSupplemental): Remove.
	(warning): Remove.
	(warningSupplemental): Remove.
	(deprecation): Remove.
	(deprecationSupplemental): Remove.
	(message): Remove.
	(vtip): New.
	* d-frontend.cc (global): Remove.
	(Global::_init): Remove.
	(Global::startGagging): Remove.
	(Global::endGagging): Remove.
	(Global::increaseErrorCount): Remove.
	(Loc::Loc): Remove.
	(Loc::toChars): Remove.
	(Loc::equals): Remove.
	(isBuiltin): Update for new front-end interface.
	(eval_builtin): Likewise.
	(getTypeInfoType): Likewise.
	(inlineCopy): Remove.
	* d-incpath.cc: Include d-frontend.h.
	(add_globalpaths): Call d_gc_malloc to allocate Strings.
	(add_filepaths): Likewise.
	* d-lang.cc: Include dmd/id.h, dmd/root/file.h, d-frontend.h.  Remove
	include of dmd/mars.h, id.h.
	(entrypoint_module): Remove.
	(entrypoint_root_module): Remove.
	(deps_write_string): Update for new front-end interface.
	(deps_write): Likewise.
	(d_init_options): Call rt_init.  Remove setting global params that are
	default initialized by the front-end.
	(d_handle_option): Handle OPT_fcheckaction_, OPT_fdump_c___spec_,
	OPT_fdump_c___spec_verbose, OPT_fextern_std_, OPT_fpreview,
	OPT_revert, OPT_fsave_mixins_, and OPT_ftransition.
	(d_post_options): Propagate dip1021 and dip1000 preview flags to
	dip25, and flag_diagnostics_show_caret to printErrorContext.
	(d_add_entrypoint_module): Remove.
	(d_parse_file): Update for new front-end interface.
	(d_type_promotes_to): Likewise.
	(d_types_compatible_p): Likewise.
	* d-longdouble.cc (CTFloat::zero): Remove.
	(CTFloat::one): Remove.
	(CTFloat::minusone): Remove.
	(CTFloat::half): Remove.
	* d-system.h (POSIX): Remove.
	(realpath): Remove.
	(isalpha): Remove.
	(isalnum): Remove.
	(isdigit): Remove.
	(islower): Remove.
	(isprint): Remove.
	(isspace): Remove.
	(isupper): Remove.
	(isxdigit): Remove.
	(tolower): Remove.
	(_mkdir): Remove.
	(INT32_MAX): Remove.
	(INT32_MIN): Remove.
	(INT64_MIN): Remove.
	(UINT32_MAX): Remove.
	(UINT64_MAX): Remove.
	* d-target.cc: Include calls.h.
	(target): Remove.
	(define_float_constants): Remove initialization of snan.
	(Target::_init): Update for new front-end interface.
	(Target::isVectorTypeSupported): Likewise.
	(Target::isVectorOpSupported): Remove cases for unordered operators.
	(TargetCPP::typeMangle): Update for new front-end interface.
	(TargetCPP::parameterType): Likewise.
	(Target::systemLinkage): Likewise.
	(Target::isReturnOnStack): Likewise.
	(Target::isCalleeDestroyingArgs): Define.
	(Target::preferPassByRef): Define.
	* d-tree.h (d_add_entrypoint_module): Remove.
	* decl.cc (gcc_attribute_p): Update for new front-end interface.
	(apply_pragma_crt): Define.
	(DeclVisitor::visit(PragmaDeclaration *)): Handle pragmas
	crt_constructor and crt_destructor.
	(DeclVisitor::visit(TemplateDeclaration *)): Update for new front-end
	interface.
	(DeclVisitor::visit): Likewise.
	(DeclVisitor::finish_vtable): Likewise.
	(get_symbol_decl): Error if template has more than one nesting
	context.  Update for new front-end interface.
	(make_thunk): Update for new front-end interface.
	(get_vtable_decl): Likewise.
	* expr.cc (ExprVisitor::visit): Likewise.
	(build_return_dtor): Likewise.
	* imports.cc (ImportVisitor::visit): Likewise.
	* intrinsics.cc: Include dmd/expression.h.  Remove include of
	dmd/mangle.h.
	(maybe_set_intrinsic): Update for new front-end interface.
	* intrinsics.def (INTRINSIC_ROL): Update intrinsic signature.
	(INTRINSIC_ROR): Likewise.
	(INTRINSIC_ROR_TIARG): Likewise.
	(INTRINSIC_TOPREC): Likewise.
	(INTRINSIC_TOPRECL): Likewise.
	(INTRINSIC_TAN): Update intrinsic module and signature.
	(INTRINSIC_ISNAN): Likewise.
	(INTRINSIC_ISFINITE): Likewise.
	(INTRINSIC_COPYSIGN): Define intrinsic.
	(INTRINSIC_COPYSIGNI): Define intrinsic.
	(INTRINSIC_EXP): Update intrinsic module.
	(INTRINSIC_EXPM1): Likewise.
	(INTRINSIC_EXP2): Likewise.
	(INTRINSIC_LOG): Likewise.
	(INTRINSIC_LOG2): Likewise.
	(INTRINSIC_LOG10): Likewise.
	(INTRINSIC_POW): Likewise.
	(INTRINSIC_ROUND): Likewise.
	(INTRINSIC_FLOORF): Likewise.
	(INTRINSIC_FLOOR): Likewise.
	(INTRINSIC_FLOORL): Likewise.
	(INTRINSIC_CEILF): Likewise.
	(INTRINSIC_CEIL): Likewise.
	(INTRINSIC_CEILL): Likewise.
	(INTRINSIC_TRUNC): Likewise.
	(INTRINSIC_FMIN): Likewise.
	(INTRINSIC_FMAX): Likewise.
	(INTRINSIC_FMA): Likewise.
	(INTRINSIC_VA_ARG): Update intrinsic signature.
	(INTRINSIC_VASTART): Likewise.
	* lang.opt (fcheck=): Add alternate aliases for contract switches.
	(fcheckaction=): New option.
	(check_action): New Enum and EnumValue entries.
	(fdump-c++-spec-verbose): New option.
	(fdump-c++-spec=): New option.
	(fextern-std=): New option.
	(extern_stdcpp): New Enum and EnumValue entries
	(fpreview=): New options.
	(frevert=): New options.
	(fsave-mixins): New option.
	(ftransition=): Update options.
	* modules.cc (get_internal_fn): Replace Prot with Visibility.
	(build_internal_fn): Likewise.
	(build_dso_cdtor_fn): Likewise.
	(build_module_tree): Remove check for __entrypoint module.
	* runtime.def (P5): Define.
	(ARRAYBOUNDS_SLICEP): Define.
	(ARRAYBOUNDS_INDEXP): Define.
	(NEWTHROW): Define.
	(ADCMP2): Remove.
	(ARRAYCAST): Remove.
	(SWITCH_STRING): Remove.
	(SWITCH_USTRING): Remove.
	(SWITCH_DSTRING): Remove.
	(SWITCH_ERROR): Remove.
	* toir.cc (IRVisitor::visit): Update for new front-end interface.
	(IRVisitor::check_previous_goto): Remove checks for case and default
	statements.
	(IRVisitor::visit(SwitchStatement *)): Remove handling of string
	switch conditions.
	* typeinfo.cc: Include d-frontend.h.
	(get_typeinfo_kind): Update for new front-end interface.
	(make_frontend_typeinfo): Likewise.
	(TypeInfoVisitor::visit): Likewise.
	(builtin_typeinfo_p): Likewise.
	(get_typeinfo_decl): Likewise.
	(build_typeinfo): Likewise.
	* types.cc (valist_array_p): Likewise.
	(make_array_type): Likewise.
	(merge_aggregate_types): Likewise.
	(TypeVisitor::visit(TypeBasic *)): Likewise.
	(TypeVisitor::visit(TypeFunction *)): Likewise.
	(TypeVisitor::visit(TypeStruct *)): Update comment.
	* verstr.h: Removed.
	* d-frontend.h: New file.

gcc/po/ChangeLog:

	* EXCLUDES: Remove d/dmd sources from list.

gcc/testsuite/ChangeLog:

	* gdc.dg/Wcastresult2.d: Update test.
	* gdc.dg/asm1.d: Likewise.
	* gdc.dg/asm2.d: Likewise.
	* gdc.dg/asm3.d: Likewise.
	* gdc.dg/gdc282.d: Likewise.
	* gdc.dg/imports/gdc170.d: Likewise.
	* gdc.dg/intrinsics.d: Likewise.
	* gdc.dg/pr101672.d: Likewise.
	* gdc.dg/pr90650a.d: Likewise.
	* gdc.dg/pr90650b.d: Likewise.
	* gdc.dg/pr94777a.d: Likewise.
	* gdc.dg/pr95250.d: Likewise.
	* gdc.dg/pr96869.d: Likewise.
	* gdc.dg/pr98277.d: Likewise.
	* gdc.dg/pr98457.d: Likewise.
	* gdc.dg/simd1.d: Likewise.
	* gdc.dg/simd2a.d: Likewise.
	* gdc.dg/simd2b.d: Likewise.
	* gdc.dg/simd2c.d: Likewise.
	* gdc.dg/simd2d.d: Likewise.
	* gdc.dg/simd2e.d: Likewise.
	* gdc.dg/simd2f.d: Likewise.
	* gdc.dg/simd2g.d: Likewise.
	* gdc.dg/simd2h.d: Likewise.
	* gdc.dg/simd2i.d: Likewise.
	* gdc.dg/simd2j.d: Likewise.
	* gdc.dg/simd7951.d: Likewise.
	* gdc.dg/torture/gdc309.d: Likewise.
	* gdc.dg/torture/pr94424.d: Likewise.
	* gdc.dg/torture/pr94777b.d: Likewise.
	* lib/gdc-utils.exp (gdc-convert-args): Handle new compiler options.
	(gdc-convert-test): Handle CXXFLAGS, EXTRA_OBJC_SOURCES, and ARG_SETS
	test directives.
	(gdc-do-test): Only import modules in the test run directory.
	* gdc.dg/pr94777c.d: New test.
	* gdc.dg/pr96156b.d: New test.
	* gdc.dg/pr96157c.d: New test.
	* gdc.dg/simd_ctfe.d: New test.
	* gdc.dg/torture/simd17344.d: New test.
	* gdc.dg/torture/simd20052.d: New test.
	* gdc.dg/torture/simd6.d: New test.
	* gdc.dg/torture/simd7.d: New test.

libphobos/ChangeLog:

	* libdruntime/MERGE: Merge upstream druntime e6caaab9.
	* libdruntime/Makefile.am (D_EXTRA_FLAGS): Build libdruntime with
	-fpreview=dip1000, -fpreview=fieldwise, and -fpreview=dtorfields.
	(ALL_DRUNTIME_SOURCES): Add DRUNTIME_DSOURCES_STDCXX.
	(DRUNTIME_DSOURCES): Update list of C binding modules.
	(DRUNTIME_DSOURCES_STDCXX): Likewise.
	(DRUNTIME_DSOURCES_LINUX): Likewise.
	(DRUNTIME_DSOURCES_OPENBSD): Likewise.
	(DRUNTIME_DISOURCES): Remove __entrypoint.di.
	* libdruntime/Makefile.in: Regenerated.
	* libdruntime/__entrypoint.di: Removed.
	* libdruntime/gcc/deh.d (_d_isbaseof): Update signature.
	(_d_createTrace): Likewise.
	(__gdc_begin_catch): Remove reference to the exception.
	(_d_throw): Increment reference count of thrown object before unwind.
	(__gdc_personality): Chain exceptions with  Throwable.chainTogether.
	* libdruntime/gcc/emutls.d: Update imports.
	* libdruntime/gcc/sections/elf.d: Update imports.
	(DSO.moduleGroup): Update signature.
	* libdruntime/gcc/sections/macho.d: Update imports.
	(DSO.moduleGroup): Update signature.
	* libdruntime/gcc/sections/pecoff.d: Update imports.
	(DSO.moduleGroup): Update signature.
	* src/MERGE: Merge upstream phobos 5ab9ad256.
	* src/Makefile.am (D_EXTRA_DFLAGS): Add -fpreview=dip1000 and
	-fpreview=dtorfields flags.
	(PHOBOS_DSOURCES): Update list of std modules.
	* src/Makefile.in: Regenerate.
	* testsuite/lib/libphobos.exp (libphobos-dg-test): Handle assembly
	compile types.
	(dg-test): Override.
	(additional_prunes): Define.
	(libphobos-dg-prune): Filter any additional_prunes set by tests.
	* testsuite/libphobos.aa/test_aa.d: Update test.
	* testsuite/libphobos.druntime/druntime.exp (version_flags): Add
	-fversion=CoreUnittest.
	* testsuite/libphobos.druntime_shared/druntime_shared.exp
	(version_flags): Add -fversion=CoreUnittest -fversion=Shared.
	* testsuite/libphobos.exceptions/unknown_gc.d: Update test.
	* testsuite/libphobos.hash/test_hash.d: Update test.
	* testsuite/libphobos.phobos/phobos.exp (version_flags): Add
	-fversion=StdUnittest
	* testsuite/libphobos.phobos_shared/phobos_shared.exp (version_flags):
	Likewise.
	* testsuite/libphobos.shared/host.c: Update test.
	* testsuite/libphobos.shared/load.d: Update test.
	* testsuite/libphobos.shared/load_13414.d: Update test.
	* testsuite/libphobos.thread/fiber_guard_page.d: Update test.
	* testsuite/libphobos.thread/tlsgc_sections.d: Update test.
	* testsuite/testsuite_flags.in: Add -fpreview=dip1000 to --gdcflags.
	* testsuite/libphobos.shared/link_mod_collision.d: Removed.
	* testsuite/libphobos.shared/load_mod_collision.d: Removed.
	* testsuite/libphobos.betterc/betterc.exp: New test.
	* testsuite/libphobos.config/config.exp: New test.
	* testsuite/libphobos.gc/gc.exp: New test.
	* testsuite/libphobos.imports/imports.exp: New test.
	* testsuite/libphobos.lifetime/lifetime.exp: New test.
	* testsuite/libphobos.unittest/unittest.exp: New test.
2021-11-30 16:53:28 +01:00
Iain Sandoe
a1d2b16202 configure, Darwin: Set appropriate defaults for host-shared.
Darwin x86_64 and aarch64 platforms are PIC (shared) by default,
and user-space code must be built in this mode.  The patch
ensures that this is set correctly and applies a default when
--enable-host-shared is not set.

Signed-off-by: Iain Sandoe <iain@sandoe.co.uk>

ChangeLog:

	* configure: Regenerate.
	* configure.ac: Ensure that PIC (shared) defaults are set
	correctly for Darwin.
2021-11-16 19:44:51 +00:00
Richard Purdie
84401ce5fb [PATCH 1/5] Makefile.in: Ensure build CPP/CPPFLAGS is used for build targets
During cross compiling, CPP is being set to the target compiler even for
build targets. As an example, when building a cross compiler targetting
mingw, the config.log for libiberty in
build.x86_64-pokysdk-mingw32.i586-poky-linux/build-x86_64-linux/libiberty/config.log
shows:

configure:3786: checking how to run the C preprocessor
configure:3856: result: x86_64-pokysdk-mingw32-gcc -E --sysroot=[sysroot]/x86_64-nativesdk-mingw32-pokysdk-mingw32
configure:3876: x86_64-pokysdk-mingw32-gcc -E --sysroot=[sysroot]/x86_64-nativesdk-mingw32-pokysdk-mingw32 conftest.c
configure:3876: $? = 0

This is libiberty being built for the build environment, not the target one
(i.e. in build-x86_64-linux). As such it should be using the build environment's
gcc and not the target one. In the mingw case the system headers are quite
different leading to build failures related to not being able to include a
process.h file for pem-unix.c.

Further analysis shows the same issue occuring for CPPFLAGS too.

Fix this by adding support for CPP_FOR_BUILD and CPPFLAGS_FOR_BUILD which
for example, avoids mixing the mingw headers for host binaries on linux
systems.

2021-10-27 Richard Purdie <richard.purdie@linuxfoundation.org>

ChangeLog:

	* Makefile.tpl: Add CPP_FOR_BUILD and CPPFLAGS_FOR_BUILD support
	* Makefile.in: Regenerate.
	* configure: Regenerate.
	* configure.ac: Add CPP_FOR_BUILD and CPPFLAGS_FOR_BUILD support

gcc/ChangeLog:

	* configure: Regenerate.
	* configure.ac: Use CPPFLAGS_FOR_BUILD for GMPINC

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-10-28 10:42:49 -04:00
Andrew Burgess
dc614a838e top-level configure: setup target_configdirs based on repository
The top-level configure script is shared between the gcc repository
and the binutils-gdb repository.

The target_configdirs variable in the configure.ac script, defines
sub-directories that contain components that should be built for the
target using the target tools.

Some components, e.g. zlib, are built as both host and target
libraries.

This causes problems for binutils-gdb.  If we run 'make all' in the
binutils-gdb repository we end up trying to build a target version of
the zlib library, which requires the target compiler be available.
Often the target compiler isn't immediately available, and so the
build fails.

The problem with zlib impacted a previous attempt to synchronise the
top-level configure scripts from gcc to binutils-gdb, see this thread:

  https://sourceware.org/pipermail/binutils/2019-May/107094.html

And I'm in the process of importing libbacktrace in to binutils-gdb,
which is also a host and target library, and triggers the same issues.

I believe that for binutils-gdb, at least at the moment, there are no
target libraries that we need to build.

In the configure script we build three lists of things we want to
build, $configdirs, $build_configdirs, and $target_configdirs, we also
build two lists of things we don't want to build, $skipdirs and
$noconfigdirs.  We then remove anything that is in the lists of things
not to build, from the list of things that should be built.

My proposal is to add everything in target_configdirs into skipdirs,
if the source tree doesn't contain a gcc/ sub-directory.  The result
is that for binutils-gdb no target tools or libraries will be built,
while for the gcc repository, nothing should change.

If a user builds a unified source tree, then the target tools and
libraries should still be built as the gcc/ directory will be present.

I've tested a build of gcc on x86-64, and the same set of target
libraries still seem to get built.  On binutils-gdb this change
resolves the issues with 'make all'.

ChangeLog:

	* configure: Regenerate.
	* configure.ac (skipdirs): Add the contents of target_configdirs if
	we are not building gcc.
2021-09-28 09:43:36 +01:00
Iain Sandoe
54258e22b0 Darwin, config: Revise host config fragment.
There were two uses for the Darwin host config fragment:

The first is to arrange for targets that support mdynamic-no-pic
to be built with that enabled (since it makes a significant
difference to the compiler performance).  We can be more specific
in the application of this, since it only applies to 32b hosts
plus powerpc64-darwin9.

The second was to work around a tool bug where -fno-PIE was not
propagated to the link stage.  This second use is redundant,
since the buggy toolchain cannot bootstrap current GCC sources
anyway.

This makes the host fragment more specific and reduces the number
of toolchains for which it is included which reduces clutter in
configure lines.

Signed-off-by: Iain Sandoe <iain@sandoe.co.uk>

config/ChangeLog:

	* mh-darwin: Make this specific to handling the
	mdynamic-no-pic case.

ChangeLog:

	* configure: Regenerate.
	* configure.ac: Adjust cases for which it is necessary to
	include the Darwin host config fragment.
2021-07-09 17:35:57 +01:00
Iain Sandoe
3b5e8ee4f1 Darwin, configury : Allow for specification and detection of dsymutil.
In order to enable DWARF versions > 2 we need a sufficiently modern
version of dsymutil (in addition to the assembler / linker).  This
allows the user to configure a different path from the installed one.

In addition, there are several sources of dsymutil so we differentiate
these in order to be get accurate version information.

Signed-off-by: Iain Sandoe <iain@sandoe.co.uk>

gcc/ChangeLog:

	* configure.ac: Handle --with-dsymutil in the same way as we
	do for the assembler and linker.  (DEFAULT_DSYMUTIL): New.
	Extract the type and version for the dsymutil configured or
	found by the default searches.
	* config.in: Regenerated.
	* configure: Regenerated.
	* collect2.c (do_dsymutil): Handle locating dsymutil in the
	same way as for the assembler and  linker.
	* config/darwin.h (DSYMUTIL): Delete.
	* gcc.c: Report a configured dsymutil correctly.
	* exec-tool.in: Allow for dsymutil.

ChangeLog:

	* Makefile.def: Add dsymutil defs.
	* Makefile.in: Regenerated.
	* Makefile.tpl: Add dsymutil to flags.
	* configure: Regenerated.
	* configure.ac: Add dsymutil to target and build recipes.
2021-07-05 20:40:45 +01:00
Mike Frysinger
f14c9bd4dc sim: leverage gnulib
We use getline, so leverage gnulib to provide fallback implementation.

ChangeLog:

	* configure.ac: Add gnulib to configdirs for sim.
	* configure: Regenerate.
2021-05-29 10:59:54 -04:00
Martin Liska
814d86ddce Remove libhsail-rt.
ChangeLog:

	* Makefile.def: Remove libhsail-rt.
	* Makefile.in: Likewise.
	* configure.ac: Likewise.
	* configure: Regenerate.
	* libhsail-rt/ChangeLog: Removed.
	* libhsail-rt/Makefile.am: Removed.
	* libhsail-rt/Makefile.in: Removed.
	* libhsail-rt/README: Removed.
	* libhsail-rt/aclocal.m4: Removed.
	* libhsail-rt/configure: Removed.
	* libhsail-rt/configure.ac: Removed.
	* libhsail-rt/configure.tgt: Removed.
	* libhsail-rt/include/internal/fibers.h: Removed.
	* libhsail-rt/include/internal/phsa-queue-interface.h: Removed.
	* libhsail-rt/include/internal/phsa-rt.h: Removed.
	* libhsail-rt/include/internal/workitems.h: Removed.
	* libhsail-rt/rt/arithmetic.c: Removed.
	* libhsail-rt/rt/atomics.c: Removed.
	* libhsail-rt/rt/bitstring.c: Removed.
	* libhsail-rt/rt/fbarrier.c: Removed.
	* libhsail-rt/rt/fibers.c: Removed.
	* libhsail-rt/rt/fp16.c: Removed.
	* libhsail-rt/rt/misc.c: Removed.
	* libhsail-rt/rt/multimedia.c: Removed.
	* libhsail-rt/rt/queue.c: Removed.
	* libhsail-rt/rt/sat_arithmetic.c: Removed.
	* libhsail-rt/rt/segment.c: Removed.
	* libhsail-rt/rt/workitems.c: Removed.
	* libhsail-rt/target-config.h.in: Removed.

contrib/ChangeLog:

	* gcc_update: Remove libhsail-rt folder.
	* update-copyright.py: Likewise.
2021-05-11 15:13:30 +02:00
Nick Clifton
9174343256 Replace AC_PROG_CC with AC_PROG_CC_C99 in top level configure file.
2021-05-04  Nick Clifton  <nickc@redhat.com>

	* configure.ac (AC_PROG_CC): Replace with AC_PROG_CC_C99.
	* configure: Regenerate.
2021-05-04 13:39:04 +01:00
Tobias Burnus
fe5bfa6704 offload-defaulted: Config option to silently ignore uninstalled offload compilers
If configured with --enable-offload-defaulted, configured but not installed
offload compilers and libgomp plugins are silently ignored.  Useful for
distribution compilers where those are in separate optional packages.

2021-04-28  Jakub Jelinek  <jakub@redhat.com>
	    Tobias Burnus  <tobias@codesourcery.com>

ChangeLog:

	* configure.ac (--enable-offload-defaulted): New.
	* configure: Regenerate.

gcc/ChangeLog:

	* configure.ac (OFFLOAD_DEFAULTED): AC_DEFINE if offload-defaulted.
	* gcc.c (process_command): New variable.
	(driver::maybe_putenv_OFFLOAD_TARGETS): If OFFLOAD_DEFAULTED,
	set it if -foffload is defaulted.
	* lto-wrapper.c (OFFLOAD_TARGET_DEFAULT_ENV): Define.
	(compile_offload_image): If OFFLOAD_DEFAULTED and
	OFFLOAD_TARGET_DEFAULT is in the environment, don't fail
	if corresponding mkoffload can't be found.
	(compile_images_for_offload_targets): Likewise.  Free and clear
	offload_names if no valid offload is found.
	* config.in: Regenerate.
	* configure: Regenerate.

libgomp/ChangeLog:

	* configure.ac (OFFLOAD_DEFAULTED): AC_DEFINE if offload-defaulted.
	* target.c (gomp_load_plugin_for_device): If set and if a plugin
	can't be dlopened, silently assume it has no devices.
	* Makefile.in: Regenerate.
	* config.h.in: Regenerate.
	* configure: Regenerate.
2021-04-28 18:46:47 +02:00
Nathan Sidwell
2efd8b1ffd Add C++tools
These are the toplevel directory changes to add c++tools

ChangeLog:

	* Makefile.def
	* Makefile.in
	* Makefile.tpl
	* configure
	* configure.ac
2020-12-15 07:42:59 -08:00
Nathan Sidwell
362303298a Add libcody
In order to separate compiler from build system, C++ Modules, as
implemented in GCC introduces a communication channel between those
two entities.  This is implemented by libcody.  It is anticipated that
other implementations will also implement this protocol, or use
libcody to provide it.

	* Makefile.def: Add libcody.
	* configure.ac: Add libcody.
	* Makefile.in: Regenerated.
	* configure: Regenerated.
	gcc/
	* Makefile.in (CODYINC, CODYLIB, CODYLIB_H): New. Use them.
	libcody/
	* configure.ac: New.
	* CMakeLists.txt: New.
	* CODING.md: New.
	* CONTRIB.md: New.
	* LICENSE: New.
	* LICENSE.gcc: New.
	* Makefile.in: New.
	* Makesub.in: New.
	* README.md: New.
	* buffer.cc: New.
	* build-aux/config.guess: New.
	* build-aux/config.sub: New.
	* build-aux/install-sh: New.
	* client.cc: New.
	* cmake/libcody-config-ix.cmake
	* cody.hh: New.
	* config.h.in: New.
	* config.m4: New.
	* configure: New.
	* configure.ac: New.
	* dox.cfg.in: New.
	* fatal.cc: New.
	* gdbinit.in: New.
	* internal.hh: New.
	* netclient.cc: New.
	* netserver.cc: New.
	* packet.cc: New.
	* resolver.cc: New.
	* server.cc: New.
	* tests/01-serialize/connect.cc: New.
	* tests/01-serialize/decoder.cc: New.
	* tests/01-serialize/encoder.cc: New.
	* tests/02-comms/client-1.cc: New.
	* tests/02-comms/pivot-1.cc: New.
	* tests/02-comms/server-1.cc: New.
	* tests/Makesub.in: New.
	* tests/jouster: New.
2020-12-15 07:09:59 -08:00
Iain Buclaw
2fdf75cb70 configure: Support building D front-end on *-*-darwin*
The bootstrap has been confirmed to be succeeding, there's no need to
set it as an unsupported language.

ChangeLog:

	PR d/87788
	* configure.ac: Don't disable D for *-*-darwin*.
	* configure: Regenerate.
2020-11-29 22:09:42 +01:00
Matthew Malcomson
170e618ef5 libsanitizer: Add option to bootstrap using HWASAN
This is an analogous option to --bootstrap-asan to configure.  It allows
bootstrapping GCC using HWASAN.

For the same reasons as for ASAN we have to avoid using the HWASAN
sanitizer when compiling libiberty and the lto-plugin.

Also add a function to query whether -fsanitize=hwaddress has been
passed.

ChangeLog:

	* configure: Regenerate.
	* configure.ac: Add --bootstrap-hwasan option.

config/ChangeLog:

	* bootstrap-hwasan.mk: New file.

gcc/ChangeLog:

	* doc/install.texi: Document new option.

libiberty/ChangeLog:

	* configure: Regenerate.
	* configure.ac: Avoid using sanitizer.

lto-plugin/ChangeLog:

	* Makefile.am: Avoid using sanitizer.
	* Makefile.in: Regenerate.
2020-11-25 16:35:37 +00:00
Tobias Burnus
c0d0a722da configure: Fix in-tree building of GMP on BSD [PR97302]
ChangeLog:
	PR target/97302
	* configure.ac: Only set with_gmp to /usr/local
	if not building in tree.
	* configure: Regenerate.
2020-10-06 11:49:34 +02:00
Tobias Burnus
7ffcf5d611 configure: Also check C++11 (flags) for ${build} compiler not only for ${host}
config/ChangeLog:

	PR bootstrap/96612
	* ax_cxx_compile_stdcxx.m4: Add fourth argument to check also
	the CXX_FOR_BUILD compiler.

ChangeLog:

	PR bootstrap/96612
	* configure.ac: Run AX_CXX_COMPILE_STDCXX also for ${build} compiler,
	if not the same as ${host}.
	* configure: Regenerate.
2020-08-20 21:59:00 +02:00
Jason Merrill
ffac959725 bootstrap: Fix --disable-bootstrap with older g++.
Previously I had AX_CXX_COMPILE_STDCXX in the gcc directory configure, which
added -std=c++11 to CXX if needed, but then CXX is overridden from the
toplevel directory, so it didn't have the desired effect.  Fixed by moving
the check to the toplevel.  Currently it is only used when building GCC
without bootstrapping; other packages that share the toplevel directory
can adjust the condition if they also want to require C++11 support.

/ChangeLog:

	* configure.ac: Check AX_CXX_COMPILE_STDCXX if not bootstrapping.
	* configure: Regenerate.

gcc/ChangeLog:

	* aclocal.m4: Remove ax_cxx_compile_stdcxx.m4.
	* configure.ac: Remove AX_CXX_COMPILE_STDCXX.
	* configure: Regenerate.
2020-06-08 16:42:35 -04:00
Nicolás Bértolo
c83027f32d jit: port libgccjit to Windows
2020-05-28  Nicolas Bértolo  <nicolasbertolo@gmail.com>

/ChangeLog:
	* configure.ac: Don't require --enable-host-shared when building
	for Mingw.
	* configure: Regenerate.

2020-05-28  Nicolas Bértolo  <nicolasbertolo@gmail.com>

gcc/ChangeLog:
	* Makefile.in: don't look for libiberty in the "pic" subdirectory
	when building for Mingw. Add dependency on xgcc with the proper
	extension.

2020-05-28  Nicolas Bértolo  <nicolasbertolo@gmail.com>

gcc/c/ChangeLog:
	* Make-lang.in: Remove extra slash.

2020-05-28  Nicolas Bértolo  <nicolasbertolo@gmail.com>

gcc/jit/ChangeLog:
	* Make-lang.in: Remove extra slash. Build libgccjit.dll and its
	import library in Windows.
	* config-lang.in: Update comment about --enable-host-shared.
	* jit-w32.h: New file.
	* jit-w32.c: New file.
	(print_last_error): New function that prints the error
	string corresponding to GetLastError().
	(get_TOKEN_USER_current_user): Helper function used for getting
	the SID belonging to the current user.
	(create_directory_for_current_user): Helper function to create
	a directory with permissions such that only the current user can
	access it.
	(win_mkdtemp): Create a temporary directory using Windows APIs.
	* jit-playback.c: Do not chmod files in Windows. Use LoadLibrary,
	FreeLibrary and GetProcAddress instead of libdl.
	* jit-result.h, jit-result.c: Introduce result::handle_t to
	abstract over the types used for dynamic library handles.
	* jit-tempdir.c: Do not use mkdtemp() in Windows, use
	win_mkdtemp().
2020-05-28 14:43:58 -04:00
Jason Merrill
5329b59a2e bootstrap: Update requirement to C++11.
There was general agreement last November that we would move to allowing
C++11 features to be used in GCC 11; this patch implements that direction.

ChangeLog
2020-05-18  Jason Merrill  <jason@redhat.com>

	* configure.ac: Update bootstrap dialect to -std=c++11.

config/ChangeLog
2020-05-18  Jason Merrill  <jason@redhat.com>

	* ax_cxx_compile_stdcxx.m4: Import from autoconf archive with
	an adjustment to try the default mode.

gcc/ChangeLog
2020-05-18  Jason Merrill  <jason@redhat.com>

	* aclocal.m4: Add ax_cxx_compile_stdcxx.m4.
	* configure.ac: Use AX_CXX_COMPILE_STDCXX(11).
2020-05-18 14:29:18 -04:00
Thomas Schwinge
afa3d80e86 [gcn] Don't default to building target-libstdc++-v3 [PR92713]
... which hasn't been ported/fails to build when using newlib (with GCC commit
b73f69020f sources, and newlib commit
6d79e0a58866548f435527798fbd4a6849d05bc7, tag: newlib-3.3.0 sources):

    In file included from [...]/build-gcc-offload-amdgcn-amdhsa/amdgcn-amdhsa/libstdc++-v3/include/csetjmp:42,
                     from [...]/source-gcc/libstdc++-v3/include/precompiled/stdc++.h:42:
    [...]/source-gcc/newlib/libc/include/setjmp.h:15:6: error: variable or field 'longjmp' declared void
       15 | void longjmp (jmp_buf __jmpb, int __retval)
          |      ^~~~~~~
    [...]
    Makefile:1824: recipe for target 'amdgcn-amdhsa/bits/stdc++.h.gch/O2ggnu++0x.gch' failed
    make[3]: *** [amdgcn-amdhsa/bits/stdc++.h.gch/O2ggnu++0x.gch] Error 1

	PR target/92713
	* configure.ac ["${ENABLE_LIBSTDCXX}" = "default" && amdgcn*-*-*]
	(noconfigdirs): Add 'target-libstdc++-v3'.
	* configure: Regenerate.
2020-04-29 09:28:01 +02:00
Stephen Casner
e6cbe9654d Since the pdp11-aout target does not support gdb, gdbserver or gprof these should be excluded in configure.
PR 25830
	* configure.ac (noconfigdirs): Exclude gdb & gprof for pdp11.
	* configure: Rebuild.
2020-04-21 10:44:32 +01:00
Tom Tromey
f9d09df0f3 Merge top-level configury changes from gdb
We recently rearranged the gdb source tree to move a common library
and gdbserver to the top-level.  This made the build more uniform and
also a bit faster (due to sharing of built objects).

This patch re-syncs these changes the top-level configury back to gcc.

ChangeLog:
	* configure: Rebuild.
	* Makefile.in: Rebuild.
	* Makefile.def (gdbsupport, gdbserver): New host modules.
	(configure-gdb): Depend on all-gdbsupport.
	(all-gdb): Depend on all-gdbsupport, all-libctf.
	* configure.ac (host_tools): Add gdbserver.
	Conditionally build gdbserver and gdbsupport.
2020-04-09 06:52:55 -06:00
Tobias Burnus
29b1533acd configure - build libgomp by default for amdgcn
* configure.ac: Build libgomp by default for amdgcn.
        * configure: Regenerate.
2020-03-09 17:00:39 +01:00
Matthias Klose
4f94386981 configure.ac: Factor out common cases for compare_exclusions.
2019-12-11  Matthias Klose  <doko@ubuntu.com>

        * configure.ac: Factor out common cases for compare_exclusions.
        * configure: Regenerate.

From-SVN: r279250
2019-12-11 20:59:35 +00:00
Tobias Burnus
90ca6847bb PR 92463 - Cleanups due to minimum MPFR version bump to 3.1.0
PR middle-end/92463
        * configure.ac: Use MPFR_RNDN instead of GMP's MP_RNDN.
        * configure: Regenerate

        gcc/
        PR middle-end/92463
        * builtins.c (do_mpfr_ckconv, do_mpc_ckconv, do_mpfr_remquo,
        do_mpfr_lgamma_r, do_mpc_arg2): Use MPFR_RNDx instead of GMP_RNDx,
        mpfr_rnd_t instead of mp_rnd_t.
        * fold-const-call.c (do_mpfr_ckconv, do_mpfr_arg1, do_mpfr_sincos,
        do_mpfr_arg2, do_mpfr_arg3, do_mpc_arg1, do_mpc_arg2): Likewise.
        * gimple-ssa-sprintf.c (format_floating_max, format_floating):
        Use mpfr_exp_t instead of mp_exp_t.
        * real.c (real_from_string, dconst_e_ptr, dconst_sqrt2_ptr): Use
        MPFR_RNDx instead of GMP_RNDx.
        * realmpfr.c (real_from_mpfr, mpfr_from_real): Use mpfr_rnd_t and
        mpfr_exp_t instead mp_rnd_t and mp_exp_t, respectively.
        * realmpfr.h (real_from_mpfr, mpfr_from_real): Use mpfr_rnd_t instead
        of mp_rnd_t and remove MPFR_RNDx poisoning.
        * ubsan.c (ubsan_instrument_float_cast): MPFR_RNDx instead of GMP_RNDx.

        fortran/
        PR middle-end/92463
        * arith.c (gfc_check_real_range): Replace mp_exp_t by mpfr_exp_t.

From-SVN: r278761
2019-11-27 10:16:24 +01:00
Janne Blomqvist
aeebd94c77 Switch gcc ftp URL's to https
The FTP protocol is getting long in the tooth, and we should emphasize
HTTPS where that is available. This patch changes various gcc.gnu.org
URL's to instead use HTTPS.

For instance, kernel.org shut down FTP access in 2017, with the
explanation:

- The protocol is inefficient and requires adding awkward kludges to
  firewalls and load-balancing daemons
- FTP servers have no support for caching or accelerators, which has
  significant performance impacts
- Most software implementations have stagnated and see infrequent
  updates

ChangeLog:

2019-11-20  Janne Blomqvist  <jb@gcc.gnu.org>

        * configure.ac: Use https for gcc.gnu.org.
        * configure: Regenerated.

gcc/ChangeLog:

2019-11-20  Janne Blomqvist  <jb@gcc.gnu.org>

        * configure.ac: Use https for gcc.gnu.org.
        * configure: Regenerated.
        * doc/install.texi: Use https for gcc.gnu.org.
        * doc/sourcebuild.texi: Likewise.

gcc/testsuite/ChangeLog:

2019-11-20  Janne Blomqvist  <jb@gcc.gnu.org>

        * README: Use https for gcc.gnu.org.

libstdc++-v3/ChangeLog:

2019-11-20  Janne Blomqvist  <jb@gcc.gnu.org>

        * doc/html/api.html: Use https for gcc.gnu.org.
        * doc/xml/api.xml: Likewise.

maintainer-scripts/ChangeLog:

2019-11-20  Janne Blomqvist  <jb@gcc.gnu.org>

        * gcc_release: Use https for gcc.gnu.org.

From-SVN: r278526
2019-11-20 22:24:48 +02:00
Janne Blomqvist
8be34204de Bump minimum MPFR version to 3.1.0
Bump the minimum MPFR version to 3.1.0, released 2011-10-03. With this
requirement one can still build GCC with the operating system provided
MPFR on old but still supported operating systems like SLES 12 (MPFR
3.1.2) or RHEL/CentOS 7.x (MPFR 3.1.1).

This allows removing some code in the Fortran frontend, as well as
fixing PR 91828.

ChangeLog:

2019-11-11  Janne Blomqvist  <jb@gcc.gnu.org>

	PR fortran/91828
	* configure.ac: Bump minimum MPFR to 3.1.0, recommended to 3.1.6+.
	* configure: Regenerated.

gcc/ChangeLog:

2019-11-11  Janne Blomqvist  <jb@gcc.gnu.org>

	PR fortran/91828
	* doc/install.texi: Document that the minimum MPFR version is
	3.1.0.

gcc/fortran/ChangeLog:

2019-11-11  Janne Blomqvist  <jb@gcc.gnu.org>

	PR fortran/91828
	* simplify.c (gfc_simplify_fraction): Remove fallback path for
	MPFR < 3.1.0.

From-SVN: r278058
2019-11-11 17:59:48 +02:00
Jose E. Marchesi
91dfef9610 GCC port for eBPF
This patch series introduces a port of GCC to eBPF, which is a virtual
machine that resides in the Linux kernel.  Initially intended for
user-level packet capture and filtering, eBPF is nowadays generalized
to serve as a general-purpose infrastructure also for non-networking
purposes.

The binutils support is already upstream.  See
https://sourceware.org/ml/binutils/2019-05/msg00306.html.

ChangeLog:

	* MAINTAINERS: Add myself as the maintainer of the eBPF port.
	Remove myself from Write After Approval section.
	* configure.ac: Support for bpf-*-* targets.
	* configure: Regenerate.

contrib/ChangeLog:

	* config-list.mk (LIST): Disable go in bpf-*-* targets.

gcc/ChangeLog:

	* doc/invoke.texi (Option Summary): Cover eBPF.
	(eBPF Options): New section.
	* doc/extend.texi (BPF Built-in Functions): Likewise.
	(BPF Kernel Helpers): Likewise.
	* config.gcc: Support for bpf-*-* targets.
	* common/config/bpf/bpf-common.c: New file.
	* config/bpf/t-bpf: Likewise.
	* config/bpf/predicates.md: Likewise.
	* config/bpf/constraints.md: Likewise.
	* config/bpf/bpf.opt: Likewise.
	* config/bpf/bpf.md: Likewise.
	* config/bpf/bpf.h: Likewise.
	* config/bpf/bpf.c: Likewise.
	* config/bpf/bpf-protos.h: Likewise.
	* config/bpf/bpf-opts.h: Likewise.
	* config/bpf/bpf-helpers.h: Likewise.
	* config/bpf/bpf-helpers.def: Likewise.

gcc/testsuite/ChangeLog:

	* gcc.dg/builtins-config.h: eBPF doesn't support C99 standard
	functions.
	* gcc.c-torture/compile/20101217-1.c: Add a function prototype for
	printf.
	* gcc.c-torture/compile/20000211-1.c: Skip if target bpf-*-*.
	* gcc.c-torture/compile/poor.c: Likewise.
	* gcc.c-torture/compile/pr25311.c: Likewise.
	* gcc.c-torture/compile/pr39928-1.c: Likewise.
	* gcc.c-torture/compile/pr70061.c: Likewise.
	* gcc.c-torture/compile/920501-7.c: Likewise.
	* gcc.c-torture/compile/20000403-1.c: Likewise.
	* gcc.c-torture/compile/20001226-1.c: Likewise.
	* gcc.c-torture/compile/20030903-1.c: Likewise.
	* gcc.c-torture/compile/20031125-1.c: Likewise.
	* gcc.c-torture/compile/20040101-1.c: Likewise.
	* gcc.c-torture/compile/20040317-2.c: Likewise.
	* gcc.c-torture/compile/20040726-1.c: Likewise.
	* gcc.c-torture/compile/20051216-1.c: Likewise.
	* gcc.c-torture/compile/900313-1.c: Likewise.
	* gcc.c-torture/compile/920625-1.c: Likewise.
	* gcc.c-torture/compile/930421-1.c: Likewise.
	* gcc.c-torture/compile/930623-1.c: Likewise.
	* gcc.c-torture/compile/961004-1.c: Likewise.
	* gcc.c-torture/compile/980504-1.c: Likewise.
	* gcc.c-torture/compile/980816-1.c: Likewise.
	* gcc.c-torture/compile/990625-1.c: Likewise.
	* gcc.c-torture/compile/DFcmp.c: Likewise.
	* gcc.c-torture/compile/HIcmp.c: Likewise.
	* gcc.c-torture/compile/HIset.c: Likewise.
	* gcc.c-torture/compile/QIcmp.c: Likewise.
	* gcc.c-torture/compile/QIset.c: Likewise.
	* gcc.c-torture/compile/SFset.c: Likewise.
	* gcc.c-torture/compile/SIcmp.c: Likewise.
	* gcc.c-torture/compile/SIset.c: Likewise.
	* gcc.c-torture/compile/UHIcmp.c: Likewise.
	* gcc.c-torture/compile/UQIcmp.c: Likewise.
	* gcc.c-torture/compile/USIcmp.c: Likewise.
	* gcc.c-torture/compile/consec.c: Likewise.
	* gcc.c-torture/compile/limits-fndefn.c: Likewise.
	* gcc.c-torture/compile/lll.c: Likewise.
	* gcc.c-torture/compile/parms.c: Likewise.
	* gcc.c-torture/compile/pass.c: Likewise.
	* gcc.c-torture/compile/pp.c: Likewise.
	* gcc.c-torture/compile/pr32399.c: Likewise.
	* gcc.c-torture/compile/pr34091.c: Likewise.
	* gcc.c-torture/compile/pr34688.c: Likewise.
	* gcc.c-torture/compile/pr37258.c: Likewise.
	* gcc.c-torture/compile/pr37327.c: Likewise.
	* gcc.c-torture/compile/pr37381.c: Likewise.
	* gcc.c-torture/compile/pr37669-2.c: Likewise.
	* gcc.c-torture/compile/pr37669.c: Likewise.
	* gcc.c-torture/compile/pr37742-3.c: Likewise.
	* gcc.c-torture/compile/pr44063.c: Likewise.
	* gcc.c-torture/compile/pr48596.c: Likewise.
	* gcc.c-torture/compile/pr51856.c: Likewise.
	* gcc.c-torture/compile/pr54428.c: Likewise.
	* gcc.c-torture/compile/pr54713-1.c: Likewise.
	* gcc.c-torture/compile/pr54713-2.c: Likewise.
	* gcc.c-torture/compile/pr54713-3.c: Likewise.
	* gcc.c-torture/compile/pr55921.c: Likewise.
	* gcc.c-torture/compile/pr70240.c: Likewise.
	* gcc.c-torture/compile/pr70355.c: Likewise.
	* gcc.c-torture/compile/pr82052.c: Likewise.
	* gcc.c-torture/compile/pr83487.c: Likewise.
	* gcc.c-torture/compile/pr86122.c: Likewise.
	* gcc.c-torture/compile/pret-arg.c: Likewise.
	* gcc.c-torture/compile/regs-arg-size.c: Likewise.
	* gcc.c-torture/compile/structret.c: Likewise.
	* gcc.c-torture/compile/uuarg.c: Likewise.
	* gcc.dg/20001009-1.c: Likewise.
	* gcc.dg/20020418-1.c: Likewise.
	* gcc.dg/20020426-2.c: Likewise.
	* gcc.dg/20020430-1.c: Likewise.
	* gcc.dg/20040306-1.c: Likewise.
	* gcc.dg/20040622-2.c: Likewise.
	* gcc.dg/20050603-2.c: Likewise.
	* gcc.dg/20050629-1.c: Likewise.
	* gcc.dg/20061026.c: Likewise.
	* gcc.dg/Warray-bounds-3.c: Likewise.
	* gcc.dg/Warray-bounds-30.c: Likewise.
	* gcc.dg/Wframe-larger-than-2.c: Likewise.
	* gcc.dg/Wframe-larger-than.c: Likewise.
	* gcc.dg/Wrestrict-11.c: Likewise.
	* gcc.c-torture/compile/20000804-1.c: Likewise.
	* lib/target-supports.exp (check_effective_target_trampolines):
	Adapt to eBPF.
	(check_effective_target_indirect_jumps): Likewise.
	(check_effective_target_nonlocal_goto): Likewise.
	(check_effective_target_global_constructor): Likewise.
	(check_effective_target_return_address): Likewise.
	* gcc.target/bpf/bpf.exp: New file.
	* gcc.target/bpf/builtin-load.c: Likewise.
	* cc.target/bpf/constant-calls.c: Likewise.
	* gcc.target/bpf/diag-funargs.c: Likewise.
	* gcc.target/bpf/diag-funargs-2.c: Likewise.
	* gcc.target/bpf/diag-funargs-3.c: Likewise.
	* gcc.target/bpf/diag-indcalls.c: Likewise.
	* gcc.target/bpf/helper-bind.c: Likewise.
	* gcc.target/bpf/helper-bpf-redirect.c: Likewise.
	* gcc.target/bpf/helper-clone-redirect.c: Likewise.
	* gcc.target/bpf/helper-csum-diff.c: Likewise.
	* gcc.target/bpf/helper-csum-update.c: Likewise.
	* gcc.target/bpf/helper-current-task-under-cgroup.c: Likewise.
	* gcc.target/bpf/helper-fib-lookup.c: Likewise.
	* gcc.target/bpf/helper-get-cgroup-classid.c: Likewise.
	* gcc.target/bpf/helper-get-current-cgroup-id.c: Likewise.
	* gcc.target/bpf/helper-get-current-comm.c: Likewise.
	* gcc.target/bpf/helper-get-current-pid-tgid.c: Likewise.
	* gcc.target/bpf/helper-get-current-task.c: Likewise.
	* gcc.target/bpf/helper-get-current-uid-gid.c: Likewise.
	* gcc.target/bpf/helper-get-hash-recalc.c: Likewise.
	* gcc.target/bpf/helper-get-listener-sock.c: Likewise.
	* gcc.target/bpf/helper-get-local-storage.c: Likewise.
	* gcc.target/bpf/helper-get-numa-node-id.c: Likewise.
	* gcc.target/bpf/helper-get-prandom-u32.c: Likewise.
	* gcc.target/bpf/helper-get-route-realm.c: Likewise.
	* gcc.target/bpf/helper-get-smp-processor-id.c: Likewise.
	* gcc.target/bpf/helper-get-socket-cookie.c: Likewise.
	* gcc.target/bpf/helper-get-socket-uid.c: Likewise.
	* gcc.target/bpf/helper-getsockopt.c: Likewise.
	* gcc.target/bpf/helper-get-stack.c: Likewise.
	* gcc.target/bpf/helper-get-stackid.c: Likewise.
	* gcc.target/bpf/helper-ktime-get-ns.c: Likewise.
	* gcc.target/bpf/helper-l3-csum-replace.c: Likewise.
	* gcc.target/bpf/helper-l4-csum-replace.c: Likewise.
	* gcc.target/bpf/helper-lwt-push-encap.c: Likewise.
	* gcc.target/bpf/helper-lwt-seg6-action.c: Likewise.
	* gcc.target/bpf/helper-lwt-seg6-adjust-srh.c: Likewise.
	* gcc.target/bpf/helper-lwt-seg6-store-bytes.c: Likewise.
	* gcc.target/bpf/helper-map-delete-elem.c: Likewise.
	* gcc.target/bpf/helper-map-lookup-elem.c: Likewise.
	* gcc.target/bpf/helper-map-peek-elem.c: Likewise.
	* gcc.target/bpf/helper-map-pop-elem.c: Likewise.
	* gcc.target/bpf/helper-map-push-elem.c: Likewise.
	* gcc.target/bpf/helper-map-update-elem.c: Likewise.
	* gcc.target/bpf/helper-msg-apply-bytes.c: Likewise.
	* gcc.target/bpf/helper-msg-cork-bytes.c: Likewise.
	* gcc.target/bpf/helper-msg-pop-data.c: Likewise.
	* gcc.target/bpf/helper-msg-pull-data.c: Likewise.
	* gcc.target/bpf/helper-msg-push-data.c: Likewise.
	* gcc.target/bpf/helper-msg-redirect-hash.c: Likewise.
	* gcc.target/bpf/helper-msg-redirect-map.c: Likewise.
	* gcc.target/bpf/helper-override-return.c: Likewise.
	* gcc.target/bpf/helper-perf-event-output.c: Likewise.
	* gcc.target/bpf/helper-perf-event-read.c: Likewise.
	* gcc.target/bpf/helper-perf-event-read-value.c: Likewise.
	* gcc.target/bpf/helper-perf-prog-read-value.c: Likewise.
	* gcc.target/bpf/helper-probe-read.c: Likewise.
	* gcc.target/bpf/helper-probe-read-str.c: Likewise.
	* gcc.target/bpf/helper-probe-write-user.c: Likewise.
	* gcc.target/bpf/helper-rc-keydown.c: Likewise.
	* gcc.target/bpf/helper-rc-pointer-rel.c: Likewise.
	* gcc.target/bpf/helper-rc-repeat.c: Likewise.
	* gcc.target/bpf/helper-redirect-map.c: Likewise.
	* gcc.target/bpf/helper-set-hash.c: Likewise.
	* gcc.target/bpf/helper-set-hash-invalid.c: Likewise.
	* gcc.target/bpf/helper-setsockopt.c: Likewise.
	* gcc.target/bpf/helper-skb-adjust-room.c: Likewise.
	* gcc.target/bpf/helper-skb-cgroup-id.c: Likewise.
	* gcc.target/bpf/helper-skb-change-head.c: Likewise.
	* gcc.target/bpf/helper-skb-change-proto.c: Likewise.
	* gcc.target/bpf/helper-skb-change-tail.c: Likewise.
	* gcc.target/bpf/helper-skb-change-type.c: Likewise.
	* gcc.target/bpf/helper-skb-ecn-set-ce.c: Likewise.
	* gcc.target/bpf/helper-skb-get-tunnel-key.c: Likewise.
	* gcc.target/bpf/helper-skb-get-tunnel-opt.c: Likewise.
	* gcc.target/bpf/helper-skb-get-xfrm-state.c: Likewise.
	* gcc.target/bpf/helper-skb-load-bytes.c: Likewise.
	* gcc.target/bpf/helper-skb-load-bytes-relative.c: Likewise.
	* gcc.target/bpf/helper-skb-pull-data.c: Likewise.
	* gcc.target/bpf/helper-skb-set-tunnel-key.c: Likewise.
	* gcc.target/bpf/helper-skb-set-tunnel-opt.c: Likewise.
	* gcc.target/bpf/helper-skb-store-bytes.c: Likewise.
	* gcc.target/bpf/helper-skb-under-cgroup.c: Likewise.
	* gcc.target/bpf/helper-skb-vlan-pop.c: Likewise.
	* gcc.target/bpf/helper-skb-vlan-push.c: Likewise.
	* gcc.target/bpf/helper-skc-lookup-tcp.c: Likewise.
	* gcc.target/bpf/helper-sk-fullsock.c: Likewise.
	* gcc.target/bpf/helper-sk-lookup-tcp.c: Likewise.
	* gcc.target/bpf/helper-sk-lookup-upd.c: Likewise.
	* gcc.target/bpf/helper-sk-redirect-hash.c: Likewise.
	* gcc.target/bpf/helper-sk-redirect-map.c: Likewise.
	* gcc.target/bpf/helper-sk-release.c: Likewise.
	* gcc.target/bpf/helper-sk-select-reuseport.c: Likewise.
	* gcc.target/bpf/helper-sk-storage-delete.c: Likewise.
	* gcc.target/bpf/helper-sk-storage-get.c: Likewise.
	* gcc.target/bpf/helper-sock-hash-update.c: Likewise.
	* gcc.target/bpf/helper-sock-map-update.c: Likewise.
	* gcc.target/bpf/helper-sock-ops-cb-flags-set.c: Likewise.
	* gcc.target/bpf/helper-spin-lock.c: Likewise.
	* gcc.target/bpf/helper-spin-unlock.c: Likewise.
	* gcc.target/bpf/helper-strtol.c: Likewise.
	* gcc.target/bpf/helper-strtoul.c: Likewise.
	* gcc.target/bpf/helper-sysctl-get-current-value.c: Likewise.
	* gcc.target/bpf/helper-sysctl-get-name.c: Likewise.
	* gcc.target/bpf/helper-sysctl-get-new-value.c: Likewise.
	* gcc.target/bpf/helper-sysctl-set-new-value.c: Likewise.
	* gcc.target/bpf/helper-tail-call.c: Likewise.
	* gcc.target/bpf/helper-tcp-check-syncookie.c: Likewise.
	* gcc.target/bpf/helper-tcp-sock.c: Likewise.
	* gcc.target/bpf/helper-trace-printk.c: Likewise.
	* gcc.target/bpf/helper-xdp-adjust-head.c: Likewise.
	* gcc.target/bpf/helper-xdp-adjust-meta.c: Likewise.
	* gcc.target/bpf/helper-xdp-adjust-tail.c: Likewise.
	* gcc.target/bpf/skb-ancestor-cgroup-id.c: Likewise.
	* gcc.target/bpf/sync-fetch-and-add.c: Likewise.

libgcc/ChangeLog:

	* config.host: Set cpu_type for bpf-*-* targets.
	* config/bpf/t-bpf: Likewise.
	* config/bpf/crtn.S: Likewise.
	* config/bpf/crti.S: New file.

From-SVN: r275506
2019-09-09 12:13:23 +02:00
Tom Tromey
aac9103b0e Add --with-static-standard-libraries to the top level
gdb should normally not be linked with -static-libstdc++.  Currently
this has not caused problems, but it's incompatible with catching an
exception thrown from a shared library -- and a subsequent patch
changes gdb to do just this.

This patch adds a new --with-static-standard-libraries flag to the
top-level configure.  It defaults to "auto", which means enabled if
gcc is being built, and disabled otherwise.

ChangeLog
2019-08-19  Tom Tromey  <tom@tromey.com>

	* configure: Rebuild.
	* configure.ac: Add --with-static-standard-libraries.

From-SVN: r274673
2019-08-19 15:47:30 +00:00
Tom Tromey
98e5be211e Sync top-level change from gdb
This patch syncs a change to the top-level configury from gdb.  It
should not affect the gcc build at all.  Tested by rebuilding.

ChangeLog
2019-06-15  Tom Tromey  <tom@tromey.com>

	* configure.ac (host_libs): Add gnulib.
	* configure: Rebuild.
	* Makefile.def (host_modules, dependencies): Add gnulib.
	* Makefile.in: Rebuild.

From-SVN: r272332
2019-06-15 21:32:03 +00:00
Dimitar Dimitrov
8d2af3a25b Initial TI PRU GCC port
ChangeLog:

2019-06-19  Dimitar Dimitrov  <dimitar@dinux.eu>

	* configure: Regenerate.
	* configure.ac: Add PRU target.

gcc/ChangeLog:

2019-06-19  Dimitar Dimitrov  <dimitar@dinux.eu>

	* common/config/pru/pru-common.c: New file.
	* config.gcc: Add PRU target.
	* config/pru/alu-zext.md: New file.
	* config/pru/constraints.md: New file.
	* config/pru/predicates.md: New file.
	* config/pru/pru-opts.h: New file.
	* config/pru/pru-passes.c: New file.
	* config/pru/pru-pragma.c: New file.
	* config/pru/pru-protos.h: New file.
	* config/pru/pru.c: New file.
	* config/pru/pru.h: New file.
	* config/pru/pru.md: New file.
	* config/pru/pru.opt: New file.
	* config/pru/t-pru: New file.
	* doc/extend.texi: Document PRU pragmas.
	* doc/invoke.texi: Document PRU-specific options.
	* doc/md.texi: Document PRU asm constraints.

From-SVN: r272202
2019-06-12 19:04:24 +00:00
Nick Clifton
de6abd8514 Import these changes from the binutils/gdb repository:
2019-05-28  Nick Alcock  <nick.alcock@oracle.com>

	* Makefile.def (dependencies): configure-libctf depends on all-bfd
	and all its deps.
	* Makefile.in: Regenerated.

	2019-05-28  Nick Alcock  <nick.alcock@oracle.com>

	* Makefile.def (host_modules): Add libctf.
	* Makefile.def (dependencies): Likewise.
	libctf depends on zlib, libiberty, and bfd.
	* Makefile.in: Regenerated.
	* configure.ac (host_libs): Add libctf.
	* configure: Regenerated.

From-SVN: r272148
2019-06-11 12:05:49 +00:00
Johannes Pfau
4d024c3269 PR d/87799 Fix D build on windows hosts
PR d/87799
* d-system.h (_mkdir): Forward _mkdir on MinGW to mkdir in system.h.
* configure.ac: Remove d from unsupported languages on mingw and cygwin.
* configure: Regenerate.

From-SVN: r270349
2019-04-14 09:52:22 +00:00
Rainer Orth
7d31d33130 Enable libphobos on Solaris 11/x86
toplevel:
	* configure.ac (enable_libphobos): Check LIBPHOBOS_SUPPORTED.
	* configure: Regenerate.

	libphobos:
	* configure.tgt (LIBPHOBOS_SUPPORTED): Default to no.
	Set to yes explicitly.
	* configure.ac: Handle --enable-libphobos.
	(x86_64-*-solaris2.* | i?86-*-solaris2.*): Only mark supported
	with gas.
	(ENABLE_LIBPHOBOS): New conditional.
	* configure: Regenerate.
	* Makefile.am (SUBDIRS): Only set if ENABLE_LIBPHOBOS.
	* Makefile.in: Regenerate.

From-SVN: r270348
2019-04-14 09:38:01 +00:00
Iain Buclaw
bb50312e02 libphobos: Add target-zlib to top-level configure
Removes the building of zlib from within libphobos, using instead the
libz_convenience.a library.

ChangeLog:

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

	* configure.ac: Add target-zlib to target_libraries.
	* configure: Regenerate.

gcc/ChangeLog:

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

	* doc/install.texi: Document --with-target-system-zlib.

libphobos/ChangeLog:

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

	* m4/druntime/libraries.m4 (DRUNTIME_LIBRARIES_ZLIB): Use
	libz_convenience.a if not using system zlib.
	* Makefile.in: Regenerate.
	* configure: Regenerate.
	* libdruntime/Makefile.in: Regenerate.
	* src/Makefile.am: Remove ZLIB_CSOURCES and AM_CFLAGS.
	* src/Makefile.in: Regenerate.
	* testsuite/Makefile.in: Regenerate.

From-SVN: r270328
2019-04-12 20:13:34 +00:00
Andrew Stubbs
7431c1a196 GCN back-end config
This patch contains the configuration adjustments needed to enable the GCN
back-end.

The new configure check for dlopen is required to allow building the new
gcn-run tool.  This tool uses libdl to load the HSA runtime libraries, which
are required to run programs on the GPU.  The tool is disabled if libdl is not
available.

2019-01-17  Andrew Stubbs  <ams@codesourcery.com>
	    Kwok Cheung Yeung  <kcy@codesourcery.com>
	    Julian Brown  <julian@codesourcery.com>
	    Tom de Vries  <tom@codesourcery.com>
	    Jan Hubicka  <hubicka@ucw.cz>
	    Martin Jambor  <mjambor@suse.cz>

	* configure.ac: Likewise.
	* configure: Regenerate.
	* contrib/config-list.mk: Add amdgcn-amdhsa.

	gcc/
	* config.gcc: Add amdgcn*-*-amdhsa configuration.
	* configure.ac: Check for dlopen.
	* configure: Regenerate.


Co-Authored-By: Jan Hubicka <hubicka@ucw.cz>
Co-Authored-By: Julian Brown <julian@codesourcery.com>
Co-Authored-By: Kwok Cheung Yeung <kcy@codesourcery.com>
Co-Authored-By: Martin Jambor <mjambor@suse.cz>
Co-Authored-By: Tom de Vries <tom@codesourcery.com>

From-SVN: r268024
2019-01-17 12:34:28 +00:00
Iain Sandoe
e4a9a57277 darwin - add configuration support for 'otool'
2018-12-05  Iain Sandoe  <iain@sandoe.co.uk>

	* configure.ac (NCN_STRICT_CHECK_TOOLS): Check otool.
	(ACX_CHECK_INSTALLED_TARGET_TOOL): Likewise
	(GCC_TARGET_TOOL): Likewise.
	* Makefile.tpl (HOST_EXPORTS): Add OTOOL, OTOOL_FOR_TARGET.
	(BASE_TARGET_EXPORTS): OTOOL, export OTOOL_FOR_TARGET.
	OTOOL, OTOOL_FOR_TARGET: New substitutions. 
	(EXTRA_HOST_FLAGS, EXTRA_TARGET_FLAGS): Add OTOOL.
	* configure: Regenerate. 
	* Makefile.in: Likewise.

gcc/

	* configure.ac (gcc_cv_otool): Set.
	* configure: Regenerate.

From-SVN: r266831
2018-12-05 21:57:00 +00:00
Joseph Myers
22e0527251 Update GCC to autoconf 2.69, automake 1.15.1 (PR bootstrap/82856).
This patch updates GCC to use autoconf 2.69 and automake 1.15.1.
(That's not the latest automake version, but it's the one used by
binutils-gdb, with which consistency is desirable, and in any case
seems a useful incremental update that should make a future update to
1.16.1 easier.)

The changes are generally similar to the binutils-gdb ones, and are
copied from there where shared files and directories are involved
(there are some further changes to such shared directories, however,
which I'd expect to apply to binutils-gdb once this patch is in GCC).
Largely, obsolete AC_PREREQ calls are removed, while many
AC_LANG_SOURCE calls are added to avoid warnings from aclocal and
autoconf.  Multilib support is no longer included in core automake,
meaning that multilib.am needs copying from automake's contrib
directory into the GCC source tree.  Autoconf 2.69 has Go support, so
local copies of that support are removed.  I hope the D support will
soon be submitted to upstream autoconf so the local copy of that can
be removed in a future update.  Changes to how automake generates
runtest calls mean quotes are removed from RUNTEST definitions in five
lib*/testsuite/Makefile.am files (libatomic, libgomp, libitm,
libphobos, libvtv; some others have RUNTEST definitions without
quotes, which are still OK); libgo and libphobos also get
-Wno-override added to AM_INIT_AUTOMAKE so those overrides of RUNTEST
do not generate automake warnings.

Note that the regeneration did not include regeneration of
fixincludes/config.h.in (attempting such regeneration resulted in all
the USED_FOR_TARGET conditionals disappearing; and I don't see
anything in the fixincludes/ directory that would result in such
conditionals being generated, unlike in the gcc/ directory).  Also
note that libvtv/testsuite/other-tests/Makefile.in was not
regenerated; that directory is not listed as a subdirectory for which
Makefile.in gets regenerated by calling "automake" in libvtv/, so I'm
not sure how it's meant to be regenerated.

While I mostly fixed warnings should running aclocal / automake /
autoconf, there were various such warnings from automake in the
libgfortran, libgo, libgomp, liboffloadmic, libsanitizer, libphobos
directories that I did not fix, preferring to leave those to the
relevant subsystem maintainers.  Specifically, most of those warnings
were of the following form (example from libgfortran):

Makefile.am:48: warning: source file 'caf/single.c' is in a subdirectory,
Makefile.am:48: but option 'subdir-objects' is disabled
automake: warning: possible forward-incompatibility.
automake: At least a source file is in a subdirectory, but the 'subdir-objects'
automake: automake option hasn't been enabled.  For now, the corresponding output
automake: object file(s) will be placed in the top-level directory.  However,
automake: this behaviour will change in future Automake versions: they
will
automake: unconditionally cause object files to be placed in the same subdirectory
automake: of the corresponding sources.
automake: You are advised to start using 'subdir-objects' option throughout your
automake: project, to avoid future incompatibilities.

I think it's best for the relevant maintainers to add subdir-objects
and do any other associated Makefile.am changes needed.  In some cases
the paths in the warnings involved ../; I don't know if that adds any
extra complications to the use of subdir-objects.

I've tested this with native, cross and Canadian cross builds.  The
risk of any OS-specific issues should I hope be rather lower than if a
libtool upgrade were included (we *should* do such an upgrade at some
point, but it's more complicated - it involves identifying all our
local libtool changes to see if any aren't included in the upstream
version we update to, and reverting an upstream libtool patch that's
inappropriate for use in GCC); I think it would be better to get this
update into GCC so that people can test in different configurations
and we can fix any issues found, rather than to try to get more and
more testing done before it goes in.

top level:
2018-10-31  Joseph Myers  <joseph@codesourcery.com>

	PR bootstrap/82856
	* multilib.am: New file.  From automake.

	Merge from binutils-gdb:
	2018-06-19  Simon Marchi  <simon.marchi@ericsson.com>

	* libtool.m4: Use AC_LANG_SOURCE.
	* configure.ac: Remove AC_PREREQ, use AC_LANG_SOURCE.
	* ar-lib: New file.
	* test-driver: New file.
	* configure: Re-generate.

config:
2018-10-31  Joseph Myers  <joseph@codesourcery.com>

	PR bootstrap/82856
	* math.m4, tls.m4: Use AC_LANG_SOURCE.

	Merge from binutils-gdb:
	2018-06-19  Simon Marchi  <simon.marchi@ericsson.com>

	* override.m4 (_GCC_AUTOCONF_VERSION): Bump from 2.64 to 2.69.

fixincludes:
2018-10-31  Joseph Myers  <joseph@codesourcery.com>

	PR bootstrap/82856
	* configure.ac: Remove AC_PREREQ.
	* aclocal.m4, configure: Regenerate.

gcc:
2018-10-31  Joseph Myers  <joseph@codesourcery.com>

	PR bootstrap/82856
	* configure.ac: Remove AC_PREREQ.  Use AC_LANG_SOURCE.  Use single
	line for second argument of AC_DEFINE_UNQUOTED.
	* doc/install.texi (Tools/packages necessary for modifying GCC):
	Update to autoconf 2.69 and automake 1.15.1.
	* aclocal.m4, config.in, configure: Regenerate.

gnattools:
2018-10-31  Joseph Myers  <joseph@codesourcery.com>

	PR bootstrap/82856
	* configure.ac: Remove AC_PREREQ.
	* configure: Regenerate.

gotools:
2018-10-31  Joseph Myers  <joseph@codesourcery.com>

	PR bootstrap/82856
	* config/go.m4: Remove file.
	* Makefile.am (ACLOCAL_AMFLAGS): Do not use -I ./config.
	* configure.ac:  Remove AC_PREREQ.  Do not include config/go.m4.
	* Makefile.in, aclocal.m4, configure: Regenerate.

intl:
2018-10-31  Joseph Myers  <joseph@codesourcery.com>

	PR bootstrap/82856
	Merge from binutils-gdb:
	2018-06-19  Simon Marchi  <simon.marchi@ericsson.com>

	* configure.ac: Add AC_USE_SYSTEM_EXTENSIONS, remove AC_PREREQ.
	* configure: Re-generate.
	* config.h.in: Re-generate.
	* aclocal.m4: Re-generate.

libada:
2018-10-31  Joseph Myers  <joseph@codesourcery.com>

	PR bootstrap/82856
	* configure.ac: Remove AC_PREREQ.
	* configure: Regenerate.

libatomic:
2018-10-31  Joseph Myers  <joseph@codesourcery.com>

	PR bootstrap/82856
	* Makefile.am: Include multilib.am.
	* acinclude.m4: Use AC_LANG_SOURCE.
	* configure.ac: Remove AC_PREREQ.
	* testsuite/Makefile.am (RUNTEST): Remove quotes.
	* Makefile.in, aclocal.m4, configure, testsuite/Makefile.in:
	Regenerate.

libbacktrace:
2018-10-31  Joseph Myers  <joseph@codesourcery.com>

	PR bootstrap/82856
	* Makefile.am: Include multilib.am.
	* configure.ac: Remove AC_PREREQ.  Use AC_LANG_SOURCE.
	* Makefile.in, aclocal.m4, config.h.in, configure: Regenerate.

libcc1:
2018-10-31  Joseph Myers  <joseph@codesourcery.com>

	PR bootstrap/82856
	* configure.ac: Remove AC_PREREQ.
	* Makefile.in, aclocal.m4, configure: Regenerate.

libcpp:
2018-10-31  Joseph Myers  <joseph@codesourcery.com>

	PR bootstrap/82856
	* configure.ac: Remove AC_PREREQ.  Use AC_LANG_SOURCE.
	* aclocal.m4, config.in, configure: Regenerate.

libdecnumber:
2018-10-31  Joseph Myers  <joseph@codesourcery.com>

	PR bootstrap/82856
	Merge from binutils-gdb:
	2018-06-19  Simon Marchi  <simon.marchi@ericsson.com>

	* configure.ac: Remove AC_PREREQ.
	* configure: Re-generate.
	* aclocal.m4.

libffi:
2018-10-31  Joseph Myers  <joseph@codesourcery.com>

	PR bootstrap/82856
	* Makefile.am: Include multilib.am.
	(AUTOMAKE_OPTIONS): Add info-in-builddir.
	(CLEANFILES): Remove doc/libffi.info.
	* configure.ac: Remove AC_PREREQ.
	* Makefile.in, aclocal.m4, configure, fficonfig.h.in,
	include/Makefile.in, man/Makefile.in, testsuite/Makefile.in:
	Regenerate.

libgcc:
2018-10-31  Joseph Myers  <joseph@codesourcery.com>

	PR bootstrap/82856
	* configure.ac: Remove AC_PREREQ.  Use AC_LANG_SOURCE.
	* configure: Regenerate.

libgfortran:
2018-10-31  Joseph Myers  <joseph@codesourcery.com>

	PR bootstrap/82856
	* Makefile.am: Include multilib.am.
	* configure.ac: Remove AC_PREREQ.
	* Makefile.in, aclocal.m4, config.h.in, configure: Regenerate.

libgo [logically part of this change but omitted from the commit]:
2018-10-31  Joseph Myers  <joseph@codesourcery.com>

	PR bootstrap/82856
	* Makefile.am: Include multilib.am.
	* config/go.m4: Remove file.
	* config/libtool.m4: Use AC_LANG_SOURCE.
	* configure.ac: Remove AC_PREREQ.  Use AC_LANG_SOURCE.  Use
	-Wno-override in AM_INIT_AUTOMAKE call.
	* Makefile.in, aclocal.m4, configure, testsuite/Makefile.in:
	Regenerate.

libgomp:
2018-10-31  Joseph Myers  <joseph@codesourcery.com>

	PR bootstrap/82856
	* Makefile.am: Include multilib.am
	(AUTOMAKE_OPTIONS): Add info-in-builddir.
	(CLEANFILES): Remove libgomp.info.
	* configure.ac: Remove AC_PREREQ.
	* testsuite/Makefile.am (RUNTEST): Remove quotes.
	* Makefile.in, aclocal.m4, configure, testsuite/Makefile.in:
	Regenerate.

libhsail-rt:
2018-10-31  Joseph Myers  <joseph@codesourcery.com>

	PR bootstrap/82856
	* configure.ac: Remove AC_PREREQ.
	* Makefile.in, aclocal.m4, configure: Regenerate.

libiberty:
2018-10-31  Joseph Myers  <joseph@codesourcery.com>

	PR bootstrap/82856
	Merge from binutils-gdb:
	2018-06-19  Simon Marchi  <simon.marchi@ericsson.com>

	* configure.ac: Remove AC_PREREQ.
	* configure: Re-generate.
	* config.in: Re-generate.

libitm:
2018-10-31  Joseph Myers  <joseph@codesourcery.com>

	PR bootstrap/82856
	* Makefile.am: Include multilib.am.
	(AUTOMAKE_OPTIONS): Add info-in-builddir.
	(CLEANFILES): Remove libitm.info.
	* configure.ac: Remove AC_PREREQ.
	* testsuite/Makefile.am (RUNTEST): Remove quotes.
	* Makefile.in, aclocal.m4, configure, testsuite/Makefile.in:
	Regenerate.

libobjc:
2018-10-31  Joseph Myers  <joseph@codesourcery.com>

	PR bootstrap/82856
	* configure.ac: Remove AC_PREREQ.
	* aclocal.m4, config.h.in, configure: Regenerate.

liboffloadmic:
2018-10-31  Joseph Myers  <joseph@codesourcery.com>

	PR bootstrap/82856
	* Makefile.am: Include multilib.am.
	* configure.ac: Remove AC_PREREQ.
	* plugin/Makefile.am: Include multilib.am.
	* plugin/configure.ac: Remove AC_PREREQ.
	* Makefile.in, aclocal.m4, configure, plugin/Makefile.in,
	plugin/aclocal.m4, plugin/configure: Regenerate.

libphobos:
2018-10-31  Joseph Myers  <joseph@codesourcery.com>

	PR bootstrap/82856
	* Makefile.am: Include multilib.am.
	* configure.ac: Remove AC_PREREQ.  Use -Wno-override in
	AM_INIT_AUTOMAKE call.
	* m4/autoconf.m4: Add extra argument to AC_LANG_DEFINE call.
	* m4/druntime/os.m4: Use AC_LANG_SOURCE.
	* testsuite/Makefile.am (RUNTEST): Remove quotes.
	* Makefile.in, aclocal.m4, configure, libdruntime/Makefile.in,
	src/Makefile.in, testsuite/Makefile.in: Regenerate.

libquadmath:
2018-10-31  Joseph Myers  <joseph@codesourcery.com>

	PR bootstrap/82856
	* Makefile.am: Include multilib.am.
	(AUTOMAKE_OPTIONS): Remove 1.8.  Add info-in-builddir.
	(all-local): Define outside conditional code.
	(CLEANFILES): Remove libquadmath.info.
	* configure.ac: Remove AC_PREREQ.
	* Makefile.in, aclocal.m4, config.h.in, configure: Regenerate.

libsanitizer:
2018-10-31  Joseph Myers  <joseph@codesourcery.com>

	PR bootstrap/82856
	* Makefile.am: Include multilib.am.
	* configure.ac: Remove AC_PREREQ.  Use AC_LANG_SOURCE.
	* Makefile.in, aclocal.m4, asan/Makefile.in, configure,
	interception/Makefile.in, libbacktrace/Makefile.in,
	lsan/Makefile.in, sanitizer_common/Makefile.in, tsan/Makefile.in,
	ubsan/Makefile.in: Regenerate.

libssp:
2018-10-31  Joseph Myers  <joseph@codesourcery.com>

	PR bootstrap/82856
	* Makefile.am: Include multilib.am.
	(AUTOMAKE_OPTIONS): Remove 1.9.5.
	* configure.ac: Remove AC_PREREQ.  Quote argument to
	AC_RUN_IFELSE.
	* Makefile.in, aclocal.m4, configure: Regenerate.

libstdc++-v3:
2018-10-31  Joseph Myers  <joseph@codesourcery.com>

	PR bootstrap/82856
	* Makefile.am: Include multilib.am.
	* configure.ac: Remove AC_PREREQ.
	* Makefile.in, aclocal.m4, configure, doc/Makefile.in,
	include/Makefile.in, libsupc++/Makefile.in, po/Makefile.in,
	python/Makefile.in, src/Makefile.in, src/c++11/Makefile.in,
	src/c++17/Makefile.in, src/c++98/Makefile.in,
	src/filesystem/Makefile.in, testsuite/Makefile.in: Regenerate.

libvtv:
2018-10-31  Joseph Myers  <joseph@codesourcery.com>

	PR bootstrap/82856
	* Makefile.am: Include multilib.am.
	* configure.ac: Remove AC_PREREQ.
	* testsuite/Makefile.am (RUNTEST): Remove quotes.
	* Makefile.in, aclocal.m4, configure, testsuite/Makefile.in:
	Regenerate.

lto-plugin:
2018-10-31  Joseph Myers  <joseph@codesourcery.com>

	PR bootstrap/82856
	* configure.ac: Remove AC_PREREQ.  Use AC_LANG_SOURCE.
	* Makefile.in, aclocal.m4, config.h.in, configure: Regenerate.

zlib:
2018-10-31  Joseph Myers  <joseph@codesourcery.com>

	PR bootstrap/82856
	* Makefile.am: Include multilib.am.

	Merge from binutils-gdb:
	2018-06-19  Simon Marchi  <simon.marchi@ericsson.com>

	* configure.ac: Modernize AC_INIT call, remove AC_PREREQ.
	* Makefile.am (AUTOMAKE_OPTIONS): Remove 1.8, cygnus, add foreign.
	* Makefile.in: Re-generate.
	* aclocal.m4: Re-generate.
	* configure: Re-generate.

From-SVN: r265695
2018-10-31 17:03:16 +00:00
Iain Buclaw
260eedb901 re PR d/87788 (Support D on x86_64-apple-darwin*)
ChangeLog:

2018-10-31  Iain Buclaw  <ibuclaw@gdcproject.org>

	PR bootstrap/87788
	PR d/87799
	* configure: Rebuild.
	* configure.ac: Disable D on systems where it is known not to work.

libphobos/ChangeLog:

2018-10-31  Iain Buclaw  <ibuclaw@gdcproject.org>

	PR bootstrap/87789
	PR d/87818
	PR d/87819
	* configure.tgt: New file.

From-SVN: r265658
2018-10-31 09:44:31 +00:00
Iain Buclaw
b4c522fabd Add D front-end, libphobos library, and D2 testsuite.
ChangeLog:

	* Makefile.def (target_modules): Add libphobos.
	(flags_to_pass): Add GDC, GDCFLAGS, GDC_FOR_TARGET and
	GDCFLAGS_FOR_TARGET.
	(dependencies): Make libphobos depend on libatomic, libbacktrace
	configure, and zlib configure.
	(language): Add language d.
	* Makefile.in: Rebuild.
	* Makefile.tpl (BUILD_EXPORTS): Add GDC and GDCFLAGS.
	(HOST_EXPORTS): Add GDC.
	(POSTSTAGE1_HOST_EXPORTS): Add GDC and GDC_FOR_BUILD.
	(BASE_TARGET_EXPORTS): Add GDC.
	(GDC_FOR_BUILD, GDC, GDCFLAGS): New variables.
	(GDC_FOR_TARGET, GDC_FLAGS_FOR_TARGET): New variables.
	(EXTRA_HOST_FLAGS): Add GDC.
	(STAGE1_FLAGS_TO_PASS): Add GDC.
	(EXTRA_TARGET_FLAGS): Add GDC and GDCFLAGS.
	* config-ml.in: Treat GDC and GDCFLAGS like other compiler/flag
	environment variables.
	* configure: Rebuild.
	* configure.ac: Add target-libphobos to target_libraries.  Set and
	substitute GDC_FOR_BUILD and GDC_FOR_TARGET.

config/ChangeLog:

	* multi.m4: Set GDC.

gcc/ChangeLog:

	* Makefile.in (tm_d_file_list, tm_d_include_list): New variables.
	(TM_D_H, D_TARGET_DEF, D_TARGET_H, D_TARGET_OBJS): New variables.
	(tm_d.h, cs-tm_d.h, default-d.o): New rules.
	(d/d-target-hooks-def.h, s-d-target-hooks-def-h): New rules.
	(s-tm-texi): Also check timestamp on d-target.def.
	(generated_files): Add TM_D_H and d-target-hooks-def.h.
	(build/genhooks.o): Also depend on D_TARGET_DEF.
	* config.gcc (tm_d_file, d_target_objs, target_has_targetdm): New
	variables.
	* config/aarch64/aarch64-d.c: New file.
	* config/aarch64/aarch64-linux.h (GNU_USER_TARGET_D_CRITSEC_SIZE):
	Define.
	* config/aarch64/aarch64-protos.h (aarch64_d_target_versions): New
	prototype.
	* config/aarch64/aarch64.h (TARGET_D_CPU_VERSIONS): Define.
	* config/aarch64/t-aarch64 (aarch64-d.o): New rule.
	* config/arm/arm-d.c: New file.
	* config/arm/arm-protos.h (arm_d_target_versions): New prototype.
	* config/arm/arm.h (TARGET_D_CPU_VERSIONS): Define.
	* config/arm/linux-eabi.h (EXTRA_TARGET_D_OS_VERSIONS): Define.
	* config/arm/t-arm (arm-d.o): New rule.
	* config/default-d.c: New file.
	* config/glibc-d.c: New file.
	* config/gnu.h (GNU_USER_TARGET_D_OS_VERSIONS): Define.
	* config/i386/i386-d.c: New file.
	* config/i386/i386-protos.h (ix86_d_target_versions): New prototype.
	* config/i386/i386.h (TARGET_D_CPU_VERSIONS): Define.
	* config/i386/linux-common.h (EXTRA_TARGET_D_OS_VERSIONS): Define.
	(GNU_USER_TARGET_D_CRITSEC_SIZE): Define.
	* config/i386/t-i386 (i386-d.o): New rule.
	* config/kfreebsd-gnu.h (GNU_USER_TARGET_D_OS_VERSIONS): Define.
	* config/kopensolaris-gnu.h (GNU_USER_TARGET_D_OS_VERSIONS): Define.
	* config/linux-android.h (ANDROID_TARGET_D_OS_VERSIONS): Define.
	* config/linux.h (GNU_USER_TARGET_D_OS_VERSIONS): Define.
	* config/mips/linux-common.h (EXTRA_TARGET_D_OS_VERSIONS): Define.
	* config/mips/mips-d.c: New file.
	* config/mips/mips-protos.h (mips_d_target_versions): New prototype.
	* config/mips/mips.h (TARGET_D_CPU_VERSIONS): Define.
	* config/mips/t-mips (mips-d.o): New rule.
	* config/powerpcspe/linux.h (GNU_USER_TARGET_D_OS_VERSIONS): Define.
	* config/powerpcspe/linux64.h (GNU_USER_TARGET_D_OS_VERSIONS): Define.
	* config/powerpcspe/powerpcspe-d.c: New file.
	* config/powerpcspe/powerpcspe-protos.h (rs6000_d_target_versions):
	New prototype.
	* config/powerpcspe/powerpcspe.c (rs6000_output_function_epilogue):
	Support GNU D by using 0 as the language type.
	* config/powerpcspe/powerpcspe.h (TARGET_D_CPU_VERSIONS): Define.
	* config/powerpcspe/t-powerpcspe (powerpcspe-d.o): New rule.
	* config/riscv/riscv-d.c: New file.
	* config/riscv/riscv-protos.h (riscv_d_target_versions): New
	prototype.
	* config/riscv/riscv.h (TARGET_D_CPU_VERSIONS): Define.
	* config/riscv/t-riscv (riscv-d.o): New rule.
	* config/rs6000/linux.h (GNU_USER_TARGET_D_OS_VERSIONS): Define.
	* config/rs6000/linux64.h (GNU_USER_TARGET_D_OS_VERSIONS): Define.
	* config/rs6000/rs6000-d.c: New file.
	* config/rs6000/rs6000-protos.h (rs6000_d_target_versions): New
	prototype.
	* config/rs6000/rs6000.c (rs6000_output_function_epilogue):
	Support GNU D by using 0 as the language type.
	* config/rs6000/rs6000.h (TARGET_D_CPU_VERSIONS): Define.
	* config/rs6000/t-rs6000 (rs6000-d.o): New rule.
	* config/s390/s390-d.c: New file.
	* config/s390/s390-protos.h (s390_d_target_versions): New prototype.
	* config/s390/s390.h (TARGET_D_CPU_VERSIONS): Define.
	* config/s390/t-s390 (s390-d.o): New rule.
	* config/sparc/sparc-d.c: New file.
	* config/sparc/sparc-protos.h (sparc_d_target_versions): New
	prototype.
	* config/sparc/sparc.h (TARGET_D_CPU_VERSIONS): Define.
	* config/sparc/t-sparc (sparc-d.o): New rule.
	* config/t-glibc (glibc-d.o): New rule.
	* configure: Regenerated.
	* configure.ac (tm_d_file): New variable.
	(tm_d_file_list, tm_d_include_list, d_target_objs): Add substitutes.
	* doc/contrib.texi (Contributors): Add self for the D frontend.
	* doc/frontends.texi (G++ and GCC): Mention D as a supported language.
	* doc/install.texi (Configuration): Mention libphobos as an option for
	--enable-shared.  Mention d as an option for --enable-languages.
	(Testing): Mention check-d as a target.
	* doc/invoke.texi (Overall Options): Mention .d, .dd, and .di as file
	name suffixes.  Mention d as a -x option.
	* doc/sourcebuild.texi (Top Level): Mention libphobos.
	* doc/standards.texi (Standards): Add section on D language.
	* doc/tm.texi: Regenerated.
	* doc/tm.texi.in: Add @node for D language and ABI, and @hook for
	TARGET_CPU_VERSIONS, TARGET_D_OS_VERSIONS, and TARGET_D_CRITSEC_SIZE.
	* dwarf2out.c (is_dlang): New function.
	(gen_compile_unit_die): Use DW_LANG_D for D.
	(declare_in_namespace): Return module die for D, instead of adding
	extra declarations into the namespace.
	(gen_namespace_die): Generate DW_TAG_module for D.
	(gen_decl_die): Handle CONST_DECLSs for D.
	(dwarf2out_decl): Likewise.
	(prune_unused_types_walk_local_classes): Handle DW_tag_interface_type.
	(prune_unused_types_walk): Handle DW_tag_interface_type same as other
	kinds of aggregates.
	* gcc.c (default_compilers): Add entries for .d, .dd and .di.
	* genhooks.c: Include d/d-target.def.

gcc/po/ChangeLog:

	* EXCLUDES: Add sources from d/dmd.

gcc/testsuite/ChangeLog:

	* gcc.misc-tests/help.exp: Add D to option descriptions check.
	* gdc.dg/asan/asan.exp: New file.
	* gdc.dg/asan/gdc272.d: New test.
	* gdc.dg/compilable.d: New test.
	* gdc.dg/dg.exp: New file.
	* gdc.dg/gdc254.d: New test.
	* gdc.dg/gdc260.d: New test.
	* gdc.dg/gdc270a.d: New test.
	* gdc.dg/gdc270b.d: New test.
	* gdc.dg/gdc282.d: New test.
	* gdc.dg/gdc283.d: New test.
	* gdc.dg/imports/gdc170.d: New test.
	* gdc.dg/imports/gdc231.d: New test.
	* gdc.dg/imports/gdc239.d: New test.
	* gdc.dg/imports/gdc241a.d: New test.
	* gdc.dg/imports/gdc241b.d: New test.
	* gdc.dg/imports/gdc251a.d: New test.
	* gdc.dg/imports/gdc251b.d: New test.
	* gdc.dg/imports/gdc253.d: New test.
	* gdc.dg/imports/gdc254a.d: New test.
	* gdc.dg/imports/gdc256.d: New test.
	* gdc.dg/imports/gdc27.d: New test.
	* gdc.dg/imports/gdcpkg256/package.d: New test.
	* gdc.dg/imports/runnable.d: New test.
	* gdc.dg/link.d: New test.
	* gdc.dg/lto/lto.exp: New file.
	* gdc.dg/lto/ltotests_0.d: New test.
	* gdc.dg/lto/ltotests_1.d: New test.
	* gdc.dg/runnable.d: New test.
	* gdc.dg/simd.d: New test.
	* gdc.test/gdc-test.exp: New file.
	* lib/gdc-dg.exp: New file.
	* lib/gdc.exp: New file.

libphobos/ChangeLog:

	* Makefile.am: New file.
	* Makefile.in: New file.
	* acinclude.m4: New file.
	* aclocal.m4: New file.
	* config.h.in: New file.
	* configure: New file.
	* configure.ac: New file.
	* d_rules.am: New file.
	* libdruntime/Makefile.am: New file.
	* libdruntime/Makefile.in: New file.
	* libdruntime/__entrypoint.di: New file.
	* libdruntime/__main.di: New file.
	* libdruntime/gcc/attribute.d: New file.
	* libdruntime/gcc/backtrace.d: New file.
	* libdruntime/gcc/builtins.d: New file.
	* libdruntime/gcc/config.d.in: New file.
	* libdruntime/gcc/deh.d: New file.
	* libdruntime/gcc/libbacktrace.d.in: New file.
	* libdruntime/gcc/unwind/arm.d: New file.
	* libdruntime/gcc/unwind/arm_common.d: New file.
	* libdruntime/gcc/unwind/c6x.d: New file.
	* libdruntime/gcc/unwind/generic.d: New file.
	* libdruntime/gcc/unwind/package.d: New file.
	* libdruntime/gcc/unwind/pe.d: New file.
	* m4/autoconf.m4: New file.
	* m4/druntime.m4: New file.
	* m4/druntime/cpu.m4: New file.
	* m4/druntime/libraries.m4: New file.
	* m4/druntime/os.m4: New file.
	* m4/gcc_support.m4: New file.
	* m4/gdc.m4: New file.
	* m4/libtool.m4: New file.
	* src/Makefile.am: New file.
	* src/Makefile.in: New file.
	* src/libgphobos.spec.in: New file.
	* testsuite/Makefile.am: New file.
	* testsuite/Makefile.in: New file.
	* testsuite/config/default.exp: New file.
	* testsuite/lib/libphobos-dg.exp: New file.
	* testsuite/lib/libphobos.exp: New file.
	* testsuite/testsuite_flags.in: New file.

From-SVN: r265573
2018-10-28 19:51:47 +00:00
Alexandre Oliva
da34ca3f12 Introduce @unless/@endunless and postbootstrap Makefile targets
This patch turns dependencies of non-bootstrap targets on bootstrap
targets for bootstrap builds into dependencies on stage_last.  This
arrangement gets stage1-bubble to run from stage_last if we haven't
started a bootstrap yet, and to use the current stage otherwise.  This
was already the case of target libs, just not of non-bootstrapped host
modules.

In order to retain preexisting dependencies in non-bootstrap builds,
or in gcc-less builds, this introduces support for @unless/@endunless
pairs in Makefile.in.

There is a remaining possibility of problem if activating, in a tree
configured for bootstrap, a parallel build of two or more modules, at
least one bootstrapped and one not.  In this case, make might decide
to build stage_current and stage_last in parallel, the latter will
start a submake to build stage1 while the initial make, having
satisfied stage_current, proceeds to build the bootstrapped module in
non-bootstrapped configurations.  The two builds will overlap and will
likely conflict.  This situation does NOT arise in normal settings,
however: a post-bootstrap build of all-host all-target will indeed
activate such targets concurrently, but only after building all
bootstrapped modules successfully, and it will have both stage_last
and stage_current targets already satisfied, so the potential race
between builds will not arise.

Another remaining problem, that is slightly expanded with this patch,
is that of an interrupted build in a tree configured for bootstrap,
continued with a non-bootstrapped target.  Target modules that were
not bootstrapped would already fail to complete the current stage when
activated explicitly in the command line for a retry; host modules,
however, would attempt to build their bootstrapped dependencies, which
is what led to the problem of concurrent builds addressed with this
patch.  An interrupted or failed build might still recover correctly,
if the non-bootstrapped target is activated in both builds, because
then make will remove stage_last when its build command is
interrupted, so that it will attempt to recreate it with stage1-bubble
in the second try.  A bootstrap build, however, will not be attempting
to build stage_last, so the file will remain and the retry won't go
through stage1-bubble.  We have lived with that for target modules, so
we can probably live with that for host modules too.

Another undesirable consequence of this change is that non-boostrapped
host modules, in a tree configured for bootstrap, when activated as
make all-<module>, will build all of stage1 instead of only the
module's usual dependencies.  This is intentional and necessary to fix
the parallel-build problem.  If it's not desirable, disabling the
unnecessary bootstrap configuration will suffice to restore the
original set of dependencies.


for  ChangeLog

	* configure.ac: Introduce support for @unless/@endunless.
	* Makefile.tpl (dep-kind): Rewrite with cond; return
	postbootstrap in some cases.
	(make-postboot-dep, postboot-targets): New.
	(dependencies): Do not output postbootstrap dependencies at
	first.  Output non-target ones changed for configure to depend
	on stage_last @if gcc-bootstrap, and the original deps @unless
	gcc-bootstrap.
	* configure.in, Makefile.in: Rebuilt.

From-SVN: r262267
2018-06-30 02:47:29 +00:00
Martin Liska
31db0fe044 Remove MPX
2018-06-08  Martin Liska  <mliska@suse.cz>

	* MAINTAINERS: Remove MPX-related entries.
	* Makefile.def: Remove libmpx support.
	* Makefile.in: Likewise.
	* configure: Remove removed files.
	* configure.ac: Likewise.
	* libmpx/ChangeLog: Remove.
	* libmpx/Makefile.am: Remove.
	* libmpx/Makefile.in: Remove.
	* libmpx/acinclude.m4: Remove.
	* libmpx/aclocal.m4: Remove.
	* libmpx/config.h.in: Remove.
	* libmpx/configure: Remove.
	* libmpx/configure.ac: Remove.
	* libmpx/configure.tgt: Remove.
	* libmpx/libmpx.spec.in: Remove.
	* libmpx/mpxrt/Makefile.am: Remove.
	* libmpx/mpxrt/Makefile.in: Remove.
	* libmpx/mpxrt/libmpx.map: Remove.
	* libmpx/mpxrt/libtool-version: Remove.
	* libmpx/mpxrt/mpxrt-utils.c: Remove.
	* libmpx/mpxrt/mpxrt-utils.h: Remove.
	* libmpx/mpxrt/mpxrt.c: Remove.
	* libmpx/mpxrt/mpxrt.h: Remove.
	* libmpx/mpxwrap/Makefile.am: Remove.
	* libmpx/mpxwrap/Makefile.in: Remove.
	* libmpx/mpxwrap/libmpxwrappers.map: Remove.
	* libmpx/mpxwrap/libtool-version: Remove.
	* libmpx/mpxwrap/mpx_wrappers.c: Remove.
2018-06-08  Martin Liska  <mliska@suse.cz>

	* bootstrap-mpx.mk: Remove.
2018-06-08  Martin Liska  <mliska@suse.cz>

	* Makefile.in: Remove support for MPX (macros, related functions,
	fields in cgraph_node, ...).
	* builtin-types.def (BT_BND): Likewise.
	(BT_FN_BND_CONST_PTR): Likewise.
	(BT_FN_CONST_PTR_BND): Likewise.
	(BT_FN_VOID_PTR_BND): Likewise.
	(BT_FN_BND_CONST_PTR_SIZE): Likewise.
	(BT_FN_VOID_CONST_PTR_BND_CONST_PTR): Likewise.
	* builtins.c (expand_builtin_memcpy_with_bounds): Likewise.
	(expand_builtin_mempcpy_with_bounds): Likewise.
	(expand_builtin_memset_with_bounds): Likewise.
	(expand_builtin_memset_args): Likewise.
	(std_expand_builtin_va_start): Likewise.
	(expand_builtin): Likewise.
	(expand_builtin_with_bounds): Likewise.
	* builtins.def (DEF_BUILTIN_CHKP): Likewise.
	(DEF_LIB_BUILTIN_CHKP): Likewise.
	(DEF_EXT_LIB_BUILTIN_CHKP): Likewise.
	(DEF_CHKP_BUILTIN): Likewise.
	(BUILT_IN_MEMCPY): Likewise.
	(BUILT_IN_MEMMOVE): Likewise.
	(BUILT_IN_MEMPCPY): Likewise.
	(BUILT_IN_MEMSET): Likewise.
	(BUILT_IN_STPCPY): Likewise.
	(BUILT_IN_STRCAT): Likewise.
	(BUILT_IN_STRCHR): Likewise.
	(BUILT_IN_STRCPY): Likewise.
	(BUILT_IN_STRLEN): Likewise.
	(BUILT_IN_MEMCPY_CHK): Likewise.
	(BUILT_IN_MEMMOVE_CHK): Likewise.
	(BUILT_IN_MEMPCPY_CHK): Likewise.
	(BUILT_IN_MEMSET_CHK): Likewise.
	(BUILT_IN_STPCPY_CHK): Likewise.
	(BUILT_IN_STRCAT_CHK): Likewise.
	(BUILT_IN_STRCPY_CHK): Likewise.
	* calls.c (store_bounds): Likewise.
	(emit_call_1): Likewise.
	(special_function_p): Likewise.
	(maybe_warn_nonstring_arg): Likewise.
	(initialize_argument_information): Likewise.
	(finalize_must_preallocate): Likewise.
	(compute_argument_addresses): Likewise.
	(expand_call): Likewise.
	* cfgexpand.c (expand_call_stmt): Likewise.
	(expand_return): Likewise.
	(expand_gimple_stmt_1): Likewise.
	(pass_expand::execute): Likewise.
	* cgraph.c (cgraph_edge::redirect_call_stmt_to_callee): Likewise.
	(cgraph_node::remove): Likewise.
	(cgraph_node::dump): Likewise.
	(cgraph_node::verify_node): Likewise.
	* cgraph.h (chkp_function_instrumented_p): Likewise.
	(symtab_node::get_alias_target): Likewise.
	(cgraph_node::can_remove_if_no_direct_calls_and_refs_p): Likewise.
	(cgraph_local_p): Likewise.
	* cgraphbuild.c (cgraph_edge::rebuild_edges): Likewise.
	(cgraph_edge::rebuild_references): Likewise.
	* cgraphunit.c (varpool_node::finalize_decl): Likewise.
	(walk_polymorphic_call_targets): Likewise.
	(cgraph_node::expand_thunk): Likewise.
	(symbol_table::output_weakrefs): Likewise.
	* common/config/i386/i386-common.c (OPTION_MASK_ISA2_GENERAL_REGS_ONLY_UNSET): Likewise.
	(ix86_handle_option): Likewise.
	* config/i386/constraints.md: Likewise.
	* config/i386/i386-builtin-types.def (BND): Likewise.
	(VOID): Likewise.
	(PVOID): Likewise.
	(ULONG): Likewise.
	* config/i386/i386-builtin.def (BDESC_END): Likewise.
	(BDESC_FIRST): Likewise.
	(BDESC): Likewise.
	* config/i386/i386-c.c (ix86_target_macros_internal): Likewise.
	* config/i386/i386-protos.h (ix86_bnd_prefixed_insn_p): Likewise.
	* config/i386/i386.c (enum reg_class): Likewise.
	(ix86_target_string): Likewise.
	(ix86_option_override_internal): Likewise.
	(ix86_conditional_register_usage): Likewise.
	(ix86_valid_target_attribute_inner_p): Likewise.
	(ix86_set_indirect_branch_type): Likewise.
	(ix86_set_current_function): Likewise.
	(ix86_function_arg_regno_p): Likewise.
	(init_cumulative_args): Likewise.
	(ix86_function_arg_advance): Likewise.
	(ix86_function_arg): Likewise.
	(ix86_pass_by_reference): Likewise.
	(ix86_function_value_regno_p): Likewise.
	(ix86_function_value_1): Likewise.
	(ix86_function_value_bounds): Likewise.
	(ix86_return_in_memory): Likewise.
	(ix86_setup_incoming_vararg_bounds): Likewise.
	(ix86_va_start): Likewise.
	(indirect_thunk_need_prefix): Likewise.
	(print_reg): Likewise.
	(ix86_print_operand): Likewise.
	(ix86_expand_call): Likewise.
	(ix86_output_function_return): Likewise.
	(reg_encoded_number): Likewise.
	(BDESC_VERIFYS): Likewise.
	(ix86_init_mpx_builtins): Likewise.
	(ix86_init_builtins): Likewise.
	(ix86_emit_cmove): Likewise.
	(ix86_emit_move_max): Likewise.
	(ix86_expand_builtin): Likewise.
	(ix86_builtin_mpx_function): Likewise.
	(ix86_get_arg_address_for_bt): Likewise.
	(ix86_load_bounds): Likewise.
	(ix86_store_bounds): Likewise.
	(ix86_load_returned_bounds): Likewise.
	(ix86_store_returned_bounds): Likewise.
	(ix86_class_likely_spilled_p): Likewise.
	(ix86_hard_regno_mode_ok): Likewise.
	(x86_order_regs_for_local_alloc): Likewise.
	(ix86_mitigate_rop): Likewise.
	(ix86_bnd_prefixed_insn_p): Likewise.
	(ix86_mpx_bound_mode): Likewise.
	(ix86_make_bounds_constant): Likewise.
	(ix86_initialize_bounds): Likewise.
	(TARGET_LOAD_BOUNDS_FOR_ARG): Likewise.
	(TARGET_STORE_BOUNDS_FOR_ARG): Likewise.
	(TARGET_LOAD_RETURNED_BOUNDS): Likewise.
	(TARGET_STORE_RETURNED_BOUNDS): Likewise.
	(TARGET_CHKP_BOUND_MODE): Likewise.
	(TARGET_BUILTIN_CHKP_FUNCTION): Likewise.
	(TARGET_CHKP_FUNCTION_VALUE_BOUNDS): Likewise.
	(TARGET_CHKP_MAKE_BOUNDS_CONSTANT): Likewise.
	(TARGET_CHKP_INITIALIZE_BOUNDS): Likewise.
	* config/i386/i386.h (TARGET_MPX): Likewise.
	(TARGET_MPX_P): Likewise.
	(VALID_BND_REG_MODE): Likewise.
	(FIRST_BND_REG): Likewise.
	(LAST_BND_REG): Likewise.
	(enum reg_class): Likewise.
	(BND_REG_P): Likewise.
	(BND_REGNO_P): Likewise.
	(BNDmode): Likewise.
	(ADJUST_INSN_LENGTH): Likewise.
	* config/i386/i386.md: Likewise.
	* config/i386/i386.opt: Likewise.
	* config/i386/linux-common.h (LIBMPX_LIBS): Likewise.
	(defined): Likewise.
	(LINK_MPX): Likewise.
	(MPX_SPEC): Likewise.
	(LIBMPX_SPEC): Likewise.
	(LIBMPXWRAPPERS_SPEC): Likewise.
	(CHKP_SPEC): Likewise.
	* config/i386/predicates.md: Likewise.
	* dbxout.c (dbxout_type): Likewise.
	* doc/extend.texi: Likewise.
	* doc/invoke.texi: Likewise.
	* doc/md.texi: Likewise.
	* doc/tm.texi: Likewise.
	* doc/tm.texi.in: Likewise.
	* dwarf2out.c (is_base_type): Likewise.
	(gen_formal_types_die): Likewise.
	(gen_subprogram_die): Likewise.
	(gen_type_die_with_usage): Likewise.
	(gen_decl_die): Likewise.
	(dwarf2out_late_global_decl): Likewise.
	* expr.c (expand_assignment): Likewise.
	(emit_storent_insn): Likewise.
	(store_expr_with_bounds): Likewise.
	(store_expr): Likewise.
	(expand_expr_real_1): Likewise.
	* expr.h (store_expr_with_bounds): Likewise.
	* function.c (use_register_for_decl): Likewise.
	(struct bounds_parm_data): Likewise.
	(assign_parms_augmented_arg_list): Likewise.
	(assign_parm_find_entry_rtl): Likewise.
	(assign_parm_is_stack_parm): Likewise.
	(assign_parm_load_bounds): Likewise.
	(assign_bounds): Likewise.
	(assign_parms): Likewise.
	(expand_function_start): Likewise.
	* gcc.c (CHKP_SPEC): Likewise.
	* gimple-fold.c (gimple_fold_builtin_memory_op): Likewise.
	* gimple-ssa-warn-restrict.c (builtin_access::builtin_access): Likewise.
	(wrestrict_dom_walker::check_call): Likewise.
	* gimple.c (gimple_build_call_from_tree): Likewise.
	* gimple.h (enum gf_mask): Likewise.
	(gimple_call_with_bounds_p): Likewise.
	(gimple_call_set_with_bounds): Likewise.
	* gimplify.c (gimplify_init_constructor): Likewise.
	* ipa-cp.c (initialize_node_lattices): Likewise.
	(propagate_constants_across_call): Likewise.
	(find_more_scalar_values_for_callers_subset): Likewise.
	* ipa-hsa.c (process_hsa_functions): Likewise.
	* ipa-icf-gimple.c (func_checker::compare_gimple_call): Likewise.
	* ipa-icf.c (sem_function::merge): Likewise.
	* ipa-inline.c (early_inliner): Likewise.
	* ipa-pure-const.c (warn_function_noreturn): Likewise.
	(warn_function_cold): Likewise.
	(propagate_pure_const): Likewise.
	* ipa-ref.h (enum GTY): Likewise.
	* ipa-split.c (find_retbnd): Likewise.
	(consider_split): Likewise.
	(split_function): Likewise.
	* ipa-visibility.c (cgraph_externally_visible_p): Likewise.
	* ipa.c (walk_polymorphic_call_targets): Likewise.
	(symbol_table::remove_unreachable_nodes): Likewise.
	(process_references): Likewise.
	(cgraph_build_static_cdtor_1): Likewise.
	* lto-cgraph.c (lto_output_node): Likewise.
	(output_refs): Likewise.
	(compute_ltrans_boundary): Likewise.
	(input_overwrite_node): Likewise.
	(input_node): Likewise.
	(input_cgraph_1): Likewise.
	* params.def (PARAM_CHKP_MAX_CTOR_SIZE): Likewise.
	* passes.c (pass_manager::execute_early_local_passes): Likewise.
	(class pass_chkp_instrumentation_passes): Likewise.
	(make_pass_chkp_instrumentation_passes): Likewise.
	* passes.def: Likewise.
	* rtl.h (struct GTY): Likewise.
	(CALL_EXPR_WITH_BOUNDS_P): Likewise.
	* stor-layout.c (layout_type): Likewise.
	* symtab.c: Likewise.
	* target.def: Likewise.
	* targhooks.c (default_chkp_bound_type): Likewise.
	(default_chkp_bound_mode): Likewise.
	(default_builtin_chkp_function): Likewise.
	(default_chkp_function_value_bounds): Likewise.
	(default_chkp_make_bounds_constant): Likewise.
	(default_chkp_initialize_bounds): Likewise.
	* targhooks.h (default_chkp_bound_type): Likewise.
	(default_chkp_bound_mode): Likewise.
	(default_builtin_chkp_function): Likewise.
	(default_chkp_function_value_bounds): Likewise.
	(default_chkp_make_bounds_constant): Likewise.
	(default_chkp_initialize_bounds): Likewise.
	* toplev.c (compile_file): Likewise.
	(process_options): Likewise.
	* tree-core.h (DEF_BUILTIN): Likewise.
	(DEF_BUILTIN_CHKP): Likewise.
	* tree-inline.c (declare_return_variable): Likewise.
	(remap_gimple_stmt): Likewise.
	(copy_bb): Likewise.
	(initialize_inlined_parameters): Likewise.
	(expand_call_inline): Likewise.
	* tree-pass.h (make_pass_ipa_chkp_versioning): Likewise.
	(make_pass_ipa_chkp_early_produce_thunks): Likewise.
	(make_pass_ipa_chkp_produce_thunks): Likewise.
	(make_pass_chkp): Likewise.
	(make_pass_chkp_opt): Likewise.
	(make_pass_chkp_instrumentation_passes): Likewise.
	* tree-pretty-print.c (dump_generic_node): Likewise.
	* tree-ssa-ccp.c (insert_clobber_before_stack_restore): Likewise.
	* tree-ssa-dce.c (propagate_necessity): Likewise.
	(eliminate_unnecessary_stmts): Likewise.
	* tree-ssa-pre.c (create_expression_by_pieces): Likewise.
	* tree-ssa-sccvn.c (copy_reference_ops_from_call): Likewise.
	* tree-ssa-sccvn.h: Likewise.
	* tree-ssa-strlen.c (get_string_length): Likewise.
	(valid_builtin_call): Likewise.
	(adjust_last_stmt): Likewise.
	(handle_builtin_strchr): Likewise.
	(handle_builtin_strcpy): Likewise.
	(handle_builtin_stxncpy): Likewise.
	(handle_builtin_memcpy): Likewise.
	(handle_builtin_strcat): Likewise.
	(strlen_check_and_optimize_stmt): Likewise.
	* tree-stdarg.c (expand_ifn_va_arg_1): Likewise.
	* tree-streamer-in.c: Likewise.
	* tree-streamer.c (record_common_node): Likewise.
	* tree.c (tree_code_size): Likewise.
	(wide_int_to_tree_1): Likewise.
	(type_contains_placeholder_1): Likewise.
	(build_common_tree_nodes): Likewise.
	* tree.def (POINTER_BOUNDS_TYPE): Likewise.
	* tree.h (POINTER_BOUNDS_TYPE_P): Likewise.
	(POINTER_BOUNDS_P): Likewise.
	(BOUNDED_TYPE_P): Likewise.
	(BOUNDED_P): Likewise.
	(CALL_WITH_BOUNDS_P): Likewise.
	(pointer_bounds_type_node): Likewise.
	* value-prof.c (gimple_ic): Likewise.
	* var-tracking.c (vt_add_function_parameters): Likewise.
	* varasm.c (make_decl_rtl): Likewise.
	(assemble_start_function): Likewise.
	(output_constant): Likewise.
	(maybe_assemble_visibility): Likewise.
	* varpool.c (ctor_for_folding): Likewise.
	* chkp-builtins.def: Remove.
	* ipa-chkp.c: Remove.
	* ipa-chkp.h: Remove.
	* rtl-chkp.c: Remove.
	* rtl-chkp.h: Remove.
	* tree-chkp-opt.c: Remove.
	* tree-chkp.c: Remove.
	* tree-chkp.h: Remove.
2018-06-08  Martin Liska  <mliska@suse.cz>

	* c-attribs.c (handle_bnd_variable_size_attribute): Remove support
	for MPX (macros, related functions, fields in cgraph_node, ...).
	(handle_bnd_legacy): Likewise.
	(handle_bnd_instrument): Likewise.
	* c.opt: Likewise.
2018-06-08  Martin Liska  <mliska@suse.cz>

	* lto-partition.c (add_references_to_partition): Remove support
	for MPX (macros, related functions, fields in cgraph_node, ...).
	(add_symbol_to_partition_1): Likewise.
	(privatize_symbol_name): Likewise.
	* lto-symtab.c (lto_cgraph_replace_node): Likewise.
2018-06-08  Martin Liska  <mliska@suse.cz>

	* g++.dg/dg.exp: Do not use mpx.exp.
	* g++.dg/lto/lto.exp: Likewise.
	* g++.dg/lto/pr69729_0.C: Remove.
	* g++.dg/opt/pr71529.C: Remove.
	* g++.dg/pr63995-1.C: Remove.
	* g++.dg/pr68270.C: Remove.
	* g++.dg/pr71624.C: Remove.
	* g++.dg/pr71633.C: Remove.
	* g++.dg/pr79761.C: Remove.
	* g++.dg/pr79764.C: Remove.
	* g++.dg/pr79769.C: Remove.
	* gcc.dg/lto/chkp-privatize-1_0.c: Remove.
	* gcc.dg/lto/chkp-privatize-2_0.c: Remove.
	* gcc.dg/lto/chkp-privatize_0.c: Remove.
	* gcc.dg/lto/chkp-removed-alias_0.c: Remove.
	* gcc.dg/lto/chkp-static-bounds_0.c: Remove.
	* gcc.dg/lto/chkp-wrap-asm-name_0.c: Remove.
	* gcc.dg/lto/lto.exp: Do not use mpx.exp.
	* gcc.dg/lto/pr66221_0.c: Remove.
	* gcc.target/i386/chkp-always_inline.c: Remove.
	* gcc.target/i386/chkp-bndret.c: Remove.
	* gcc.target/i386/chkp-builtins-1.c: Remove.
	* gcc.target/i386/chkp-builtins-2.c: Remove.
	* gcc.target/i386/chkp-builtins-3.c: Remove.
	* gcc.target/i386/chkp-builtins-4.c: Remove.
	* gcc.target/i386/chkp-const-check-1.c: Remove.
	* gcc.target/i386/chkp-const-check-2.c: Remove.
	* gcc.target/i386/chkp-hidden-def.c: Remove.
	* gcc.target/i386/chkp-label-address.c: Remove.
	* gcc.target/i386/chkp-lifetime-1.c: Remove.
	* gcc.target/i386/chkp-narrow-bounds.c: Remove.
	* gcc.target/i386/chkp-pr69044.c: Remove.
	* gcc.target/i386/chkp-remove-bndint-1.c: Remove.
	* gcc.target/i386/chkp-remove-bndint-2.c: Remove.
	* gcc.target/i386/chkp-strchr.c: Remove.
	* gcc.target/i386/chkp-strlen-1.c: Remove.
	* gcc.target/i386/chkp-strlen-2.c: Remove.
	* gcc.target/i386/chkp-strlen-3.c: Remove.
	* gcc.target/i386/chkp-strlen-4.c: Remove.
	* gcc.target/i386/chkp-strlen-5.c: Remove.
	* gcc.target/i386/chkp-stropt-1.c: Remove.
	* gcc.target/i386/chkp-stropt-10.c: Remove.
	* gcc.target/i386/chkp-stropt-11.c: Remove.
	* gcc.target/i386/chkp-stropt-12.c: Remove.
	* gcc.target/i386/chkp-stropt-13.c: Remove.
	* gcc.target/i386/chkp-stropt-14.c: Remove.
	* gcc.target/i386/chkp-stropt-15.c: Remove.
	* gcc.target/i386/chkp-stropt-16.c: Remove.
	* gcc.target/i386/chkp-stropt-17.c: Remove.
	* gcc.target/i386/chkp-stropt-2.c: Remove.
	* gcc.target/i386/chkp-stropt-3.c: Remove.
	* gcc.target/i386/chkp-stropt-4.c: Remove.
	* gcc.target/i386/chkp-stropt-5.c: Remove.
	* gcc.target/i386/chkp-stropt-6.c: Remove.
	* gcc.target/i386/chkp-stropt-7.c: Remove.
	* gcc.target/i386/chkp-stropt-8.c: Remove.
	* gcc.target/i386/chkp-stropt-9.c: Remove.
	* gcc.target/i386/i386.exp: Do not use mpx.exp.
	* gcc.target/i386/indirect-thunk-11.c: Remove.
	* gcc.target/i386/indirect-thunk-12.c: Remove.
	* gcc.target/i386/indirect-thunk-attr-12.c: Remove.
	* gcc.target/i386/indirect-thunk-attr-13.c: Remove.
	* gcc.target/i386/indirect-thunk-bnd-1.c: Remove.
	* gcc.target/i386/indirect-thunk-bnd-2.c: Remove.
	* gcc.target/i386/indirect-thunk-bnd-3.c: Remove.
	* gcc.target/i386/indirect-thunk-bnd-4.c: Remove.
	* gcc.target/i386/interrupt-bnd-err-1.c: Remove.
	* gcc.target/i386/interrupt-bnd-err-2.c: Remove.
	* gcc.target/i386/mpx/alloca-1-lbv.c: Remove.
	* gcc.target/i386/mpx/alloca-1-nov.c: Remove.
	* gcc.target/i386/mpx/alloca-1-ubv.c: Remove.
	* gcc.target/i386/mpx/arg-addr-1-lbv.c: Remove.
	* gcc.target/i386/mpx/arg-addr-1-nov.c: Remove.
	* gcc.target/i386/mpx/arg-addr-1-ubv.c: Remove.
	* gcc.target/i386/mpx/bitfields-1-lbv.c: Remove.
	* gcc.target/i386/mpx/bitfields-1-nov.c: Remove.
	* gcc.target/i386/mpx/bitfields-1-ubv.c: Remove.
	* gcc.target/i386/mpx/builtin-bnd-chk-ptr-bounds-1-lbv.c: Remove.
	* gcc.target/i386/mpx/builtin-bnd-chk-ptr-bounds-1-nov.c: Remove.
	* gcc.target/i386/mpx/builtin-bnd-chk-ptr-bounds-1-ubv.c: Remove.
	* gcc.target/i386/mpx/builtin-bnd-chk-ptr-bounds-2.c: Remove.
	* gcc.target/i386/mpx/builtin-bnd-chk-ptr-lbounds-1-lbv.c: Remove.
	* gcc.target/i386/mpx/builtin-bnd-chk-ptr-lbounds-1-nov.c: Remove.
	* gcc.target/i386/mpx/builtin-bnd-chk-ptr-lbounds-2.c: Remove.
	* gcc.target/i386/mpx/builtin-bnd-chk-ptr-ubounds-1-nov.c: Remove.
	* gcc.target/i386/mpx/builtin-bnd-chk-ptr-ubounds-1-ubv.c: Remove.
	* gcc.target/i386/mpx/builtin-bnd-chk-ptr-ubounds-2.c: Remove.
	* gcc.target/i386/mpx/builtin-bnd-copy-ptr-bounds-1.c: Remove.
	* gcc.target/i386/mpx/builtin-bnd-copy-ptr-bounds-2-lbv.c: Remove.
	* gcc.target/i386/mpx/builtin-bnd-copy-ptr-bounds-2-nov.c: Remove.
	* gcc.target/i386/mpx/builtin-bnd-copy-ptr-bounds-2-ubv.c: Remove.
	* gcc.target/i386/mpx/builtin-bnd-copy-ptr-bounds-3.c: Remove.
	* gcc.target/i386/mpx/builtin-bnd-get-ptr-lbound-1.c: Remove.
	* gcc.target/i386/mpx/builtin-bnd-get-ptr-lbound-2.c: Remove.
	* gcc.target/i386/mpx/builtin-bnd-get-ptr-ubound-1.c: Remove.
	* gcc.target/i386/mpx/builtin-bnd-get-ptr-ubound-2.c: Remove.
	* gcc.target/i386/mpx/builtin-bnd-init-ptr-bounds-1.c: Remove.
	* gcc.target/i386/mpx/builtin-bnd-init-ptr-bounds-2-nov.c: Remove.
	* gcc.target/i386/mpx/builtin-bnd-init-ptr-bounds-3.c: Remove.
	* gcc.target/i386/mpx/builtin-bnd-narrow-ptr-bounds-1.c: Remove.
	* gcc.target/i386/mpx/builtin-bnd-narrow-ptr-bounds-2-lbv.c: Remove.
	* gcc.target/i386/mpx/builtin-bnd-narrow-ptr-bounds-2-nov.c: Remove.
	* gcc.target/i386/mpx/builtin-bnd-narrow-ptr-bounds-2-ubv.c: Remove.
	* gcc.target/i386/mpx/builtin-bnd-narrow-ptr-bounds-3-lbv.c: Remove.
	* gcc.target/i386/mpx/builtin-bnd-narrow-ptr-bounds-3-nov.c: Remove.
	* gcc.target/i386/mpx/builtin-bnd-narrow-ptr-bounds-3-ubv.c: Remove.
	* gcc.target/i386/mpx/builtin-bnd-narrow-ptr-bounds-4.c: Remove.
	* gcc.target/i386/mpx/builtin-bnd-null-ptr-bounds-1-bbv.c: Remove.
	* gcc.target/i386/mpx/builtin-bnd-set-ptr-bounds-1.c: Remove.
	* gcc.target/i386/mpx/builtin-bnd-set-ptr-bounds-2-lbv.c: Remove.
	* gcc.target/i386/mpx/builtin-bnd-set-ptr-bounds-2-nov.c: Remove.
	* gcc.target/i386/mpx/builtin-bnd-set-ptr-bounds-2-ubv.c: Remove.
	* gcc.target/i386/mpx/builtin-bnd-set-ptr-bounds-3.c: Remove.
	* gcc.target/i386/mpx/builtin-bnd-store-ptr-bounds-1-lbv.c: Remove.
	* gcc.target/i386/mpx/builtin-bnd-store-ptr-bounds-1-nov.c: Remove.
	* gcc.target/i386/mpx/builtin-bnd-store-ptr-bounds-1-ubv.c: Remove.
	* gcc.target/i386/mpx/builtin-bnd-store-ptr-bounds-2.c: Remove.
	* gcc.target/i386/mpx/calloc-1-lbv.c: Remove.
	* gcc.target/i386/mpx/calloc-1-nov.c: Remove.
	* gcc.target/i386/mpx/calloc-1-ubv.c: Remove.
	* gcc.target/i386/mpx/chkp-fix-calls-1.c: Remove.
	* gcc.target/i386/mpx/chkp-fix-calls-2.c: Remove.
	* gcc.target/i386/mpx/chkp-fix-calls-3.c: Remove.
	* gcc.target/i386/mpx/chkp-fix-calls-4.c: Remove.
	* gcc.target/i386/mpx/chkp-thunk-comdat-1.cc: Remove.
	* gcc.target/i386/mpx/chkp-thunk-comdat-2.cc: Remove.
	* gcc.target/i386/mpx/chkp-thunk-comdat-3.c: Remove.
	* gcc.target/i386/mpx/fastcall-1-lbv.c: Remove.
	* gcc.target/i386/mpx/fastcall-1-nov.c: Remove.
	* gcc.target/i386/mpx/fastcall-1-ubv.c: Remove.
	* gcc.target/i386/mpx/fastcall-2-lbv.c: Remove.
	* gcc.target/i386/mpx/fastcall-2-nov.c: Remove.
	* gcc.target/i386/mpx/fastcall-2-ubv.c: Remove.
	* gcc.target/i386/mpx/field-addr-1-lbv.c: Remove.
	* gcc.target/i386/mpx/field-addr-1-nov.c: Remove.
	* gcc.target/i386/mpx/field-addr-1-ubv.c: Remove.
	* gcc.target/i386/mpx/field-addr-10-lbv.c: Remove.
	* gcc.target/i386/mpx/field-addr-10-nov.c: Remove.
	* gcc.target/i386/mpx/field-addr-10-ubv.c: Remove.
	* gcc.target/i386/mpx/field-addr-2-lbv.c: Remove.
	* gcc.target/i386/mpx/field-addr-2-nov.c: Remove.
	* gcc.target/i386/mpx/field-addr-2-ubv.c: Remove.
	* gcc.target/i386/mpx/field-addr-3-lbv.c: Remove.
	* gcc.target/i386/mpx/field-addr-3-nov.c: Remove.
	* gcc.target/i386/mpx/field-addr-3-ubv.c: Remove.
	* gcc.target/i386/mpx/field-addr-4-lbv.c: Remove.
	* gcc.target/i386/mpx/field-addr-4-nov.c: Remove.
	* gcc.target/i386/mpx/field-addr-4-ubv.c: Remove.
	* gcc.target/i386/mpx/field-addr-5-lbv.c: Remove.
	* gcc.target/i386/mpx/field-addr-5-nov.c: Remove.
	* gcc.target/i386/mpx/field-addr-5-ubv.c: Remove.
	* gcc.target/i386/mpx/field-addr-6-lbv.c: Remove.
	* gcc.target/i386/mpx/field-addr-6-nov.c: Remove.
	* gcc.target/i386/mpx/field-addr-6-ubv.c: Remove.
	* gcc.target/i386/mpx/field-addr-7-lbv.c: Remove.
	* gcc.target/i386/mpx/field-addr-7-nov.c: Remove.
	* gcc.target/i386/mpx/field-addr-7-ubv.c: Remove.
	* gcc.target/i386/mpx/field-addr-8-lbv.c: Remove.
	* gcc.target/i386/mpx/field-addr-8-nov.c: Remove.
	* gcc.target/i386/mpx/field-addr-8-ubv.c: Remove.
	* gcc.target/i386/mpx/field-addr-9-lbv.c: Remove.
	* gcc.target/i386/mpx/field-addr-9-nov.c: Remove.
	* gcc.target/i386/mpx/field-addr-9-ubv.c: Remove.
	* gcc.target/i386/mpx/frame-address-1-nov.c: Remove.
	* gcc.target/i386/mpx/hard-reg-1-nov.c: Remove.
	* gcc.target/i386/mpx/hard-reg-2-lbv.c: Remove.
	* gcc.target/i386/mpx/hard-reg-2-nov.c: Remove.
	* gcc.target/i386/mpx/hard-reg-2-ubv.c: Remove.
	* gcc.target/i386/mpx/if-stmt-1-lbv.c: Remove.
	* gcc.target/i386/mpx/if-stmt-1-nov.c: Remove.
	* gcc.target/i386/mpx/if-stmt-1-ubv.c: Remove.
	* gcc.target/i386/mpx/if-stmt-2-lbv.c: Remove.
	* gcc.target/i386/mpx/if-stmt-2-nov.c: Remove.
	* gcc.target/i386/mpx/if-stmt-2-ubv.c: Remove.
	* gcc.target/i386/mpx/label-address-1.c: Remove.
	* gcc.target/i386/mpx/legacy-1-nov.c: Remove.
	* gcc.target/i386/mpx/macro.c: Remove.
	* gcc.target/i386/mpx/malloc-1-lbv.c: Remove.
	* gcc.target/i386/mpx/malloc-1-nov.c: Remove.
	* gcc.target/i386/mpx/malloc-1-ubv.c: Remove.
	* gcc.target/i386/mpx/memcpy-1.c: Remove.
	* gcc.target/i386/mpx/memmove-1.c: Remove.
	* gcc.target/i386/mpx/memmove-2.c: Remove.
	* gcc.target/i386/mpx/memmove-zero-length.c: Remove.
	* gcc.target/i386/mpx/mpx-check.h: Remove.
	* gcc.target/i386/mpx/mpx-os-support.h: Remove.
	* gcc.target/i386/mpx/mpx.exp: Remove.
	* gcc.target/i386/mpx/nested-function-1-lbv.c: Remove.
	* gcc.target/i386/mpx/nested-function-1-nov.c: Remove.
	* gcc.target/i386/mpx/nested-function-1-ubv.c: Remove.
	* gcc.target/i386/mpx/pointer-arg-1-lbv.c: Remove.
	* gcc.target/i386/mpx/pointer-arg-1-nov.c: Remove.
	* gcc.target/i386/mpx/pointer-arg-1-ubv.c: Remove.
	* gcc.target/i386/mpx/pointer-arg-2-lbv.c: Remove.
	* gcc.target/i386/mpx/pointer-arg-2-nov.c: Remove.
	* gcc.target/i386/mpx/pointer-arg-2-ubv.c: Remove.
	* gcc.target/i386/mpx/pointer-arg-3-lbv.c: Remove.
	* gcc.target/i386/mpx/pointer-arg-3-nov.c: Remove.
	* gcc.target/i386/mpx/pointer-arg-3-ubv.c: Remove.
	* gcc.target/i386/mpx/pointer-arg-4-lbv.c: Remove.
	* gcc.target/i386/mpx/pointer-arg-4-nov.c: Remove.
	* gcc.target/i386/mpx/pointer-arg-4-ubv.c: Remove.
	* gcc.target/i386/mpx/pointer-arg-5-lbv.c: Remove.
	* gcc.target/i386/mpx/pointer-arg-5-nov.c: Remove.
	* gcc.target/i386/mpx/pointer-arg-5-ubv.c: Remove.
	* gcc.target/i386/mpx/pointer-diff-1.c: Remove.
	* gcc.target/i386/mpx/pointer-store-1-lbv.c: Remove.
	* gcc.target/i386/mpx/pointer-store-1-nov.c: Remove.
	* gcc.target/i386/mpx/pointer-store-1-ubv.c: Remove.
	* gcc.target/i386/mpx/pr65508.c: Remove.
	* gcc.target/i386/mpx/pr65531.cc: Remove.
	* gcc.target/i386/mpx/pr66048.cc: Remove.
	* gcc.target/i386/mpx/pr66134.c: Remove.
	* gcc.target/i386/mpx/pr66566.c: Remove.
	* gcc.target/i386/mpx/pr66567.c: Remove.
	* gcc.target/i386/mpx/pr66568.c: Remove.
	* gcc.target/i386/mpx/pr66569.c: Remove.
	* gcc.target/i386/mpx/pr66581.c: Remove.
	* gcc.target/i386/mpx/pr68337-1.c: Remove.
	* gcc.target/i386/mpx/pr68337-2.c: Remove.
	* gcc.target/i386/mpx/pr68416.c: Remove.
	* gcc.target/i386/mpx/pr78339.c: Remove.
	* gcc.target/i386/mpx/pr79631.c: Remove.
	* gcc.target/i386/mpx/pr79633.c: Remove.
	* gcc.target/i386/mpx/pr79753.c: Remove.
	* gcc.target/i386/mpx/pr79770.c: Remove.
	* gcc.target/i386/mpx/pr79987.c: Remove.
	* gcc.target/i386/mpx/pr79988.c: Remove.
	* gcc.target/i386/mpx/realloc-1-lbv.c: Remove.
	* gcc.target/i386/mpx/realloc-1-nov.c: Remove.
	* gcc.target/i386/mpx/realloc-1-ubv.c: Remove.
	* gcc.target/i386/mpx/realloc-2-lbv.c: Remove.
	* gcc.target/i386/mpx/realloc-2-nov.c: Remove.
	* gcc.target/i386/mpx/realloc-2-ubv.c: Remove.
	* gcc.target/i386/mpx/reference-1-lbv.cpp: Remove.
	* gcc.target/i386/mpx/reference-1-nov.cpp: Remove.
	* gcc.target/i386/mpx/reference-1-ubv.cpp: Remove.
	* gcc.target/i386/mpx/reference-2-lbv.cpp: Remove.
	* gcc.target/i386/mpx/reference-2-nov.cpp: Remove.
	* gcc.target/i386/mpx/reference-2-ubv.cpp: Remove.
	* gcc.target/i386/mpx/reference-3-lbv.cpp: Remove.
	* gcc.target/i386/mpx/reference-3-nov.cpp: Remove.
	* gcc.target/i386/mpx/reference-3-ubv.cpp: Remove.
	* gcc.target/i386/mpx/reference-4-lbv.cpp: Remove.
	* gcc.target/i386/mpx/reference-4-nov.cpp: Remove.
	* gcc.target/i386/mpx/reference-4-ubv.cpp: Remove.
	* gcc.target/i386/mpx/return-pointer-1-lbv.c: Remove.
	* gcc.target/i386/mpx/return-pointer-1-nov.c: Remove.
	* gcc.target/i386/mpx/return-pointer-1-ubv.c: Remove.
	* gcc.target/i386/mpx/return-struct-1-lbv.c: Remove.
	* gcc.target/i386/mpx/return-struct-1-nov.c: Remove.
	* gcc.target/i386/mpx/return-struct-1-ubv.c: Remove.
	* gcc.target/i386/mpx/return-struct-2-lbv.c: Remove.
	* gcc.target/i386/mpx/return-struct-2-nov.c: Remove.
	* gcc.target/i386/mpx/return-struct-2-ubv.c: Remove.
	* gcc.target/i386/mpx/return-struct-3-lbv.c: Remove.
	* gcc.target/i386/mpx/return-struct-3-nov.c: Remove.
	* gcc.target/i386/mpx/return-struct-3-ubv.c: Remove.
	* gcc.target/i386/mpx/return-struct-4-lbv.c: Remove.
	* gcc.target/i386/mpx/return-struct-4-nov.c: Remove.
	* gcc.target/i386/mpx/return-struct-4-ubv.c: Remove.
	* gcc.target/i386/mpx/return-struct-5-lbv.c: Remove.
	* gcc.target/i386/mpx/return-struct-5-nov.c: Remove.
	* gcc.target/i386/mpx/return-struct-5-ubv.c: Remove.
	* gcc.target/i386/mpx/return-struct-6-lbv.c: Remove.
	* gcc.target/i386/mpx/return-struct-6-nov.c: Remove.
	* gcc.target/i386/mpx/return-struct-6-ubv.c: Remove.
	* gcc.target/i386/mpx/sincos-1-nov.c: Remove.
	* gcc.target/i386/mpx/static-array-1-lbv.c: Remove.
	* gcc.target/i386/mpx/static-array-1-nov.c: Remove.
	* gcc.target/i386/mpx/static-array-1-ubv.c: Remove.
	* gcc.target/i386/mpx/static-init-1-lbv.c: Remove.
	* gcc.target/i386/mpx/static-init-1-nov.c: Remove.
	* gcc.target/i386/mpx/static-init-1-ubv.c: Remove.
	* gcc.target/i386/mpx/static-init-2-lbv.c: Remove.
	* gcc.target/i386/mpx/static-init-2-nov.c: Remove.
	* gcc.target/i386/mpx/static-init-2-ubv.c: Remove.
	* gcc.target/i386/mpx/static-init-3-lbv.c: Remove.
	* gcc.target/i386/mpx/static-init-3-nov.c: Remove.
	* gcc.target/i386/mpx/static-init-3-ubv.c: Remove.
	* gcc.target/i386/mpx/static-init-4-lbv.c: Remove.
	* gcc.target/i386/mpx/static-init-4-nov.c: Remove.
	* gcc.target/i386/mpx/static-init-4-ubv.c: Remove.
	* gcc.target/i386/mpx/static-init-5-lbv.c: Remove.
	* gcc.target/i386/mpx/static-init-5-nov.c: Remove.
	* gcc.target/i386/mpx/static-init-5-ubv.c: Remove.
	* gcc.target/i386/mpx/static-init-6-lbv.c: Remove.
	* gcc.target/i386/mpx/static-init-6-nov.c: Remove.
	* gcc.target/i386/mpx/static-init-6-ubv.c: Remove.
	* gcc.target/i386/mpx/static-string-1-lbv.c: Remove.
	* gcc.target/i386/mpx/static-string-1-nov.c: Remove.
	* gcc.target/i386/mpx/static-string-1-ubv.c: Remove.
	* gcc.target/i386/mpx/struct-arg-1-lbv.c: Remove.
	* gcc.target/i386/mpx/struct-arg-1-nov.c: Remove.
	* gcc.target/i386/mpx/struct-arg-1-ubv.c: Remove.
	* gcc.target/i386/mpx/struct-arg-10-lbv.c: Remove.
	* gcc.target/i386/mpx/struct-arg-10-nov.c: Remove.
	* gcc.target/i386/mpx/struct-arg-10-ubv.c: Remove.
	* gcc.target/i386/mpx/struct-arg-2-lbv.c: Remove.
	* gcc.target/i386/mpx/struct-arg-2-nov.c: Remove.
	* gcc.target/i386/mpx/struct-arg-2-ubv.c: Remove.
	* gcc.target/i386/mpx/struct-arg-3-lbv.c: Remove.
	* gcc.target/i386/mpx/struct-arg-3-nov.c: Remove.
	* gcc.target/i386/mpx/struct-arg-3-ubv.c: Remove.
	* gcc.target/i386/mpx/struct-arg-4-lbv.c: Remove.
	* gcc.target/i386/mpx/struct-arg-4-nov.c: Remove.
	* gcc.target/i386/mpx/struct-arg-4-ubv.c: Remove.
	* gcc.target/i386/mpx/struct-arg-5-lbv.c: Remove.
	* gcc.target/i386/mpx/struct-arg-5-nov.c: Remove.
	* gcc.target/i386/mpx/struct-arg-5-ubv.c: Remove.
	* gcc.target/i386/mpx/struct-arg-6-lbv.c: Remove.
	* gcc.target/i386/mpx/struct-arg-6-nov.c: Remove.
	* gcc.target/i386/mpx/struct-arg-6-ubv.c: Remove.
	* gcc.target/i386/mpx/struct-arg-7-lbv.c: Remove.
	* gcc.target/i386/mpx/struct-arg-7-nov.c: Remove.
	* gcc.target/i386/mpx/struct-arg-7-ubv.c: Remove.
	* gcc.target/i386/mpx/struct-arg-8-lbv.c: Remove.
	* gcc.target/i386/mpx/struct-arg-8-nov.c: Remove.
	* gcc.target/i386/mpx/struct-arg-8-ubv.c: Remove.
	* gcc.target/i386/mpx/struct-arg-9-lbv.c: Remove.
	* gcc.target/i386/mpx/struct-arg-9-nov.c: Remove.
	* gcc.target/i386/mpx/struct-arg-9-ubv.c: Remove.
	* gcc.target/i386/mpx/struct-copy-1-lbv.c: Remove.
	* gcc.target/i386/mpx/struct-copy-1-nov.c: Remove.
	* gcc.target/i386/mpx/struct-copy-1-ubv.c: Remove.
	* gcc.target/i386/mpx/struct-copy-2-lbv.c: Remove.
	* gcc.target/i386/mpx/struct-copy-2-nov.c: Remove.
	* gcc.target/i386/mpx/struct-copy-2-ubv.c: Remove.
	* gcc.target/i386/mpx/thread-local-var-1-lbv.c: Remove.
	* gcc.target/i386/mpx/thread-local-var-1-nov.c: Remove.
	* gcc.target/i386/mpx/thread-local-var-1-ubv.c: Remove.
	* gcc.target/i386/mpx/union-arg-1-lbv.c: Remove.
	* gcc.target/i386/mpx/union-arg-1-nov.c: Remove.
	* gcc.target/i386/mpx/union-arg-1-ubv.c: Remove.
	* gcc.target/i386/mpx/va-arg-pack-1-lbv.c: Remove.
	* gcc.target/i386/mpx/va-arg-pack-1-nov.c: Remove.
	* gcc.target/i386/mpx/va-arg-pack-1-ubv.c: Remove.
	* gcc.target/i386/mpx/va-arg-pack-2-lbv.c: Remove.
	* gcc.target/i386/mpx/va-arg-pack-2-nov.c: Remove.
	* gcc.target/i386/mpx/va-arg-pack-2-ubv.c: Remove.
	* gcc.target/i386/mpx/vararg-1-lbv.c: Remove.
	* gcc.target/i386/mpx/vararg-1-nov.c: Remove.
	* gcc.target/i386/mpx/vararg-1-ubv.c: Remove.
	* gcc.target/i386/mpx/vararg-2-lbv.c: Remove.
	* gcc.target/i386/mpx/vararg-2-nov.c: Remove.
	* gcc.target/i386/mpx/vararg-2-ubv.c: Remove.
	* gcc.target/i386/mpx/vararg-3-lbv.c: Remove.
	* gcc.target/i386/mpx/vararg-3-nov.c: Remove.
	* gcc.target/i386/mpx/vararg-3-ubv.c: Remove.
	* gcc.target/i386/mpx/vararg-4-lbv.c: Remove.
	* gcc.target/i386/mpx/vararg-4-nov.c: Remove.
	* gcc.target/i386/mpx/vararg-4-ubv.c: Remove.
	* gcc.target/i386/mpx/vararg-5-lbv.c: Remove.
	* gcc.target/i386/mpx/vararg-5-nov.c: Remove.
	* gcc.target/i386/mpx/vararg-5-ubv.c: Remove.
	* gcc.target/i386/mpx/vararg-6-lbv.c: Remove.
	* gcc.target/i386/mpx/vararg-6-nov.c: Remove.
	* gcc.target/i386/mpx/vararg-6-ubv.c: Remove.
	* gcc.target/i386/mpx/vararg-7-lbv.c: Remove.
	* gcc.target/i386/mpx/vararg-7-nov.c: Remove.
	* gcc.target/i386/mpx/vararg-7-ubv.c: Remove.
	* gcc.target/i386/mpx/vararg-8-lbv.c: Remove.
	* gcc.target/i386/mpx/vararg-8-nov.c: Remove.
	* gcc.target/i386/mpx/vararg-8-ubv.c: Remove.
	* gcc.target/i386/mpx/vla-1-lbv.c: Remove.
	* gcc.target/i386/mpx/vla-1-nov.c: Remove.
	* gcc.target/i386/mpx/vla-1-ubv.c: Remove.
	* gcc.target/i386/mpx/vla-2-lbv.c: Remove.
	* gcc.target/i386/mpx/vla-2-nov.c: Remove.
	* gcc.target/i386/mpx/vla-2-ubv.c: Remove.
	* gcc.target/i386/mpx/vla-trailing-1-lbv.c: Remove.
	* gcc.target/i386/mpx/vla-trailing-1-nov.c: Remove.
	* gcc.target/i386/mpx/vla-trailing-1-ubv.c: Remove.
	* gcc.target/i386/pr63995-2.c: Remove.
	* gcc.target/i386/pr64805.c: Remove.
	* gcc.target/i386/pr65044.c: Remove.
	* gcc.target/i386/pr65167.c: Remove.
	* gcc.target/i386/pr65183.c: Remove.
	* gcc.target/i386/pr65184.c: Remove.
	* gcc.target/i386/pr65523.c: Remove.
	* gcc.target/i386/pr70876.c: Remove.
	* gcc.target/i386/pr70877.c: Remove.
	* gcc.target/i386/pr71458.c: Remove.
	* gcc.target/i386/pr80880.c: Remove.
	* gcc.target/i386/ret-thunk-25.c: Remove.
	* gcc.target/i386/thunk-retbnd.c: Remove.
	* lib/mpx-dg.exp: Remove.
	* gcc.target/i386/funcspec-56.inc: Adjust test case.

From-SVN: r261304
2018-06-08 07:53:31 +00:00
Francois H. Theron
58b40a6702 Add the Netronome Flow Processor (nfp) as a build target to the top-level configure.ac file.
* configure.ac: Added "nfp" target.
	* configure: Regenerate.

From-SVN: r259800
2018-05-01 15:26:51 +00:00
Maciej W. Rozycki
1fc1d82e96 WebAssembly: Disable subdirectory configuration for unsupported LD
Remove an LD subdirectory configuration error:

*** ld does not support target wasm32-unknown-none
*** see ld/configure.tgt for supported targets
make[1]: *** [configure-ld] Error 1

which prevents binutils for the WebAssembly target from being built
unless an explicit `--disable-ld' configuration option has been given.
Users must not have to disable features selected by default to get a
working configuration.

	/
	* configure.ac <wasm32-*-*> (noconfigdirs): Add `ld'.
	* configure: Regenerate.

From-SVN: r257624
2018-02-13 13:01:33 +00:00