This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c/52381] New: asm goto output operands
- From: "marc.glisse at normalesup dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Sat, 25 Feb 2012 12:56:53 +0000
- Subject: [Bug c/52381] New: asm goto output operands
- Auto-submitted: auto-generated
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52381
Bug #: 52381
Summary: asm goto output operands
Classification: Unclassified
Product: gcc
Version: 4.7.0
Status: UNCONFIRMED
Severity: enhancement
Priority: P3
Component: c
AssignedTo: unassigned@gcc.gnu.org
ReportedBy: marc.glisse@normalesup.org
Hello,
asm goto doesn't allow output operands (this is documented). I haven't found an
enhancement request about it, but I think it is obvious that it is wanted. What
I would like to ask in the meantime is for a more specific error message than:
ex.c: In function 'h':
ex.c:4:42: error: expected ':' before string constant
or in the case of g++:
ex.cc: In function 'void h(int)':
ex.cc:4:42: error: expected ':' or '::' before string constant
ex.cc:4:74: error: undefined named operand 'g_'
Something like: "asm goto doesn't allow output operands" would be great. It
took me a while to understand what was wrong by reading the doc, even with the
nice column indication.
silly example (yes, the contraints don't make sense, it doesn't matter) that
gave the messages above:
void f(int);
void g();
void h(int i){
asm goto( "cmpl %1, %0\n\tje %l[g_]" : "+g" (i) : "i" (42) : "cc" : g_);
return f(i);
g_:
return g();
}