[PATCH] Fix sys/sysmacros.h in C++
Jakub Jelinek
jakub@redhat.com
Wed Sep 24 15:06:00 GMT 2003
Hi!
In C++, we need to duplicate throw(), so that they match.
Also, I wonder whether
a) we shouldn't use different inline function names, so that
programs not using sys/sysmacros.h can use major/minor/makedev
symbols (__major/__minor/__makedev?)
b) if not, shouldn't the exported functions from libc be at least
weak?
2003-09-24 Jakub Jelinek <jakub@redhat.com>
* sysdeps/unix/sysv/linux/sys/sysmacros.h (major, minor, makedev):
Add __THROW.
--- libc/sysdeps/unix/sysv/linux/sys/sysmacros.h.jj 24 Sep 2003 09:35:49 -0000
+++ libc/sysdeps/unix/sysv/linux/sys/sysmacros.h 24 Sep 2003 14:26:00 -0000
@@ -33,19 +33,19 @@ extern unsigned long long int inline mak
# if defined __GNUC__ && __GNUC__ >= 2
extern inline unsigned int
-major (unsigned long long int __dev)
+major (unsigned long long int __dev) __THROW
{
return ((__dev >> 8) & 0xfff) | ((unsigned int) (__dev >> 32) & ~0xfff);
}
extern inline unsigned int
-minor (unsigned long long int __dev)
+minor (unsigned long long int __dev) __THROW
{
return (__dev & 0xff) | ((unsigned int) (__dev >> 12) & ~0xff);
}
extern inline unsigned long long int
-makedev (unsigned int __major, unsigned int __minor)
+makedev (unsigned int __major, unsigned int __minor) __THROW
{
return ((__minor & 0xff) | ((__major & 0xfff) << 8)
| (((unsigned long long int) (__minor & ~0xff)) << 12)
Jakub
More information about the Libc-hacker
mailing list