Bug#846507: the D frontend fails to build on sparc64

2016-12-01 Thread Iain Buclaw
On 1 December 2016 at 19:04, Matthias Klose  wrote:
> Package: src:gcc-7
> Version: 7-20161201-1
> Severity: important
>
> See
> https://buildd.debian.org/status/fetch.php?pkg=gcc-7=sparc64=7-20161201-1=1480609625
>
> GDC trunk is a snapshot from 20161113
>
> In file included from ./tm_p.h:4:0,
>  from ../../src/gcc/d/d-target.cc:33:
> ../../src/gcc/config/sparc/sparc-protos.h:50:47: error: use of enum 'memmodel'
> without previous declaration
>  extern void sparc_emit_membar_for_model (enum memmodel, int, int);
>^~~~
> Makefile:1101: recipe for target 'd/d-target.o' failed
> make[5]: *** [d/d-target.o] Error 1
> make[5]: *** Waiting for unfinished jobs
> ../../src/gcc/d/d-glue.cc: In function 'void escapePath(OutBuffer*, const 
> char*)':
> ../../src/gcc/d/d-glue.cc:289:24: warning: this statement may fall through
> [-Wimplicit-fallthrough=]
> buf->writeByte('\\');
> ^
> ../../src/gcc/d/d-glue.cc:291:2: note: here
>   default:
>   ^~~

So we need to:

1. Add memmodel.h to d-target.cc, as per trunk@240504.

2. Look at any new warnings and fix them up (if they are irritating enough).



Bug#846507: the D frontend fails to build on sparc64

2016-12-01 Thread Matthias Klose
Package: src:gcc-7
Version: 7-20161201-1
Severity: important

See
https://buildd.debian.org/status/fetch.php?pkg=gcc-7=sparc64=7-20161201-1=1480609625

GDC trunk is a snapshot from 20161113

In file included from ./tm_p.h:4:0,
 from ../../src/gcc/d/d-target.cc:33:
../../src/gcc/config/sparc/sparc-protos.h:50:47: error: use of enum 'memmodel'
without previous declaration
 extern void sparc_emit_membar_for_model (enum memmodel, int, int);
   ^~~~
Makefile:1101: recipe for target 'd/d-target.o' failed
make[5]: *** [d/d-target.o] Error 1
make[5]: *** Waiting for unfinished jobs
../../src/gcc/d/d-glue.cc: In function 'void escapePath(OutBuffer*, const 
char*)':
../../src/gcc/d/d-glue.cc:289:24: warning: this statement may fall through
[-Wimplicit-fallthrough=]
buf->writeByte('\\');
^
../../src/gcc/d/d-glue.cc:291:2: note: here
  default:
  ^~~