[llvm-commits] [llvm-gcc-4.2] r77008 - in /llvm-gcc-4.2/trunk: build_gcc driverdriver.c gcc/ChangeLog.apple gcc/config.gcc gcc/config/arm/arm.c gcc/config/arm/arm.h gcc/config/arm/gen-darwin-multilib-exceptions.sh gcc/config/arm/t-darwin gcc/testsuite/obj-c++.dg/objc2-protocol-3.mm gcc/version.c
Bob Wilson
bob.wilson at apple.com
Fri Jul 24 15:48:56 PDT 2009
Author: bwilson
Date: Fri Jul 24 17:48:55 2009
New Revision: 77008
URL: http://llvm.org/viewvc/llvm-project?rev=77008&view=rev
Log:
Merge Apple's gcc r155802.
Removed:
llvm-gcc-4.2/trunk/gcc/config/arm/gen-darwin-multilib-exceptions.sh
Modified:
llvm-gcc-4.2/trunk/build_gcc
llvm-gcc-4.2/trunk/driverdriver.c
llvm-gcc-4.2/trunk/gcc/ChangeLog.apple
llvm-gcc-4.2/trunk/gcc/config.gcc
llvm-gcc-4.2/trunk/gcc/config/arm/arm.c
llvm-gcc-4.2/trunk/gcc/config/arm/arm.h
llvm-gcc-4.2/trunk/gcc/config/arm/t-darwin
llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/objc2-protocol-3.mm
llvm-gcc-4.2/trunk/gcc/version.c
Modified: llvm-gcc-4.2/trunk/build_gcc
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/build_gcc?rev=77008&r1=77007&r2=77008&view=diff
==============================================================================
--- llvm-gcc-4.2/trunk/build_gcc (original)
+++ llvm-gcc-4.2/trunk/build_gcc Fri Jul 24 17:48:55 2009
@@ -130,29 +130,33 @@
ARM_IPHONE_SDK=iPhoneOS${IPHONEOS_DEPLOYMENT_TARGET}.Internal.sdk
ARM_EXTRA_SDK=/Developer/SDKs/Extra
-# Check if the build system is running Leopard or earlier. If the Legacy PDK
-# is not installed, the toolchain in / will not support ARM. Use the iPhone
-# platform directory instead.
-if [ $DARWIN_VERS -le 9 -a ! -d $ARM_EXTRA_SDK ]; then
- ARM_TOOLROOT=$ARM_PLATFORM
+# If the Phone platform is available, use the ARM tools there, else try /
+if [ -d $ARM_PLATFORM ]; then
+ ARM_TOOLROOT=$ARM_PLATFORM/Developer
else
ARM_TOOLROOT=/
fi
-# ARM may require a sysroot option. Check if libSystem has an ARM slice
-# as an indication of whether the files in / support ARM.
-if lipo -info /usr/lib/libSystem.dylib | grep armv7; then
- ARM_SYSROOT=/
+# Likewise, In order of preference, look for ARM sysroot bits at:
+# 1. $ARM_SDK_EXTRA
+# 2. Phone SDK ($ARM_PLATFORM/Developers/SDKs/$ARM_IPHONE_SDK)
+# 3. /
+if [ -d $ARM_EXTRA_SDK ]; then
+ ARM_SYSROOT=$ARM_EXTRA_SDK
+ ARM_CONFIGFLAGS="$ARM_CONFIGFLAGS --with-sysroot=\"$ARM_SYSROOT\""
else
- if [ -d $ARM_EXTRA_SDK ]; then
- ARM_SYSROOT=$ARM_EXTRA_SDK
- else
+ if [ -d $ARM_PLATFORM/Developer/SDKs/$ARM_IPHONE_SDK ]; then
ARM_SYSROOT=$ARM_PLATFORM/Developer/SDKs/$ARM_IPHONE_SDK
+ ARM_CONFIGFLAGS="$ARM_CONFIGFLAGS --with-sysroot=\"$ARM_SYSROOT\""
+ else
+ ARM_SYSROOT=/
+ ARM_CONFIG_FLAGS=
fi
- ARM_CONFIGFLAGS="$ARM_CONFIGFLAGS --with-sysroot=\"$ARM_SYSROOT\""
fi
-# If building an ARM target, check that the required directories exist.
+# If building an ARM target, check that the required directories exist
+# and query the libSystem arm slices to determine which multilibs we should
+# build.
if echo $TARGETS | grep arm; then
if [ ! -d $ARM_SYSROOT ]; then
echo "Error: cannot find ARM SDK to build ARM target"
@@ -162,14 +166,25 @@
echo "Error: $ARM_TOOLROOT directory is not installed"
exit 1
fi
+ if [ "x$ARM_MULTILIB_ARCHS" = "x" ] ; then
+ ARM_MULTILIB_ARCHS=`/usr/bin/lipo -info $ARM_SYSROOT/usr/lib/libSystem.dylib | cut -d':' -f 3 | sed -e 's/^ //' -e 's/ $//'`
+ fi;
+ if [ "x$ARM_MULTILIB_ARCHS" == "x" ] ; then
+ echo "Error: missing ARM slices in $ARM_SYSROOT"
+ exit 1
+ else
+ export ARM_MULTILIB_ARCHS
+ fi
fi
# APPLE LOCAL end ARM
+# LLVM LOCAL begin
# If we can find an LLVM-GCC, prefer it.
export CC=/Developer/usr/bin/llvm-gcc
if [ ! -x $CC ] ; then unset CC ; fi
export CXX=/Developer/usr/bin/llvm-g++
if [ ! -x $CXX ] ; then unset CXX ; fi
+# LLVM LOCAL end
########################################
# Run the build.
@@ -332,9 +347,8 @@
cd $DIR/obj-$BUILD-$t || exit 1
if [ \! -f Makefile ]; then
# APPLE LOCAL begin ARM ARM_CONFIGFLAGS
- # APPLE LOCAL don't use --enable-werror for ARM builds
- $SRC_DIR/configure `echo $CONFIGFLAGS | sed -e "s/--enable-werror//"` \
- `if [ $t = 'arm' ] ; then echo $ARM_CONFIGFLAGS ; else echo $NON_ARM_CONFIGFLAGS ; fi` \
+ $SRC_DIR/configure $CONFIGFLAGS --enable-werror-always \
+ `if [ $t = 'arm' ] ; then echo $ARM_CONFIGFLAGS ; else echo $NON_ARM_CONFIGFLAGS ; fi` \
--program-prefix=$t-apple-darwin$DARWIN_VERS- \
--host=$BUILD-apple-darwin$DARWIN_VERS --target=$t-apple-darwin$DARWIN_VERS || exit 1
# APPLE LOCAL end ARM ARM_CONFIGFLAGS
@@ -379,13 +393,20 @@
if [ \! -f Makefile ]; then
# APPLE LOCAL begin ARM ARM_CONFIGFLAGS
- # APPLE LOCAL don't use --enable-werror for ARM builds
- $SRC_DIR/configure `echo $CONFIGFLAGS | sed -e "s/--enable-werror//"` \
+ $SRC_DIR/configure $CONFIGFLAGS \
`if [ $t = 'arm' ] && [ $h != 'arm' ] ; then echo $ARM_CONFIGFLAGS ; else echo $NON_ARM_CONFIGFLAGS ; fi` \
--program-prefix=$pp \
--host=$h-apple-darwin$DARWIN_VERS --target=$t-apple-darwin$DARWIN_VERS || exit 1
# APPLE LOCAL end ARM ARM_CONFIGFLAGS
fi
+
+ # For ARM, we need to make sure it picks up the ARM_TOOLROOT versions
+ # of the linker and cctools.
+ if [ $t = 'arm' ] ; then
+ ORIG_COMPILER_PATH=$COMPILER_PATH
+ export COMPILER_PATH=$ARM_TOOLROOT/usr/bin:$COMPILER_PATH
+ fi
+
if [ $h = $t ] ; then
make $MAKEFLAGS all CFLAGS="$CFLAGS" CXXFLAGS="$CFLAGS" || exit 1
make $MAKEFLAGS DESTDIR=$DIR/dst-$h-$t install-gcc install-target \
@@ -395,6 +416,11 @@
make $MAKEFLAGS DESTDIR=$DIR/dst-$h-$t install-gcc \
CFLAGS="$CFLAGS" CXXFLAGS="$CFLAGS" || exit 1
fi
+
+ if [ $t = 'arm' ] ; then
+ export COMPILER_PATH=$ORIG_COMPILER_PATH
+ unset ORIG_COMPILER_PATH
+ fi
done
fi
done
Modified: llvm-gcc-4.2/trunk/driverdriver.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/driverdriver.c?rev=77008&r1=77007&r2=77008&view=diff
==============================================================================
--- llvm-gcc-4.2/trunk/driverdriver.c (original)
+++ llvm-gcc-4.2/trunk/driverdriver.c Fri Jul 24 17:48:55 2009
@@ -783,7 +783,7 @@
else if (!strcmp (arches[index], "armv6"))
current_argv[arch_index] = "-march=armv6k";
else if (!strcmp (arches[index], "armv7"))
- current_argv[arch_index] = "-march=armv7-a";
+ current_argv[arch_index] = "-march=armv7a";
else
count = 0;
Modified: llvm-gcc-4.2/trunk/gcc/ChangeLog.apple
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/ChangeLog.apple?rev=77008&r1=77007&r2=77008&view=diff
==============================================================================
--- llvm-gcc-4.2/trunk/gcc/ChangeLog.apple (original)
+++ llvm-gcc-4.2/trunk/gcc/ChangeLog.apple Fri Jul 24 17:48:55 2009
@@ -1,3 +1,13 @@
+2009-07-24 Bob Wilson <bob.wilson at apple.com>
+
+ Radar 7088565
+ * config/arm/t-darwin (MULTILIB_OPTIONS): Separate options with
+ slashes instead of spaces so that they are mutually exclusive.
+ (MULTILIB_EXCEPTIONS): Stop using gen-darwin-multilib-exceptions.sh.
+ (MULTILIB_MATCHES): Recognize equivalent -march and -mcpu options.
+ * config/arm/gen-darwin-multilib-exceptions.sh: Delete.
+ * config.gcc: Remove duplicate for arm/t-darwin.
+
2009-07-09 Jim Grosbach <grosbach at apple.com>
Radar 6999417
Modified: llvm-gcc-4.2/trunk/gcc/config.gcc
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config.gcc?rev=77008&r1=77007&r2=77008&view=diff
==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config.gcc (original)
+++ llvm-gcc-4.2/trunk/gcc/config.gcc Fri Jul 24 17:48:55 2009
@@ -821,7 +821,7 @@
arm*-*-darwin*)
extra_options="${extra_options} arm/darwin.opt"
tm_file="${tm_file} arm/darwin.h"
- tmake_file="${tmake_file} arm/t-darwin arm/t-slibgcc-iphoneos"
+ tmake_file="${tmake_file} arm/t-slibgcc-iphoneos"
extra_headers="arm_neon.h"
;;
# APPLE LOCAL end ARM darwin target
Modified: llvm-gcc-4.2/trunk/gcc/config/arm/arm.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/arm/arm.c?rev=77008&r1=77007&r2=77008&view=diff
==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/arm/arm.c (original)
+++ llvm-gcc-4.2/trunk/gcc/config/arm/arm.c Fri Jul 24 17:48:55 2009
@@ -9390,7 +9390,8 @@
/* APPLE LOCAL end v7 support. Merge from mainline */
if (GET_CODE (body) == UNSPEC_VOLATILE
- && (int) XEXP (body, 1) == VUNSPEC_POOL_STRING)
+ /* APPLE LOCAL 7083296 Build without warnings. */
+ && XINT (body, 1) == VUNSPEC_POOL_STRING)
{
int len = TREE_STRING_LENGTH (SYMBOL_REF_DECL
(XVECEXP (body, 0, 0)));
@@ -9420,7 +9421,8 @@
/* APPLE LOCAL 6279481 */
&& !TARGET_32BIT
&& GET_CODE (body) == UNSPEC_VOLATILE
- && (int) XEXP (body, 1) == VUNSPEC_EPILOGUE)
+ /* APPLE LOCAL 7083296 Build without warnings. */
+ && XINT (body, 1) == VUNSPEC_EPILOGUE)
{
*length = handle_thumb_unexpanded_epilogue (false);
}
@@ -16596,6 +16598,17 @@
return VALID_NEON_DREG_MODE (mode) || VALID_NEON_QREG_MODE (mode);
}
+/* APPLE LOCAL begin 7083296 Build without warnings. */
+static tree
+make_neon_float_type (void)
+{
+ tree neon_float_type_node = make_node (REAL_TYPE);
+ TYPE_PRECISION (neon_float_type_node) = FLOAT_TYPE_SIZE;
+ layout_type (neon_float_type_node);
+ return neon_float_type_node;
+}
+/* APPLE LOCAL end 7083296 Build without warnings. */
+
static void
arm_init_neon_builtins (void)
{
@@ -16663,29 +16676,10 @@
tree neon_polyHI_type_node = make_signed_type (GET_MODE_PRECISION (HImode));
tree neon_intSI_type_node = make_signed_type (GET_MODE_PRECISION (SImode));
tree neon_intDI_type_node = make_signed_type (GET_MODE_PRECISION (DImode));
- tree neon_float_type_node = make_node (REAL_TYPE);
- TYPE_PRECISION (neon_float_type_node) = FLOAT_TYPE_SIZE;
- layout_type (neon_float_type_node);
+ /* APPLE LOCAL begin 7083296 Build without warnings. */
+ tree neon_float_type_node = make_neon_float_type ();
- /* Define typedefs which exactly correspond to the modes we are basing vector
- types on. If you change these names you'll need to change
- the table used by arm_mangle_vector_type too. */
- (*lang_hooks.types.register_builtin_type) (neon_intQI_type_node,
- "__builtin_neon_qi");
- (*lang_hooks.types.register_builtin_type) (neon_intHI_type_node,
- "__builtin_neon_hi");
- (*lang_hooks.types.register_builtin_type) (neon_intSI_type_node,
- "__builtin_neon_si");
- (*lang_hooks.types.register_builtin_type) (neon_float_type_node,
- "__builtin_neon_sf");
- (*lang_hooks.types.register_builtin_type) (neon_intDI_type_node,
- "__builtin_neon_di");
-
- (*lang_hooks.types.register_builtin_type) (neon_polyQI_type_node,
- "__builtin_neon_poly8");
- (*lang_hooks.types.register_builtin_type) (neon_polyHI_type_node,
- "__builtin_neon_poly16");
-
+ /* APPLE LOCAL end 7083296 Build without warnings. */
tree intQI_pointer_node = build_pointer_type (neon_intQI_type_node);
tree intHI_pointer_node = build_pointer_type (neon_intHI_type_node);
tree intSI_pointer_node = build_pointer_type (neon_intSI_type_node);
@@ -16738,32 +16732,12 @@
tree intUSI_type_node = make_unsigned_type (GET_MODE_PRECISION (SImode));
tree intUDI_type_node = make_unsigned_type (GET_MODE_PRECISION (DImode));
- (*lang_hooks.types.register_builtin_type) (intUQI_type_node,
- "__builtin_neon_uqi");
- (*lang_hooks.types.register_builtin_type) (intUHI_type_node,
- "__builtin_neon_uhi");
- (*lang_hooks.types.register_builtin_type) (intUSI_type_node,
- "__builtin_neon_usi");
- (*lang_hooks.types.register_builtin_type) (intUDI_type_node,
- "__builtin_neon_udi");
-
/* Opaque integer types for structures of vectors. */
tree intEI_type_node = make_signed_type (GET_MODE_PRECISION (EImode));
tree intOI_type_node = make_signed_type (GET_MODE_PRECISION (OImode));
tree intCI_type_node = make_signed_type (GET_MODE_PRECISION (CImode));
tree intXI_type_node = make_signed_type (GET_MODE_PRECISION (XImode));
- (*lang_hooks.types.register_builtin_type) (intTI_type_node,
- "__builtin_neon_ti");
- (*lang_hooks.types.register_builtin_type) (intEI_type_node,
- "__builtin_neon_ei");
- (*lang_hooks.types.register_builtin_type) (intOI_type_node,
- "__builtin_neon_oi");
- (*lang_hooks.types.register_builtin_type) (intCI_type_node,
- "__builtin_neon_ci");
- (*lang_hooks.types.register_builtin_type) (intXI_type_node,
- "__builtin_neon_xi");
-
/* Pointers to vector types. */
tree V8QI_pointer_node = build_pointer_type (V8QI_type_node);
tree V4HI_pointer_node = build_pointer_type (V4HI_type_node);
@@ -17464,6 +17438,47 @@
tree reinterp_ftype_qreg[5][5];
tree dreg_types[5], qreg_types[5];
+ /* APPLE LOCAL begin 7083296 Build without warnings. */
+ /* Define typedefs which exactly correspond to the modes we are basing vector
+ types on. If you change these names you'll need to change
+ the table used by arm_mangle_vector_type too. */
+ (*lang_hooks.types.register_builtin_type) (neon_intQI_type_node,
+ "__builtin_neon_qi");
+ (*lang_hooks.types.register_builtin_type) (neon_intHI_type_node,
+ "__builtin_neon_hi");
+ (*lang_hooks.types.register_builtin_type) (neon_intSI_type_node,
+ "__builtin_neon_si");
+ (*lang_hooks.types.register_builtin_type) (neon_float_type_node,
+ "__builtin_neon_sf");
+ (*lang_hooks.types.register_builtin_type) (neon_intDI_type_node,
+ "__builtin_neon_di");
+
+ (*lang_hooks.types.register_builtin_type) (neon_polyQI_type_node,
+ "__builtin_neon_poly8");
+ (*lang_hooks.types.register_builtin_type) (neon_polyHI_type_node,
+ "__builtin_neon_poly16");
+
+ (*lang_hooks.types.register_builtin_type) (intUQI_type_node,
+ "__builtin_neon_uqi");
+ (*lang_hooks.types.register_builtin_type) (intUHI_type_node,
+ "__builtin_neon_uhi");
+ (*lang_hooks.types.register_builtin_type) (intUSI_type_node,
+ "__builtin_neon_usi");
+ (*lang_hooks.types.register_builtin_type) (intUDI_type_node,
+ "__builtin_neon_udi");
+
+ (*lang_hooks.types.register_builtin_type) (intTI_type_node,
+ "__builtin_neon_ti");
+ (*lang_hooks.types.register_builtin_type) (intEI_type_node,
+ "__builtin_neon_ei");
+ (*lang_hooks.types.register_builtin_type) (intOI_type_node,
+ "__builtin_neon_oi");
+ (*lang_hooks.types.register_builtin_type) (intCI_type_node,
+ "__builtin_neon_ci");
+ (*lang_hooks.types.register_builtin_type) (intXI_type_node,
+ "__builtin_neon_xi");
+ /* APPLE LOCAL end 7083296 Build without warnings. */
+
dreg_types[0] = V8QI_type_node;
dreg_types[1] = V4HI_type_node;
dreg_types[2] = V2SI_type_node;
@@ -19189,6 +19204,9 @@
/* LLVM LOCAL begin
Added neon_code argument below and made the function
non-static. This is needed when translating Neon builtins to LLVM. */
+extern enum insn_code
+locate_neon_builtin_icode (int, neon_itype *, enum neon_builtins *);
+
enum insn_code
locate_neon_builtin_icode (int fcode, neon_itype *itype,
enum neon_builtins *neon_code)
@@ -22573,6 +22591,18 @@
return false;
}
+/* APPLE LOCAL begin 7083296 Build without warnings. */
+/* Define a separate function to avoid build warnings about missing a
+ prototype for arm_vector_mode_supported_p. The MODE argument is an int
+ because arm.h is used in contexts where "enum machine_mode" is not
+ defined. The return type is "int" instead of "bool" for the same reason. */
+int
+valid_iwmmxt_reg_mode (int mode)
+{
+ return (arm_vector_mode_supported_p (mode) || mode == DImode);
+}
+/* APPLE LOCAL end 7083296 Build without warnings. */
+
/* Implement TARGET_SHIFT_TRUNCATION_MASK. SImode shifts use normal
ARM insns and therefore guarantee that the shift count is modulo 256.
DImode shifts (those implemented by lib1funcs.asm or by optabs.c)
@@ -23235,9 +23265,11 @@
&& GET_CODE (insn) == INSN
&& GET_CODE (PATTERN (insn)) == UNSPEC_VOLATILE)
{
- if ((int) XEXP (PATTERN (insn), 1) == VUNSPEC_ALIGN)
+ /* APPLE LOCAL 7083296 Build without warnings. */
+ if (XINT (PATTERN (insn), 1) == VUNSPEC_ALIGN)
return 2;
- if ((int) XEXP (PATTERN (insn), 1) == VUNSPEC_ALIGN8)
+ /* APPLE LOCAL 7083296 Build without warnings. */
+ if (XINT (PATTERN (insn), 1) == VUNSPEC_ALIGN8)
return 3;
}
return align_labels_log;
Modified: llvm-gcc-4.2/trunk/gcc/config/arm/arm.h
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/arm/arm.h?rev=77008&r1=77007&r2=77008&view=diff
==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/arm/arm.h (original)
+++ llvm-gcc-4.2/trunk/gcc/config/arm/arm.h Fri Jul 24 17:48:55 2009
@@ -1127,8 +1127,14 @@
#define MODES_TIEABLE_P(MODE1, MODE2) \
(GET_MODE_CLASS (MODE1) == GET_MODE_CLASS (MODE2))
+/* APPLE LOCAL begin 7083296 Build without warnings. */
+/* The VALID_IWMMXT_REG_MODE macro is used in vec-common.md as a predicate so
+ that it is referenced from the generated insn-opinit.c file, which does
+ not include arm-protos.h. Define a separate function to avoid warnings. */
#define VALID_IWMMXT_REG_MODE(MODE) \
- (arm_vector_mode_supported_p (MODE) || (MODE) == DImode)
+ (valid_iwmmxt_reg_mode (MODE))
+extern int valid_iwmmxt_reg_mode (int);
+/* APPLE LOCAL end 7083296 Build without warnings. */
/* APPLE LOCAL begin v7 support. Merge from Codesourcery */
/* Modes valid for Neon D registers. */
Removed: llvm-gcc-4.2/trunk/gcc/config/arm/gen-darwin-multilib-exceptions.sh
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/arm/gen-darwin-multilib-exceptions.sh?rev=77007&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/arm/gen-darwin-multilib-exceptions.sh (original)
+++ llvm-gcc-4.2/trunk/gcc/config/arm/gen-darwin-multilib-exceptions.sh (removed)
@@ -1,21 +0,0 @@
-#!/bin/sh
-# APPLE LOCAL file 6611402 configurable multilib architectures
-# This recursive function generates all of the pairwise combinations from a
-# list of multilib options. The result is suitable for a multilib
-# exceptions list.
-EXCEPTIONS=
-function gen_exceptions()
-{
- if [ $# == 1 ] ; then
- return
- fi
- local opt=$1
- shift 1
- for opt2 in $@ ; do
- EXCEPTIONS+="*$opt*/*$opt2* "
- done
- gen_exceptions $@
-}
-if [ $# == 0 ] ; then exit ; fi
-gen_exceptions $@
-echo $EXCEPTIONS
Modified: llvm-gcc-4.2/trunk/gcc/config/arm/t-darwin
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/arm/t-darwin?rev=77008&r1=77007&r2=77008&view=diff
==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/arm/t-darwin (original)
+++ llvm-gcc-4.2/trunk/gcc/config/arm/t-darwin Fri Jul 24 17:48:55 2009
@@ -29,14 +29,46 @@
ARM_MULTILIB_ARCHS:=armv5 armv6 armv7
endif
-MULTILIB_OPTIONS:=$(shell echo $(ARM_MULTILIB_ARCHS) | \
+MULTILIB_OPTIONS:=$(shell echo $(strip $(ARM_MULTILIB_ARCHS)) | \
sed -e s/armv5/march=armv5tej/ \
-e s/armv6/march=armv6k/ \
- -e s/armv7/march=armv7a/)
+ -e s/armv7/march=armv7a/ \
+ -e 's| |/|g')
MULTILIB_DIRNAMES:=$(shell echo $(ARM_MULTILIB_ARCHS) | sed -e s/arm//g)
-MULTILIB_EXCEPTIONS:=$(shell $(srcdir)/config/arm/gen-darwin-multilib-exceptions.sh $(ARM_MULTILIB_ARCHS))
-# APPLE LOCAL end 6611402 configurable multilib architectures
+MULTILIB_EXCEPTIONS =
+MULTILIB_MATCHES =
+
+ifneq (,$(findstring armv5,$(ARM_MULTILIB_ARCHS)))
+MULTILIB_MATCHES += \
+ march?armv5tej=march?armv5te \
+ march?armv5tej=mcpu?arm9e \
+ march?armv5tej=mcpu?arm946e-s \
+ march?armv5tej=mcpu?arm966e-s \
+ march?armv5tej=mcpu?arm968e-s \
+ march?armv5tej=mcpu?arm10e \
+ march?armv5tej=mcpu?arm1020e \
+ march?armv5tej=mcpu?arm1022e \
+ march?armv5tej=mcpu?xscale \
+ march?armv5tej=mcpu?iwmmxt \
+ march?armv5tej=mcpu?arm926ej-s \
+ march?armv5tej=mcpu?arm1026ej-s
+endif
+
+ifneq (,$(findstring armv6,$(ARM_MULTILIB_ARCHS)))
+MULTILIB_MATCHES += \
+ march?armv6k=march?armv6zk \
+ march?armv6k=mcpu?arm1176jz-s \
+ march?armv6k=mcpu?arm1176jzf-s \
+ march?armv6k=mcpu?mpcorenovfp \
+ march?armv6k=mcpu?mpcore
+endif
+
+ifneq (,$(findstring armv7,$(ARM_MULTILIB_ARCHS)))
+MULTILIB_MATCHES += \
+ march?armv7a=march?armv7-a \
+ march?armv7a=mcpu?cortex-a8
+endif
-MULTILIB_MATCHES =
+# APPLE LOCAL end 6611402 configurable multilib architectures
TARGET_LIBGCC2_CFLAGS = -fno-inline
Modified: llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/objc2-protocol-3.mm
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/obj-c%2B%2B.dg/objc2-protocol-3.mm?rev=77008&r1=77007&r2=77008&view=diff
==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/objc2-protocol-3.mm (original)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/obj-c++.dg/objc2-protocol-3.mm Fri Jul 24 17:48:55 2009
@@ -18,9 +18,5 @@
{
return (long) @protocol(PROTO); + (long) @protocol(PROTO1);
}
-/* { dg-final { if [istarget i?86-*-darwin* ] { scan-assembler "L_ZL23_OBJC_PROTOCOL_\\\$_PROTO1:" } } } */
-/* { dg-final { if [istarget powerpc*-*-darwin* ] { scan-assembler "L_ZL23_OBJC_PROTOCOL_\\\$_PROTO1:" } } } */
-/* { dg-final { if [istarget arm*-*-darwin* ] { scan-assembler "l_OBJC_PROTOCOL_\\\$_PROTO1:" } } } */
-/* { dg-final { if [istarget i?86-*-darwin* ] { scan-assembler "L_ZL23_OBJC_PROTOCOL_\\\$_PROTO2:" } } } */
-/* { dg-final { if [istarget powerpc*-*-darwin* ] { scan-assembler "L_ZL23_OBJC_PROTOCOL_\\\$_PROTO2:" } } } */
-/* { dg-final { if [istarget arm*-*-darwin* ] { scan-assembler "l_OBJC_PROTOCOL_\\\$_PROTO2:" } } } */
+/* { dg-final { scan-assembler "l_OBJC_PROTOCOL_\\\$_PROTO1:" } } */
+/* { dg-final { scan-assembler "l_OBJC_PROTOCOL_\\\$_PROTO2:" } } */
Modified: llvm-gcc-4.2/trunk/gcc/version.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/version.c?rev=77008&r1=77007&r2=77008&view=diff
==============================================================================
--- llvm-gcc-4.2/trunk/gcc/version.c (original)
+++ llvm-gcc-4.2/trunk/gcc/version.c Fri Jul 24 17:48:55 2009
@@ -11,12 +11,12 @@
/* APPLE LOCAL begin Apple version */
#ifdef ENABLE_LLVM
#ifdef LLVM_VERSION_INFO
-#define VERSUFFIX " (Based on Apple Inc. build 5647) (LLVM build " LLVM_VERSION_INFO ")"
+#define VERSUFFIX " (Based on Apple Inc. build 5648) (LLVM build " LLVM_VERSION_INFO ")"
#else
-#define VERSUFFIX " (Based on Apple Inc. build 5647) (LLVM build)"
+#define VERSUFFIX " (Based on Apple Inc. build 5648) (LLVM build)"
#endif
#else
-#define VERSUFFIX " (Based on Apple Inc. build 5647)"
+#define VERSUFFIX " (Based on Apple Inc. build 5648)"
#endif
/* APPLE LOCAL end Apple version */
More information about the llvm-commits
mailing list