Bug 2110580 - Rebase devtoolset-12-gcc to GCC 12.2
Summary: Rebase devtoolset-12-gcc to GCC 12.2
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Developer Toolset
Classification: Red Hat
Component: gcc
Version: DTS 12.0 RHEL 7
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: alpha
: 12.1
Assignee: Marek Polacek
QA Contact: Václav Kadlčík
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2022-07-25 16:33 UTC by Marek Polacek
Modified: 2023-05-23 11:27 UTC (History)
1 user (show)

Fixed In Version: devtoolset-12-gcc-12.2.1-4.el7
Doc Type: Rebase: Bug Fixes Only
Doc Text:
Important: if this rebase also contains *enhancements* (or contains only enhancements), select the correct option from the Doc Type drop-down list. Rebase package(s) to version: 12.2 Highlights and important bug fixes:
Clone Of:
Environment:
Last Closed: 2023-05-23 11:27:18 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Issue Tracker DTS-441 0 None None None 2022-07-25 16:43:26 UTC
Red Hat Product Errata RHBA-2023:3272 0 None None None 2023-05-23 11:27:29 UTC

Description Marek Polacek 2022-07-25 16:33:15 UTC
GCC 12.2 should be released rather soon, and we should consider rebasing DTS/GTS GCC from it.

Comment 1 Marek Polacek 2022-07-25 16:36:48 UTC
This may be moved to DTS 12.1 if we don't have the time to do the rebase.

Comment 2 Marek Polacek 2022-08-01 16:05:07 UTC
Moved to DTS 12.1.

Comment 3 Marek Polacek 2022-11-30 18:35:05 UTC
Rebase done.  I see a new fail:

833068:FAIL: g++.dg/torture/pr106922.C   -O2  (test for excess errors)
833133:FAIL: g++.dg/torture/pr106922.C   -O3 -fomit-frame-pointer -funroll-loops -fpeel-loops -ftracer -finline-functions  (test for excess errors)
833198:FAIL: g++.dg/torture/pr106922.C   -O3 -g  (test for excess errors)
833266:FAIL: g++.dg/torture/pr106922.C   -O2 -flto -fno-use-linker-plugin -flto-partition=none  (test for excess errors)
1813595:FAIL: g++.dg/torture/pr106922.C   -O2  (test for excess errors)
1813660:FAIL: g++.dg/torture/pr106922.C   -O3 -fomit-frame-pointer -funroll-loops -fpeel-loops -ftracer -finline-functions  (test for excess errors)
1813725:FAIL: g++.dg/torture/pr106922.C   -O3 -g  (test for excess errors)
1813793:FAIL: g++.dg/torture/pr106922.C   -O2 -flto -fno-use-linker-plugin -flto-partition=none  (test for excess errors)

due to

Excess errors:
/builddir/build/BUILD/gcc-12.2.1-20221121/obj-x86_64-redhat-linux/x86_64-redhat-linux/libstdc++-v3/include/bits/stl_vector.h:730:22: warning: '*(std::vector<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >*)((char*)&externals + offsetof(MyOptionalsStruct, MyOptionalsStruct::external2.MyOptionalStructWithInt::myoptional.std::optional<std::vector<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >::<unnamed>.std::_Optional_base<std::vector<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, false, false>::<unnamed>)).std::vector<std::basic_string<char> >::<anonymous>.std::_Vector_base<std::basic_string<char>, std::allocator<std::basic_string<char> > >::_M_impl.std::_Vector_base<std::basic_string<char>, std::allocator<std::basic_string<char> > >::_Vector_impl::<anonymous>.std::_Vector_base<std::basic_string<char>, std::allocator<std::basic_string<char> > >::_Vector_impl_data::_M_finish' may be used uninitialized [-Wmaybe-uninitialized]
/builddir/build/BUILD/gcc-12.2.1-20221121/obj-x86_64-redhat-linux/x86_64-redhat-linux/libstdc++-v3/include/bits/stl_vector.h:730:22: warning: '*(std::vector<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >*)((char*)&externals + offsetof(MyOptionalsStruct, MyOptionalsStruct::external2.MyOptionalStructWithInt::myoptional.std::optional<std::vector<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >::<unnamed>.std::_Optional_base<std::vector<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, false, false>::<unnamed>)).std::vector<std::basic_string<char> >::<anonymous>.std::_Vector_base<std::basic_string<char>, std::allocator<std::basic_string<char> > >::_M_impl.std::_Vector_base<std::basic_string<char>, std::allocator<std::basic_string<char> > >::_Vector_impl::<anonymous>.std::_Vector_base<std::basic_string<char>, std::allocator<std::basic_string<char> > >::_Vector_impl_data::_M_start' may be used uninitialized [-Wmaybe-uninitialized]


that I can't reproduce with vanilla GCC 12.

Comment 4 Marek Polacek 2022-11-30 19:16:01 UTC
(In reply to Marek Polacek from comment #3)
> Rebase done.  I see a new fail:
> 
> 833068:FAIL: g++.dg/torture/pr106922.C   -O2  (test for excess errors)
> 833133:FAIL: g++.dg/torture/pr106922.C   -O3 -fomit-frame-pointer
> -funroll-loops -fpeel-loops -ftracer -finline-functions  (test for excess
> errors)
> 833198:FAIL: g++.dg/torture/pr106922.C   -O3 -g  (test for excess errors)
> 833266:FAIL: g++.dg/torture/pr106922.C   -O2 -flto -fno-use-linker-plugin
> -flto-partition=none  (test for excess errors)
> 1813595:FAIL: g++.dg/torture/pr106922.C   -O2  (test for excess errors)
> 1813660:FAIL: g++.dg/torture/pr106922.C   -O3 -fomit-frame-pointer
> -funroll-loops -fpeel-loops -ftracer -finline-functions  (test for excess
> errors)
> 1813725:FAIL: g++.dg/torture/pr106922.C   -O3 -g  (test for excess errors)
> 1813793:FAIL: g++.dg/torture/pr106922.C   -O2 -flto -fno-use-linker-plugin
> -flto-partition=none  (test for excess errors)
> 
> due to
> 
> Excess errors:
> /builddir/build/BUILD/gcc-12.2.1-20221121/obj-x86_64-redhat-linux/x86_64-
> redhat-linux/libstdc++-v3/include/bits/stl_vector.h:730:22: warning:
> '*(std::vector<std::basic_string<char, std::char_traits<char>,
> std::allocator<char> >, std::allocator<std::basic_string<char,
> std::char_traits<char>, std::allocator<char> > > >*)((char*)&externals +
> offsetof(MyOptionalsStruct,
> MyOptionalsStruct::external2.MyOptionalStructWithInt::myoptional.std::
> optional<std::vector<std::basic_string<char, std::char_traits<char>,
> std::allocator<char> >, std::allocator<std::basic_string<char,
> std::char_traits<char>, std::allocator<char> > > >
> >::<unnamed>.std::_Optional_base<std::vector<std::basic_string<char,
> std::char_traits<char>, std::allocator<char> >,
> std::allocator<std::basic_string<char, std::char_traits<char>,
> std::allocator<char> > > >, false,
> false>::<unnamed>)).std::vector<std::basic_string<char>
> >::<anonymous>.std::_Vector_base<std::basic_string<char>,
> std::allocator<std::basic_string<char> >
> >::_M_impl.std::_Vector_base<std::basic_string<char>,
> std::allocator<std::basic_string<char> >
> >::_Vector_impl::<anonymous>.std::_Vector_base<std::basic_string<char>,
> std::allocator<std::basic_string<char> > >::_Vector_impl_data::_M_finish'
> may be used uninitialized [-Wmaybe-uninitialized]
> /builddir/build/BUILD/gcc-12.2.1-20221121/obj-x86_64-redhat-linux/x86_64-
> redhat-linux/libstdc++-v3/include/bits/stl_vector.h:730:22: warning:
> '*(std::vector<std::basic_string<char, std::char_traits<char>,
> std::allocator<char> >, std::allocator<std::basic_string<char,
> std::char_traits<char>, std::allocator<char> > > >*)((char*)&externals +
> offsetof(MyOptionalsStruct,
> MyOptionalsStruct::external2.MyOptionalStructWithInt::myoptional.std::
> optional<std::vector<std::basic_string<char, std::char_traits<char>,
> std::allocator<char> >, std::allocator<std::basic_string<char,
> std::char_traits<char>, std::allocator<char> > > >
> >::<unnamed>.std::_Optional_base<std::vector<std::basic_string<char,
> std::char_traits<char>, std::allocator<char> >,
> std::allocator<std::basic_string<char, std::char_traits<char>,
> std::allocator<char> > > >, false,
> false>::<unnamed>)).std::vector<std::basic_string<char>
> >::<anonymous>.std::_Vector_base<std::basic_string<char>,
> std::allocator<std::basic_string<char> >
> >::_M_impl.std::_Vector_base<std::basic_string<char>,
> std::allocator<std::basic_string<char> >
> >::_Vector_impl::<anonymous>.std::_Vector_base<std::basic_string<char>,
> std::allocator<std::basic_string<char> > >::_Vector_impl_data::_M_start' may
> be used uninitialized [-Wmaybe-uninitialized]
> 
> 
> that I can't reproduce with vanilla GCC 12.

Reproduces with -D_GLIBCXX_USE_CXX11_ABI=0.  I think I'll fix the test by adding:

#define _GLIBCXX_USE_CXX11_ABI 1

but I won't do a rebuild just because of this.

Comment 10 errata-xmlrpc 2023-05-23 11:27:18 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory (devtoolset-12-gcc bug fix and enhancement update), and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHBA-2023:3272


Note You need to log in before you can comment on or make changes to this bug.