Hi Ian,

> This patch by Chris Manghane adds debugging to the escape analysis
> code.  This debugging is designed to generate the same sort of output
> as the gc Go compiler, for easier comparison of results.  Escape
> analysis is still not enabled by default.  Bootstrapped and ran Go
> testsuite on x86_64-pc-linux-gnu.  Committed to mainline.

this patch (resp. this particular line)

> Index: gcc/go/gofrontend/escape.cc
> ===================================================================
> --- gcc/go/gofrontend/escape.cc       (revision 238653)
> +++ gcc/go/gofrontend/escape.cc       (working copy)
> @@ -6,12 +6,14 @@
>  
>  #include <limits>
>  #include <stack>
> +#include <sstream>

broke Solaris bootstrap:

                 from /vol/gcc/src/hg/trunk/local/gcc/go/go-system.h:23,
                 from 
/vol/gcc/src/hg/trunk/local/gcc/go/gofrontend/go-linemap.h:10,
                 from /vol/gcc/src/hg/trunk/local/gcc/go/gofrontend/gogo.h:10,
                 from 
/vol/gcc/src/hg/trunk/local/gcc/go/gofrontend/escape.cc:11:
./auto-host.h:2214:0: error: "_FILE_OFFSET_BITS" redefined [-Werror]
 #define _FILE_OFFSET_BITS 64

In file included from 
/var/gcc/regression/trunk/12-gcc-gas/build/prev-gcc/include-fixed/wchar.h:17:0,
                 from 
/var/gcc/regression/trunk/12-gcc-gas/build/prev-i386-pc-solaris2.12/libstdc++-v3/include/cwchar:44,
                 from 
/var/gcc/regression/trunk/12-gcc-gas/build/prev-i386-pc-solaris2.12/libstdc++-v3/include/bits/postypes.h:40,
                 from 
/var/gcc/regression/trunk/12-gcc-gas/build/prev-i386-pc-solaris2.12/libstdc++-v3/include/iosfwd:40,
                 from 
/var/gcc/regression/trunk/12-gcc-gas/build/prev-i386-pc-solaris2.12/libstdc++-v3/include/ios:38,
                 from 
/var/gcc/regression/trunk/12-gcc-gas/build/prev-i386-pc-solaris2.12/libstdc++-v3/include/istream:38,
                 from 
/var/gcc/regression/trunk/12-gcc-gas/build/prev-i386-pc-solaris2.12/libstdc++-v3/include/sstream:38,
                 from /vol/gcc/src/hg/trunk/local/gcc/go/gofrontend/escape.cc:9:
/var/gcc/regression/trunk/12-gcc-gas/build/prev-gcc/include-fixed/sys/feature_tests.h:223:0:
 note: this is the location of the previous definition
 #define _FILE_OFFSET_BITS 32

Including anything before "config.h" (or in the case of Go "go-system.h")
is fragile at best.

The following patch allowed me to compile escape.cc again.

        Rainer


2016-08-04  Rainer Orth  <r...@cebitec.uni-bielefeld.de>

        * gofrontend/escape.cc: Include "go-system.h" first.

diff --git a/gcc/go/gofrontend/escape.cc b/gcc/go/gofrontend/escape.cc
--- a/gcc/go/gofrontend/escape.cc
+++ b/gcc/go/gofrontend/escape.cc
@@ -4,6 +4,8 @@
 // Use of this source code is governed by a BSD-style
 // license that can be found in the LICENSE file.
 
+#include "go-system.h"
+
 #include <limits>
 #include <stack>
 #include <sstream>
-- 
-----------------------------------------------------------------------------
Rainer Orth, Center for Biotechnology, Bielefeld University

Reply via email to