this patch adds the inline definition for win32 with msvc++
- for ms compiler: inline is c++, __inline is ms exension for c
- inline functions called from another source file don't work w/o extern

w/o that extern in rx.h the msvc++ can't link and gcc does it with or w/o...

josh's patch [josh-006.patch] should be applied to remove my last patch
(and that ugly ssize_t)



Index: parrot.h
===================================================================
RCS file: /cvs/public/parrot/include/parrot/parrot.h,v
retrieving revision 1.26
diff -u -r1.26 parrot.h
--- parrot.h 18 Feb 2002 08:26:10 -0000 1.26
+++ parrot.h 18 Feb 2002 20:54:40 -0000
@@ -87,6 +87,8 @@
 #else
     #ifdef __GNUC__
         #define INLINE __inline__
+    #elif defined _MSC_VER
+        #define INLINE __inline
     #else 
         #define INLINE
     #endif
Index: rx.h
===================================================================
RCS file: /cvs/public/parrot/include/parrot/rx.h,v
retrieving revision 1.11
diff -u -r1.11 rx.h
--- rx.h 18 Feb 2002 08:26:10 -0000 1.11
+++ rx.h 18 Feb 2002 20:54:41 -0000
@@ -69,10 +69,10 @@
 
 rxinfo * rx_allocate_info(struct Parrot_Interp *, STRING *);
 
-INLINE BOOLVAL  rx_is_word_character(struct Parrot_Interp *, INTVAL ch);
-INLINE BOOLVAL  rx_is_number_character(struct Parrot_Interp *, INTVAL ch);
-INLINE BOOLVAL  rx_is_whitespace_character(struct Parrot_Interp *, INTVAL ch);
-INLINE BOOLVAL rx_is_newline(struct Parrot_Interp *, INTVAL ch);
+extern INLINE BOOLVAL  rx_is_word_character(struct Parrot_Interp *, INTVAL ch);
+extern INLINE BOOLVAL  rx_is_number_character(struct Parrot_Interp *, INTVAL ch);
+extern INLINE BOOLVAL  rx_is_whitespace_character(struct Parrot_Interp *, INTVAL ch);
+extern INLINE BOOLVAL rx_is_newline(struct Parrot_Interp *, INTVAL ch);
 
 Bitmap bitmap_make(struct Parrot_Interp *, STRING*);
 Bitmap bitmap_make_cstr(struct Parrot_Interp *, const char*);


Reply via email to