http://llvm.org/bugs/show_bug.cgi?id=18891
Bug ID: 18891
Summary: NR_PAGEFLAGS macro with inline assembly in ARM
Product: libraries
Version: trunk
Hardware: PC
OS: Linux
Status: NEW
Severity: normal
Priority: P
Component: Backend: ARM
Assignee: [email protected]
Reporter: [email protected]
CC: [email protected]
Classification: Unclassified
As described in Bug #18199:
First: asm volatile will emit crap as instructed, expanding the parameters as
necessary.
Second: gcc will not perform assembly validation and accept GARBAGE!
The garbage portion of the second point is IMPORTANT.
By doing this, they can rely on the frontend translating constant expressions
into values that will be emitted as raw output. This output is then saved off
and post-processed by a sed script to generate future input for the compiler.
As an example:
#define DEFINE(sym, val) asm volatile("\n->" #sym " %0 " #val : : "i" (val))
DEFINE(NR_PAGEFLAGS, __NR_PAGEFLAGS)
->NR_PAGEFLAGS #22 __NR_PAGEFLAGS
--
You are receiving this mail because:
You are on the CC list for the bug.
_______________________________________________
LLVMbugs mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/llvmbugs