mirror of
https://github.com/fergalmoran/ladybird.git
synced 2025-12-22 09:19:03 +00:00
Meta: Disable -Wmaybe-uninitialized
It's prone to finding "technically uninitialized but can never happen"
cases, particularly in Optional<T> and Variant<Ts...>.
The general case seems to be that it cannot infer the dependency
between Variant's index (or Optional's boolean state) and a particular
alternative (or Optional's buffer) being untouched.
So it can flag cases like this:
```c++
if (index == StaticIndexForF)
new (new_buffer) F(move(*bit_cast<F*>(old_buffer)));
```
The code in that branch can _technically_ make a partially initialized
`F`, but that path can never be taken since the buffer holding an
object of type `F` and the condition being true are correlated, and so
will never be taken _unless_ the buffer holds an object of type `F`.
This commit also removed the various 'diagnostic ignored' pragmas used
to work around this warning, as they no longer do anything.
This commit is contained in:
committed by
Ali Mohammad Pur
parent
45710d0724
commit
50349de38c
@@ -218,6 +218,7 @@ add_compile_options(-Wno-unknown-warning-option)
|
||||
add_compile_options(-Wundef)
|
||||
add_compile_options(-Wunused)
|
||||
add_compile_options(-Wwrite-strings)
|
||||
add_compile_options(-Wno-maybe-uninitialized)
|
||||
|
||||
add_compile_options(-ffile-prefix-map=${CMAKE_SOURCE_DIR}=.)
|
||||
add_compile_options(-fno-exceptions)
|
||||
|
||||
Reference in New Issue
Block a user