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"

Reply via email to