View previous topic :: View next topic |
Author |
Message |
acw
Joined: 04 Nov 2005 Posts: 165 Location: Darkest Devon
|
Posted: Mon Jun 30, 2008 3:28 pm Post subject: Operand incompatible... problem with pointers in checkmate |
|
|
In version 5.21 (and earlier) the following code compiles and runs okay in release and debug builds, but attempting a checkmate compile generates an "operand incompatible with opcode" error at the top of the program. The problem is cause by the use of a pointer to an integer*1 or *2 in the ibset function. It's also a problem if the first parameter is a member of an ADT that is referenced via a pointer. Workaround is to use an intermediate variable or simply wrap ibset in another function with an explicit integer*1 parameter.
program ibtest
integer*1, target:: i1
integer*1, pointer:: i1p
i1 = 0
i1p => i1
i1p = ibset(i1p, 1) ! incompatible operand compile error in checkmate
print *, i1
end program |
|
Back to top |
|
 |
PaulLaidler Site Admin
Joined: 21 Feb 2005 Posts: 8210 Location: Salford, UK
|
Posted: Tue Jul 01, 2008 10:12 am Post subject: |
|
|
Thank you for the bug report.
We will investigate this as soon as we can. |
|
Back to top |
|
 |
PaulLaidler Site Admin
Joined: 21 Feb 2005 Posts: 8210 Location: Salford, UK
|
Posted: Fri Jul 18, 2008 4:05 pm Post subject: |
|
|
This bug has now been fixed for the next release. |
|
Back to top |
|
 |
|