Re: [gcc libcc1] build_qualified_type for self-referencing/incomplete types

2015-04-18 Thread Jan Kratochvil
On Fri, 17 Apr 2015 17:22:13 +0200, Jan Kratochvil wrote:
> How to get 'volatile struct sv' GCC 'tree' type for:
>   volatile struct sv { volatile struct sv *p; };

I have found out how it can work, even with no change on the GCC side:

Instead of current:
plugin_build_record_type:
record_type = make_node (RECORD_TYPE)
plugin_build_add_field:
add fields to record_type... But there is no 
qualified_record_type here!
plugin_finish_record_or_union:
TYPE_SIZE (record_type) etc. ... to finish the type
plugin_build_qualified_type:
qualified_record_type = build_qualified_type (record_type, ...)
one can do instead:
plugin_build_record_type:
record_type = make_node (RECORD_TYPE)
plugin_build_qualified_type:
qualified_record_type = build_qualified_type (record_type, ...)
plugin_build_add_field:
add fields to qualified_record_type
plugin_finish_record_or_union:
TYPE_SIZE (qualified_record_type) etc. ... to finish the type
And one forgets about the unfinished record_type.

For a different cv-quals of the same record type one builds a new cv-qualified
record from scratch.


Jan


Second GCC 5.1 Release Candidate available from gcc.gnu.org

2015-04-18 Thread Jakub Jelinek
The second release candidate for GCC 5.1 is available from

 ftp://gcc.gnu.org/pub/gcc/snapshots/5.0.1-RC-20150418

and shortly its mirrors.  It has been generated from SVN revision 11.

Because the release candidate uses 5.0.1 as its version (5.1.0 is
reserved for the GA 5.1 release only, see
https://gcc.gnu.org/develop.html#num_scheme
), I've used the 5.0.1 version in the name of the directory and
tarballs this time, where the first release candidate used
5.1.0-RC-20150412.

I have so far bootstrapped and tested the release candidate on
x86_64-linux and i686-linux.  Please test it and report any issues to
bugzilla.

If all goes well, I'd like to release 5.1 on Wednesday, 22nd.


Second GCC 5.1 Release Candidate successful avr target build

2015-04-18 Thread Ralph Doncaster
On a x86_64 linux box I successfully built a gcc RC-20150418 toolchain
including binutils-2.25 and avr-libc r2473(svn).

I noticed some warnings in the logs:
../../../source/gcc-5.0.1-RC-20150418/gcc/vec.h:1048: warning: invalid
access to non-static data member âvec::m_vecdataâ  of NULL object
../../../source/gcc-5.0.1-RC-20150418/gcc/vec.h:1048: warning:
(perhaps the âoffsetofâ macro was used incorrectly)

but the build completed successfully

One small problem I found is that earlier snapshots (RC-20150405 I
think) built OK without texinfo, but this RC build fails without it.
I just installed texinfo instead of trying to fix the configure
script.

I compiled a small C program with -mmcu=attiny84,-Os and got a good
binary.  I also tried  -Os -ftlo, and got a good binary.
Unfortunately, despite the announced optimization improvements for lto
and ipa, I'm seeing slightly larger binaries than 4.9.2.  Hopefully
the next 5.x release will surpass 4.9.2.

Here's the build scripts I used if anyone wants to repeat it:
https://github.com/nerdralph/nerdralph/tree/master/avr/make-avr-gcc

-Ralph


Re: is it time to mass change from .c to .cc in gcc/ ?

2015-04-18 Thread Martin Sebor

Started with the latter. By the way, what is the policy concerning
getting write access to the wiki?


You are expected to ask one of the existing editors who's
willing to vouch for you to add you to the EditorGroup:

http://gcc.gnu.org/wiki/EditorGroup

Martin



NIOS and atomic primitives

2015-04-18 Thread Joel Sherrill

Hi

with nios2-rtems on gcc 4.9.2, we are getting undefineds
for some atomic primitives. Are these implemented or is
some magic bit of configurery missing for nios-rtems?

__sync_fetch_and_add_4 is missing on a simple C++ IO streams
sanity test.

Thanks

-- Joel Sherrill
Ask me about RTEMS: a free RTOS
Support and Training Available



Re: NIOS and atomic primitives

2015-04-18 Thread Sandra Loosemore

On 04/18/2015 07:35 PM, Joel Sherrill wrote:

Hi

with nios2-rtems on gcc 4.9.2, we are getting undefineds
for some atomic primitives. Are these implemented or is
some magic bit of configurery missing for nios-rtems?

__sync_fetch_and_add_4 is missing on a simple C++ IO streams
sanity test.


libgcc presently only provides these functions on nios2-*-linux* and 
does not have any configury for nios2-*-rtems.  I think you are on your 
own here  Chung-Lin and I are only set up for GCC testing on 
nios2-elf and nios2-linux-gnu and cannot really support RTEMS.


Is it one of the standard g++ or libstdc++ test cases that is failing? 
I could check what nios2-elf does with it if I knew what to look for.


-Sandra