Servertec iPP Version 1.4.4 09/04/2005

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

Date        Description                                               Status 

06/04/2000  iPP did not properly handle macro definitions defined     Fixed
            using define().

            Macro definitions defined using define() resulted in
            "Unexpected end of line encountered while searching
            for identifier" being thrown.

            The problem has been resolved in
            iPP Version 1.4.0 08/13/2000.

01/03/2000  iPP Version 1.1.1 01/11/1999 improperly removed           Fixed
            comments from included files.

            The problem has been resolved in
            iPP Version 1.2.0 01/03/2000.

01/03/2000  iPP Version 1.1.1 01/11/1999 does not remove comments     Fixed
            when preserve blanks is selected.

            The problem has been resolved in
            iPP Version 1.2.0 01/03/2000.

01/03/2000  iPP Version 1.1.1 01/11/1999 improperly concatenates      Fixed
            lines in multiline comments when comments lines ends
            with \.

            The problem has been resolved in
            iPP Version 1.2.0 01/03/2000.

11/18/1998  iPP Version 1.0.0 09/06/1998 does not properly handle     Fixed
            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 Version 1.0.0 01/24/1999.

10/16/1998  iPP Version 1.0.0 09/06/1998 does not properly evaluate   Fixed
            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 Version 1.0.0 01/24/1999.

09/03/1998  iPP Version 1.0.0 08/22/1998 does not properly evaluate   Fixed
            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 Version 1.0.0 09/06/1998.

09/03/1998  iPP Version 1.0.0 08/22/1998 does not properly evaluate   Fixed
            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 Version 1.0.0 09/06/1998.

08/26/1998  Operations on doubles result in invalid integer values    Fixed
            in iPP Version 1.0.0 08/22/1998.

            The following will generate an invalid value.

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

            The problem has been resolved in
            iPP Version 1.0.0 09/06/1998.

08/21/1998  iPP Version 1.0.0 08/17/1998 generates invalid results    Fixed
            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 Version 1.0.0 08/22/1998.

08/14/1998  iPP Version 1.0.0 07/19/1998 generates an error when an   Fixed
            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 Version 1.0.0 08/17/1998.

07/13/1998  != operator is not being properly evaluated in            Fixed
            iPP Version 1.0.0 07/05/1998.

            The following will result in iPP incorrectly reporting
            an error.

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

            The problem has been resolved in
            iPP Version 1.0.0 07/19/1998.

07/13/1998  Hexadecimal constants are not being properly              Fixed
            evaluated in iPP Version 1.0.0 07/05/1998.

            The following will result in iPP incorrectly reporting
            an error.

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

            The problem has been resolved in
            iPP Version 1.0.0 07/19/1998.

07/13/1998  Identifiers are not being properly evaluated in           Fixed
            iPP Version 1.0.0 07/05/1998.

            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 Version 1.0.0 07/19/1998.

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

            The following will result in iPP aborting.

                #define a   b
                #define b   a

                x = b
