Re: make_decl_one_only and inlining

2013-02-16 Thread Johannes Pfau
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

2013-02-16 Thread Ali Al-Kilani
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

2013-02-16 Thread Kenny Simpson
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

2013-02-16 Thread Gerald Pfeifer
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

2013-02-16 Thread gccadmin
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?

2013-02-16 Thread Jason Merrill

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

2013-02-16 Thread Ian Lance Taylor
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