Re: svn commit: r228878 - head/include

2011-12-30 Thread Ed Schouten
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

2011-12-30 Thread Sean C. Farley

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

2011-12-30 Thread Sean C. Farley

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

2011-12-30 Thread David Chisnall
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

2011-12-29 Thread Sean C. Farley

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

2011-12-29 Thread mdf
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

2011-12-25 Thread Ed Schouten
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