This is the mail archive of the gcc-help@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

gcc/traditionnal-cpp/esqlc/types.h


Hi all!
I'm trying to port a c appli from HP-UX to linux.
I have c sources with embedded Ingres SQL inside.
The following line (and others) confuse the gcc preprocessor
EXEC SQL SELECT a INTO :b FROM c WHERE (a like :e escape '\');
because of the '\'. But it doesn't confuse it anymore with the
-traditional-cpp option.
The problem is that this option make the cpp not regognize some syntax in
sys/types.h file :

# define __intN_t(N, MODE) \
  typedef int int##N##_t __attribute__ ((__mode__ (MODE)))
become (when called)
typedef int int##8##_t __attribute__ ((__mode__ ( __QI__)));
instead of 
typedef int int8_t __attribute__ ((__mode__ (  __QI__ ))) ;

What is the correct behaviour in face of that ?
-Am I wrong with my -traditional-cpp ?
-Have I forgotten a flag not to execute this part of sys/types.h
-Must I choose between sql and sys/types ?
-Must I modify sys/types.h (arrgh)
-<fill this one...>

thanks in advance,
best regards, Phil.



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]