[PATCH, ARM] fix bootstrap on trunk

Robert Nelson robertcnelson@gmail.com
Tue Nov 17 23:27:00 GMT 2009


On both my arm gcc builders (Sheevaplug & Beagleboard).  I've been
getting this error on trunk while trying run the gcc bootstrap script:

/opt/trunk/gcc/config/arm/arm.c:814:3: error: enum conversion in
initialization is invalid in C++
/opt/trunk/gcc/config/arm/arm.c:815:3: error: enum conversion in
initialization is invalid in C++
/opt/trunk/gcc/config/arm/arm.c:816:3: error: enum conversion in
initialization is invalid in C++
/opt/trunk/gcc/config/arm/arm.c: In function 'aapcs_vfp_is_return_candidate':
/opt/trunk/gcc/config/arm/arm.c:3886:7: error: passing argument 4 of
'aapcs_vfp_is_call_or_return_candidate' from incompatible pointer type
/opt/trunk/gcc/config/arm/arm.c:3838:1: note: expected 'int *' but
argument is of type 'enum machine_mode *'
/opt/trunk/gcc/config/arm/arm.c: In function 'aapcs_vfp_is_call_candidate':
/opt/trunk/gcc/config/arm/arm.c:3898:7: error: passing argument 4 of
'aapcs_vfp_is_call_or_return_candidate' from incompatible pointer type
/opt/trunk/gcc/config/arm/arm.c:3838:1: note: expected 'int *' but
argument is of type 'enum machine_mode *'
/opt/trunk/gcc/config/arm/arm.c: In function 'aapcs_vfp_allocate_return_reg':
/opt/trunk/gcc/config/arm/arm.c:3969:11: error: passing argument 4 of
'aapcs_vfp_is_call_or_return_candidate' from incompatible pointer type
/opt/trunk/gcc/config/arm/arm.c:3838:1: note: expected 'int *' but
argument is of type 'enum machine_mode *'

Sheevaplug: http://rcn-ee.homeip.net:81/dl/gcc/SVN-154188-trunk-armv5tel/trunk-error.log
Beagleboard: http://rcn-ee.homeip.net:81/dl/gcc/SVN-154200-trunk-c-armv7l-256/trunk-c-error.log

This patch fixes these errors on the Sheevaplug and Beagleboard.

Sheevaplug Full Build (2.5M), now running the testsuit:
http://rcn-ee.homeip.net:81/dl/gcc/SVN-154250-patch-trunk-c-armv5tel/trunk-c-build.log
Beagleboard, Build still in progress, (should be complete in another
couple hours), but has passed that error:
http://rcn-ee.homeip.net:81/dl/gcc/SVN-154250-patch-trunk-c-armv7l/

Patch: http://rcn-ee.homeip.net:81/dl/gcc/SVN-154250-patch-trunk-c-armv5tel/trunk-c-patch.diff

Regards,

-- 
Robert Nelson
http://www.rcn-ee.com/

-----------------------------
Index: gcc/config/arm/arm.c
===================================================================
--- gcc/config/arm/arm.c	(revision 154250)
+++ gcc/config/arm/arm.c	(working copy)
@@ -810,10 +810,10 @@

 static const struct arm_fpu_desc all_fpus[] =
 {
-  {"fpa",		ARM_FP_MODEL_FPA, 0, 0, false, false},
-  {"fpe2",		ARM_FP_MODEL_FPA, 2, 0, false, false},
-  {"fpe3",		ARM_FP_MODEL_FPA, 3, 0, false, false},
-  {"maverick",		ARM_FP_MODEL_MAVERICK, 0, 0, false, false},
+  {"fpa",		ARM_FP_MODEL_FPA, 0, VFP_NONE, false, false},
+  {"fpe2",		ARM_FP_MODEL_FPA, 2, VFP_NONE, false, false},
+  {"fpe3",		ARM_FP_MODEL_FPA, 3, VFP_NONE, false, false},
+  {"maverick",		ARM_FP_MODEL_MAVERICK, 0, VFP_NONE, false, false},
   {"vfp",		ARM_FP_MODEL_VFP, 2, VFP_REG_D16, false, false},
   {"vfpv3",		ARM_FP_MODEL_VFP, 3, VFP_REG_D32, false, false},
   {"vfpv3-fp16",	ARM_FP_MODEL_VFP, 3, VFP_REG_D32, false, true},
@@ -3840,7 +3840,7 @@
 static bool
 aapcs_vfp_is_call_or_return_candidate (enum arm_pcs pcs_variant,
 				       enum machine_mode mode, const_tree type,
-				       int *base_mode, int *count)
+				       enum machine_mode *base_mode, int *count)
 {
   enum machine_mode new_mode = VOIDmode;

Index: gcc/config/arm/arm.h
===================================================================
--- gcc/config/arm/arm.h	(revision 154250)
+++ gcc/config/arm/arm.h	(working copy)
@@ -307,6 +307,7 @@

 enum vfp_reg_type
 {
+  VFP_NONE,
   VFP_REG_D16,
   VFP_REG_D32,
   VFP_REG_SINGLE



More information about the Gcc-patches mailing list