Commit cdb3f2f4 by Rainer Orth Committed by Rainer Orth

Fix D compilation on Solaris

	* config/default-d.c: Include memmodel.h.

	* config/sol2-d.c: New file.
	* config/t-sol2 (sol2-d.o): New rule.
	* config.gcc <*-*-solaris2*>: Set d_target_objs,
	target_has_targetdm.

From-SVN: r265846
parent f8d69798
2018-11-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
* config/default-d.c: Include memmodel.h.
* config/sol2-d.c: New file.
* config/t-sol2 (sol2-d.o): New rule.
* config.gcc <*-*-solaris2*>: Set d_target_objs,
target_has_targetdm.
2018-11-06 Jan Hubicka <jh@suse.cz>
* tree.c (fld_type_variant): Also copy alignment; be sure that
......@@ -917,6 +917,7 @@ case ${target} in
tmake_file="${tmake_file} t-sol2 t-slibgcc"
c_target_objs="${c_target_objs} sol2-c.o"
cxx_target_objs="${cxx_target_objs} sol2-c.o sol2-cxx.o"
d_target_objs="${d_target_objs} sol2-d.o"
extra_objs="${extra_objs} sol2.o sol2-stubs.o"
extra_options="${extra_options} sol2.opt"
case ${enable_threads}:${have_pthread_h}:${have_thread_h} in
......@@ -924,6 +925,7 @@ case ${target} in
thread_file=posix
;;
esac
target_has_targetdm=yes
;;
*-*-*vms*)
extra_options="${extra_options} vms/vms.opt"
......
......@@ -18,6 +18,7 @@ along with GCC; see the file COPYING3. If not see
#include "config.h"
#include "system.h"
#include "coretypes.h"
#include "memmodel.h"
#include "tm_d.h"
#include "d/d-target.h"
#include "d/d-target-def.h"
......
/* Solaris support needed only by D front-end.
Copyright (C) 2018 Free Software Foundation, Inc.
GCC is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free
Software Foundation; either version 3, or (at your option) any later
version.
GCC is distributed in the hope that it will be useful, but WITHOUT ANY
WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License
along with GCC; see the file COPYING3. If not see
<http://www.gnu.org/licenses/>. */
#include "config.h"
#include "system.h"
#include "coretypes.h"
#include "tm.h"
#include "memmodel.h"
#include "tm_p.h"
#include "d/d-target.h"
#include "d/d-target-def.h"
/* Implement TARGET_D_OS_VERSIONS for Solaris targets. */
static void
solaris_d_os_builtins (void)
{
d_add_builtin_version ("Posix");
d_add_builtin_version ("Solaris"); \
}
/* Implement TARGET_D_CRITSEC_SIZE for Solaris targets. */
static unsigned
solaris_d_critsec_size (void)
{
/* This is the sizeof pthread_mutex_t. */
return 24;
}
#undef TARGET_D_OS_VERSIONS
#define TARGET_D_OS_VERSIONS solaris_d_os_builtins
#undef TARGET_D_CRITSEC_SIZE
#define TARGET_D_CRITSEC_SIZE solaris_d_critsec_size
struct gcc_targetdm targetdm = TARGETDM_INITIALIZER;
......@@ -16,7 +16,7 @@
# along with GCC; see the file COPYING3. If not see
# <http://www.gnu.org/licenses/>.
# Solaris-specific format checking and pragmas
# Solaris-specific format checking and pragmas.
sol2-c.o: $(srcdir)/config/sol2-c.c
$(COMPILE) $<
$(POSTCOMPILE)
......@@ -26,6 +26,11 @@ sol2-cxx.o: $(srcdir)/config/sol2-cxx.c
$(COMPILE) $<
$(POSTCOMPILE)
# Solaris-specific D support.
sol2-d.o: $(srcdir)/config/sol2-d.c
$(COMPILE) $<
$(POSTCOMPILE)
# Corresponding stub routines.
sol2-stubs.o: $(srcdir)/config/sol2-stubs.c
$(COMPILE) $<
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment