mirror of
				https://github.com/Zygo/bees.git
				synced 2025-10-31 18:20:34 +01:00 
			
		
		
		
	ntoa: fix comment disparaging gcc for not implementing C99 compound literals in C++
C99's "{ 0 }" notation for filling in a struct with all zeros was not
included in the C++11 standard, so gcc doesn't implement it and neither
does clang.
gcc does (did?) have issues with warnings on the same code in C99,
complaining about uninitialized struct members when "{0}" explicitly
initializes every member to a zero value.  These issues don't apply in
the C++ code where NTOA_TABLE_ENTRY_END is used.
Signed-off-by: Zygo Blaxell <bees@furryterror.org>
			
			
This commit is contained in:
		| @@ -22,7 +22,7 @@ namespace crucible { | |||||||
| // Enumerations (entire value matches all bits) | // Enumerations (entire value matches all bits) | ||||||
| #define NTOA_TABLE_ENTRY_ENUM(x) { .n = (x), .mask = ~0UL,  .a = (#x) } | #define NTOA_TABLE_ENTRY_ENUM(x) { .n = (x), .mask = ~0UL,  .a = (#x) } | ||||||
|  |  | ||||||
| // End of table (sorry, gcc doesn't implement this) | // End of table (sorry, C++ didn't get C99's compound literals, so we have to write out all the member names) | ||||||
| #define NTOA_TABLE_ENTRY_END() { .n = 0, .mask = 0, .a = nullptr } | #define NTOA_TABLE_ENTRY_END() { .n = 0, .mask = 0, .a = nullptr } | ||||||
|  |  | ||||||
| #endif // CRUCIBLE_NTOA_H | #endif // CRUCIBLE_NTOA_H | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user