The issue is that tilegx includes expr.h which includes tree-core.h. A simple solution is to include "symtab.h" before "expr.h" in tilegx.c. The port has a unrelated link error after this change.

The second possiblity is to resolve this using Prathmesh latest patch (submitted today) for flattening expr.h which removes the dependency on tree-core.h. Thoughts?

On 01/11/2015 08:36 PM, Jan-Benedict Glaw wrote:
On Sat, 2015-01-10 01:50:42 +0530, Prathamesh Kulkarni 
<prathamesh.kulka...@linaro.org> wrote:
On 9 January 2015 at 16:21, Richard Biener <richard.guent...@gmail.com> wrote:
On Fri, Jan 9, 2015 at 10:39 AM, Michael Collison <michael.colli...@linaro.org> 
wrote:
This patch flattens tree.h and tree-core.h. This is a revised
patch that does not include tree-core.h as a result of
flattening.

Version 3 of the patch adds the header files removed from
tree-core.h to gcc-plugin.h in order to allow ggc-common.c to
compile. This is a recent issue seen on trunk.
[...]
Committed as r219402 on behalf of Michael.
Great work! Almost no fallout.

Though I see some fallout for tilepro-linux, see eg. these builds:
tilegx:  http://toolchain.lug-owl.de/buildbot/show_build_details.php?id=396528
tilepro: http://toolchain.lug-owl.de/buildbot/show_build_details.php?id=397033

[...]
g++ -c   -g -O2 -DIN_GCC  -DCROSS_DIRECTORY_STRUCTURE  -fno-exceptions 
-fno-rtti -fasynchronous-unwind-tables -W -Wall -Wno-narrowing -Wwrite-strings 
-Wcast-qual -Wmissing-format-attribute -Woverloaded-virtual -pedantic 
-Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -fno-common  
-DHAVE_CONFIG_H -I. -I. -I/home/jbglaw/repos/gcc/gcc 
-I/home/jbglaw/repos/gcc/gcc/. -I/home/jbglaw/repos/gcc/gcc/../include 
-I/home/jbglaw/repos/gcc/gcc/../libcpp/include  
-I/home/jbglaw/repos/gcc/gcc/../libdecnumber 
-I/home/jbglaw/repos/gcc/gcc/../libdecnumber/dpd -I../libdecnumber 
-I/home/jbglaw/repos/gcc/gcc/../libbacktrace   -o tilepro.o -MT tilepro.o -MMD 
-MP -MF ./.deps/tilepro.TPo /home/jbglaw/repos/gcc/gcc/config/tilepro/tilepro.c
In file included from /home/jbglaw/repos/gcc/gcc/expr.h:38:0,
                  from /home/jbglaw/repos/gcc/gcc/config/tilepro/tilepro.c:31:
/home/jbglaw/repos/gcc/gcc/tree-core.h:1139:24: error: field ‘id’ has 
incomplete type
make[1]: *** [tilepro.o] Error 1


#include "symtab.h" is there, so probably too late? Fails for both, tilepro and 
tilegx.

MfG, JBG


--
Michael Collison
Linaro Toolchain Working Group
michael.colli...@linaro.org

Reply via email to