| Title: | Microsoft Visual C++ bug reports and kits |
| Notice: | Register in Topic 2. 5.Last for latest Kit |
| Moderator: | DECWET::THOMAS N |
| Created: | Tue May 17 1994 |
| Last Modified: | Fri Jun 06 1997 |
| Last Successful Update: | Fri Jun 06 1997 |
| Number of topics: | 521 |
| Total number of notes: | 2938 |
The following code:
typedef struct _yyy_int_s {
struct _yyy_int_s *xxx_self;
yyy_attr_t attr;
yyy_startroutine_t start_routine;
yyy_addr_t arg;
DWORD id;
HANDLE handle;
HANDLE cancel_event;
LONG mutex_rundown;
BOOL running;
BOOL detached;
BOOL cancelled;
BOOL asyncancel;
BOOL cancellable;
} yyy_int_t;
typedef yyy_int_t *yyy_t;
extern yyy_t yyy_self(void);
#define yyy_set_id(xxx_p) ((yyy_int_t *)(* xxx_p))->id
static unsigned long getid()
{
yyy_t t;
t = yyy_self();
return(yyy_set_id(&t));
}
generates an exception on Alpha NT (not on X86 NT), the exception raises
executing the return statement. That does not happen if I compile with
DEBUG option. I changed the code :
static unsigned long getth()
{
yyy_t t;
unsigned long ret;
t = yyy_self();
ret = yyy_set_id(&t);
return ret;
}
and it properly works.
Can it be a code generation problem?
Thanks
MariaLuisa
| T.R | Title | User | Personal Name | Date | Lines |
|---|---|---|---|---|---|
| 459.1 | VARESE::CORBETTA | Fri Feb 07 1997 00:51 | 3 | ||
I found the problem, my fault, sorry! MariaLuisa | |||||