Support newlib C library configurations without tm_gmtoff field (#2600)
Newlib C library (https://sourceware.org/newlib/) has a configuration option to add tm_gmtoff field to the tm structure. Not all the platforms supported by newlib enable this option, and spdlog doesn't compile on such platforms due to missing tm_gmtoff field. Fix this by checking for `__NEWLIB__` and `__TM_GMTOFF` and enabling calculate_gmt_offset.
This commit is contained in:
		@@ -286,7 +286,7 @@ SPDLOG_INLINE int utc_minutes_offset(const std::tm &tm)
 | 
				
			|||||||
    return offset;
 | 
					    return offset;
 | 
				
			||||||
#else
 | 
					#else
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#    if defined(sun) || defined(__sun) || defined(_AIX) || (!defined(_BSD_SOURCE) && !defined(_GNU_SOURCE))
 | 
					#    if defined(sun) || defined(__sun) || defined(_AIX) || (defined(__NEWLIB__) && !defined(__TM_GMTOFF)) || (!defined(_BSD_SOURCE) && !defined(_GNU_SOURCE))
 | 
				
			||||||
    // 'tm_gmtoff' field is BSD extension and it's missing on SunOS/Solaris
 | 
					    // 'tm_gmtoff' field is BSD extension and it's missing on SunOS/Solaris
 | 
				
			||||||
    struct helper
 | 
					    struct helper
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user