| T.R | Title | User | Personal Name
 | Date | Lines | 
|---|
| 1843.1 |  | SSPADE::SSPADE::HILDE |  | Fri Mar 07 1997 18:16 | 20 | 
|  | 
> Am I using an invalid conditional expression?
No.  What you are doing SHOULD work...but doesn't in V6.2...fixed in V7.0.
There was a conversion graph bug for AMACRO.  The only work around
that I can think of is SET LANGUAGE to something else, I would suggest
UNKNOWNN.  For example:
DBG_1> run DBG$TSTEVMSDEV:[TST]ASCIITEST; set sour/lat DBG$TSTEVMSDEV:[TST]
%DEBUG-I-INITIAL, language is AMACRO, module set to ASCIITEST
predefined trace on activation at ASCIITEST\START\%LINE 3 in %PROCESS_NUMBER 1
DBG_1> set lang unknown
DBG_1> set br %Line 4 when (%r0 eql 1) do (ex %r0)
DBG_1> g
break at ASCIITEST\START\%LINE 4 in %PROCESS_NUMBER 1
     4:         RET
ASCIITEST\START\%LINE 3\%R0:    00000000 00000001
Lon
 | 
| 1843.2 | good help | COMEUP::SIMMONDS | lock (M); while (not *SOMETHING) { Wait(C,M); } unlock(M) | Sat Mar 08 1997 00:08 | 7 | 
|  |     Re: .1
    
    Ok, Lon, thanks for your helpful reply.. in the meantime, I'm also
    going to try out the ADB071 kit which Mary pointered me at, so all
    being well, I should be able to avoid that (simple) workaround..
    
    John.
 | 
| 1843.3 | %DEBUG-E-OPNOTALLOW, operator '==' not allowed... | CADSYS::LARRICK |  | Fri Mar 28 1997 15:11 | 50 | 
|  | This note seemed like as good a place for this as any for my question...
OpenVMS Alpha DEBUG Version V7.1-000, DEC C V5.2-003 on OpenVMS Alpha V7.1
I am attempting to set a breakpoint when a particular pointer is NULL in my C
program.  However, the debugger will not allow me to perform the comparison:
DBG> eval (temp_trace == 0)
%DEBUG-E-OPNOTALLOW, operator '==' not allowed on given data types
DBG> sho sym/full temp_trace
data FOO\main\temp_trace
    address: .%FP+8
    typed pointer type
        target type: record type (TRACE, 5 components), size: 20 bytes
DBG> ex temp_trace
FOO\main\temp_trace:    131208
temp_trace is a pointer to type TRACE; TRACE is a typedef name for struct TRACE.
Trimmed-down example program follows at the end of this message.
What am I doing wrong?  I believe this used to work with previous DEBUG/VMS
versions.
Thanks for any insight.
-Doug Larrick
Simple example program (foo.c):
#include <stdlib.h>
typedef struct TRACE {
  int last_x;  /* Keep track of last point added to blk_list */
  int last_y;
  int last_lay;
  int cost; /* Cost for this edge (non-cumulative) */
  int alt_level; /* Alternate level (for source/target node) */
} TRACE;
int main(void)
{
  TRACE *temp_trace;
  temp_trace = (TRACE *)malloc(sizeof(TRACE));
  return EXIT_SUCCESS;
}
 | 
| 1843.4 |  | SSPADE::ARSENAULT |  | Mon Mar 31 1997 16:25 | 3 | 
|  | You're right.  That stuff was broken between V6.2 and V7.0.  Sigh.
I'm fixing it right now.  The fix will appear in the next release.
 | 
| 1843.5 |  | CADSYS::LARRICK |  | Thu Apr 03 1997 12:52 | 5 | 
|  | > The fix will appear in the next release.
Thanks for the good news.
-Doug
 |