Re: svn commit: r228878 - head/include
Hello Sean, * Sean C. Farley s...@freebsd.org, 20111230 03:54: I just thought of this while reviewing the change: should __bool_true_false_are_defined be set only if __cplusplus is not set? It should be set for C99, but I wonder if it should be set for C++. Even if the C++ standard doesn't mention it at all, I think it doesn't mean it is forbidden to define it. It starts with __[a-z], so it is in the reserved namespace. Also, is there a style requirement that the guard for a header file be based off of the name of the file? I did not see anything obvious for this within style(9), but I am curious. I am not aware of this. -- Ed Schouten e...@80386.nl WWW: http://80386.nl/ pgpC2dauwZxru.pgp Description: PGP signature
Re: svn commit: r228878 - head/include
On Thu, 29 Dec 2011, m...@freebsd.org wrote: On Thu, Dec 29, 2011 at 6:54 PM, Sean C. Farley s...@freebsd.org wrote: On Sun, 25 Dec 2011, Ed Schouten wrote: Author: ed Date: Sun Dec 25 20:15:41 2011 New Revision: 228878 URL: http://svn.freebsd.org/changeset/base/228878 Log: Remove unneeded guard. There is no reason why stdbool.h needs an include guard. It is already protected by __bool_true_false_are_defined. Modified: head/include/stdbool.h Modified: head/include/stdbool.h == --- head/include/stdbool.h Sun Dec 25 18:15:31 2011 (r228877) +++ head/include/stdbool.h Sun Dec 25 20:15:41 2011 (r228878) @@ -26,9 +26,6 @@ * $FreeBSD$ */ -#ifndef _STDBOOL_H_ -#define _STDBOOL_H_ - #ifndef __bool_true_false_are_defined #define __bool_true_false_are_defined 1 @@ -44,5 +41,3 @@ typedef int _Bool; #endif /* !__cplusplus */ #endif /* __bool_true_false_are_defined */ - -#endif /* !_STDBOOL_H_ */ I just thought of this while reviewing the change: should __bool_true_false_are_defined be set only if __cplusplus is not set? It should be set for C99, but I wonder if it should be set for C++. My quick googling didn't show anything at all about the C++ standard and stdbool.h or __bool_true_false_are_defined. It was probably originally set because bool, true, and false are all C++ keywords so certain code that wanted to ifdef on them didn't also need to check __cplusplus. I did not find anything definitive either. Also, is there a style requirement that the guard for a header file be based off of the name of the file? I did not see anything obvious for this within style(9), but I am curious. I think it's just common use to make sure different headers use a different include guard, so they only protect their contents, not any other file's. The C standard only mentions the symbols bool, true, false, and __bool_true_false_are_defined in regards to stdbool.h. Thank you. I asked since I have only really noticed filename-based guards in the tree although not all are this way (i.e., bsdxml.h uses Expat_INCLUDED). Sean -- s...@freebsd.org___ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to svn-src-head-unsubscr...@freebsd.org
Re: svn commit: r228878 - head/include
On Fri, 30 Dec 2011, Ed Schouten wrote: Hello Sean, * Sean C. Farley s...@freebsd.org, 20111230 03:54: I just thought of this while reviewing the change: should __bool_true_false_are_defined be set only if __cplusplus is not set? It should be set for C99, but I wonder if it should be set for C++. Even if the C++ standard doesn't mention it at all, I think it doesn't mean it is forbidden to define it. It starts with __[a-z], so it is in the reserved namespace. I am fine with it. I found many variations of stdbool.h with some wrapping __bool_true_false_are_defined within the __cplusplus check (e.g., glibc) and some that did not. glibc may have it because stdbool.h is included from cstdbool and stdbool.h in /usr/include/c++/4.2/tr1/. Also, is there a style requirement that the guard for a header file be based off of the name of the file? I did not see anything obvious for this within style(9), but I am curious. I am not aware of this. I am not aware of it either, hence, my question. It was just something to which I have grown accustomed. Using __bool_true_false_are_defined as the guard works. Sean -- s...@freebsd.org ___ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to svn-src-head-unsubscr...@freebsd.org
Re: svn commit: r228878 - head/include
On 30 Dec 2011, at 16:52, Sean C. Farley wrote: My quick googling didn't show anything at all about the C++ standard and stdbool.h or __bool_true_false_are_defined. It was probably originally set because bool, true, and false are all C++ keywords so certain code that wanted to ifdef on them didn't also need to check __cplusplus. I did not find anything definitive either. It's usually a better idea to check the spec than Google... stdbool.h is not part of the C++ standard, and so it is free to contain anything in C++ mode, just as any other non-standard header is. The cstdbool header is defined by the C++11 spec as containing JUST the __bool_true_false_are_defined macro. The purpose of this header in C++ mode is to allow the inclusion of C++ headers that expect to be able to use true and false and guard this by the use of the __bool_true_false_are_defined macro. David___ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to svn-src-head-unsubscr...@freebsd.org
Re: svn commit: r228878 - head/include
On Sun, 25 Dec 2011, Ed Schouten wrote: Author: ed Date: Sun Dec 25 20:15:41 2011 New Revision: 228878 URL: http://svn.freebsd.org/changeset/base/228878 Log: Remove unneeded guard. There is no reason why stdbool.h needs an include guard. It is already protected by __bool_true_false_are_defined. Modified: head/include/stdbool.h Modified: head/include/stdbool.h == --- head/include/stdbool.h Sun Dec 25 18:15:31 2011(r228877) +++ head/include/stdbool.h Sun Dec 25 20:15:41 2011(r228878) @@ -26,9 +26,6 @@ * $FreeBSD$ */ -#ifndef _STDBOOL_H_ -#define_STDBOOL_H_ - #ifndef __bool_true_false_are_defined #define __bool_true_false_are_defined 1 @@ -44,5 +41,3 @@ typedef int _Bool; #endif /* !__cplusplus */ #endif /* __bool_true_false_are_defined */ - -#endif /* !_STDBOOL_H_ */ I just thought of this while reviewing the change: should __bool_true_false_are_defined be set only if __cplusplus is not set? It should be set for C99, but I wonder if it should be set for C++. Also, is there a style requirement that the guard for a header file be based off of the name of the file? I did not see anything obvious for this within style(9), but I am curious. Sean -- s...@freebsd.org ___ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to svn-src-head-unsubscr...@freebsd.org
Re: svn commit: r228878 - head/include
On Thu, Dec 29, 2011 at 6:54 PM, Sean C. Farley s...@freebsd.org wrote: On Sun, 25 Dec 2011, Ed Schouten wrote: Author: ed Date: Sun Dec 25 20:15:41 2011 New Revision: 228878 URL: http://svn.freebsd.org/changeset/base/228878 Log: Remove unneeded guard. There is no reason why stdbool.h needs an include guard. It is already protected by __bool_true_false_are_defined. Modified: head/include/stdbool.h Modified: head/include/stdbool.h == --- head/include/stdbool.h Sun Dec 25 18:15:31 2011 (r228877) +++ head/include/stdbool.h Sun Dec 25 20:15:41 2011 (r228878) @@ -26,9 +26,6 @@ * $FreeBSD$ */ -#ifndef _STDBOOL_H_ -#define _STDBOOL_H_ - #ifndef __bool_true_false_are_defined #define __bool_true_false_are_defined 1 @@ -44,5 +41,3 @@ typedef int _Bool; #endif /* !__cplusplus */ #endif /* __bool_true_false_are_defined */ - -#endif /* !_STDBOOL_H_ */ I just thought of this while reviewing the change: should __bool_true_false_are_defined be set only if __cplusplus is not set? It should be set for C99, but I wonder if it should be set for C++. My quick googling didn't show anything at all about the C++ standard and stdbool.h or __bool_true_false_are_defined. It was probably originally set because bool, true, and false are all C++ keywords so certain code that wanted to ifdef on them didn't also need to check __cplusplus. Also, is there a style requirement that the guard for a header file be based off of the name of the file? I did not see anything obvious for this within style(9), but I am curious. I think it's just common use to make sure different headers use a different include guard, so they only protect their contents, not any other file's. The C standard only mentions the symbols bool, true, false, and __bool_true_false_are_defined in regards to stdbool.h. Cheers, matthew ___ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to svn-src-head-unsubscr...@freebsd.org
svn commit: r228878 - head/include
Author: ed Date: Sun Dec 25 20:15:41 2011 New Revision: 228878 URL: http://svn.freebsd.org/changeset/base/228878 Log: Remove unneeded guard. There is no reason why stdbool.h needs an include guard. It is already protected by __bool_true_false_are_defined. Modified: head/include/stdbool.h Modified: head/include/stdbool.h == --- head/include/stdbool.h Sun Dec 25 18:15:31 2011(r228877) +++ head/include/stdbool.h Sun Dec 25 20:15:41 2011(r228878) @@ -26,9 +26,6 @@ * $FreeBSD$ */ -#ifndef _STDBOOL_H_ -#define_STDBOOL_H_ - #ifndef __bool_true_false_are_defined #define__bool_true_false_are_defined 1 @@ -44,5 +41,3 @@ typedef int _Bool; #endif /* !__cplusplus */ #endif /* __bool_true_false_are_defined */ - -#endif /* !_STDBOOL_H_ */ ___ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to svn-src-head-unsubscr...@freebsd.org