Re: Strange C++ function pointer test
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
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
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
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
# 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