On 05-Mar-01 18:17, Colin Watson wrote:
> On Mon, Feb 28, 2005 at 09:41:56AM +0100, Andreas Jochens wrote:
> I was going to NMU at Stephen's request, but this fails to build on
> powerpc/gcc-3.4:
> [...]
> Any idea what's going on?

Thank you for trying the patch. 

I amended the patch a little (see below). With these amendments,
the pfe package now compiles with gcc-3.3, gcc-3.4 and gcc-4.0 on
amd64. I did not check it on powerpc.

I think that it is ugly to check for specific compiler versions in the
sources, but I do not know a better solution in this case.

Regards,
Andreas Jochens

diff -urN ../tmp-orig/pfe-0.33.34/pfe/def-comp.h ./pfe/def-comp.h
--- ../tmp-orig/pfe-0.33.34/pfe/def-comp.h      2003-09-26 19:16:12.000000000 
+0200
+++ ./pfe/def-comp.h    2005-03-01 21:33:35.265395381 +0100
@@ -362,7 +362,7 @@
 #if   ! defined PFE_CALL_THREADING
 #define FX_POP_BODY_ADDR           (P4_WP_PFA)
 #define FX_POP_BODY_ADDR_(VARNAME) register p4cell* VARNAME = FX_POP_BODY_ADDR
-#define FX_POP_BODY_ADDR_p4_BODY   register p4cell* p4_BODY = FX_POP_BODY_ADDR
+#define FX_POP_BODY_ADDR_p4_BODY   p4cell* p4_BODY = FX_POP_BODY_ADDR
 #define FX_POP_BODY_ADDR_UNUSED
 #elif ! defined PFE_SBR_CALL_THREADING
 #define FX_POP_BODY_ADDR           ((p4cell*)(*IP++))
diff -urN ../tmp-orig/pfe-0.33.34/pfe/def-macro.h ./pfe/def-macro.h
--- ../tmp-orig/pfe-0.33.34/pfe/def-macro.h     2003-03-19 16:50:34.000000000 
+0100
+++ ./pfe/def-macro.h   2005-03-01 21:26:21.182181450 +0100
@@ -44,7 +44,7 @@
 #endif
 
 /* inc/decrement, push/pop of arbitrary types with arbitrary pointers */
-#if defined __GNUC__ && !defined __STRICT_ANSI__ && !defined __cplusplus
+#if defined __GNUC__ && __GNUC__ <= 3 && !defined __STRICT_ANSI__ && !defined 
__cplusplus
 /* Use non-ANSI extensions avoiding address-of operator: */
 #define P4_ADD(P,N)    ((char *)(P) += (N))
 #define P4_INC(P,T)    (((T *)(P))++)
@@ -272,7 +272,7 @@
 #define P4_IF_FP_(X)
 #endif
 
-#if defined __WATCOMC__ || defined _AIX_CC
+#if ( defined __GNUC__ && __GNUC__ >= 4 ) || defined __WATCOMC__ || defined 
_AIX_CC
 #define P4_VAR(_TYPE,_VAR) (*((_TYPE*)&(_VAR)))
 #else
 #define P4_VAR(_TYPE,_VAR)    ((_TYPE)(_VAR))
diff -urN ../tmp-orig/pfe-0.33.34/pfe/engine-set.c ./pfe/engine-set.c
--- ../tmp-orig/pfe-0.33.34/pfe/engine-set.c    2003-10-02 16:59:10.000000000 
+0200
+++ ./pfe/engine-set.c  2005-03-01 21:29:20.467576061 +0100
@@ -601,7 +601,7 @@
        p4_evaluate (p, n);                     /* directly from a C' based */
        val = 0;                                /* application which did */
     default:                                    /* call InitVM before to get */
-       /* an error occurred */                 /* a new instance of a PFE */
+       break; /* an error occurred */          /* a new instance of a PFE */
     }                                           /* being put on hold for */
     PFE_VM_LEAVE(th);                           /* being Exec'uted finally */
     return val;
diff -urN ../tmp-orig/pfe-0.33.34/pfe/fpnostack-ext.c ./pfe/fpnostack-ext.c
--- ../tmp-orig/pfe-0.33.34/pfe/fpnostack-ext.c 2003-03-21 13:41:42.000000000 
+0100
+++ ./pfe/fpnostack-ext.c       2005-03-01 21:32:24.639027573 +0100
@@ -670,7 +670,8 @@
  */
 FCode (p4_nofp_f_trunc_to_s)
 {
-    double h = *FSP++;
+    double h = *FSP; 
+    SP = (double *)SP + 1;
     *--SP = (p4cell) h;
 }
 
diff -urN ../tmp-orig/pfe-0.33.34/pfe/option-ext.c ./pfe/option-ext.c
--- ../tmp-orig/pfe-0.33.34/pfe/option-ext.c    2003-06-26 18:21:11.000000000 
+0200
+++ ./pfe/option-ext.c  2005-03-01 21:29:57.615405844 +0100
@@ -274,7 +274,7 @@
         xt = p4_create_option (nm, l, sizeof(p4cell), opt);
         if (! xt) return 0; 
        P4_XT_VALUE(xt) = FX_GET_RT (p4_value);
-        return ((p4cell*) OPT.dp = defval );
+        return ( OPT.dp = defval );
     }
 }
 



-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to