compiling issues

Anyone know why I'm getting the below compiling errors when I #include the <sys/shm.h> file to my .h file?....
This is on a 64bitmode machine but compiling some code in 32bitmode with the OBJECT_MODE set to 32. When I don't include this file, all compiles fine. But the shm.h file is needed for shared memory messaging.

**********************************
cc -P -I./h -I/usr/include -I/u01/app/oracle/product/10.2.0/precomp/public -g -D_ORACLE_ ./src/exec_que.pc
/u01/app/oracle/product/10.2.0/bin/proc SQLCHECK=FULL DBMS=V8 CODE=ANSI_C USERID=user/pass UNSAFE_NULL=YES iname=./exec_que.i

Pro*C/C++: Release 10.2.0.3.0 - Production on Mon May 12 17:18:04 2008
Copyright (c) 1982, 2005, Oracle. All rights reserved.

System default option values taken from
/u01/app/oracle/product/10.2.0/precomp/admin/pcscfg.cfg

Syntax error at line 5809, column 329, file ./exec_que.i:
Error at line 5809, column 329 in file ./exec_que.i
struct CoMpIlE_aSsErT__baddomain { char v[(( (( (ras_cmd_t)0x52 << ( (sizeof(ras_cmd_t)-1) * 8 ) ) | ((ras_cmd_t)(0x1) << 8) |
((ras_cmd_t)(0x100)) ) | ( ( ((((ras_cmd_t)(0x1)) << 8) & ( ( (ras_cmd_t)0xFF ) << ( (sizeof(ras_cmd_t)-1) * 8 ))) || (((ras_cmd_t)(0x1)) == 0) ||
(((ras_cmd_t)(0x100)) & ~( (ras_cmd_t)0xFF )) ) ? -1LL : 0) ) == -1LL)
? 1 : -1]; };
................................................................................
................................................................................
................................................................................
................................................................................
........1
PCC-S-02201, Encountered the symbol "L" when expecting one of the following:

, = : ( [ * ? | & < > + - / % . ^ *= /= %= += -= <<= >>= &&=
||= ^= | & == != <= >= << >> ++ -- ->
The symbol "," was substituted for "L" to continue.

*********************************