On systems where possible, GCC should get knowledge about the errno location so it can clobber the right memory location for calls only setting errno.
On glibc the errno location is obtained using a call to the __errno_location () library function, so the obvious thing would be to introduce __builtin_errno_location () on this (or similar) system(s) and teach aliasing the special property of its return value and its relation to errno setting functions. -- Summary: GCC should know about errno Product: gcc Version: 4.3.0 Status: UNCONFIRMED Keywords: missed-optimization Severity: enhancement Priority: P3 Component: middle-end AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: rguenth at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30555