ICE's with -fgimple

2016-12-18 Thread Prathamesh Kulkarni
Hi,
I observed a couple of similar ICE's with -fgimple for a function
having  startwith.

eg:
void __GIMPLE (startwith ("ccp1")) foo ()
{
  return;
}

Compiling with -fgimple -O works fine however removing -O causes the
following ICE:
foo.c:7:1: internal compiler error: in expand, at cgraphunit.c:2054
 }
 ^
0x7d4b5c cgraph_node::expand()
../../gcc/gcc/cgraphunit.c:2054
0x7d5852 output_in_order
../../gcc/gcc/cgraphunit.c:2244
0x7d5bfd symbol_table::compile()
../../gcc/gcc/cgraphunit.c:2488
0x7d86e2 symbol_table::compile()
../../gcc/gcc/cgraphunit.c:2558
0x7d86e2 symbol_table::finalize_compilation_unit()

The following ICE is observed when startwith is set to some of the
later passes even with -O,
starting with fre3 like vrp1, pre, strlen (but few passes after fre3
like thread1, dce2 don't cause ICE).

foo.c: In function ‘foo’:
foo.c:7:1: internal compiler error: in expand, at cgraphunit.c:2054
 }
 ^
0x7d4b5c cgraph_node::expand()
../../gcc/gcc/cgraphunit.c:2054
0x7d6217 expand_all_functions
../../gcc/gcc/cgraphunit.c:2137
0x7d6217 symbol_table::compile()
../../gcc/gcc/cgraphunit.c:2494
0x7d86e2 symbol_table::compile()
../../gcc/gcc/cgraphunit.c:2558
0x7d86e2 symbol_table::finalize_compilation_unit()
../../gcc/gcc/cgraphunit.c:2584

Thanks,
Prathamesh


Re: Why are GCC Internals not Specification Driven ?

2016-12-18 Thread Andrew Haley
On 18/12/16 02:33, Seima Rao wrote:
> Precisely, stuffs like GENERIC, GIMPLE, RTL, gas(inline assembly),
> GCC extensions internals, ... and gnu's own debugging tied to gcc
> (if such exist nowadays), ... are not documented in a specification
> driven way.

That's interesting.  Can you explain what you mean by a specification-
driven way?

Andrew.



GCC-6.2.0 stdc-predef.h

2016-12-18 Thread Sebastian
I have all prerequisites for GCC but no stdc-predef.h that seems to be is
needed.
So what prerequisite do I need else for GCC to get compiled ... includes
stdc-predef.h ?

build:
i686-pc-linux-gnu
linux-2.6.26.2
gcc-4.3.1
bash-3.2.33
GNU Make 3.81
glibc-2.7...ups, but I sent you this mail anyway


target:
i686-pc-linux-gnu
linux-4.8.12


3 stages to compile GCC - don`t you think that's too much?
I think less is more - keep it simple like compiling binutils! and mybe
use "make test 1" or "make test 2" for testing the stages?
And I think stage 2 can only be made if the basic system is totaly compiled
and ready for chroot. So I think a version check of the environment is more
convenient then compiling a stage.
With a version check you can know about the errors of those sources and
act on the point with hints for the user what to change or to do.
I think to copy glibc to the source of gcc for compilation like gmp, mpfr, mpc, 
isl,
would be the best, too. That would solve so many problems


Re: Why are GCC Internals not Specification Driven ?

2016-12-18 Thread NightStrike
On Sun, Dec 18, 2016 at 11:37 AM, Andrew Haley  wrote:
> On 18/12/16 02:33, Seima Rao wrote:
>> Precisely, stuffs like GENERIC, GIMPLE, RTL, gas(inline assembly),
>> GCC extensions internals, ... and gnu's own debugging tied to gcc
>> (if such exist nowadays), ... are not documented in a specification
>> driven way.
>
> That's interesting.  Can you explain what you mean by a specification-
> driven way?

I believe he's referring to top down system design, where you start
from requirements (a la IEEE 830 or IEEE 29148), make design documents
that meet those requirements, model them with something like IEEE 1016
(which is basically UML), and only at the end provide implementation.
On GCC, the implementation tends to come earlier in the process.  At
least, there's probably no UML representation of GCC's design.


gcc-7-20161218 is now available

2016-12-18 Thread gccadmin
Snapshot gcc-7-20161218 is now available on
  ftp://gcc.gnu.org/pub/gcc/snapshots/7-20161218/
and on various mirrors, see http://gcc.gnu.org/mirrors.html for details.

This snapshot has been generated from the GCC 7 SVN branch
with the following options: svn://gcc.gnu.org/svn/gcc/trunk revision 243785

You'll find:

 gcc-7-20161218.tar.bz2   Complete GCC

  MD5=03606145ee97dcba4bdc63d89b4f3c02
  SHA1=a6cb832b190842986e9bd7e87592fa0984ee7cb0

Diffs from 7-20161211 are available in the diffs/ subdirectory.

When a particular snapshot is ready for public consumption the LATEST-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.