Actually, in that code, you can't initialize both variables. Check the structs and unions initialization rules. The compiler will throw something along this line Error: only one non-static data member of a union may have a default member initializer
. So not only you can ignore the Clang warning, you have to in this particular case. If it's a false positive or a bug of Clang, can't say, but it clearly shouldn't be complaining about this, because fixing this warning will prevent your code from compiling.
On a more general note about these warnings. An uninitialized variable per se, won't break your program, until you try to do something that depends on the value of the variable, then many things could happen, some bad, some unknown, and some that even work fine.
By explicitly initializing the variable, you make sure it's in a consistent and known state, one which upon its use won't likely cause your program to break (unless the value you passed it made it so). Ignore these warnings at your own risk, if you really know what you're doing, or if they just don't make sense (like this one).