Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Commits on Aug 24, 2015
  1. @dkl

    inc: Update CD binding to 5.8.2

    dkl authored
  2. @dkl

    inc: Update IUP binding to 3.15

    dkl authored
  3. @dkl

    inc: Update Windows API binding to MinGW-w64 4.0.4

    dkl authored
    (no changes to bindings except some #includes in win/
  4. @dkl
  5. @dkl

    inc: Various improvements for fbfrog-based bindings

    dkl authored
    - started support for additional targets (*BSD, Cygwin),
      but in practice this is generally not usable yet, because
      some CRT bindings #error for targets besides dos/linux/win32
    - more macro parameters automatically wrapped in parentheses
    - better #if generation (see e.g. or winapi)
Commits on Aug 22, 2015
  1. @countingpine

    Bug #741: The Free Software Foundation's address has changed.

    countingpine authored
    Change all instances of: 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
    To: 51 Franklin Street, Fifth Floor, Boston, MA  02111-1301 USA
    (Similar treatment where the punctuation/line breaks are different.)
Commits on Aug 19, 2015
  1. @dkl
  2. @dkl
  3. @dkl
  4. @dkl

    internal: Always specify a symbol in astTypeIniScope*() calls

    dkl authored
    For use by the LLVM backend, see also 3bd9dba and 7692ba0.
  5. @dkl
  6. @dkl
  7. @dkl

    LLVM backend: hPrepareAddress(): Only add PTR indirection level if ne…

    dkl authored
    This prevents unnecessary bitcasts from being emitted.
  8. @dkl
  9. @dkl

    internal: Use c*() instead of val*()

    dkl authored
    This means we avoid using the inconsistently named valint()/vallng()
    functions, just in case we'll change their behaviour/naming in the future.
Commits on Aug 12, 2015
  1. @dkl

    Fix RETURN in byref functions: Don't try to call a constructor

    dkl authored
    RETURN tried to construct a result object even in return-byref functions,
    because has_ctor is TRUE in that case (it checks the result type). Then
    astBuildImplicitCtorCallEx() was called with the result ptr variable, even
    though it assumes being given an UDT object, resulting in weird ctor calls.
    (Apparently the overload resolution would end up calling ctors taking
    pointers, and failed to match copy ctors, which is why this bug didn't
    always show up)
  2. @dkl
Commits on Aug 11, 2015
  1. @dkl
Commits on Aug 8, 2015
  1. @dkl

    Clean-up gfxlib during END instead of global dtor

    dkl authored
    (closes #750)
    The gflxib needs to wait for its background thread to exit as part of its
    clean-up. Previously this was done during the rtlib's global dtor.
    However, waiting for a thread to exit during a global dtor is not safe on
    Windows. There can be a dead-lock due to the loader lock that is acquired
    when code such as DllMain() or global ctors/dtors is run. There is also a
    race-condition there; if the thread finishes before the global dtor is
    reached, then there's no dead lock.
    Even though apparently the old code has worked fine for 10 years, it's
    still not safe, and dead-lock problems were observed and reported on
    Windows 10 (sometimes, not always).
    Hence the FB runtime needs to be fixed to clean-up the gfxlib during
    fb_End(), i.e. during main(), instead of during a global dtor. For the
    main supported use case this should not make a difference:
    	screen 12
    	print "hi"
    but there obviously is a difference for programs doing stuff like this:
    * use FB graphics from global dtors - that won't work anymore
    * using FB graphics inside DLLs - fb_End() isn't called here, the
      background will never terminate, and leave the program hanging.
      Such programs will have to be adjusted to do "screen 0" explicitly in
      the DLL before exiting.
Commits on Aug 4, 2015
  1. @dkl
  2. @dkl

    inc: winapi: Translate CHAR/WCHAR typedefs as byte/wchar_t again

    dkl authored
    Generally, CHAR typedefs are intended to refer to single bytes,
    while it's typedefs like LPSTR that refer to strings.
    Besides the typedefs, this also changes various fields/parameters. For
    example, all fields/parameters named sz* are now translated as strings.
    In some cases (e.g. some fields/parameters are turned to CHAR
    instead of string because they're only intended to point to a single CHAR.
Commits on Aug 2, 2015
  1. @dkl
  2. @dkl
  3. @jayrm
Commits on Aug 1, 2015
  1. @jayrm
  2. @dkl

    Merge branch 'fix-763' of

    dkl authored
Commits on Jul 31, 2015
  1. @thrimbor

    Fixed #763: fb_DrvIntlGetTimeFormat now correctly parses the string r…

    thrimbor authored
    …eturned by nl_langinfo on unix-like systems
  2. @dkl

    win32 rtlib: Open Com: Ensure to pass dwShareMode=0 to CreateFile()

    dkl authored
    MSDN says the dwShareMode parameter must be 0 (exclusive access) when
    opening COM ports.
  3. @dkl
  4. @dkl
  5. @jayrm
  6. @jayrm

    boolean: ASM backend: L2B not working correctly. Temporary fix for no…

    jayrm authored
    …w, and try to optimize later.
Commits on Jul 29, 2015
  1. @jayrm

    boolean: add warnings/errors

    jayrm authored
    - warnings when mixing boolean / non-boolean operands
    - errors when using operators other than NEG NOT ND OR XOR EQV IMP ANDALSO ORELSE with booleans
  2. @jayrm

    Revert "Adjust compiler to not rely on boolean support itself"

    jayrm authored
    This reverts commit cb71321.
    Reimplement "Adjust compiler to not rely on boolean support itself":
    1) Reimplemented as #defines to allow easy search and remove from code base at some later release
    2) 1-step build will pass all tests
    3) 2nd iteration of the build will incorporate CBOOL()/BOOLEAN in to the compiler so that compiler is using same implementation as end user code.
Commits on Jul 27, 2015
  1. @dkl

    Change FileAttr() to return Integer and make fbFileAttrHandle work on…

    dkl authored
    … 64bit
    To support 64bit, FileAttr() needs to return an Integer instead of a Long,
    because it wants to return pointers/handlers.
    Internally, the old code dereferenced through the various internal structs
    starting at FB_FILE.opaque. I've changed this to use the structs explicitly
    instead of assuming int's everywhere. Just changing it to assume ssize_t's
    everywhere would be wrong, because for example the LINUX_SERIAL_INFO stores
    its OS handle (a file descriptor) as a 32bit int, even on 64bit.
Something went wrong with that request. Please try again.