[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