Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 22 Jun 2011 16:41:47 +0300
From:      Andriy Gapon <avg@FreeBSD.org>
To:        "Justin T. Gibbs" <gibbs@FreeBSD.org>
Cc:        svn-src-head@FreeBSD.org, svn-src-all@FreeBSD.org, src-committers@FreeBSD.org
Subject:   Re: svn commit: r222950 - in head: cddl/compat/opensolaris/include sys/cddl/compat/opensolaris/sys sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys
Message-ID:  <4E01F11B.3070602@FreeBSD.org>
In-Reply-To: <201106102010.p5AKAV8G041541@svn.freebsd.org>
References:  <201106102010.p5AKAV8G041541@svn.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4E01F11B.3070602>