Activity for FreeBASIC Compiler

  • Jeff Marshall Jeff Marshall posted a comment on ticket #1006

    Related: byref function result chained with additional methods The byref result is passed as an instance parameter to the next method call; under the hood, methods have method(this, args) as parameters, so at the very least we should expect arguments to the method to be evaluated before the method call. However, as can see in this example, all arguments are evaluated before any method call which is surely incorrect. type Q x as single declare function d( byval arg as single ) as single declare function...

  • fxm (freebasic.net) fxm (freebasic.net) posted a comment on ticket #1006

    The calling convention (stdcall, pascal, cdecl) imposes the order of passing the parameters (in the stack) relative to the order in which they are listed in the declaration, but nothing specifically imposes that the corresponding arguments are evaluated (for passing by value) in the same order. Otherwise, I think gas(32) is right, and it is not because the arguments provided are references that they should not still be passed by value as stipulated in the declaration.

  • fxm (freebasic.net) fxm (freebasic.net) created ticket #1006

    Different behavior of gas and gcc/gas64 on a same unsafe code, but is it a bug?

  • Jeff Marshall Jeff Marshall committed [bb84ad] on Code

    Merge remote-tracking branch 'jayrm/fbc-1.10' into master

  • Jeff Marshall Jeff Marshall committed [9b8162] on Code

    fbc: PEEK, POKE, and SWAP name resolution

  • Jeff Marshall Jeff Marshall committed [42d710] on Code

    profiler: rtlib: fix gcc warnings

  • Jeff Marshall Jeff Marshall committed [7b6bca] on Code

    profiler: rtlib: allow compile on older gcc

  • Jeff Marshall Jeff Marshall committed [d22b5d] on Code

    docs: add -earraydims to man page

  • Jeff Marshall Jeff Marshall committed [7e12ea] on Code

    Merge remote-tracking branch 'origin/fbc-1.10' into master

  • Jeff Marshall Jeff Marshall committed [a647b9] on Code

    contrib/release/build.sh: remove downloaded package

  • Jeff Marshall Jeff Marshall committed [1a79e6] on Code

    release: build-bsd.sh

  • Jeff Marshall Jeff Marshall committed [109aa4] on Code

    release: update manifests for fbc 1.10.3

  • Jeff Marshall Jeff Marshall committed [e3fe49] on Code

    release: build.sh using recipe names

  • c Rex c Rex modified a comment on ticket #1005

    perhaps i will join gcc forum. anyway, this was my use case '' custom rng initialize sub set( _a as longint = 1, _b as longint = 0 ) '' changed to longint after i id'd culprit a = _a: b = _b '' rng-based waveform sub chaos_wave( byref f as double, i as double ) rng.set int(i) '' seed f = rnd rng.set int(i) + 1 '' seed-in-sequence f = f + (i - int(i)) * (rnd - f) '' linear interp chaos_wave retval, neg10_to_positiv10 using set( .. as ulongint, .. ), chaos_wave output was like -------\/\/\/\

  • c Rex c Rex modified a comment on ticket #1005

    perhaps i will join gcc forum. anyway, this was my use case '' custom rng initialize sub set( _a as longint = 1, _b as longint = 0 ) '' changed to longint after i id'd culprit a = _a: b = _b '' rng-based waveform sub chaos_wave( byref f as double, i as double ) rng.set int(i) '' seed f = rnd rng.set int(i) + 1 '' seed-in-sequence f = f + (i - int(i)) * (rnd - f) '' linear interp chaos_wave retval, neg10_to_positiv10 output -------\/\/\/\

  • c Rex c Rex modified a comment on ticket #1005

    perhaps i will join gcc forum. anyway, this was my use case '' custom rng initialize sub set( _a as longint = 1, _b as longint = 0 ) '' changed to longint after i id'd culprit a = _a: b = _b '' rng-based waveform sub chaos_wave( byref f as double, i as double ) rng.set int(i) '' seed f = rnd rng.set int(i) + 1 '' seed-in-sequence f = f + (i - int(i)) * (rnd - f) '' linear interp call chaos_wave ret, neg10_to_positiv10 output -------\/\/\/\

  • c Rex c Rex modified a comment on ticket #1005

    perhaps i will join gcc forum. anyway, this was my use case '' custom rng initialize sub set( _a as longint = 1, _b as longint = 0 ) '' changed to longint after i id'd culprit a = _a: b = _b '' rng-based waveform sub chaos_wave( byref f as double, i as double ) rng.set int(i) '' seed f = rnd rng.set int(i) + 1 '' seed-in-sequence f = f + (i - int(i)) * (rnd - f) '' linear interp call chaos_wave ret, neg10_to_positiv10 the output was -------\/\/\/\

  • c Rex c Rex modified a comment on ticket #1005

    perhaps i will join gcc forum. anyway, this was my use case '' custom rng initialize sub set( _a as longint = 1, _b as longint = 0 ) '' changed to longint after i id'd culprit a = _a: b = _b '' rng-based waveform sub chaos_wave( byref f as double, i as double ) rng.set int(i) '' seed f = rnd rng.set int(i) + 1 '' seed-in-sequence f = f + (i - int(i)) * (rnd - f) '' linear interp call chaos_wave ret, neg10_to_positiv10 the output was -------\/\/\/\

  • c Rex c Rex modified a comment on ticket #1005

    perhaps i will join gcc forum. anyway, this was my use case '' custom rng initialize sub set( _a as longint = 1, _b as longint = 0 ) '' changed to longint after i id'd culprit a = _a: b = _b '' rng-based waveform sub chaos_wave( byref f as double, i as double ) rng.set int(i) '' seed f = rnd rng.set int(i) + 1 '' seed-in-sequence f = f + (i - int(i)) * (rnd - f) '' linear interp call chaos_wave ret, neg10_to_positiv10

  • c Rex c Rex posted a comment on ticket #1005

    perhaps i will join gcc forum. anyway, this was my use case '' custom rng initialize sub set( _a as longint = 1, _b as longint = 0 ) '' changed to longint after i id'd culprit a = _a: b = _b '' rng-based waveform sub chaos_wave( byref f as double, i as double ) rng.set int(i) '' seed f = rnd rng.set int(i) + 1 '' seed-in-sequence f = f + (i - int(i)) * (rnd - f) '' linear interp

  • Jeff Marshall Jeff Marshall committed [392937] on Code

    fbc: clean-up whitespace

  • Jeff Marshall Jeff Marshall committed [60d778] on Code

    fbc: github # 426: add __FB_ARG_LISTEXPAND__( macroname, macroargcount, args... )

  • GitHub committed [6a1ceb] on Code

    Merge pull request #426 from skyfish4tb/master

  • SkyFIsh committed [a9d356] on Code

    Preprocess the target macro based on the macro parameter list.

  • Jeff Marshall Jeff Marshall committed [fa712e] on Code

    rtlib/dos: write NUL character when DISABLE_WCHAR is used

  • Jeff Marshall Jeff Marshall committed [f01e5d] on Code

    release: revert to libffi 3.3 for some versions of windows builds

  • Jeff Marshall Jeff Marshall committed [bd2b37] on Code

    makefile: add bootstrap-dist-target

  • Jeff Marshall Jeff Marshall committed [c79775] on Code

    release: use recipes to select arm bootstrap package and options

  • Jeff Marshall Jeff Marshall committed [bce3dd] on Code

    makefile: add FBPACKTARGET

  • Jeff Marshall Jeff Marshall committed [bf45b6] on Code

    changelog.txt: fix formatting of 1.10.2 section

  • Jeff Marshall Jeff Marshall committed [a14afa] on Code

    makefile: ensure that libdir is created

  • Jeff Marshall Jeff Marshall committed [a845da] on Code

    makefile: sanitize whitespace

  • Jeff Marshall Jeff Marshall posted a comment on ticket #1005

    I would guess that the direct conversion from float to unsigned should work correctly for positive floats to unsigned integer where number ranges are valid. If you are expecting conversion from a single '-1' to be the max value of a ULONGINT, try converting to LONGINT first. for x as single = -1 to 0 print culngint(clngint(x - 1)) next This should force handling x as a single and doing the conversion at run-time - mainly because fbc will insert asm code, preventing gcc from optimizing it away. For...

  • c Rex c Rex posted a comment on ticket #1005

    bringing to attention .. regular fbc i see no error

  • c Rex c Rex created ticket #1005

    gcc -Wc -Ofast ulongint from negative float

  • Jeff Marshall Jeff Marshall modified ticket #469

    array bounds weird in funcs

  • Jeff Marshall Jeff Marshall posted a comment on ticket #469

    Dimension count check added in fbc 1.20.0. New command line option '-earraydims' generates error checking code for dimensions. Closing this ticket. Follow [#721] for examples and more information

  • Jeff Marshall Jeff Marshall posted a comment on ticket #721

    Changed in fbc 1.20.0 added -earraydims command line option, implied by -exx command line option will add checking for unallocated arrays and wrong number of dimensions. Update error messages. Example #1 - out of bounds array access (updated error message) sub proc( array() as integer ) array(99) = 0 end sub redim X(0 to 3) as integer proc( X() ) $ fbc example.bas -earray $ example Aborting due to runtime error 6 (out of bounds array access) at line 2 of example.bas(), 'ARRAY' accessed with invalid...

  • Jeff Marshall Jeff Marshall posted a comment on ticket #1004

    I think the current behaviour should be changed. It would be nice if len(array) and sizeof(array) would return length and size of an array if the result is known to be constant at compile time. However, that might be confusing for users if the behaviour changes from fbc version to the next. So perhaps disabling it completely for a release and then bringing it back later is a reasonable method to implement a behaviour change.

  • Jeff Marshall Jeff Marshall committed [49d8cc] on Code

    rtlib/dos: update symb_reg.txt

  • Jeff Marshall Jeff Marshall committed [fd0576] on Code

    Merge remote-tracking branch 'jayrm/array-bounds' into master

  • Jeff Marshall Jeff Marshall committed [f16acb] on Code

    fbc: add '-earraydims' for error checking on array dimensions and unallocated arrays

  • Jeff Marshall Jeff Marshall committed [909e27] on Code

    Merge remote-tracking branch 'jayrm/fb-profiler' into master

  • Jeff Marshall Jeff Marshall committed [ddf33a] on Code

    profiler: rtlib: update counts and times

  • Jeff Marshall Jeff Marshall committed [94bdee] on Code

    profiler: clean-up code to date

  • Jeff Marshall Jeff Marshall posted a comment on ticket #721

    This works, but if and only if index is zero and pointer to the array data is zero. @array(lbound(array)) = NULL @array(index) is essentially cast(typeof(array) ptr, array->data + index * sizeof(typeof(array))) I will guess it was done this way originally since it is a fast way to determine if the array is empty without any extra conditional checks or function calls. My opinion is that it works for a specific usage but is unsuitable for other common usages, like taking the address of an array element...

  • Jeff Marshall Jeff Marshall committed [524dd0] on Code

    Merge remote-tracking branch 'jayrm/fb-profiler' into master

  • Jeff Marshall Jeff Marshall committed [b53a5b] on Code

    profiler: gas64: fix fb_profilecycledata alignment of 16

  • Jeff Marshall Jeff Marshall committed [7cf416] on Code

    rtlib: profiler: split profile.c

  • Jeff Marshall Jeff Marshall committed [0ec651] on Code

    profiler: prepare to split profile.c

  • Jeff Marshall Jeff Marshall committed [a17a58] on Code

    profiler: rtlib: track procedure entry and exit

  • Jeff Marshall Jeff Marshall committed [da672f] on Code

    profiler: rtlib: profiler instance on every thread

  • Jeff Marshall Jeff Marshall committed [3a7dba] on Code

    gas64: profiler: group profile data sections in the the ASM listing

  • Jeff Marshall Jeff Marshall committed [d8ad55] on Code

    Merge remote-tracking branch 'jayrm/newboundcheck' into master

  • Jeff Marshall Jeff Marshall committed [9fec20] on Code

    rtlib: Array out of bounds index check

  • SARG committed [4459fd] on Code

    fbc : new bounds check error message (variable name + index + bounds)

  • Jeff Marshall Jeff Marshall committed [fbdd15] on Code

    Merge remote-tracking branch 'jayrm/fbdocs' into master

  • Jeff Marshall Jeff Marshall committed [aa28f9] on Code

    fbdocs: wiki snapshot 2024.05.12 - update examples/manual

  • Jeff Marshall Jeff Marshall committed [00566e] on Code

    fbdocs: wiki snapshot 2024.04.28

  • Jeff Marshall Jeff Marshall committed [c26133] on Code

    fbdocs: wiki snapshot 2024.05.12

  • fxm (freebasic.net) fxm (freebasic.net) created ticket #1004

    LEN() and SIZEOF() should not be allowed when used with an array name without index

  • Jeff Marshall Jeff Marshall committed [20e49e] on Code

    Merge remote-tracking branch 'jayrm/fb-profiler' into master

  • Jeff Marshall Jeff Marshall committed [51f015] on Code

    profiler: rtlib: default filename

  • Jeff Marshall Jeff Marshall committed [418d6c] on Code

    profiler: fbc: fix __FB_PROFILE__ return value

  • Jeff Marshall Jeff Marshall committed [6fafb7] on Code

    gas64: profiler: add attributes to section names

  • Jeff Marshall Jeff Marshall committed [c561a8] on Code

    profiler: rtlib: fix compilation warnings

  • Jeff Marshall Jeff Marshall committed [de5906] on Code

    gas64: profiler: reorganize implementation (wip)

  • Jeff Marshall Jeff Marshall committed [ec2f0d] on Code

    profile : reduced size for sections and dumps

  • Jeff Marshall Jeff Marshall committed [445d47] on Code

    profile : WIP 2 for multi modules

  • Jeff Marshall Jeff Marshall committed [bd2f6b] on Code

    profile : WIP for multi modules

  • Jeff Marshall Jeff Marshall committed [cfbd9c] on Code

    fbc : profiling mostly with gas64 (WIP)

  • Jeff Marshall Jeff Marshall committed [a73429] on Code

    Merge remote-tracking branch 'jayrm/fb-profiler' into master

  • Jeff Marshall Jeff Marshall committed [3e3e03] on Code

    profiler: fbc: don't profile THISCALL and FASTCALL calling convention procedures

  • Jeff Marshall Jeff Marshall committed [3e0cb5] on Code

    profiler: refactor and add features

  • Jeff Marshall Jeff Marshall committed [8d13f3] on Code

    profiler: rtlib: add fb_ProfileLock()/fb_ProfileUnlock()

  • Jeff Marshall Jeff Marshall committed [26f5fe] on Code

    profiler: rtlib: update changelog.txt

  • Jeff Marshall Jeff Marshall committed [db4e66] on Code

    profiler: Add API to set profiler options

  • Jeff Marshall Jeff Marshall committed [62e1a4] on Code

    fbc-int: declare rtlib lock/unlock procs to inc/fbc-int/system.bi

  • Jeff Marshall Jeff Marshall committed [77ea4a] on Code

    profiler: rtlib: early out finding self in find_all_procs()

  • Jeff Marshall Jeff Marshall committed [d5ef88] on Code

    fbc: ir: fix number of args in irEmitPUSH() and itEmitPOP()

  • Jeff Marshall Jeff Marshall committed [6e5841] on Code

    profiler: rtlib: store the hash value of procedure names

  • Jeff Marshall Jeff Marshall committed [4066d6] on Code

    profiler: rtlib: fix initialization

  • Jeff Marshall Jeff Marshall committed [9797fc] on Code

    profiler: rtlib: add dynamic string table to store procedure names

  • Jeff Marshall Jeff Marshall committed [6bdd1e] on Code

    profiler: rtlib: add call count to profile.txt report

  • Jeff Marshall Jeff Marshall committed [31dc44] on Code

    profiler: rtlib: refactor column alignment pad_spaces()

  • Jeff Marshall Jeff Marshall committed [dc1151] on Code

    profiler: rtlib: add a BIN id (for debugging)

  • Jeff Marshall Jeff Marshall committed [55f972] on Code

    profiler: rtlib: cosmetic code clean-up

  • Jeff Marshall Jeff Marshall committed [90780f] on Code

    profiler: rtlib: rewrite to allow compilation

  • Jeff Marshall Jeff Marshall committed [b92470] on Code

    profiler: rtlib add original rtlib/profile.c

  • Jeff Marshall Jeff Marshall committed [dd9d67] on Code

    profiler: #pragma profile, __FB_PROFILE__, __FB_OPTION_PROFILE__

  • Jeff Marshall Jeff Marshall committed [03a01b] on Code

    profiler: fbc: add compiler side support

  • Jeff Marshall Jeff Marshall committed [279de4] on Code

    profiler: fbc: add command line options and internal options

  • Jeff Marshall Jeff Marshall committed [0ef0c1] on Code

    profiler: rtlib: add fbrt1 profiler startup module

  • Jeff Marshall Jeff Marshall committed [11f96d] on Code

    fbc-tests: remove debugging print statement

  • GitHub committed [271345] on Code

    Initialize variables

  • GitHub committed [cf66ba] on Code

    Merge pull request #425 from zamabuvaraeu/patch-2

  • GitHub committed [9d8f82] on Code

    Initialize variables

  • GitHub committed [b53155] on Code

    Initialize variables

  • GitHub committed [ea93d0] on Code

    Initialize variables

  • GitHub committed [2c53b1] on Code

    Initialize variables

1 >