[libc-commits] [libc] [libc][NFC] Fix missing field 'tm_isdst' initializer warning (PR #67837)

Mikhail R. Gadelha via libc-commits libc-commits at lists.llvm.org
Fri Sep 29 15:25:22 PDT 2023


mikhailramalho wrote:

> would it be easier to just make the struct say `int tm_isdst = 0;` in the definition, instead of updating all of the constructions?

yeah, none of the other members are initialized in the type definition:
```
struct tm
{
  int tm_sec;			/* Seconds.	[0-60] (1 leap second) */
  int tm_min;			/* Minutes.	[0-59] */
  int tm_hour;			/* Hours.	[0-23] */
  int tm_mday;			/* Day.		[1-31] */
  int tm_mon;			/* Month.	[0-11] */
  int tm_year;			/* Year	- 1900.  */
  int tm_wday;			/* Day of week.	[0-6] */
  int tm_yday;			/* Days in year.[0-365]	*/
  int tm_isdst;			/* DST.		[-1/0/1]*/

# ifdef	__USE_MISC
  long int tm_gmtoff;		/* Seconds east of UTC.  */
  const char *tm_zone;		/* Timezone abbreviation.  */
# else
  long int __tm_gmtoff;		/* Seconds east of UTC.  */
  const char *__tm_zone;	/* Timezone abbreviation.  */
# endif
};
```

All the other members are initialized manually in these files too, e.g., `.tm_yday = 0` in 35 of the 39 places a `struct tm` is created...

https://github.com/llvm/llvm-project/pull/67837


More information about the libc-commits mailing list