public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c++/66172] New: -fno-threadsafe-statics suppresses guard functions but not guard variables
@ 2015-05-16 5:37 eleventen at gmail dot com
2015-05-16 5:59 ` [Bug c++/66172] " pinskia at gcc dot gnu.org
` (2 more replies)
0 siblings, 3 replies; 4+ messages in thread
From: eleventen at gmail dot com @ 2015-05-16 5:37 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66172
Bug ID: 66172
Summary: -fno-threadsafe-statics suppresses guard functions but
not guard variables
Product: gcc
Version: 4.9.2
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: eleventen at gmail dot com
Target Milestone: ---
The use of the -fno-threadsafe-statics eliminates the function references to
the guard functions,
__cxa_guard_acquire
__cxa_guard_release
but it doesn't eliminate the variables used to guard the initialization. A
compiled version of the attached file using the g++ command line therein
generated no references to the guard functions, but the guard variable remains.
# nm -C guard | grep guard
0000000000600a88 b guard variable for f()::a
--- Comment #1 from Marc Singer <eleventen at gmail dot com> ---
I neglected to include the version information:
# g++ --version
g++ (Debian 4.9.2-10) 4.9.2
^ permalink raw reply [flat|nested] 4+ messages in thread
* [Bug c++/66172] -fno-threadsafe-statics suppresses guard functions but not guard variables
2015-05-16 5:37 [Bug c++/66172] New: -fno-threadsafe-statics suppresses guard functions but not guard variables eleventen at gmail dot com
@ 2015-05-16 5:59 ` pinskia at gcc dot gnu.org
2015-05-16 6:06 ` eleventen at gmail dot com
2015-05-16 6:11 ` pinskia at gcc dot gnu.org
2 siblings, 0 replies; 4+ messages in thread
From: pinskia at gcc dot gnu.org @ 2015-05-16 5:59 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66172
Andrew Pinski <pinskia at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |RESOLVED
Resolution|--- |INVALID
--- Comment #2 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
You need the variable even without thread safe ones because calling the
function twice means it gets initlized only once rather twice. There is no
other way around this because the variable only gets initialized if the
function is called.
^ permalink raw reply [flat|nested] 4+ messages in thread
* [Bug c++/66172] -fno-threadsafe-statics suppresses guard functions but not guard variables
2015-05-16 5:37 [Bug c++/66172] New: -fno-threadsafe-statics suppresses guard functions but not guard variables eleventen at gmail dot com
2015-05-16 5:59 ` [Bug c++/66172] " pinskia at gcc dot gnu.org
@ 2015-05-16 6:06 ` eleventen at gmail dot com
2015-05-16 6:11 ` pinskia at gcc dot gnu.org
2 siblings, 0 replies; 4+ messages in thread
From: eleventen at gmail dot com @ 2015-05-16 6:06 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66172
--- Comment #3 from Marc Singer <eleventen at gmail dot com> ---
I've come to the same conclusion. My hope was that I could eliminate the guard
and force the compiler to initialize block scoped statics at the start of
execution. It looks like the standard stands in the way of this
simplification.
^ permalink raw reply [flat|nested] 4+ messages in thread
* [Bug c++/66172] -fno-threadsafe-statics suppresses guard functions but not guard variables
2015-05-16 5:37 [Bug c++/66172] New: -fno-threadsafe-statics suppresses guard functions but not guard variables eleventen at gmail dot com
2015-05-16 5:59 ` [Bug c++/66172] " pinskia at gcc dot gnu.org
2015-05-16 6:06 ` eleventen at gmail dot com
@ 2015-05-16 6:11 ` pinskia at gcc dot gnu.org
2 siblings, 0 replies; 4+ messages in thread
From: pinskia at gcc dot gnu.org @ 2015-05-16 6:11 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66172
--- Comment #4 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
*** Bug 66173 has been marked as a duplicate of this bug. ***
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2015-05-16 6:11 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-05-16 5:37 [Bug c++/66172] New: -fno-threadsafe-statics suppresses guard functions but not guard variables eleventen at gmail dot com
2015-05-16 5:59 ` [Bug c++/66172] " pinskia at gcc dot gnu.org
2015-05-16 6:06 ` eleventen at gmail dot com
2015-05-16 6:11 ` pinskia at gcc dot gnu.org
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).