Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Jul 08, 2014

  1. dkl

    rtlib: Fix ARM 64bit build

    dkl authored
  2. dkl

    gfxlib2 Linux fbdev driver: Disable on ARM due to use of x86 inline ASM

    dkl authored

Jul 03, 2014

  1. dkl

    rtlStrDelete(): Clean up unnecessary dtype checks

    dkl authored
  2. dkl

    Fix temporary string descriptor leak when ignoring string function re…

    …sults
    
    bug from 6490c31
    
    Only fb_StrDelete() was being used to delete ignored string results, but
    that actually doesn't free the temporary descriptors used for string
    function results, but only the string data. The descriptors were leaked
    and can easily be exhausted - the rtlib only has 256.
    
    Solution: call fb_hStrDelTemp() instead, as done in lots of rtlib code.
    dkl authored

Jun 25, 2014

  1. countingpine

    Add support for Operator Len()

    countingpine authored

Jun 13, 2014

  1. dkl

    Fix broken linked list unlinking in astTypeIniRemoveLastNode()

    (bug in cd1f32a)
    dkl authored

Jun 02, 2014

  1. dkl

    parser-decl-var: Fix crash after Redim array expression parsing fails

    dkl authored
  2. dkl

    parser-decl-var: Simplify code by using astRemoveNIDXARRAY()

    dkl authored

May 30, 2014

  1. dkl

    zip.bi: Add missing crt #includes for time_t and FILE

    dkl authored
  2. dkl

    crt/stdint.bi: Remove unnecessary #include crt/wchar.bi

    This also solves a cyclic dependency with crt/win32/wchar.bi which itself
    #includes crt/stdint.bi.
    dkl authored

May 29, 2014

  1. dkl

    win/winbase.bi: Re-add RtlCopyMemory() (9c94319 regression)

    dkl authored

May 26, 2014

  1. dkl

    Revert "Remove special behaviour of ENUMs inside EXTERN blocks"

    This reverts commit e438f7f.
    
    Enums have special behaviour when inside Extern blocks: Normally they
    create a namespace to hold the enumconstants, but inside an Extern block,
    they don't create that namespace. This means normally enumconstants won't
    conflict with other global symbols or those from parallel enums, but inside
    Extern blocks they behave like enums in C and are added to the toplevel
    namespace, possibly conflicting with other globals.
    
    I don't like that enums have special behaviour in Extern blocks, but
    currently there's no alternative to get the C-style behaviour where
    enumconstants are added to the toplevel namespace. The change has caused
    problems with FB bindings to C libraries, for example here:
    
    http://www.freebasic.net/forum/viewtopic.php?f=14&t=22147
    
    and it's best to revert it for now.
    
    The reason why this caused problems with code like this:
    	enum
    		foo = 1
    	end enum
    	type foo as integer
    	print foo  '' error: Variable not declared, foo
    is that during symbol lookup, the type "foo" shadows the enumconstant "foo"
    which is imported from the enum's implicit namespace via the implicit USING
    done by enums.
    
    The same can be observed when using explicit namespaces:
    	namespace aaa
    		foo = 1
    	end namespace
    	using aaa
    	type foo as integer
    	print foo '' error: Variable not declared, foo
    
    In other words, the lookup allows a type to shadow a constant, even though
    types and constants/variables/procedures are usually treated as being in
    separate namespaces (we can declare a type A and a variable A without
    duplicate definition error). But it works like that in C++ too, and is a
    whole different issue, not just related to enums...
    
    Conflicts:
    	changelog.txt
    dkl authored

May 23, 2014

  1. dkl

    parser: Fix pointer indexing error recovery crash (9d7ea26 regression)

    dkl authored
  2. dkl

    override signature checking: Fix parameter cycling loop to handle PASCAL

    dkl authored
  3. dkl

    internal procptr mangling: Encode THIS parameter again (ecb749 regres…

    …sion)
    dkl authored
  4. dkl

    mangling: Fix bad abbreviations caused by list not being reset cleanly

    symbGetMangledName() could add abbreviations and leave them in the list
    when mangling an UDT, because that didn't use symbMangleEndAbbrev().
    
    Then if a procedure would be mangled next, it could see those abbreviations
    in the list, because even though it used symbMangleInitAbbrev(), that did
    only reset the counter, but not the list.
    
    Thus we'd end up with "ghost" abbreviations in the list, and new
    abbreviations could be assigned the same id as those ghost ones. Then the
    lookup would just use whichever is first...
    
    This was the cause of the issue reported here:
    	http://www.freebasic.net/forum/viewtopic.php?f=3&t=22533
    and it seems to happen since eca05cc when
    compiling with -gen gcc. It doesn't happen under -gen gas because that does
    not use symbGetMangledName() as much (in fact it probably doesn't mangle
    UDTs at all, thus side-stepping the issue).
    dkl authored

May 22, 2014

  1. dkl

    Add LongInt overload of ImageInfo()

    allowing it to work with 64bit Integers too.
    dkl authored
  2. dkl

    Change names of some internal structures/fields from $foo to foo$

    dkl authored
  3. dkl

    Adjust Bin/Oct/Hex to accept pointers to Const

    dkl authored

May 21, 2014

  1. dkl

    FBARRAY descriptors: Also specialize the ptr field to the array's dtype

    It is really the ptr field that holds the buffer containing the array
    elements, so it makes sense to give it the array dtype.
    
    In fact, doing this for the ptr field makes more sense than doing it for
    the data field, because the data field may not point to the array data
    directly (due to the "diff" difference).
    
    http://www.freebasic.net/forum/viewtopic.php?p=197586#p197586
    dkl authored

May 16, 2014

  1. dkl

    Fix overload resolution to handle pointer arg up-casting again

    dkl authored

May 14, 2014

  1. dkl

    Fix copying of empty (unallocated) dynamic array fields

    dkl authored

May 13, 2014

  1. dkl

    Allow generating implicit def/copy-ctors for UDT with POD base

    dkl authored

May 12, 2014

  1. dkl

    Reset vptr at the top of destructors

    dkl authored
  2. dkl

    Share some code between hAreMethodsCompatible() and symbIsEqual()

    dkl authored
  3. dkl

    Fix symbIsEqual() to treat different forward references as different

    dkl authored
  4. dkl

    Check Bydesc dimensions when overriding virtuals

    dkl authored
  5. dkl

    Remove buggy varargs special case from symbIsEqual()

    dkl authored
  6. dkl

    Check Bydesc dimensions in symbIsEqual()

    dkl authored
  7. dkl

    Fix various issues of internal procptr mangling

    - bydesc array parameter dimensions weren't being encoded (e.g. array()
      and array(any), or array(any) and array(any, any) were seen as the same)
    
    - Function result CONSTness wasn't encoded, and will be encoded now. This
      means two function pointers that differ only in function result CONSTness
      are seen as different now. This matches the overloading rules and the C++
      mangling.
    
    - BYVAL parameter CONSTness was encoded, and will no longer be encoded now.
      Two function pointers that differ only in a BYVAL parameter that's CONST
      in one and non-CONST in the other, are now seen as the same type, as in
      C++. Overloading isn't allowed based on BYVAL parameter CONSTness either,
      and the C++ mangling ignores BYVAL parameter CONSTness too.
    dkl authored
  8. dkl

    mangling: Remove duplicate code for BYREF/CONST on function results

    dkl authored

May 10, 2014

  1. dkl

    ast: When CALL'ing procptrs, ensure to build the CALL for the procptr…

    … type
    dkl authored
  2. dkl

    rtlib: Return FB TRUE/FALSE values from fb_IsRedirected()

    dkl authored
  3. dkl

    fbio.bi IsRedirected(): Default to checking stdout

    instead of checking stdin by default - seems more logical & more commonly
    needed.
    dkl authored

May 09, 2014

  1. dkl

    STABS emitter: Fix uninitialized memory access (previous commit regre…

    …ssion)
    dkl authored
Something went wrong with that request. Please try again.