Menu

#197 const char * warnings

obsolete: 8.0p2
closed-duplicate
nobody
69. Other (102)
2
2001-04-16
2000-10-26
Anonymous
No

OriginalBugID: 679 Bug
Version: 8.0p2
SubmitDate: '1998-09-23'
LastModified: '1999-09-15'
Severity: LOW
Status: Closed
Submitter: welch
ChangedBy: hobbs
OS: Linux
OSVersion: NA
Machine: NA
FixedDate: '2000-10-25'
FixedInVersion: NA
ClosedDate: '1999-09-15'

The function prototypes in /usr/include/tcl.h have a large number of "char*"
definitions that should really be "char const*". Without this correct
constness, compiling will generate a large number of errors. For example:

db/dbobject.cpp:1476: warning: converting `const char *' to `char *' is a contravariance violation
db/dbobject.cpp:1476: warning: passing `const char *' as argument 2 of `Tcl_GetVar(Tcl_Interp *, char *, int)' discards const
db/dbobject.cpp:1508: warning: converting `const char *' to `char *' is a contravariance violation
db/dbobject.cpp:1508: warning: passing `const char *' as argument 2 of `Tcl_SetVar(Tcl_Interp *, char *, char *, int)' discards const
db/dbobject.cpp:1511: warning: converting `const char *' to `char *' is a contravariance violation
db/dbobject.cpp:1511: warning: passing `const char *' as argument 2 of `Tcl_SetVar(Tcl_Interp *, char *, char *, int)' discards const
db/dbobject.cpp:1514: warning: converting `const char *' to `char *' is a contravariance violation
db/dbobject.cpp:1514: warning: passing `const char *' as argument 2 of `Tcl_SetVar(Tcl_Interp *, char *, char *, int)' discards const

Since argument #2 is never changed by the procedure, it should be declared
as a const parameter.

There's a good chance "tk.h" has the same problems, but I haven't checked
yet.

Brian
( bcwhite@verisim.com )

This is conflicting with someone else's code, where the cast should
be made. It may be true that Tcl_SetVar won't change the char, but
it has always been defined to be char*, so changing it would just
cause others headaches.
-- 09/15/1999 hobbs

Discussion

  • Brent B. Welch

    Brent B. Welch - 2000-10-26
    • priority: 5 --> 2
    • status: open --> closed-fixed
     
  • Don Porter

    Don Porter - 2001-04-16
    • status: closed-fixed --> closed-duplicate