and -mlong-double-128 are incompatible.
* config/rs6000/aix52.h (SUBTARGET_OVERRIDE_OPTIONS): Same.
* config/rs6000/t-aix43 (LIB2FUNCS_EXTRA): Add ppc64-fp.c.
(TARGET_LIBGCC2_CFLAGS): Define.
* config/rs6000/t-aix52 (LIB2FUNCS_EXTRA): Same.
(TARGET_LIBGCC2_CFLAGS): Same.
* config/rs6000/ppc64-fp.c: Compile for 64-bit AIX.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@110333
138bc75d-0d04-0410-961f-
82ee72b054a4
+2006-01-28 David Edelsohn <edelsohn@gnu.org>
+
+ * config/rs6000/aix43.h (SUBTARGET_OVERRIDE_OPTIONS): -msoft-float
+ and -mlong-double-128 are incompatible.
+ * config/rs6000/aix52.h (SUBTARGET_OVERRIDE_OPTIONS): Same.
+ * config/rs6000/t-aix43 (LIB2FUNCS_EXTRA): Add ppc64-fp.c.
+ (TARGET_LIBGCC2_CFLAGS): Define.
+ * config/rs6000/t-aix52 (LIB2FUNCS_EXTRA): Same.
+ (TARGET_LIBGCC2_CFLAGS): Same.
+ * config/rs6000/ppc64-fp.c: Compile for 64-bit AIX.
+
2006-01-28 Kazu Hirata <kazu@codesourcery.com>
PR c/19606.
/* Definitions of target machine for GNU compiler,
for IBM RS/6000 POWER running AIX version 4.3.
- Copyright (C) 1998, 1999, 2000, 2001, 2003, 2004, 2005
+ Copyright (C) 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006
Free Software Foundation, Inc.
Contributed by David Edelsohn (edelsohn@gnu.org).
target_flags |= MASK_POWERPC64; \
warning (0, "-maix64 requires PowerPC64 architecture remain enabled"); \
} \
+ if (TARGET_SOFT_FLOAT && TARGET_LONG_DOUBLE_128) \
+ { \
+ rs6000_long_double_type_size = 64; \
+ if (rs6000_explicit_options.long_double) \
+ warning (0, "soft-float and long-double-128 are incompatible"); \
+ } \
if (TARGET_POWERPC64 && ! TARGET_64BIT) \
{ \
error ("-maix64 required: 64-bit computation with 32-bit addressing not yet supported"); \
/* Definitions of target machine for GNU compiler,
for IBM RS/6000 POWER running AIX V5.2.
- Copyright (C) 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
Contributed by David Edelsohn (edelsohn@gnu.org).
This file is part of GCC.
target_flags |= MASK_POWERPC64; \
warning (0, "-maix64 requires PowerPC64 architecture remain enabled"); \
} \
+ if (TARGET_SOFT_FLOAT && TARGET_LONG_DOUBLE_128) \
+ { \
+ rs6000_long_double_type_size = 64; \
+ if (rs6000_explicit_options.long_double) \
+ warning (0, "soft-float and long-double-128 are incompatible"); \
+ } \
if (TARGET_POWERPC64 && ! TARGET_64BIT) \
{ \
error ("-maix64 required: 64-bit computation with 32-bit addressing not yet supported"); \
Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
02110-1301, USA. */
-#if defined(__powerpc64__)
+#if defined(__powerpc64__) || defined (__64BIT__)
#define TMODES
#include "config/fp-bit.h"
SHLIB_NM_FLAGS = -Bpg -X32_64
# GCC 128-bit long double support routines.
-LIB2FUNCS_EXTRA = $(srcdir)/config/rs6000/darwin-ldouble.c
+LIB2FUNCS_EXTRA = $(srcdir)/config/rs6000/ppc64-fp.c \
+ $(srcdir)/config/rs6000/darwin-ldouble.c
+TARGET_LIBGCC2_CFLAGS = -mlong-double-128
# Either 32-bit and 64-bit objects in archives.
AR_FLAGS_FOR_TARGET = -X32_64
SHLIB_NM_FLAGS = -Bpg -X32_64
# GCC 128-bit long double support routines.
-LIB2FUNCS_EXTRA = $(srcdir)/config/rs6000/darwin-ldouble.c
+LIB2FUNCS_EXTRA = $(srcdir)/config/rs6000/ppc64-fp.c \
+ $(srcdir)/config/rs6000/darwin-ldouble.c
+TARGET_LIBGCC2_CFLAGS = -mlong-double-128
# Either 32-bit and 64-bit objects in archives.
AR_FLAGS_FOR_TARGET = -X32_64