Tcl Source Code

View Ticket
Login
Ticket UUID: 935160
Title: OSX warnings and errors (6)
Type: Bug Version: obsolete: 8.4.6
Submitter: tauvan Created on: 2004-04-14 19:52:09
Subsystem: 53. Configuration and Build Tools Assigned To: mdejong
Priority: 5 Medium Severity:
Status: Closed Last Modified: 2004-05-18 15:08:16
Resolution: Fixed Closed By: dkf
    Closed on: 2004-05-18 08:08:16
Description:
machine: mac ppc G4 (1st PCI 400Mhz) OSX 10.1.5

My (6) suggestion is:
  change:
    tclInt.decls, tclUnixPort.h, tclUnixThrd.c, tclIntPlatDecls.h
  to "CONST time_t *" from "time_t *"

Solves:
  warning: passing arg 1 of `TclpGmtime' discards qualifiers 
from pointer target type
  warning: passing arg 1 of `TclpLocaltime' discards qualifiers 
from pointer target type

Condition:
    "OSX warnings and errors (1)" not required
    "OSX warnings and errors (2)" performed
    quick fix performed

Suggestion:
   All "TclpLocaltime(time_t *" to "TclpLocaltime(CONST time_t *"
   All "TclpGmtime(time_t *" to "TclpGmtime(CONST time_t *"
   struct tm * (*tclpLocaltime) _ANSI_ARGS_((CONST time_t * 
clock));
   struct tm * (*tclpGmtime) _ANSI_ARGS_((CONST time_t * 
clock));
   tools/genStubs.tcl should take care of tclIntPlatDecls.h

Special Notes:
    OSX prototype for gmtime & localtime use "const time_t *"
    glibc uses "__const time_t *"
    Linux Programmer's Manual uses "const time_t *"

Results from (6):
  trashed previous builds
  make -C ./tcl8.4.6/macosx develop
  ./build/tcl/tcltest ./tcl8.4.6/tests/all.tcl
  less warnings
  w & w/o (1) same

Thanks.
User Comments: dkf added on 2004-05-18 15:08:16:
Logged In: YES 
user_id=79902

tauvan: 8.5 does just that, but 8.4 can't because of
#include ordering issues on some platforms (IIRC Windows was
one of those platforms) that were tricky enough to work
around that we're not going to backport those particular
changes.  Luckily, a cast from TclpTime_t to time_t is
actually free in all reasonable implementations...

Fixed in HEAD and unfixable in 8.4-branch => closing bug...

tauvan added on 2004-05-18 09:18:23:
Logged In: YES 
user_id=1011552

  Addmendment:
In response to 2004-05-17  Kevin B. Kenny changes
Patch still invalid
CONST should be removed in tclUnixPort.h
references in tclUnixThrd.c to
TclpLocaltime, TclpGmtime should be removed
...But, it looks like he passes TclpTime_t and immediatly
converts to CONST time_t for all systems. Looks like extra work!
Wouldn't it be better to pass CONST time_t?

tauvan added on 2004-05-17 00:55:48:
Logged In: YES 
user_id=1011552

  This report can be closed as it
seems to be incorporated as of 2004-05-14.
see changes in change log
2004-05-14  Kevin B. Kenny.
It doesn't mention this bug, but it now rejects
the attached patch and the keyword "CONST" seems
to be applied.
  Thanks

tauvan added on 2004-05-03 11:55:14:

File Added - 85906: c84b_OSX6.patch

Attachments: