[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH] x86: fix clang .macro retention check
On 14.11.2019 10:38, Roger Pau Monné wrote: > On Wed, Nov 13, 2019 at 06:01:40PM +0100, Jan Beulich wrote: >> --- a/xen/arch/x86/Rules.mk >> +++ b/xen/arch/x86/Rules.mk >> @@ -82,6 +64,6 @@ $(call as-option-add,CFLAGS,CC,".include >> # Check whether clang keeps .macro-s between asm()-s: >> # https://bugs.llvm.org/show_bug.cgi?id=36110 >> $(call as-option-add,CFLAGS,CC,\ >> - ".macro FOO\n.endm\"); asm volatile (\".macro >> FOO\n.endm",\ >> + ".macro FOO\n.endm"$$(close); asm volatile >> $$(open)".macro FOO\n.endm",\ > > Thanks, while here could you also replace the '\n' with a ';'? '\n' > doesn't work properly and gives me the following error: > > <stdin>:1:32: error: missing terminating '"' character > [-Werror,-Winvalid-pp-token] > void _(void) { asm volatile ( ".macro FOO > ^ > <stdin>:1:32: error: expected string literal in 'asm' > <stdin>:3:6: error: missing terminating '"' character > [-Werror,-Winvalid-pp-token] > .endm" ); } > ^ > <stdin>:3:12: error: expected ')' > .endm" ); } > ^ > <stdin>:1:29: note: to match this '(' > void _(void) { asm volatile ( ".macro FOO > ^ > <stdin>:3:12: error: expected '}' > .endm" ); } > ^ > <stdin>:1:14: note: to match this '{' > void _(void) { asm volatile ( ".macro FOO > ^ So this must be yet another issue - I did specifically look at the what gets handed to the compiler, and I did not see the above. I wonder whether that's also related to the \" that I found necessary to drop - with what you say I'd expect the un-escaped double quotes won't work for you. I suppose though this un-escaping (or not) happens at a level other than the compiler, i.e. either a difference in shell or in make behavior. IOW I don't think just replacing \n by ; will do. Jan _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |