gcc accepts void f() { __asm__ ( "" : : : "%cc"); } but clang rejects it with: unknown register name '%cc' in asm
The problem is the '%'. It is not clear if it is intentional that gcc accepts %cc and %memory instead of just "cc" and "memory".
Eww; nasty regression from r134016.
Yeah, I don't know that it's intentional. I'm not even quite sure it should be fixed though it's not hard to do so.
Where I found this bug: https://bugzilla.mozilla.org/show_bug.cgi?id=671711 If they are ok with changing the code, I am more than happy to close this as wontfix :-)
I responded to the mozilla bug since it seems you've been getting some pushback there.
And it looks like mozilla has changed their code :)