Yes, it seems that gcc and clang disagree on how to interpret const. Here's a 
PR that addresses this particular problem:

https://github.com/gnustep/libobjc2/pull/22

Cheers,

Niels

Von: i...@vucica.net
Gesendet: 2. April 2017 7:05 nachm.
An: thera...@sucs.org; gnustep-dev@gnu.org
Betreff: libobjc2 fails to build with gcc 5.4.0


Hey David,

It might be that libobjc2 no longer supports gcc, but in case it does, this is 
the result of building with Ubuntu 16.04's gcc 5.4.0:

[  1%] Building C object CMakeFiles/objc.dir/category_loader.c.o
/usr/bin/cc  -DGC_DEBUG -DGNUSTEP -DNO_LEGACY -DTYPE_DEPENDENT_DISPATCH 
-D__OBJC_RUNTIME_INTERNAL__=1 -Dobjc_EXPORTS  -std=gnu99  -fexceptions -fPIC   
-o CMakeFiles/objc.dir/category_loader.c.o   -c 
/home/ivucica/projects/libobjc2/category_loader.c
In file included from /home/ivucica/projects/libobjc2/dtable.h:3:0,
                 from /home/ivucica/projects/libobjc2/category_loader.c:5:
/home/ivucica/projects/libobjc2/sarray2.h:26:35: error: initializer element is 
not constant
 static const uint32_t data_mask = data_size - 1;
                                   ^
/home/ivucica/projects/libobjc2/sarray2.h:55:8: error: variably modified 'data' 
at file scope
  void *data[data_size];
        ^
CMakeFiles/objc.dir/build.make:158: recipe for target 
'CMakeFiles/objc.dir/category_loader.c.o' failed
make[2]: *** [CMakeFiles/objc.dir/category_loader.c.o] Error 1
make[2]: Leaving directory '/home/ivucica/projects/libobjc2/build'


Git commit used: e87b5c15037d4f9a02290472cb1d70d79edbdb1a
_______________________________________________
Gnustep-dev mailing list
Gnustep-dev@gnu.org
https://lists.gnu.org/mailman/listinfo/gnustep-dev

Reply via email to