pkgsrc/devel/splint/patches/patch-aa
rillig 9f3f659581 Updated splint to 3.1.2.
Changes since 3.1.1:

Declarations of intptr_t and uintptr_t

    The standard library declares the intptr_t and uintptr_t types
    incorrectly. They are declared as int * and unsigned int *,
    but should be integral types (large enough to hold a pointer)
    instead.

    (Reported by David Sanderson, 25 Sep 2004. Fixed in development
    standard.h.)

Mode help

    Splint crashes when run with -help weak or another mode flag.

    (Reported by Clive Bach, 27 July 2004. Fixed in CVS 28 July 2004.)

Missing va_copy

    The standard library is missing va_copy.

    (Reported by Roland Illig, 21 May 2004. Fixed in CVS, 21 May 2004.)

Shifting in pre-processor expressions

    Splint will report an internal error for a preprocessor expression
    that shifts a negative value. This should produce a warning message
    instead.

    (Reported by Dirk Herrmann, 10 Nov 2003. Fixed in CVS, 18 May 2004,
    but no warning message added yet.)

gmtime and localtime

    The return type is incorrectly specified as /*@null@*/ in the
    standard library. gmtime and localtime are guaranteed to return
    non-null values.

    (Reported by Terry Colligan, 30 Oct 2003. Fixed in CVS, 2 Nov 2003.)

Redefining __func__

    Splint will report an internal bug if built in special definitions
    like __func__ are redefined.

    (Reported by Terry Colligan, 28 Oct 2003. Fixed in CVS, 28 Oct 2003.)

Pragma Line Numbers

    Splint does not count

    #pragma ...

    lines in the line number.

    (Reported by Scott Frazer, 27 Oct 2003. Fixed in CVS, 27 Oct 2003.)

Files Unclosed in Win32

    Options that involve writing messages to files do not work in Win32.
    The check that all files are closed was somehow copied to a location
    it shouldn't be (llmain:830).

    (Fixed in CVS 18 Sept 2003.)

Multi-dimensional Arrays

    Splint does not interpret declarations of multidimensional arrays
    correctly. A declaration like int a[][10] is misinterpreted as
    int a[10][].

    (Reported by Bill Leahy, 15 Sept 2003. Fixed in CVS 15 Sept 2003.)

&& and || guards

    Splint does not correctly interpret guards for non-boolean
    expressions in && and || clauses (e.g., if (s && t)).

    (Reported by Andrew Bishop. Fixed in CVS 13 August 2003.)

scanf %x

    Splint interprets %x in a scanf format string as an int *, but it
    should be an unsigned int *.

    (Reported by Andrew Bishop. Fixed in CVS 13 August 2003.)

+matchanyintegral and unsignedintegrals

    When +matchanyintegral is set, splint should allow any int type to
    match an aribtrary unsigned integral.

    (Reported by John Makecki. Fixed in CVS 18 July 2003.)

Shadow updates

    When a variable declaration is shadowed, the sRef_updateSref
    function will find the inner reference when there is an alias
    to the outer reference.

    (Reported by John Makecki. Fixed in CVS 18 July 2003.)

Internal assertion fails for unconventional bounds

    An internal assertion will fail for strange array indexes like,
    i["]<i;++i){--i;}"].

    (Reported by Xose Vazquez Perez. Fixed in CVS 12 July 2003.)

Assignments with global structs

    Splint does not correctly update state when the rhs of an assignment
    is a struct with global scope.

    (Reported by Steve Brooke. Fixed in CVS, 10 July 2003.)

Defining __STDC__

    Splint should define __STDC__. See http://bugs.debian.org/cgi-bin/
    bugreport.cgi?bug=171437&msg=7 for details.

    (Reported by Vincent Lefevre. Fixed in CVS, 10 July 2003)

Missing signal.h definitions

    The posix library is missing some definitions from signal.h.

    (Reported by Jerry James. Fixed in CVS, 13 June 2003)

Pre-processing ISO8859-1 characters

    Splint does not process ISO8859-1 characters correctly since it is
    building on a pre-ISO8859-1 version of gcc's pre-processor, and
    character \377 is indistinguishable from EOF.

    (Reported by Kai Hofmann. Fixed in CVS, 6 June 2003)

Printing lltok

    Splint prints -> tokens in specifications incorrectly as ".".
    Reported and fixed by Psanzani.

    (Fixed in CVS, 6 June 2003)
2009-03-03 08:58:23 +00:00

15 lines
601 B
Text

$NetBSD: patch-aa,v 1.3 2009/03/03 08:58:23 rillig Exp $
Some systems don't have <stdbool.h>.
--- src/Headers/basic.h.orig 2003-11-02 21:55:03.000000000 +0100
+++ src/Headers/basic.h 2009-03-03 09:43:05.000000000 +0100
@@ -26,7 +26,7 @@
# include <stdlib.h>
# include <stdio.h>
-# if !defined (WIN32) && !(defined (OS2) && defined (__IBMC__))
+# if !defined (WIN32) && !(defined (OS2) && defined (__IBMC__)) && !(defined(__GNUC__) && (__GNUC__ == 2)) && !(defined(__sun) && !(__STDC_VERSION__ >= 199901L))
/* Microsoft VC++ still doesn't support ISO C99... */
# include <stdbool.h>
# endif