NO

Author Topic: Assignment and Ternary Operator  (Read 18898 times)

CommonTater

  • Guest
Re: Assignment and Ternary Operator
« Reply #30 on: September 17, 2010, 12:55:14 PM »
CommonTater which errors you have?
The compiler shouldn't be sensitive to header or libraries versions.
Can you supply us more detail on the errors and so?
Anyway I suggest to act the reverse, I mean copy only the 5.00 compiler to the 6.00.
Try this make a full 6.00 installation, then make the same for version 5.00 on another drive or location, then copy pocc.exe in the 6.00 directory and remove the 5.00 installation.
This way only some pragmas shouldn't be recognized, but the rest should work.
I personally want to give a try as soon as I have time this weekend. If you test it let us know.

More detail...  Tough one, by redirecting the include and lib folders I immediately ran into problems with pragmas, as you mention  #prama once, which I've used extensively, in particular.  But there were difference in header structure as well... For example memset() somehow vanished... and there were problem with compiler flags such as -Ob1 which stopped working.  Basically I did a quick "Rebuild Workspace" looked at all the errors (dozens of them) and decided to stay with an intact distribution.

Offline frankie

  • Global Moderator
  • Member
  • *****
  • Posts: 2096
Re: Assignment and Ternary Operator
« Reply #31 on: September 20, 2010, 05:49:13 PM »
I made a check and it seems to work apart for the switch -Ob1 as you said. For this you have to manually remove it modifying the macro CCFLAGS in Project->options on the "macros" tab.
The #pragma should not be a problem because by default the compiler should just ignores unknown pragmas.
I don't see any problem with memset.

My actual configuration is this (from help->about menu):
RSRC0009.DLL: Version 6.00.0
SUPPORT.DLL: Version 6.00.0
CFORMAT.DLL: Version 6.00.1
PORC.DLL: Version 6.00.0
POBR.DLL: Version 6.00.1
SQLITE3.DLL: Version 3.6.12
POCC.EXE: Version 5.00.13
POASM.EXE: Version 6.00.2
POLINK.EXE: Version 6.00.1
IDESPAWN.EXE: Version 6.00.0
« Last Edit: September 20, 2010, 05:57:37 PM by frankie »
It is better to be hated for what you are than to be loved for what you are not. - Andre Gide

CommonTater

  • Guest
Re: Assignment and Ternary Operator
« Reply #32 on: September 20, 2010, 07:07:51 PM »
Thank you frankie... Right now, I'm trying to get caught up using the 5.0 distribution.  I will try your setup in a couple of days when I have a chance to hammer out some test code.

I take it you just dropped POCC from 5 into the setup for 6?

Offline frankie

  • Global Moderator
  • Member
  • *****
  • Posts: 2096
Re: Assignment and Ternary Operator
« Reply #33 on: September 21, 2010, 11:53:11 AM »
just the compiler pocc.exe
It is better to be hated for what you are than to be loved for what you are not. - Andre Gide

CommonTater

  • Guest
Re: Assignment and Ternary Operator
« Reply #34 on: September 21, 2010, 04:52:16 PM »
Annnnnnd.... does the problem go away?

I'm still a bit reluctant to commit to this mid-project...

CommonTater

  • Guest
Re: Assignment and Ternary Operator
« Reply #35 on: September 21, 2010, 05:49:42 PM »
Ok... a ton of experimenting with this problem and the OP's code...
I can replicate the error in 6.0 if I select Minimize Size or Minimize Size More in the project options dialog (I normally Maximize Speed)... it appears that it is connected to the -OS flag... When that flag is not present I don't get the problem... when it is, I do.  I tried different calling conventions, fast and precise floating point modes, all inlining options and it appears to happen only when the -Os flag is present.  


Can anyone else repilcate this to be sure?

It's clearly a bug... I hope this is enough to help Pelle fix it.


See the attached screenshot... I've highlighted the "bad actors"....
« Last Edit: September 21, 2010, 05:54:36 PM by CommonTater »