C permits it, C++ does not.
Behavior identical to that in C where a pointer to 'void' can be implicitly converted to and from any pointer to object type. Furthermore, FreeBASIC even allows implicit conversion between an 'Any Ptr' and a procedure pointer, and vice versa.
Behavior identical to that in C where a pointer to 'void' can be implicitly converted to and from any pointer to object type.
Implicit conversion from Any Ptr should cause error
Merge remote-tracking branch 'SARG-FB/gas64_rev' into master
gas64 : fix regression, using a local var to avoid huge compilation time
gas64 ; fix Linux registers used for memset
Update for last changes
gas64 : in memfill and emit_mem use memset if area size > 64 bytes (faster)
fbc : fixes for simple/overload NEW after changes to use callocate
fbc : for NEW uses callocate instead allocate + memset(0) as it's faster
gas64 : fix missing quotation mark
gas64 ; comment added to explain the use of *<var ptr> in reg_freeable/check_optim
gas64 : removal of tag #xNN / #NN if __GAS64_DEBUG__ not defined
gas64 : use of cvl("mov ") instead &h20766F6D and also cvshort for better understanding
gas64 : removal of an unnecessary string to save time in hwriteasm64
Merge pull request #458 from PaulSquires/patch-1
Update readme.txt
I tried and Inkey$ returns characters above 127 just fine. Maybe this was a bug in earlier versions?
I second this request. Base could be implemented as a 'hidden member' (hidden in the sense as This is a hidden parameter) and it doesn't even have to be a reserved word.
Include constness in member sub/function/property signature
A fix is proposed by SARG.
In terms of execution time, I find a very significant performance degradation with '-gen gas64' compared to '-gen gcc' only in the following two cases: - 'placement New' or 'placement New[]', without 'Any'. - 'overload New' or 'overload New[]', without 'Any'. ('New' or 'New[]', without 'Any' is OK). Can you look specifically at how memory is zeroed in the '-gen gas64' case compared to the '-gen gcc' case, and this applied to both 'placement New' or 'placement New[]', and 'overload New' or 'overload...
See also this other bug report: https://sourceforge.net/p/fbc/bugs/1013/ 1013 Non-optimization bug for 'New[]' / 'Delete[]' when datatype has no 'Constructor' (and without '{Any}' initializer) Both could be addressed simultaneously.
I started the topic "Validity/Behavior of 'ANY' initializer versus datatypes with default constructor": https://www.freebasic.net/forum/viewtopic.php?t=33278 to discuss and decide on the usage and behavior of 'Any' versus objects with constructors. Currently, the behavior of 'Any' varies greatly, depending on the data type and declaration type. Therefore, processing of this bug report is suspended for the time being.
I started the topic "Validity/Behavior of 'ANY' initializer versus datatypes with default constructor": https://www.freebasic.net/forum/viewtopic.php?t=33278 to discuss and decide on the usage and behavior of 'Any' versus objects with constructors. Currently, the behavior of 'Any' varies greatly, depending on the data type and declaration type. Therefore, processing of this bug report is suspended for the time being.
I started the topic "Validity/Behavior of 'ANY' initializer versus datatypes with default constructor": https://www.freebasic.net/forum/viewtopic.php?t=33278 to discuss and decide on the usage and behavior of 'Any' versus objects with constructors. Currently, the behavior of 'Any' varies greatly, depending on the data type and declaration type. Therefore, processing of this bug report is suspended for the time being.
I started the topic "Validity/Behavior of 'ANY' initializer versus datatypes with default constructor": https://www.freebasic.net/forum/viewtopic.php?t=33278) to discuss and decide on the usage and behavior of 'Any' versus objects with constructors. Currently, the behavior of 'Any' varies greatly, depending on the data type and declaration type. Therefore, processing of this bug report is suspended for the time being.
I started the topic "Validity/Behavior of 'ANY' initializer versus datatypes with default constructor" (https://www.freebasic.net/forum/viewtopic.php?t=33278) to discuss and decide on the usage and behavior of 'Any' versus objects with constructors. Currently, the behavior of 'Any' varies greatly, depending on the data type and declaration type. Therefore, processing of this bug report is suspended for the time being.
I started the topic "Validity/Behavior of 'ANY' initializer versus datatypes with default constructor" (https://www.freebasic.net/forum/viewtopic.php?t=33278) to discuss and decide on the usage and behavior of 'Any' versus objects with constructors. Currently, the behavior of 'Any' varies greatly, depending on the data type and declaration type. Therefore, processing of this bug report is suspended for the time being.
A fix is proposed by SARG.
Abstract: - The problem is a very significant degradation in the execution time of 'New[]' compared to 'Redim' for a large memory allocation and when the data type has no constructor (and the 'Any' initializer is not used). - The analysis showed that this is due to the call to 'alloc' + 'memset(0)' in the 'New' / 'New[]' code, and that for large allocated buffers, the allocated memory provided is already set to zero, and therefore 'memset(0)' is redundant in this case. - The fix is simple: For 'New'...
See also this other bug report: #749 For UDT with constructor, NEW does not support ANY as initializer while DIM supports this Both could be addressed simultaneously.
Non-optimization bug for 'New[]' / 'Delete[]' when datatype has no 'Constructor' (and without '{Any}' initializer)
2 bugs related to the 'ANY' declaration initializer for 'Dim As DataType identifier = ANY'
gas64: update changelog.txt
Merge remote-tracking branch 'SARG-FB/gas64_rev' into master
gas64 : fix case push with literal number (eg push 1)
gas64 : fix push not completely taken in account in reg_freeable
gas64 : fix changing byte/word/dword/ptr to BYTE/WORD/DWORD/PTR
gas64 : fixes and additions to asm code optimization
gas64 : fix reg not freed in call <reg> or <[reg]> n
gas64 : - removing of indentation except when GAS64_DEBUG is used
gas64 : changing tag for optimizations #O (letter) by #0 (number)
gas64 : - optimization for FP add/sub/mul/div to avoid calls to regfreeable
gas64 : optimization using KNOFREE to avoid useless calls to reg_freeable
gas64 : replacing reg_freeable by a more optimized version
gas64 : changing all LONGs by INTEGERs (except ustab) to speed up compilation
gas84 : fixing not standard spacings in asm code
Merge remote-tracking branch 'jayrm/bug-fix' into master
fbc: fix source typo
fbc: fix conversion of unicode codepoints in supplemental planes
release: fix manifest file naming
Add a Timer setting for the CondWait function.
release: fix manifest file naming
fbc: allow -fpmode and -fpu options on #cmdline
rtlib: sanitize whitespace
fbdocs: wiki snapshot 2025.04.26 - update examples/manual
fbdocs: wiki snapshot 2025.04.26
rtlib: fix gcc warnings in profiler report
rtlib: array_redim.c add parens
Merge remote-tracking branch 'origin/fbc-1.10' into master
Merge remote-tracking branch 'SARG-FB/gas64_rev' into master
gas64 : fix bug (movd instead movss for xmmN/xmmN) hidden by optimization
FreeBasic 1.10.3 Release
release: contrib/release/build.sh
release: depend on libtinfo6 for ubuntu 24.04
rtlib: array_redim.c fix gcc 13.3 warnings
rtlib: fix gcc warnings w/ realloc() in src/rtlib/str_core.c
rtlib: sanitize whitespace before change
headers: update portaudio version 19.7.0
headers: update inc/sqlite3ext.bi
contrib/release/build.sh: libffi build
contrib/release/build-bsd.sh: remove downloaded package
profiler: rtlib: fix gcc warnings
Merge pull request #442 from swurzinger/stw/libfbdoc-ssl-fix
libfbdoc: enable native CA by default if no custom CA file specified
fix fbchkdoc documentation mentioning wrong argument names for CA certs
Merge pull request #440 from thekhalifa/feat-examples-portaudio
examples: fix portaudio on Win
examples: Add portaudio sine wave example
contrib/release/build.sh: libffi build
contrib/release/build-bsd.sh: remove downloaded package
This is a known issue with freebasic on linux. I have the same issue and have not found a work around yet.
inc/dos/sys/farptr.bi: fixup remove the UTF-8 BOM as well
fbc: __FB_QUERY_SYMBOL__ extended to return mangled names
sf.net # 795 : unsupported \UNNNN escape sequence is miscompiled
Merge pull request #436 from thekhalifa/fix-fbdoc-pcre2
fbdoc: use pcre2
travis: add libpcre2 to installed packages
doc: Convert to pcre2 from obsolete pcre (pcre3)
Merge pull request #437 from thekhalifa/fix-encoding-to-utf8
inc/dos/sys/farptr.bi: remove UTF-8 characters for this DOS include
convert legacy encoding to UTF-8
Merge pull request #438 from thekhalifa/feat-examples-makefile
examples/Makefile: test on windows
e/c: fix header for quicklz
e/c/libzip.bas: fix types to match zip.bi
examples: Add makefile for all examples
fbc: touch dates year 2025