http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59850
Bug ID: 59850
Summary: Support sparse-style pointer address spaces (type
attributes)
Product: gcc
Version: unknown
Status: UNCONFIRMED
Severity: enhancement
Priority: P3
Component: c
Assignee: unassigned at gcc dot gnu.org
Reporter: hpa at zytor dot com
The sparse C compile checker has a set of extensions to the gcc type attribute
set:
__attribute__((noderef))
__attribute__((address_space(N)))
... where N is an arbitrary integer.
sparse will warn if pointers tagged with different address spaces are mixed,
and if a pointer tagged with "noderef" is dereferenced.
It would be highly useful if these protections could be extended to gcc itself
and thus get more ubiquitously run. The main use case, of course, is the Linux
kernel, but almost any low-level application which has to deal with multiple
"manually maintained" address spaces is likely to benefit.
__attribute__((force))
... usually used as part of a cast, is used to suppress the warning.