Fix <bits/mqueue2.h> for C++

This commit is contained in:
Jakub Jelinek 2011-06-04 14:21:45 -04:00 committed by Ulrich Drepper
parent 06c07b8b9f
commit f16846a5f2
3 changed files with 16 additions and 7 deletions

View File

@ -1,3 +1,10 @@
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.
2011-06-02 H.J. Lu <hongjiu.lu@intel.com> 2011-06-02 H.J. Lu <hongjiu.lu@intel.com>
* sysdeps/x86_64/multiarch/init-arch.c (__init_cpu_features): * sysdeps/x86_64/multiarch/init-arch.c (__init_cpu_features):

4
NEWS
View File

@ -1,4 +1,4 @@
GNU C Library NEWS -- history of user-visible changes. 2011-5-30 GNU C Library NEWS -- history of user-visible changes. 2011-6-4
Copyright (C) 1992-2009, 2010, 2011 Free Software Foundation, Inc. Copyright (C) 1992-2009, 2010, 2011 Free Software Foundation, Inc.
See the end for copying conditions. See the end for copying conditions.
@ -18,7 +18,7 @@ Version 2.14
12587, 12597, 12601, 12611, 12625, 12626, 12631, 12650, 12653, 12655, 12587, 12597, 12601, 12611, 12625, 12626, 12631, 12650, 12653, 12655,
12660, 12671, 12681, 12684, 12685, 12711, 12713, 12714, 12717, 12723, 12660, 12671, 12681, 12684, 12685, 12711, 12713, 12714, 12717, 12723,
12724, 12734, 12738, 12746, 12766, 12775, 12777, 12782, 12788, 12792, 12724, 12734, 12738, 12746, 12766, 12775, 12777, 12782, 12788, 12792,
12795, 12811, 12813, 12814 12795, 12811, 12813, 12814, 12841
* The RPC implementation in libc is obsoleted. Old programs keep working * The RPC implementation in libc is obsoleted. Old programs keep working
but new programs cannot be linked with the routines in libc anymore. but new programs cannot be linked with the routines in libc anymore.

View File

@ -1,5 +1,5 @@
/* Checking macros for mq functions. /* 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. This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or The GNU C Library is free software; you can redistribute it and/or
@ -25,16 +25,18 @@
parameter. */ parameter. */
extern mqd_t mq_open (__const char *__name, int __oflag, ...) extern mqd_t mq_open (__const char *__name, int __oflag, ...)
__THROW __nonnull ((1)); __THROW __nonnull ((1));
extern mqd_t __mq_open_2 (__const char *__name, int __oflag) __nonnull ((1)); extern mqd_t __mq_open_2 (__const char *__name, int __oflag)
extern mqd_t __REDIRECT (__mq_open_alias, (__const char *__name, int __oflag, ...), __THROW __nonnull ((1));
mq_open) __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, __errordecl (__mq_open_wrong_number_of_args,
"mq_open can be called either with 2 or 4 arguments"); "mq_open can be called either with 2 or 4 arguments");
__errordecl (__mq_open_missing_mode_and_attr, __errordecl (__mq_open_missing_mode_and_attr,
"mq_open with O_CREAT in second argument needs 4 arguments"); "mq_open with O_CREAT in second argument needs 4 arguments");
__extern_always_inline mqd_t __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) if (__va_arg_pack_len () != 0 && __va_arg_pack_len () != 2)
__mq_open_wrong_number_of_args (); __mq_open_wrong_number_of_args ();