FreeBASIC 1.08 Development

General discussion for topics related to the FreeBASIC project or its community.
Post Reply
deltarho[1859]
Posts: 4292
Joined: Jan 02, 2017 0:34
Location: UK
Contact:

Re: FreeBASIC 1.08 Development

Post by deltarho[1859] »

VANYA wrote:If so, then I don't know what deltarho is applauding...
I have been shouting for a gcc 8.x default for quite a while and reckon that coderJeff going for 9.3 was a bold move and deserved of applause.
coderJeff wrote:- FYI, GDB not usable, no GDB included
is of no consequence to me because I don't use debuggers. gcc 8.x is in the same position.

Note that gcc 5.2 has not been relegated to the long grass but will be available as an additional toolchain.

I have received a 1.08.0/9.3SJLJ build from my anonymous German friend. With full gcc optimization, it is producing the smallest Encrypternet binary that I have seen so far; beating gcc 8.3. I have done a few encryption/decryption, and it is doing what it is supposed to do. Obviously, more testing is required, but I have a feeling that coderJeff has done us proud.
erik
Posts: 39
Joined: Dec 28, 2020 17:27
Location: Krasnoyarsk
Contact:

Re: FreeBASIC 1.08 Development

Post by erik »

VANYA wrote:Friends, please explain. So there will be a default package in the new 1.08 release that won't support GDB debugging?
If so, then I don't know what deltarho is applauding...
The compiler can create a version of the program with debugging symbols, for this the debugger is not required. However, to debug a program, you need a debugger. The debugger will need to be downloaded additionally because, as I understand it, there are only working debuggers from gcc-10.2.0 and gcc-5.2.0. I think that you can debug new programs in the old version of the debugger.
coderJeff
Site Admin
Posts: 4313
Joined: Nov 04, 2005 14:23
Location: Ontario, Canada
Contact:

Re: FreeBASIC 1.08 Development

Post by coderJeff »

marcov wrote:fwtw: I don't know exactly what your GDB problem is, Lazarus keeps newer GDB's for testing purposes on sf.net:

32-bit https://sourceforge.net/projects/lazaru ... ive%20GDB/
64-bit https://sourceforge.net/projects/lazaru ... ive%20GDB/

Since FPC only changed to SEH for 32-bit last May, most of the 32-bit ones will probably also do SJLJ. 64-bit has been SEH for a very long time.
I forgot about cygwin. Thank's for the links I'll give it a try.

For 32-bit we've used the one from Mingw.org for last 6 years because no dependency on python etc, and it seems to work. And we've never "shipped" a 64-bit GDB.

The problems I have with some GDB's:
- the one packed with mingw-w64 gcc 8.1 from the projects fails on a hard asset when loading fbc executables due the mixed language debug symbols (I think). This was fixed in later versions of gdb
- The 8.x and 9.x gdb's that are packed with the winlibs builds have a problem with the user interface - the backspace key (and arrow keys) doesn't work right - or least it doesn't display right in the console.

I really don't know much about exception handling to say how it will affect the project. Yeah, I just want to keep it out of the changes for now while dealing with the rest of the updates.
erik
Posts: 39
Joined: Dec 28, 2020 17:27
Location: Krasnoyarsk
Contact:

Re: FreeBASIC 1.08 Development

Post by erik »

Improvements:

Compiler option "-Werror":
Make all warnings into errors.
marcov
Posts: 3454
Joined: Jun 16, 2005 9:45
Location: Netherlands
Contact:

Re: FreeBASIC 1.08 Development

Post by marcov »

coderJeff wrote: I really don't know much about exception handling to say how it will affect the project. Yeah, I just want to keep it out of the changes for now while dealing with the rest of the updates.
Look out for people complaining about exceptions in "open" file dialogs on Windows 64-bit. SJLJ is afaik unable to capture exceptions generated by plugins in explorers.

However this might not be as serious for FB as for FPC, as FPC by default has a FPU mask that is more restrictive (converts more FPU errors into exceptions instead of NAN)
Last edited by marcov on Apr 30, 2021 22:05, edited 1 time in total.
coderJeff
Site Admin
Posts: 4313
Joined: Nov 04, 2005 14:23
Location: Ontario, Canada
Contact:

Re: FreeBASIC 1.08 Development

Post by coderJeff »

angros47 wrote:
coderJeff wrote: No. None. I have a few notes and barely a start on it in my local dev repo. I assume you mean only the additional constructor because even with that done there's still way more.
Yes, I meant that. I have the impression it would be enough to be able to port the FLTK library to FreeBasic in OOP mode
I have a couple of pull requests
- Add deleting destructor for c++ ABI #303
- thiscall calling convention (-gen gcc only) #304
I'll merge these in soon and hopefully you could test with a development build, though should be OK to keep going with the release.

If you are testing on windows 32-bit, then you'll need the '__thiscall' calling convention too. It works well enough for testing, but is not what I would call finished - works well enough to get some feed user back.
angros47
Posts: 2321
Joined: Jun 21, 2005 19:04

Re: FreeBASIC 1.08 Development

Post by angros47 »

I am glad to hear that. Thank you
D.J.Peters
Posts: 8586
Joined: May 28, 2005 3:28
Contact:

Re: FreeBASIC 1.08 Development

Post by D.J.Peters »

angros47 wrote:Yes, I meant that. I have the impression it would be enough to be able to port the FLTK library to FreeBasic in OOP mode
You can't use the full C++ functionality of FLTK without a wrapper for FreeBASIC.

FreeBASIC doesn't support all the same C++ struct/class member memory alignments and isn't case sensitive and I know much more pitfalls.

Joshy
angros47
Posts: 2321
Joined: Jun 21, 2005 19:04

Re: FreeBASIC 1.08 Development

Post by angros47 »

Last year I tried porting the header files of FLTK to FreeBasic, and I found that the main obstacle was the lack of one destructor class, that causes all members to be shifted by one.

Also, why do you mention the lack of case sensitiveness as a pitfall? C, too, is case sensitive, and FreeBasic does interface well with C
coderJeff
Site Admin
Posts: 4313
Joined: Nov 04, 2005 14:23
Location: Ontario, Canada
Contact:

Re: FreeBASIC 1.08 Development

Post by coderJeff »

I started uploading packages for 1.08.0 release shortly after May 30, 2021 to sourceforge.net. I found that I just didn't have enough time to get everything done in one day so I've been picking away at the release for a couple hours each evening after work for the last week.

Anyway, I had some troubles with the winlibs-gcc-9.3.0 combined package and the win32-mingworg package. I'm sorting out the issues now. If you noticed these packages and downloaded already, please download again *after* the news post.

News release should be posted today. And I'll create a discussion topic where we can go in to the details of the release.
Post Reply