iPP 1.0.0 01/24/99 Preview Release

-----------------------------------------------------------------------------
KNOWLEDGE BASE

Date        Description                                         Status 

11/18/98    iPP 09/06/98 Preview Release does not properly      Fixed
            handle includes within if/ifdef/ifndef directive.

            The following will result in unexpected end of
            file while in if/ifdef/ifndef.

            ifninc.tf file
            #ifndef OS
            #include "defs.incs"
            #endif

            defs.incs file
            #define OS 5.2

            The problem has been resolved in iPP 01/24/99
            Preview Release.

10/16/98    iPP 09/06/98 Preview Release does not properly      Fixed
            evaluate statements containing ## operator.

            The following will not be properly evaluated.

            #define PRE_MACRO(i) (i = i + 1)
            #define PASTE(name, i) (PRE_##name(i))
       
            PASTE(MACRO,n);

            The problem has been resolved in iPP 01/24/99
            Preview Release.

09/03/98    iPP 08/22/98 Preview Release does not properly      Fixed
            evaluate statements containing text matching
            defined macros.

            The following will generate an invalid value.

            #define and(a,b) a and b
            if a and b then print "both"

            The problem has been resolved in iPP 09/06/98
            Preview Release.

09/03/98    iPP 08/22/98 Preview Release does not properly      Fixed
            evaluate macros whose parameters are not found in
            the macro's definition.

            The following will generate an invalid value.

            #define f(x) y
            f(1)

            The problem has been resolved in iPP 09/06/98
            Preview Release.

08/26/98    Operations on doubles result in invalid integer     Fixed
            values in iPP 08/22/98 Preview Release.

            The following will generate an invalid value.

            #if 1 == 1 + .1
            #message error
            #else
            #message ok
            #endif

            The problem has been resolved in iPP 09/06/98
            Preview Release.

08/21/98    iPP 08/17/98 Preview Release generates invalid      Fixed
            results when evaluating embedded macros.

            The following will generate an invalid value.

                #define m1(a) a
                #define m2(b) b

                m1(m2(x))

            The problem has been resolved in iPP 08/22/98
            Preview Release.

08/14/98    iPP 07/19/98 Preview Release generates an error     Fixed
            when an output file is specified from the command
            line.

            The following will result in iPP incorrectly
            generating an array out of bounds error.

                ipp index.tf index.html

            The problem has been resolved in iPP 08/17/98
            Preview Release.

07/13/98    != operator is not being properly evaluated in      Fixed
            iPP 07/05/98 Preview Release.

            The following will result in iPP incorrectly
            reporting an error.

                #if 1 != 1
                #error 1 != 1
                #endif

            The problem has been resolved in iPP 07/19/98
            Preview Release.

07/13/98    Hexadecimal constants are not being properly        Fixed
            evaluated in iPP 07/05/98 Preview Release.

            The following will result in iPP incorrectly
            reporting an error.

                #if 1 == 0x01
                #message ok
                #endif

            The problem has been resolved in iPP 07/19/98
            Preview Release.

07/13/98    Identifiers are not being properly evaluated        Fixed
            in iPP 07/05/98 Preview Release.

            The following will result in iPP incorrectly
            reporting an error.

                pp -d a=1

                #if a == 1
                #message ok
                #endif

            The problem has been resolved in iPP 07/19/98
            Preview Release.

06/23/98    Recursive definitions are not presently             Open
            being caught. 

            The following will result in iPP aborting.

                #define a   b
                #define b   a

                x = b
