Bug 214413

Summary: gcc49 is required for compiler:c11/gnu11
Product: Ports & Packages Reporter: Justin Hibbits <jhibbits>
Component: Ports FrameworkAssignee: Port Management Team <portmgr>
Status: Closed Overcome By Events    
Severity: Affects Only Me CC: gerald, ports-bugs
Priority: ---    
Version: Latest   
Hardware: Any   
OS: Any   
Bug Depends on: 196712    
Bug Blocks:    

Description Justin Hibbits freebsd_committer 2016-11-10 23:44:57 UTC
GCC 4.8 defines __STDC_VERSION__ to 201112L, but does not support _Thread_lcoal.  _Thread_local was added in GCC 4.9.  This causes any port which needs c11 and includes sys/cdefs.h to fail to build with errors like the following (taken from graphics/argyllcms log):

In file included from /usr/include/_ctype.h:95:0,
                 from /usr/include/ctype.h:46,
                 from icc/icc.c:66:
/usr/include/runetype.h:92:22: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'const'
 extern _Thread_local const _RuneLocale *_ThreadRuneLocale;
                      ^
/usr/include/runetype.h: In function '__getCurrentRuneLocale':
/usr/include/runetype.h:96:6: error: '_ThreadRuneLocale' undeclared (first use in this function)
  if (_ThreadRuneLocale) 
      ^
/usr/include/runetype.h:96:6: note: each undeclared identifier is reported only once for each function it appears in
Comment 1 Gerald Pfeifer freebsd_committer 2016-11-20 21:56:24 UTC
lang/gcc, the canonical version of GCC in the Ports Collection, went
from GCC 4.8 to GCC 4.9 earlier today, so hopefully does not block this
any longer?
Comment 2 Justin Hibbits freebsd_committer 2016-11-21 15:48:43 UTC
With GCC 4.9 being default, this bug can be closed now.  Thanks for the upgrade work!