[gcc r12-7434] libstdc++: Fix -Wmaybe-uninitialized false positive [PR103984]
Jonathan Wakely
redi@gcc.gnu.org
Tue Mar 1 15:26:14 GMT 2022
https://gcc.gnu.org/g:ad66b03b3c84786e73e73f09be19977b8f3c4ea3
commit r12-7434-gad66b03b3c84786e73e73f09be19977b8f3c4ea3
Author: Jonathan Wakely <jwakely@redhat.com>
Date: Tue Mar 1 09:33:21 2022 +0000
libstdc++: Fix -Wmaybe-uninitialized false positive [PR103984]
This fixes a false positive warning seen with LTO:
12/bits/regex_compiler.tcc:443:32: error: '__last_char._M_char' may be used uninitialized [-Werror=maybe-uninitialized]
Given that the std::regex code is not very efficient anyway, the
overhead of initializing this byte should be minimal.
libstdc++-v3/ChangeLog:
PR middle-end/103984
* include/bits/regex_compiler.h (_BracketMatcher::_M_char): Use
default member initializer.
Diff:
---
libstdc++-v3/include/bits/regex_compiler.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/libstdc++-v3/include/bits/regex_compiler.h b/libstdc++-v3/include/bits/regex_compiler.h
index 174aefe75f7..348c170c81a 100644
--- a/libstdc++-v3/include/bits/regex_compiler.h
+++ b/libstdc++-v3/include/bits/regex_compiler.h
@@ -125,7 +125,7 @@ namespace __detail
struct _BracketState
{
enum class _Type : char { _None, _Char, _Class } _M_type = _Type::_None;
- _CharT _M_char;
+ _CharT _M_char = _CharT();
void
set(_CharT __c) noexcept { _M_type = _Type::_Char; _M_char = __c; }
More information about the Libstdc++-cvs
mailing list