[ros-diffs] [fireball] 46327: [WINE] - Move and update assembler functions definition macros from port.h (added by Steven around revision 7000) to config.h as it is now in Wine. - Update related __ASM macros.

fireball at svn.reactos.org fireball at svn.reactos.org
Sun Mar 21 23:27:26 CET 2010


Author: fireball
Date: Sun Mar 21 23:27:26 2010
New Revision: 46327

URL: http://svn.reactos.org/svn/reactos?rev=46327&view=rev
Log:
[WINE]
- Move and update assembler functions definition macros from port.h (added by Steven around revision 7000) to config.h as it is now in Wine.
- Update related __ASM macros.

Modified:
    trunk/reactos/include/reactos/wine/config.h
    trunk/reactos/include/reactos/wine/port.h

Modified: trunk/reactos/include/reactos/wine/config.h
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/include/reactos/wine/config.h?rev=46327&r1=46326&r2=46327&view=diff
==============================================================================
--- trunk/reactos/include/reactos/wine/config.h [iso-8859-1] (original)
+++ trunk/reactos/include/reactos/wine/config.h [iso-8859-1] Sun Mar 21 23:27:26 2010
@@ -979,16 +979,27 @@
 #define YYTEXT_POINTER 1
 
 /* Define to a macro to output a .cfi assembly pseudo-op */
-#define __ASM_CFI(x)
+#define __ASM_CFI(str) str
+
+/* Define to a macro to define an assembly function */
+#define __ASM_DEFINE_FUNC(name,suffix,code) asm(".text\n\t.align 4\n\t.globl _" #name suffix "\n\t.def _" #name suffix "; .scl 2; .type 32; .endef\n_" #name suffix ":\n\t.cfi_startproc\n\t" code "\n\t.cfi_endproc");
 
 /* Define to a macro to generate an assembly function directive */
 #define __ASM_FUNC(name) ".def " __ASM_NAME(name) "; .scl 2; .type 32; .endef"
 
+/* Define to a macro to generate an assembly function with C calling
+   convention */
+#define __ASM_GLOBAL_FUNC(name,code) __ASM_DEFINE_FUNC(name,"",code)
+
 /* Define to a macro to generate an assembly name from a C symbol */
 #define __ASM_NAME(name) "_" name
 
 /* Define to a macro to generate an stdcall suffix */
 #define __ASM_STDCALL(args) "@" #args
+
+/* Define to a macro to generate an assembly function with stdcall calling
+   convention */
+#define __ASM_STDCALL_FUNC(name,args,code) __ASM_DEFINE_FUNC(name,__ASM_STDCALL(args),code)
 
 /* Define to empty if `const' does not conform to ANSI C. */
 /* #undef const */

Modified: trunk/reactos/include/reactos/wine/port.h
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/include/reactos/wine/port.h?rev=46327&r1=46326&r2=46327&view=diff
==============================================================================
--- trunk/reactos/include/reactos/wine/port.h [iso-8859-1] (original)
+++ trunk/reactos/include/reactos/wine/port.h [iso-8859-1] Sun Mar 21 23:27:26 2010
@@ -146,29 +146,6 @@
 #ifndef M_PI_2
 #define M_PI_2 1.570796326794896619
 #endif
-
-
-/* Macros to define assembler functions somewhat portably */
-
-#if defined(__GNUC__) && !defined(__INTERIX) && !defined(__MINGW32__) && !defined(__CYGWIN__) && !defined(__APPLE__)
-# define __ASM_GLOBAL_FUNC(name,code) \
-      __asm__( ".text\n\t" \
-               ".align 4\n\t" \
-               ".globl " __ASM_NAME(#name) "\n\t" \
-               __ASM_FUNC(#name) "\n" \
-               __ASM_NAME(#name) ":\n\t" \
-               code \
-               "\n\t.previous" );
-#else  /* defined(__GNUC__) && !defined(__MINGW32__) && !defined(__APPLE__)  */
-# define __ASM_GLOBAL_FUNC(name,code) \
-      void __asm_dummy_##name(void) { \
-          asm( ".align 4\n\t" \
-               ".globl " __ASM_NAME(#name) "\n\t" \
-               __ASM_FUNC(#name) "\n" \
-               __ASM_NAME(#name) ":\n\t" \
-               code ); \
-      }
-#endif  /* __GNUC__ */
 
 
 /* Constructor functions */




More information about the Ros-diffs mailing list