This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH] Fix <bits/mqueue2.h> for C++


Hi!

g++ -O2 -D_FORTIFY_SOURCE=2 -pedantic complains about mqueue.h,
as mq_open inline isn't marked throw () while mq_open prototype is.
Fixed by adding __NTH, additionally __mq_open_2 and __mq_open_alias
can't throw either.

2011-06-04  Jakub Jelinek  <jakub@redhat.com>

	[BZ #12841]
	* rt/bits/mqueue2.h (__mq_open_2): Add __THROW.
	(__mq_open_alias): Use __REDIRECT_NTH instead of __REDIRECT.
	(mq_open): Add __NTH.

--- libc/rt/bits/mqueue2.h	2009-05-16 19:23:37.000000000 +0200
+++ libc/rt/bits/mqueue2.h	2011-06-04 19:05:38.322333773 +0200
@@ -1,5 +1,5 @@
 /* Checking macros for mq functions.
-   Copyright (C) 2007 Free Software Foundation, Inc.
+   Copyright (C) 2007, 2011 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -25,16 +25,18 @@
    parameter.  */
 extern mqd_t mq_open (__const char *__name, int __oflag, ...)
      __THROW __nonnull ((1));
-extern mqd_t __mq_open_2 (__const char *__name, int __oflag) __nonnull ((1));
-extern mqd_t __REDIRECT (__mq_open_alias, (__const char *__name, int __oflag, ...),
-			 mq_open) __nonnull ((1));
+extern mqd_t __mq_open_2 (__const char *__name, int __oflag)
+     __THROW __nonnull ((1));
+extern mqd_t __REDIRECT_NTH (__mq_open_alias, (__const char *__name,
+					       int __oflag, ...), mq_open)
+     __nonnull ((1));
 __errordecl (__mq_open_wrong_number_of_args,
 	     "mq_open can be called either with 2 or 4 arguments");
 __errordecl (__mq_open_missing_mode_and_attr,
 	     "mq_open with O_CREAT in second argument needs 4 arguments");
 
 __extern_always_inline mqd_t
-mq_open (__const char *__name, int __oflag, ...)
+__NTH (mq_open (__const char *__name, int __oflag, ...))
 {
   if (__va_arg_pack_len () != 0 && __va_arg_pack_len () != 2)
     __mq_open_wrong_number_of_args ();

	Jakub


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]