[cc65] Bugs in cc65

Date view Thread view Subject view

From: Ullrich von Bassewitz (uz_at_musoftware.de)
Date: 1999-08-07 00:27:21


		   

When trying to port an 8051 assembler to the C64, I've found several bugs in
cc65. Most of these bugs are triggered by code that is very rarely used today.
However, it's an impressive list:

    * A named structure or union with a field thats name matches the
      structure name causes the compiler to dump core.

      Example:

	struct a { int a };

    * A declaration with an explicit storage class and an implicit
      type was parsed incorrectly.

      Example:

	static i = 0;

    * The ?: operator was handled incorrectly when used in a function
      parameter list were the parameter using the ?: operator was not
      the last parameter.

      Example:

	func (a? b : c, d);

    * A pointer expression as boolean expression in a for loop was not
      accepted.

      Example:

	char* a;
	...
       	for (a = x; a; ) { ... }

    * A variable list declaration with the storage specifier "register"
      and a value assignment was parsed incorrectly (this error did not
      depend on the recent introduction of register variables as discussed
      some time ago).

      Example:

	register int a = 0, b = 2;

    * A declaration containing a list of external functions was not
      parsed correctly.

      Example:

	int open(), read(), write(), close();


All these things are fixed in the current development version.

Regards


	Uz


--
Ullrich von Bassewitz                                  uz_at_musoftware.de
----------------------------------------------------------------------
To unsubscribe from the list send mail to majordomo_at_musoftware.de with
the string "unsubscribe cc65" in the body(!) of the mail.


Date view Thread view Subject view

This archive was generated by hypermail 2.1.3 : 2001-12-14 22:05:44 CET