Menu

#3395 tcl 8.5a4 rc 1 fails to run 'make test' under windows/mingw

obsolete: 8.5a4
closed-fixed
9
2006-03-27
2006-03-22
No

Testing the tcl8.4a4 rc1 tarballs i stumbled across the
following bug:

after doing:
mkdir build
cd build
../win/configure
make test

gcc -c -O2 -fomit-frame-pointer -Wall -Wconversion
-I"../win/../generic" -DTCL_TOMMATH -DMP_PREC=4
-I"../win/../libtommath" -I"../win" -DPACKAGE_NAME=\"\"
-DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\"
-DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\"
-DHAVE_NO_SEH=1 -DEXCEPTION_DISPOSITION=int
-DHAVE_WINNT_IGNORE_VOID=1 -DHAVE_ALLOCA_GCC_INLINE=1
-DHAVE_CAST_TO_UNION=1 -DTCL_CFGVAL_ENCODING=\"cp1252\"
-DTCL_CFG_OPTIMIZED=1 -DTCL_CFG_DEBUG=1
"../win/tclWinTest.c" -o tclWinTest.o
../win/tclWinTest.c: In function `TclplatformtestInit':
../win/tclWinTest.c:71: warning: passing arg 3 of
`Tcl_CreateCommand' from incompatible pointer type
../win/tclWinTest.c: In function `TesteventloopCmd':
../win/tclWinTest.c:148: warning: passing arg 1 of
`PostQuitMessage' as signed due to prototype
../win/tclWinTest.c: In function `TestplatformChmod':
../win/tclWinTest.c:505: warning: missing braces around
initializer
../win/tclWinTest.c:505: warning: (near initialization
for `userSidAuthority.Value')
../win/tclWinTest.c:657: warning: passing arg 3 of
pointer to function from incompatible pointer type
../win/tclWinTest.c:667: warning: passing arg 1 of
pointer to function with different width due to prototype
../win/tclWinTest.c:668: warning: passing arg 3 of
pointer to function with different width due to prototype
../win/tclWinTest.c:673: warning: passing arg 1 of
pointer to function from incompatible pointer type
../win/tclWinTest.c:703: warning: dereferencing
type-punned pointer will break strict-aliasing rules
../win/tclWinTest.c:710: error: `INHERITED_ACE'
undeclared (first use in this function)
../win/tclWinTest.c:710: error: (Each undeclared
identifier is reported only once
../win/tclWinTest.c:710: error: for each function it
appears in.)
../win/tclWinTest.c:535: warning: unused variable
`userSidLen'
../win/tclWinTest.c:537: warning: unused variable
`userDomainLen'
../win/tclWinTest.c: In function `TestchmodCmd':
../win/tclWinTest.c:803: warning: passing arg 2 of
`TestplatformChmod' as signed due to prototype
make: *** [tclWinTest.o] Error 1

System information:
Running under msys/mingw (fresh install)
$ gcc --version
gcc.exe (GCC) 3.4.2 (mingw-special)
Windows XP SP 2

Discussion

  • Michael Schlenker

    • priority: 5 --> 9
    • assigned_to: nobody --> vincentdarley
     
  • Pat Thoyts

    Pat Thoyts - 2006-03-23

    Logged In: YES
    user_id=202636

    We need:

    // MinGW 3.4.2 does not define this.
    #ifndef INHERITED_ACE
    #define INHERITED_ACE (0x10)
    #endif // INHERITED_ACE

    and the code needs some general cleaning up.

     
  • Michael Schlenker

    Logged In: YES
    user_id=302287

    Adding pats #define to tclwintest.c enables make test again.

     
  • Pat Thoyts

    Pat Thoyts - 2006-03-27

    Logged In: YES
    user_id=202636

    Added code to handle the missing define and cleaned up some
    gcc warnings. Committed to core-8-4-branch and HEAD.

     
  • Pat Thoyts

    Pat Thoyts - 2006-03-27
    • status: open --> closed-fixed
     
  • Don Porter

    Don Porter - 2006-03-28

    Logged In: YES
    user_id=80530

    thanks for the fixes.

    A few suggestions:

    Can the conditional
    #define of INHERITED_ACE
    be moved to tclWinPort.h
    instead? Seems like that's
    where issues of porting
    among different compilers
    belong.

    On the HEAD, can we drop
    the #define USE_COMPAT_CONST
    and any use of CONST84 ?
    For a file distributed as
    part of the Tcl 8.5 codebase,
    I don't see the point of continuing
    to support source compatibility
    with Tcl 8.3 header files.

     
  • Donal K. Fellows

    Logged In: YES
    user_id=79902

    FWIW, I'm working to squelch VOID from all non-public files
    (i.e. I'm leaving tcl.h and tcl.decls alone) and can tackle
    CONST at the same time. We've certainly required full ANSI
    support throughout 8.4 anyway, so we might as well make use
    of it...

     
  • Don Porter

    Don Porter - 2006-03-29

    Logged In: YES
    user_id=80530

    A global CONST -> const is
    something to consider; let's
    chat about it, but let's
    keep that separate from this
    report.