On 2015-11-04 18:03 (+0100), Papoj Thamjaroenporn wrote:
I became tired of seeing these same warning messages over and over again whenever I compile and debug the code:
/opt/local/include/gc/gc.h:804:23: warning: unknown attribute '__alloc_size__' ignored [-Wunknown-attributes] GC_API GC_ATTR_MALLOC GC_ATTR_ALLOC_SIZE(1) void * GC_CALL
<...>
It seems that clang has removed alloc_size attribute https://github.com/neovim/neovim/issues/429 a while ago. But these warnings would pop up about gazillion times per compiling session, from gc.h, so I am wondering if I can suppress this warning specifically. I’m not familiar with how to add a suppression in autoconf. Do I just do the following in configure step?
../trunk/configure --prefix=YOUR_BUILD_DIRECTORY--disable-static --enable-shared CC="clang" CXX="clang++" CXXFLAGS="-std=c++11 -stdlib=libc++ -I/opt/local/include *-Wno-unknown-attributes*" CPPFLAGS="-I/opt/local/include -U__STRICT_ANSI__ *-Wno-unknown-attributes*"
If I re-configure the build, do I have to run "make install" again before "make -j 4"?
I’m also not sure if globally suppressing this kind of warning is recommended. I have not seen this kind of warning other than this, and I couldn’t even find its definition on the official Clang documentation http://clang.llvm.org/docs/UsersManual.html. If this is not recommended, does anyone know how I can specifically suppress this particular warning?
boehmgc git master seems to have fixes committed already, but they are not part of a stable release yet - a possible workaround would be to file a trac ticket for MacPorts and ask to have the commits used as patches for the boehmgc port (or to installed boehmgc via portfile in local port repository which includes the upstream patches):
File: https://github.com/ivmai/bdwgc/commits/master/include/gc_config_macros.h
Commits related to recent clang: https://github.com/ivmai/bdwgc/commit/8fc1f3b61b02320848b035ccccd59e04e77d3f... https://github.com/ivmai/bdwgc/commit/b725923951d77f5c6792c2797f89179267c58c...