Re: [cc65] More on the prototype bug

From: Andrew J. Kroll <forge1dr.ea.ms>
Date: 2006-04-01 11:11:46
Here is the small patch that seems to fix the bug. I hope I did the right 
thing, but it does seem to fix the problem.


diff -ruN cc65-snapshot-2.11.9.20060401-virgin/src/cc65/typecmp.c cc65-snapshot-2.11.9.20060401/src/cc65/typecmp.c
--- cc65-snapshot-2.11.9.20060401-virgin/src/cc65/typecmp.c	2006-02-19 07:29:37.000000000 -0500
+++ cc65-snapshot-2.11.9.20060401/src/cc65/typecmp.c	2006-04-01 03:45:46.000000000 -0500
@@ -238,14 +238,17 @@
        		 * old style, and the other is empty, the functions are
        		 * considered equal.
        		 */
+       		Ok = 0; /* default Ok = 0 */
        	       	if ((F1->Flags & FD_IMPLICIT) != 0 || (F2->Flags & FD_IMPLICIT) != 0) {
        		    Ok = 1;
        		} else if ((F1->Flags & FD_OLDSTYLE) != 0 && (F2->Flags & FD_EMPTY) != 0) {
        		    Ok = 1;
        		} else if ((F1->Flags & FD_EMPTY) != 0 && (F2->Flags & FD_OLDSTYLE) != 0) {
        		    Ok = 1;
-       		} else {
-       		    Ok = 0;
+       		} else if ((F1->Flags & FD_UNNAMED_PARAMS) != 0 && (F2->Flags & FD_OLDSTYLE) != 0) {
+       		    if((F1->Flags & ~FD_UNNAMED_PARAMS) == (F2->Flags & ~FD_OLDSTYLE)) {
+	       	        Ok = 1; /* ANSI prototype w/K&R Decl. --AJK */
+	       	    }
        		}
 
        		if (!Ok) {


Yours,
-- 
Andrew J. Kroll
Software and Hardware Engineer and Consultant
Grafixoft http://dr.ea.ms/HW/
----------------------------------------------------------------------
To unsubscribe from the list send mail to majordomo@musoftware.de with
the string "unsubscribe cc65" in the body(!) of the mail.
Received on Sat Apr 1 11:11:57 2006

This archive was generated by hypermail 2.1.8 : 2006-04-01 11:12:00 CEST