svn commit: r209578 - head/sys/sys
Matthew Fleming
mdf356 at gmail.com
Mon Jun 28 21:07:11 UTC 2010
On Mon, Jun 28, 2010 at 10:59 AM, Konstantin Belousov <kib at freebsd.org> wrote:
> Author: kib
> Date: Mon Jun 28 17:59:45 2010
> New Revision: 209578
> URL: http://svn.freebsd.org/changeset/base/209578
>
> Log:
> Use C99 initializers for the struct sysent generated by MAKE_SYSENT().
>
> MFC after: 1 week
>
> Modified:
> head/sys/sys/sysent.h
>
> Modified: head/sys/sys/sysent.h
> ==============================================================================
> --- head/sys/sys/sysent.h Mon Jun 28 17:45:00 2010 (r209577)
> +++ head/sys/sys/sysent.h Mon Jun 28 17:59:45 2010 (r209578)
> @@ -144,10 +144,10 @@ struct syscall_module_data {
>
> #define MAKE_SYSENT(syscallname) \
> static struct sysent syscallname##_sysent = { \
> - (sizeof(struct syscallname ## _args ) \
> + .sy_narg = (sizeof(struct syscallname ## _args ) \
> / sizeof(register_t)), \
> - (sy_call_t *)& syscallname, \
> - SYS_AUE_##syscallname \
> + .sy_call = (sy_call_t *)& syscallname, \
> + .sy_auevent = SYS_AUE_##syscallname, \
> }
>
> #define SYSCALL_MODULE(name, offset, new_sysent, evh, arg) \
>
This change prevents (I assume) the use of MAKE_SYSENT() in a C++
kernel module, as C++ does not support the .name = value style of
named initializers.
gcc does allow name: value initializers and it's easy to patch it to
accept .name = value, but it's not strictly conforming C++ code
anymore.
Thanks,
matthew
More information about the svn-src-all
mailing list