public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug libstdc++/55413] New: [LTO] hashtable.h:1648 '__bbegin_bkt' may be used uninitialized in this function [-Werror=maybe-uninitialized]
@ 2012-11-20 14:06 david.abdurachmanov at gmail dot com
2012-11-20 14:09 ` [Bug libstdc++/55413] " david.abdurachmanov at gmail dot com
` (4 more replies)
0 siblings, 5 replies; 6+ messages in thread
From: david.abdurachmanov at gmail dot com @ 2012-11-20 14:06 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55413
Bug #: 55413
Summary: [LTO] hashtable.h:1648 '__bbegin_bkt' may be used
uninitialized in this function
[-Werror=maybe-uninitialized]
Classification: Unclassified
Product: gcc
Version: 4.7.2
Status: UNCONFIRMED
Severity: minor
Priority: P3
Component: libstdc++
AssignedTo: unassigned@gcc.gnu.org
ReportedBy: david.abdurachmanov@gmail.com
Hi,
I have enabled -Werror=maybe-uninitialized and normal builds works fine. LTO
builds crashed with error coming from hashtable.h. According to he code,
__bbegin_bkt is not explicitly initialized to anything.
1637 std::size_t __bbegin_bkt;
<snip>
1648 __new_buckets[__bbegin_bkt] = __p;
1649 __bbegin_bkt = __bkt;
Similar issues MIGHT be on the next (in file) template.
1678 std::size_t __bbegin_bkt;
<snip>
1724 __new_buckets[__bbegin_bkt] = __p;
1725 __bbegin_bkt = __bkt;
This is a minor issue, but comments would be welcomed. Is LTO + diagnostics
issue or STL issue? Is the a way to silence them from user-code side? (I tried
GCC diagnostics pragma w/o results).
Attaching *.ii.
## GCC VERSION ##
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/afs/cern.ch/cms/slc5_amd64_gcc472/external/gcc/4.7.2/bin/../libexec/gcc/x86_64-unknown-linux-gnu/4.7.2/lto-wrapper
Target: x86_64-unknown-linux-gnu
Configured with: ../configure
--prefix=/build/davidlt/build-BOOTSTRAP_slc5_amd64_gcc472/b/tmp/BUILDROOT/3526ecf0ad2656770a1b0f9f5e8d92a9/opt/cmssw/slc5_amd64_gcc472/external/gcc/4.7.2
--disable-multilib --disable-nls --enable-languages=c,c++,fortran
--enable-gold=yes --enable-lto
--with-gmp=/build/davidlt/build-BOOTSTRAP_slc5_amd64_gcc472/b/tmp/BUILDROOT/3526ecf0ad2656770a1b0f9f5e8d92a9/opt/cmssw/slc5_amd64_gcc472/external/gcc/4.7.2
--with-mpfr=/build/davidlt/build-BOOTSTRAP_slc5_amd64_gcc472/b/tmp/BUILDROOT/3526ecf0ad2656770a1b0f9f5e8d92a9/opt/cmssw/slc5_amd64_gcc472/external/gcc/4.7.2
--with-mpc=/build/davidlt/build-BOOTSTRAP_slc5_amd64_gcc472/b/tmp/BUILDROOT/3526ecf0ad2656770a1b0f9f5e8d92a9/opt/cmssw/slc5_amd64_gcc472/external/gcc/4.7.2
--with-ppl=/build/davidlt/build-BOOTSTRAP_slc5_amd64_gcc472/b/tmp/BUILDROOT/3526ecf0ad2656770a1b0f9f5e8d92a9/opt/cmssw/slc5_amd64_gcc472/external/gcc/4.7.2
--with-cloog=/build/davidlt/build-BOOTSTRAP_slc5_amd64_gcc472/b/tmp/BUILDROOT/3526ecf0ad2656770a1b0f9f5e8d92a9/opt/cmssw/slc5_amd64_gcc472/external/gcc/4.7.2
--enable-cloog-backend=isl --enable-shared CC='gcc -fPIC' CXX='c++ -fPIC'
CPP=cpp CXXCPP='c++ -E'
Thread model: posix
gcc version 4.7.2 (GCC)
## FULL ERROR ##
In file included from
/afs/cern.ch/cms/slc5_amd64_gcc472/external/gcc/4.7.2/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.7.2/../../../../include/c++/4.7.2/bits/stl_algobase.h:1026:0,
from :97:
test.cc: In function 'main':
/afs/cern.ch/cms/slc5_amd64_gcc472/external/gcc/4.7.2/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.7.2/../../../../include/c++/4.7.2/bits/hashtable.h:1648:3:
error: '__bbegin_bkt' may be used uninitialized in this function
[-Werror=maybe-uninitialized]
In file included from
/afs/cern.ch/cms/slc5_amd64_gcc472/external/gcc/4.7.2/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.7.2/../../../../include/c++/4.7.2/bits/stl_algobase.h:1017:0,
from :97:
/afs/cern.ch/cms/slc5_amd64_gcc472/external/gcc/4.7.2/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.7.2/../../../../include/c++/4.7.2/bits/hashtable.h:1637:19:
note: '__bbegin_bkt' was declared here
lto1: some warnings being treated as errors
lto-wrapper: /afs/cern.ch/cms/slc5_amd64_gcc472/external/gcc/4.7.2/bin/c++
returned 1 exit status
/afs/cern.ch/cms/slc5_amd64_gcc472/external/gcc/4.7.2/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.7.2/../../../../x86_64-unknown-linux-gnu/bin/ld:
fatal error: lto-wrapper failed
collect2: error: ld returned 1 exit status
## TESTCASE ##
#include <unordered_map>
struct S { int id; S(): id(0) {} };
int main(void) {
std::unordered_map<unsigned int, S> tmap;
S & res = tmap[0];
return 0;
}
## COMPILE LINE ##
c++ -v -save-temps -c -DGNU_GCC -D_GNU_SOURCE -O2 -pedantic -pthread -pipe
-Wno-vla -Werror=overflow -Wstrict-overflow -std=c++0x -msse3 -ftree-vectorize
-Wno-strict-overflow -Werror=array-bounds -Werror=format-contains-nul
-Werror=type-limits -fvisibility-inlines-hidden -fno-math-errno --param
vect-max-version-for-alias-checks=50 -felide-constructors -fmessage-length=0
-ftemplate-depth-300 -Wall -Wno-non-template-friend -Wno-long-long
-Wreturn-type -Wunused -Wparentheses -Wno-deprecated -Werror=return-type
-Werror=missing-braces -Werror=unused-value -Werror=address -Werror=format
-Werror=sign-compare -Werror=write-strings -Werror=delete-non-virtual-dtor
-Werror=maybe-uninitialized -Werror=strict-aliasing -Werror=narrowing
-Werror=uninitialized -Werror=unused-but-set-variable -Werror=reorder
-fdiagnostics-show-option -flto -fno-fat-lto-objects -fPIC -MMD test.cc -o
test.o
## LINK LINE ##
c++ -O2 -pedantic -pthread -pipe -Wno-vla -Werror=overflow -Wstrict-overflow
-std=c++0x -msse3 -ftree-vectorize -Wno-strict-overflow -Werror=array-bounds
-Werror=format-contains-nul -Werror=type-limits -fvisibility-inlines-hidden
-fno-math-errno --param vect-max-version-for-alias-checks=50
-felide-constructors -fmessage-length=0 -ftemplate-depth-300 -Wall
-Wno-non-template-friend -Wno-long-long -Wreturn-type -Wunused -Wparentheses
-Wno-deprecated -Werror=return-type -Werror=missing-braces -Werror=unused-value
-Werror=address -Werror=format -Werror=sign-compare -Werror=write-strings
-Werror=delete-non-virtual-dtor -Werror=maybe-uninitialized
-Werror=strict-aliasing -Werror=narrowing -Werror=uninitialized
-Werror=unused-but-set-variable -Werror=reorder -fdiagnostics-show-option -flto
-fno-fat-lto-objects -shared -shared -Wl,-E -Wl,-z,defs test.o -o test.so
-Wl,-E -Wl,--hash-style=gnu
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Bug libstdc++/55413] [LTO] hashtable.h:1648 '__bbegin_bkt' may be used uninitialized in this function [-Werror=maybe-uninitialized]
2012-11-20 14:06 [Bug libstdc++/55413] New: [LTO] hashtable.h:1648 '__bbegin_bkt' may be used uninitialized in this function [-Werror=maybe-uninitialized] david.abdurachmanov at gmail dot com
@ 2012-11-20 14:09 ` david.abdurachmanov at gmail dot com
2012-11-20 14:16 ` paolo.carlini at oracle dot com
` (3 subsequent siblings)
4 siblings, 0 replies; 6+ messages in thread
From: david.abdurachmanov at gmail dot com @ 2012-11-20 14:09 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55413
--- Comment #1 from David Abdurachmanov <david.abdurachmanov at gmail dot com> 2012-11-20 14:07:57 UTC ---
Created attachment 28743
--> http://gcc.gnu.org/bugzilla/attachment.cgi?id=28743
Testcase used.
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Bug libstdc++/55413] [LTO] hashtable.h:1648 '__bbegin_bkt' may be used uninitialized in this function [-Werror=maybe-uninitialized]
2012-11-20 14:06 [Bug libstdc++/55413] New: [LTO] hashtable.h:1648 '__bbegin_bkt' may be used uninitialized in this function [-Werror=maybe-uninitialized] david.abdurachmanov at gmail dot com
2012-11-20 14:09 ` [Bug libstdc++/55413] " david.abdurachmanov at gmail dot com
@ 2012-11-20 14:16 ` paolo.carlini at oracle dot com
2012-11-20 14:55 ` paolo at gcc dot gnu.org
` (2 subsequent siblings)
4 siblings, 0 replies; 6+ messages in thread
From: paolo.carlini at oracle dot com @ 2012-11-20 14:16 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55413
Paolo Carlini <paolo.carlini at oracle dot com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Last reconfirmed| |2012-11-20
CC| |fdumont at gcc dot gnu.org
AssignedTo|unassigned at gcc dot |paolo.carlini at oracle dot
|gnu.org |com
Ever Confirmed|0 |1
Severity|minor |normal
--- Comment #2 from Paolo Carlini <paolo.carlini at oracle dot com> 2012-11-20 14:15:54 UTC ---
I'm testing the obvious fix of initializing it to zero, likewise for __prev_bkt
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Bug libstdc++/55413] [LTO] hashtable.h:1648 '__bbegin_bkt' may be used uninitialized in this function [-Werror=maybe-uninitialized]
2012-11-20 14:06 [Bug libstdc++/55413] New: [LTO] hashtable.h:1648 '__bbegin_bkt' may be used uninitialized in this function [-Werror=maybe-uninitialized] david.abdurachmanov at gmail dot com
2012-11-20 14:09 ` [Bug libstdc++/55413] " david.abdurachmanov at gmail dot com
2012-11-20 14:16 ` paolo.carlini at oracle dot com
@ 2012-11-20 14:55 ` paolo at gcc dot gnu.org
2012-11-20 14:55 ` paolo at gcc dot gnu.org
2012-11-20 14:56 ` paolo.carlini at oracle dot com
4 siblings, 0 replies; 6+ messages in thread
From: paolo at gcc dot gnu.org @ 2012-11-20 14:55 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55413
--- Comment #3 from paolo at gcc dot gnu.org <paolo at gcc dot gnu.org> 2012-11-20 14:54:22 UTC ---
Author: paolo
Date: Tue Nov 20 14:54:11 2012
New Revision: 193663
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=193663
Log:
2012-11-20 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/55413
* include/bits/hashtable.h (_Hashtable<>::_M_rehash_aux): Initialize
__bbegin_bkt and __prev_bkt to avoid uninitialized warnings.
* testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust
dg-error line number.
Modified:
trunk/libstdc++-v3/ChangeLog
trunk/libstdc++-v3/include/bits/hashtable.h
trunk/libstdc++-v3/testsuite/23_containers/unordered_set/instantiation_neg.cc
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Bug libstdc++/55413] [LTO] hashtable.h:1648 '__bbegin_bkt' may be used uninitialized in this function [-Werror=maybe-uninitialized]
2012-11-20 14:06 [Bug libstdc++/55413] New: [LTO] hashtable.h:1648 '__bbegin_bkt' may be used uninitialized in this function [-Werror=maybe-uninitialized] david.abdurachmanov at gmail dot com
` (2 preceding siblings ...)
2012-11-20 14:55 ` paolo at gcc dot gnu.org
@ 2012-11-20 14:55 ` paolo at gcc dot gnu.org
2012-11-20 14:56 ` paolo.carlini at oracle dot com
4 siblings, 0 replies; 6+ messages in thread
From: paolo at gcc dot gnu.org @ 2012-11-20 14:55 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55413
--- Comment #4 from paolo at gcc dot gnu.org <paolo at gcc dot gnu.org> 2012-11-20 14:54:48 UTC ---
Author: paolo
Date: Tue Nov 20 14:54:36 2012
New Revision: 193664
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=193664
Log:
2012-11-20 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/55413
* include/bits/hashtable.h (_Hashtable<>::_M_rehash_aux): Initialize
__bbegin_bkt and __prev_bkt to avoid uninitialized warnings.
* testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust
dg-error line number.
Modified:
branches/gcc-4_7-branch/libstdc++-v3/ChangeLog
branches/gcc-4_7-branch/libstdc++-v3/include/bits/hashtable.h
branches/gcc-4_7-branch/libstdc++-v3/testsuite/23_containers/unordered_set/instantiation_neg.cc
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Bug libstdc++/55413] [LTO] hashtable.h:1648 '__bbegin_bkt' may be used uninitialized in this function [-Werror=maybe-uninitialized]
2012-11-20 14:06 [Bug libstdc++/55413] New: [LTO] hashtable.h:1648 '__bbegin_bkt' may be used uninitialized in this function [-Werror=maybe-uninitialized] david.abdurachmanov at gmail dot com
` (3 preceding siblings ...)
2012-11-20 14:55 ` paolo at gcc dot gnu.org
@ 2012-11-20 14:56 ` paolo.carlini at oracle dot com
4 siblings, 0 replies; 6+ messages in thread
From: paolo.carlini at oracle dot com @ 2012-11-20 14:56 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55413
Paolo Carlini <paolo.carlini at oracle dot com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
Resolution| |FIXED
Target Milestone|--- |4.7.3
--- Comment #5 from Paolo Carlini <paolo.carlini at oracle dot com> 2012-11-20 14:56:03 UTC ---
Fixed mainline and 4.7.3.
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2012-11-20 14:56 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-11-20 14:06 [Bug libstdc++/55413] New: [LTO] hashtable.h:1648 '__bbegin_bkt' may be used uninitialized in this function [-Werror=maybe-uninitialized] david.abdurachmanov at gmail dot com
2012-11-20 14:09 ` [Bug libstdc++/55413] " david.abdurachmanov at gmail dot com
2012-11-20 14:16 ` paolo.carlini at oracle dot com
2012-11-20 14:55 ` paolo at gcc dot gnu.org
2012-11-20 14:55 ` paolo at gcc dot gnu.org
2012-11-20 14:56 ` paolo.carlini at oracle dot com
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).