Re: make_decl_one_only and inlining
Ian Lance Taylor google.com> writes: > > Why is that? decl_replaceable_p is supposed to be true for a function > that may be replaced by an entirely different function at runtime. > This is mainly to implement the correct semantics for weak functions. > You can't inline a weak function, but at runtime the runtime linker > might have resolved the weak function to something completely > different. AFAICS make_decl_one_only also sets DECL_WEAK which ultimately causes decl_replaceable_p to return false. I understand why weak functions are replaceable but is this also true for DECL_ONE_ONLY functions? Couldn'tdecl_replaceable_p check for DECL_ONE_ONLY in addition to DECL_COMDAT? > > Set DECL_COMDAT. You said that didn't work but you didn't fully > explain why. A DECL_COMDAT function should be output in every object > file in which it is referenced. I wasn't sure if that's the correct approach. If it is, some further investigation will be necessary why it doesn't work. We should of course find the places where template instances are used in the frontend and not put out, but that's too much effort right now only to make inlining work. How does this approach work for explicitly instantiated templates? Those might seem to be not referenced but they should still be always put out?
Just a breif
I am Ali Al-Kilani a friend and personal account officer to a descendant and former cabinet member of Libyan Arab People's Socialist Republic. I have an issue that need a little assistance should you be willing you can get as much as half a million dollar as compensation. Regards Ali
gcc 4.8 status not reflected on website
http://gcc.gnu.org still shows: Development: GCC 4.8.0 (changes, release criteria) Status: 2013-01-08 but there just was a status update: http://gcc.gnu.org/ml/gcc/2013-02/msg00177.html Any word on 4.7.3 plans? If 4.8 is going RC in March, can 4.7.3 be far away? thanks, -Kenny
Re: gcc 4.8 status not reflected on website
On Sat, 16 Feb 2013, Kenny Simpson wrote: > http://gcc.gnu.org still shows: > Development: GCC 4.8.0 (changes, release criteria) > Status: 2013-01-08 > > but there just was a status update: > http://gcc.gnu.org/ml/gcc/2013-02/msg00177.html I have a mail filter/script in place that notifies me of such updates in case so that I can swiftly update the web page. Incidently, while your mail came in I was adjusting my system and moving it off an old (no longer working) mail account :-), and did the change manually for now. Gerald
gcc-4.7-20130216 is now available
Snapshot gcc-4.7-20130216 is now available on ftp://gcc.gnu.org/pub/gcc/snapshots/4.7-20130216/ and on various mirrors, see http://gcc.gnu.org/mirrors.html for details. This snapshot has been generated from the GCC 4.7 SVN branch with the following options: svn://gcc.gnu.org/svn/gcc/branches/gcc-4_7-branch revision 196104 You'll find: gcc-4.7-20130216.tar.bz2 Complete GCC MD5=8db64f4fb7bf8b3038a0cf81b66bafdd SHA1=880728feb0bc807e6d72b6353f7f806628bc576b Diffs from 4.7-20130209 are available in the diffs/ subdirectory. When a particular snapshot is ready for public consumption the LATEST-4.7 link is updated and a message is sent to the gcc list. Please do not use a snapshot before it has been announced that way.
Re: gcc : c++11 : full support : eta?
On 02/16/2013 01:30 AM, Franz Fehringer wrote: Will gcc 4.8 contain the stdatomic.h header (i am a little confused about it, is it a standard header?)? It's part of the C11 standard, not C++11. C11 atomics will not be supported in 4.8, but should be in 4.9. Jason
Re: make_decl_one_only and inlining
On Sat, Feb 16, 2013 at 12:00 AM, Johannes Pfau wrote: > Ian Lance Taylor google.com> writes: > >> >> Why is that? decl_replaceable_p is supposed to be true for a function >> that may be replaced by an entirely different function at runtime. >> This is mainly to implement the correct semantics for weak functions. >> You can't inline a weak function, but at runtime the runtime linker >> might have resolved the weak function to something completely >> different. > > AFAICS make_decl_one_only also sets DECL_WEAK which ultimately > causes decl_replaceable_p to return false. I understand why weak > functions are replaceable but is this also true for DECL_ONE_ONLY > functions? Couldn'tdecl_replaceable_p check for DECL_ONE_ONLY in > addition to DECL_COMDAT? Sorry, you're right, make_decl_one_only does set DECL_WEAK. I managed to confuse myself. >> Set DECL_COMDAT. You said that didn't work but you didn't fully >> explain why. A DECL_COMDAT function should be output in every object >> file in which it is referenced. > > I wasn't sure if that's the correct approach. If it is, some > further investigation will be necessary why it doesn't work. We > should of course find the places where template instances are > used in the frontend and not put out, but that's too much effort > right now only to make inlining work. Yes, setting the DECL_COMDAT flag is supposed to do the right thing. That is what the C++ frontend does; see comdat_linkage. > How does this approach work for explicitly instantiated templates? > Those might seem to be not referenced but they should still be always put > out? The C++ frontend does not set the DECL_COMDAT flag on an explicit function instantiation. See mark_decl_instantiated. Ian