Tk Source Code

Ticket Change Details
Login
Overview

Artifact ID: e086cd5dc74e65fab7b36068e24dca807c31099d
Ticket: 0819cc40185037560ed49236b35bfd819d969664
Revised [text]: Patches to build on Windows and Linux
User & Date: anonymous 2017-02-22 22:18:42
Changes

  1. assignee changed to: "nobody"
  2. closer changed to: "nobody"
  3. cmimetype changed to: "text/plain"
  4. comment changed to:
    List of changes
    ---------------
    
    With the changes described below, branch revised_text can be compiled with the
    following operating systems / compilers:
    Linux / gcc 4.8.1 / gcc 4.8.5 / gcc 4.9.2 ( tested with 64-bit versions)
    Windows / gcc 4.9.2 / gcc 5.2.0 (tested with both 32 and 64 bit versions)
    Windows / VS2008 / VS2010 / VS2012 / VS2013 / VS2015 ( VS2008 and VS2010 only 32-bit, the others both 32 and 64 bit).
    
    Note, that the changes were applied to branch version http://core.tcl.tk/tk/info/96115bb33cc2befb
    Applying change http://core.tcl.tk/tk/info/8e67d85828005b31, breaks the builds.
    
    
    Several files:
    Replaced malloc, realloc, free with standard Tcl allocator ckalloc, ckrealloc, ckfree.
    Therefore no need for tkAlloc.h anymore.
    This fixes build errors on Linux (occurring with gcc 4.8.1, 4.8.5, 4.9.2):
    in file included from Tk/unix/../generic/tkBitField.c:14:0:
    Tk/unix/../generic/tkAlloc.h:36:26: error: expected identifier or ‘(’ before ‘void’
     # define malloc(size)  ((void *) (ckalloc(size)))
    
    
    Several files:
    Fixed some declarations of local variables. Must be at the beginning of a block.
    
    File makefile.vc:
    Fixed detection of stdint.h and inttypes.h. Added a prototyped replacement file mystdint.h for compilers not having stdint.h.
    
    File tkTextDisp.c:
    Add "#define isblank" for VisualStudio older than 2012
    TODO: Should be checked, if implementation is correct for all cases?
    
    File tkTextMark.c:
    Added direct definition of PRIx64 and PRIx32. No need to include inttypes.h.
    
    File tkTextUndo.c:
    Rearranged code "current = stack->current = memset(realloc(current, Size), 0, Size);"
    because of internal compiler error with VS 2010.
    
  5. foundin changed to: "revised_text"
  6. is_private changed to: "0"
  7. login: "anonymous"
  8. priority changed to: "5 Medium"
  9. private_contact changed to: "b161dbf142556f12a9a6289ffc2a489dd98cabae"
  10. resolution changed to: "None"
  11. severity changed to: "Important"
  12. status changed to: "Open"
  13. submitter changed to: "anonymous"
  14. subsystem changed to: "81. Portability"
  15. title changed to:
    revised_text: Patches to build on Windows and Linux
    
  16. type changed to: "Patch"