Re: Strange C++ function pointer test

2016-01-04 Thread Florian Weimer
On 12/31/2015 01:31 PM, Jonathan Wakely wrote:
> On 31 December 2015 at 11:37, Marc Glisse wrote:
>> That's what I called "bug" in my message (there are a few bugzilla PRs for
>> this). It would probably work on Solaris.
> 
> Yes, the  case is still a mess in the standard and in glibc.
> The "only in namespace std in the second case" part is what I meant
> was not accurate. C++11 changed to allow  to declare it in the
> global namespace, but as you say didn't go far enough.

What changes are needed in glibc?

Thanks,
Florian



Re: guidance for GSoC 2016 under GCC

2016-01-04 Thread Martin Liška
On 01/03/2016 06:51 PM, vivek pandya wrote:
> Hello GCC developers,
> I would like to work on one of the following idea in GSoC 2016 for GCC.
> 
> Function Reordering (Improvement) with LTO
> Inter-procedural value range propagation pass
> Implement tree level section anchors to improve code generation at ARM/PPC.
> 
> I have done some reading for first and second topic. I would like your 
> guidance.
> For first topic I have read Martin's master thesis and as far as I
> understand currently he has implemented function reordering with PGO
> support but this project would be using LTO support. Am I thinking it
> right ?

Hello Vivek.

Function reordering pass has been using LTO support, the pass basically works,
but to be honest, for large beasts (like Firefox) not perfectly. There are some
semi-known issues related to threading and forking which introduce small noise.
The enhancement is on my TODO list for this year, but help is of course 
welcomed.

> 
> For second project I have read the IPCP.c file in gcc source code
> which implements Inter-procedural constant propagation with call
> graphs and jump functions. According to Chapter 11, page 664 of
> Optimizing Compilers for Modern Architectures: A Dependence-based
> Approach book range propagation pass can be designed by extending
> IPCP. Here extensions to IPCP would be deciding ranges of variable
> from for loops, const assignment or if/else statement and modifying
> jump functions so that ranges can be calculated base on operations.
> Also we may use data structure for range as used in tree-vrp.c of gcc.
> 
> For third project I have not started studying about it. Please suggest
> some readings.
> 
> Apart from this I have learned how to write simple passes and plugins
> for gcc and its related data structures ( learned from Diego Novillo's
> slide ). I have also written some simple optimization passes with LLVM
> libs.
> 
> Please provide more information or experimental patches to study.
> 
> Sincerely,
> Vivek Pandya
> 
> P.S : Actually I tried to contact Mr. Jan Hubicka as mentioned on idea
> page but it seems that he is not reachable on his mail address
> j...@suse.cz that is why I have mail to gcc dev list.

As currently Honza hasn't been working for SUSE, please use following email:
hubi...@ucw.cz. He's quite busy, but he'll reply you.

Martin

> 



Obsoleting Three RTEMS Targets

2016-01-04 Thread Joel Sherrill
Hi

It has come time for RTEMS to obsolete three targets: avr-rtems*, h8300-rtems*, 
and m32r-rtems* in gcc and binutils. They have been removed from the RTEMS 
master.

Since we were dealing with more than one, I thought I would ask for advice on 
making sure I executed the process correctly.
--joel


Re: Obsoleting Three RTEMS Targets

2016-01-04 Thread Jeff Law

On 01/04/2016 02:01 PM, Joel Sherrill wrote:

Hi

It has come time for RTEMS to obsolete three targets: avr-rtems*,
h8300-rtems*, and m32r-rtems* in gcc and binutils. They have been
removed from the RTEMS master.

Since we were dealing with more than one, I thought I would ask for
advice on making sure I executed the process correctly. --joel
I think we just mark them as obsolete in gcc/config.gcc for this release 
and make a note in the release notes (which may not exist yet).


We'd remove the configuration bits in the next release.

jeff



Successful GCC buiild and install

2016-01-04 Thread Earl Dominic Cipre
# config.guess
i686-pc-linux-gnu

# gcc-5.3 -v
Using built-in specs.
COLLECT_GCC=gcc-5.3
COLLECT_LTO_WRAPPER=/usr/local/libexec/gcc/i686-pc-linux-gnu/5.3.0/lto-wrapper
Target: i686-pc-linux-gnu
Configured with: /home/mxiii/Development/gcc-5.3.0/configure
--program-suffix=-5.3
Thread model: posix
gcc version 5.3.0 (GCC)

# etc/issue
Ubuntu 12.04.4 LTS

# uname -a
Linux mxiii-P5L-MX 3.8.0-36-generic #52~precise1-Ubuntu SMP Mon Feb 3
21:56:56 UTC 2014 i686 i686 i386 GNU/Linux

# dpkg -l libc6
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name
Version Description
+++-===-===-===
ii  libc6
2.15-0ubuntu10.5Embedded GNU C
Library: Shared libraries

# other
gmp mpfr mpc isl
 - all from /infrastructure; built with gcc

not tested yet