Commit e9fa452b authored by Martin Storsjo's avatar Martin Storsjo Committed by Alexandre Julliard

asm: Separate .def/.scl/.type/.endef with newlines instead of semicolons.

When targeting arm64 in MSVC mode, LLVM treats semicolons in assembly as comment char, instead of as statement separator (contrary to in mingw mode, where semicolons still work as separator). In generated code, there's no need to keep these directives on one single line though, so just separate them with newlines. Signed-off-by: 's avatarMartin Storsjo <martin@martin.st> Signed-off-by: 's avatarJacek Caban <jacek@codeweavers.com> Signed-off-by: 's avatarAlexandre Julliard <julliard@winehq.org>
parent 5befc694
......@@ -56,7 +56,7 @@
#endif
#ifdef _WIN32
# define __ASM_FUNC_TYPE(name) ".def " name "; .scl 2; .type 32; .endef"
# define __ASM_FUNC_TYPE(name) ".def " name "\n\t.scl 2\n\t.type 32\n\t.endef"
#elif defined(__APPLE__)
# define __ASM_FUNC_TYPE(name) ""
#elif defined(__arm__) || defined(__arm64__)
......
......@@ -686,7 +686,7 @@ void output_standard_file_header(void)
output( "/* This file can be copied, modified and distributed without restriction. */\n\n" );
if (safe_seh)
{
output( "\t.def @feat.00; .scl 3; .type 0; .endef\n" );
output( "\t.def @feat.00\n\t.scl 3\n\t.type 0\n\t.endef\n" );
output( "\t.globl @feat.00\n" );
output( ".set @feat.00, 1\n" );
}
......@@ -1119,7 +1119,7 @@ const char *func_declaration( const char *func )
return "";
case PLATFORM_WINDOWS:
free( buffer );
buffer = strmake( ".def %s; .scl 2; .type 32; .endef", asm_name(func) );
buffer = strmake( ".def %s\n\t.scl 2\n\t.type 32\n\t.endef", asm_name(func) );
break;
default:
free( buffer );
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment