[Bug 203066] _Thread_local detection is broken with GCC < 4.9

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Wed Sep 16 14:56:56 UTC 2015


https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=203066

--- Comment #4 from commit-hook at freebsd.org ---
A commit references this bug:

Author: rakuco
Date: Wed Sep 16 14:56:08 UTC 2015
New revision: 397068
URL: https://svnweb.freebsd.org/changeset/ports/397068

Log:
  Add upstream patch to fix the build with GCC 4.6, 4.7 and 4.8.

  runetype.h uses _Thread_local, and if we pass -std=c11 or -std=gnu11 to GCC
  the header expects it to be supported as part of the language and does not
  make it a typedef or something else.

  Since GCC only started supporting _Thread_local with the 4.9 series,
  building CMake with, say, lang/gcc (which is 4.8) fails:

      /usr/include/runetype.h:92:22: error: expected '=', ',', ';', 'asm' or
'__attribute__' before 'const'
      /usr/include/runetype.h: In function '__getCurrentRuneLocale':
      /usr/include/runetype.h:96:6: error: '_ThreadRuneLocale' undeclared
(first use in this function)
      /usr/include/runetype.h:96:6: note: each undeclared identifier is
reported only once for each function it appears in

  The upstream patch adds a test for _Thread_local and uses C99 instead of C11
  if it fails.

  PR:        203066

Changes:
  head/devel/cmake/files/patch-git_ffa6f057

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the freebsd-standards mailing list