svn commit: r222950 - in head: cddl/compat/opensolaris/include sys/cddl/compat/opensolaris/sys sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys

Andriy Gapon avg at FreeBSD.org
Wed Jun 22 13:41:51 UTC 2011


on 10/06/2011 23:10 Justin T. Gibbs said the following:
> Author: gibbs
> Date: Fri Jun 10 20:10:30 2011
> New Revision: 222950
> URL: http://svn.freebsd.org/changeset/base/222950
> 
> Log:
>   Remove C constructs that are incompatible with C++ from various
>   OpenSolaris and ZFS header files.  These changes are sufficient
>   to allow a C++ program to use the libzfs library.

Is this going to affect any possible (but improbable?) merges from upstream?
And/or from other ZFS/OpenSolaris forks (which should be more likely)?

>   Note: The majority of these files already included 'extern "C"'
>         declarations, so the intention of providing C++ compatibility
>         already existed even if it wasn't provided.
>   
>   cddl/compat/opensolaris/include/assert.h:
>   	Wrap our compatibility assert implementation in
>   	'extern "C"'.  Since this is a compatibility header
>   	I matched the Solaris style of doing this explicitly
>   	rather than rely on FreeBSD's __BEGIN/END_DECLS macro.
>   
>   sys/cddl/compat/opensolaris/sys/kstat.h:
>   sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/arc.h:
>   sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dsl_pool.h:
>   sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/ddt.h:
>   sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/spa.h:
>   sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zio.h:
>   	Rename parameters in function declarations that conflict
>   	with C++ keywords.  This was the solution preferred by
>   	members of the Illumos community.
>   
>   sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_ioctl.h:
>   	In C, nested structures are visible in the global namespace,
>   	but in C++, they take on the namespace of the structure in
>   	which they are contained.  Flatten nested structure
>   	definitions within struct zfs_cmd so these structures are
>   	visible in the global namespace when compiled in both
>   	languages.
>   
>   Sponsored by:	 Spectra Logic Corporation
> 
> Modified:
>   head/cddl/compat/opensolaris/include/assert.h
>   head/sys/cddl/compat/opensolaris/sys/kstat.h
>   head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/arc.h
>   head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/ddt.h
>   head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dsl_pool.h
>   head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/spa.h
>   head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_ioctl.h
>   head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zio.h

-- 
Andriy Gapon


More information about the svn-src-all mailing list