NO

Author Topic: Version 6.0, Release Candidate #1 available  (Read 41424 times)

Online AlexN

  • Global Moderator
  • Member
  • *****
  • Posts: 394
    • Alex's Link Sammlung
Re: Version 6.0, Release Candidate #1 available
« Reply #30 on: May 06, 2009, 09:45:26 AM »
Pelles C version 6.0, Release Candidate #1, is now available for download:

Many thanks, it is again a great piece of software.

I have some comments to it:

1.) The code of the new compiler seems to be faster.

2.) If the format of the project file is changed in a way, that the previos version of poide is not able to load it, it would fine when a backup of the project file would be made. (OK, it is possible to change the line "POC_PROJECT_VERSION = 6.00#" to "POC_PROJECT_VERSION = 5.00#" to load it again, but a backup would be fine)

3.) I have a program where i get the message that ___ftoll is not a member of pocrt.dll, when i compile with the Runtime library option "Multithreaded (DLL)". All other options work there. I looked at pocrt.dll at the old and new version. The version number is the same but the newer it is little bit larger and at the exports there is a difference at some labels (like __ftoll).
best regards
 Alex ;)

Romashka

  • Guest
Re: Version 6.0, Release Candidate #1 available
« Reply #31 on: May 06, 2009, 12:04:29 PM »
Yes, 32bit x86. Console app (win32 apps have same issue).
Hmm... I created a new console project, pasted the code (just in case), and also the compiler and linker options ("Macros" tab). When I build the project, it works fine here.

I've tried on a different PC - created a helloworld program using the console app wizard, the only modified setting was 'Runtime library - Multithreaded (DLL)' - and got the same error.
Both PCs have Windows XP SP3 Russian installed, programs were compiled using 6.00 32-bit.


EDIT: here's the text in Debug tab (the application was compiled without any debug info though):
Code: [Select]
Process C5C started
Thread F9C started
Loading untitled at 00400000
Loading ntdll.dll at 7C900000
Loading C:\WINDOWS\system32\kernel32.dll at 7C800000
Loading C:\Program Files\PellesC\Bin\pocrt.dll at 77000000
Exception: C0000139
Thread C4 started
Thread C4 ended with C000013A
Thread F9C ended with 0
Process C5C ended with C000013A
Done
« Last Edit: May 06, 2009, 12:07:34 PM by Romashka »

Offline Pelle

  • Administrator
  • Member
  • *****
  • Posts: 2266
    • http://www.smorgasbordet.com
Re: Version 6.0, Release Candidate #1 available
« Reply #32 on: May 06, 2009, 05:15:50 PM »
Many thanks, it is again a great piece of software.
Thanks.

1.) The code of the new compiler seems to be faster.
The new register allocator and optimizer should do some good - for programs compiled with the new compiler, and for the compiler itself (since it's compiled with the new compiler). The whole "middle-end" of the compiler is rewritten, using new alogorithms (it does more than before, but possibly faster).

2.) If the format of the project file is changed in a way, that the previos version of poide is not able to load it, it would fine when a backup of the project file would be made. (OK, it is possible to change the line "POC_PROJECT_VERSION = 6.00#" to "POC_PROJECT_VERSION = 5.00#" to load it again, but a backup would be fine)
The only time I can see this being minimally useful is during the test period for a new release. I'm pretty sure I don't want my disk filled with backup copies of project files, generally speaking. This would mean making backups only for release candidates, which doesn't sound right to me...

3.) I have a program where i get the message that ___ftoll is not a member of pocrt.dll, when i compile with the Runtime library option "Multithreaded (DLL)". All other options work there. I looked at pocrt.dll at the old and new version. The version number is the same but the newer it is little bit larger and at the exports there is a difference at some labels (like __ftoll).
The version number 5.0 for pocrt.dll and pocrt64.dll is wrong, it should be 6.0. This is a bug.
The decoration for exported symbols has changed a bit, to try and match Microsoft better. Because of this you can get linking errors if not all modules are recompiled.
If you get runtime errors, it sounds like the wrong version of pocrt.dll is being picked up somehow.
What happens if you load pocrt.dll into the IDE, change the version resource to 6.0, and save it? I guess "FILEVERSION", and maybe "PRODUCTVERSION", should be the important ones.
/Pelle

Romashka

  • Guest
Re: Version 6.0, Release Candidate #1 available
« Reply #33 on: May 07, 2009, 09:33:24 AM »
The version number 5.0 for pocrt.dll and pocrt64.dll is wrong, it should be 6.0. This is a bug.
Aha, this may explain my bug too.
A fresh install of 32-bit Pelles C 6.00 RC1 (on a system where it wasn't ever installed, so no old version could exist) has pocrt.dll with file version 5.00.3 while other DLLs like pobr.dll and porc.dll have 6.00.0.
So it looks that RC1 is incorrectly packaged.
The reason you could not reproduce my bug on your system is that you obviously have pocrt.dll v6.00.0 on your system.
« Last Edit: May 07, 2009, 09:36:24 AM by Romashka »

Offline Robert

  • Member
  • *
  • Posts: 245
Re: Version 6.0, Release Candidate #1 available
« Reply #34 on: May 07, 2009, 11:26:17 AM »
The version number 5.0 for pocrt.dll and pocrt64.dll is wrong, it should be 6.0. This is a bug.
Aha, this may explain my bug too.
A fresh install of 32-bit Pelles C 6.00 RC1 (on a system where it wasn't ever installed, so no old version could exist) has pocrt.dll with file version 5.00.3 while other DLLs like pobr.dll and porc.dll have 6.00.0.
So it looks that RC1 is incorrectly packaged.
The reason you could not reproduce my bug on your system is that you obviously have pocrt.dll v6.00.0 on your system.

Pelle's C Version 6.0 RC1 64-bit
pocrt64.dll file version is 5.03.0, product version 5.00 according to the Properties Details.

Robert Wishlaw

Online AlexN

  • Global Moderator
  • Member
  • *****
  • Posts: 394
    • Alex's Link Sammlung
Re: Version 6.0, Release Candidate #1 available
« Reply #35 on: May 07, 2009, 03:37:43 PM »

2.) If the format of the project file is changed in a way, that the previos version of poide is not able to load it, it would fine when a backup of the project file would be made. (OK, it is possible to change the line "POC_PROJECT_VERSION = 6.00#" to "POC_PROJECT_VERSION = 5.00#" to load it again, but a backup would be fine)
The only time I can see this being minimally useful is during the test period for a new release. I'm pretty sure I don't want my disk filled with backup copies of project files, generally speaking. This would mean making backups only for release candidates, which doesn't sound right to me...
I think it is only necessary pre-release versions. Perhaps you create for this a link for the new version with the parameters /n and /xml so that you don't overwrite the options from a stable version with the parameters for a pre-release version.

3.) I have a program where i get the message that ___ftoll is not a member of pocrt.dll, when i compile with the Runtime library option "Multithreaded (DLL)". All other options work there. I looked at pocrt.dll at the old and new version. The version number is the same but the newer it is little bit larger and at the exports there is a difference at some labels (like __ftoll).
The version number 5.0 for pocrt.dll and pocrt64.dll is wrong, it should be 6.0. This is a bug.
The decoration for exported symbols has changed a bit, to try and match Microsoft better. Because of this you can get linking errors if not all modules are recompiled.
If you get runtime errors, it sounds like the wrong version of pocrt.dll is being picked up somehow.
What happens if you load pocrt.dll into the IDE, change the version resource to 6.0, and save it? I guess "FILEVERSION", and maybe "PRODUCTVERSION", should be the important ones.

To change the version number of the file pocrt.dll has no effect. When I start the program from the IDE I can see that the correct DLL is loaded. I think that I have this problem with all GUI-programs and the Runtime library option "Multithreaded (DLL)".
best regards
 Alex ;)

Offline Pelle

  • Administrator
  • Member
  • *****
  • Posts: 2266
    • http://www.smorgasbordet.com
Re: Version 6.0, Release Candidate #1 available
« Reply #36 on: May 10, 2009, 12:00:22 PM »
I modified the module-definition file for pocrt.dll to match the new export handling, and the exported symbols now look like version 5.0; the version was bumped to 6.0 - this will be in RC2.
/Pelle

virtualcoder128

  • Guest
Re: Version 6.0, Release Candidate #1 available
« Reply #37 on: May 11, 2009, 06:46:48 AM »
I want to thank to pelle for this wonderful tool saved my life/work(Im tired of VS)  ;D And congratz for this release and I will try my best to help support Pelles C, It is Awesome.

DaLiV

  • Guest
Re: Version 6.0, Release Candidate #1 available
« Reply #38 on: May 13, 2009, 01:51:16 PM »
V6
width,height measured in "dialog units", can that be switched to pixels (or in configuration set measure of 1 dialog unit to pixel) ?

Offline Pelle

  • Administrator
  • Member
  • *****
  • Posts: 2266
    • http://www.smorgasbordet.com
Re: Version 6.0, Release Candidate #1 available
« Reply #39 on: May 14, 2009, 04:07:54 PM »
width,height measured in "dialog units", can that be switched to pixels (or in configuration set measure of 1 dialog unit to pixel) ?
No, since pixels would be pretty useless...
/Pelle

JohnF

  • Guest
Re: Version 6.0, Release Candidate #1 available
« Reply #40 on: May 16, 2009, 11:20:43 AM »
Pelle, in your changes file you say that the source code is included for resizable dialogs.

"Added static library, including source code, for basic handling of resizable dialogs."

Where is the source code?

John

Offline Pelle

  • Administrator
  • Member
  • *****
  • Posts: 2266
    • http://www.smorgasbordet.com
Re: Version 6.0, Release Candidate #1 available
« Reply #41 on: May 16, 2009, 03:06:48 PM »
Pelle, in your changes file you say that the source code is included for resizable dialogs.

"Added static library, including source code, for basic handling of resizable dialogs."

Where is the source code?
The source code is installed in the default project folder, under the name Resizer - "<Windows-documents>\Pelles C Projects\Resizer". The actual name for <Windows-documents> depends on the Windows version.
/Pelle

JohnF

  • Guest
Re: Version 6.0, Release Candidate #1 available
« Reply #42 on: May 16, 2009, 03:41:08 PM »
It's not anywhere on my hard drive. I don't have a folded called 'Windows-documents'.

EDIT: I've found

"My Documents\Pelles C Projects\"

But no Resizer.

John
« Last Edit: May 16, 2009, 04:28:30 PM by JohnF »

Offline Stefan Pendl

  • Global Moderator
  • Member
  • *****
  • Posts: 582
    • Homepage
Re: Version 6.0, Release Candidate #1 available
« Reply #43 on: May 16, 2009, 04:29:08 PM »
I don't have a folded called 'Windows-documents'.
Check My Documents, I think this is what Pelle is referring to.
---
Stefan

Proud member of the UltraDefrag Development Team

Offline Pelle

  • Administrator
  • Member
  • *****
  • Posts: 2266
    • http://www.smorgasbordet.com
Re: Version 6.0, Release Candidate #1 available
« Reply #44 on: May 16, 2009, 04:34:29 PM »
Yes - it's "Dokument" on my Swedish Vista version (physical folder "C:\Users\Pelle\Documents"), but I guess "My documents" is what you are looking for...
/Pelle