[Bug 277958] libc: invalid internal linkage on feclearexcept

[email protected] Sat, 28 Mar 2026 20:56:53 +0000
Newsgroups gmane.os.freebsd.devel.standards
Message-ID <[email protected]/bugzilla/>
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D277958

--- Comment #13 from Mark Millard <[email protected]> ---
(In reply to Mark Millard from comment #12)

That was amd64.

Looks like aarch64 gets a bigger list of what is not
correct there: Beyond what amd64 reported . . .

fegetenv, feholdexcept, feraiseexcept, fesetexceptflag,
feupdateenv

# clang++ -std=3Dc++26 cpp_export_module_c_compat.cppm --precompile -o
cpp_export_module_c_compat.pcm
cpp_export_module_c_compat.cppm:112:19: error: using declaration referring =
to
'feclearexcept' with internal linkage cannot be exported
  112 | export using std::feclearexcept;
      |                   ^
/usr/include/fenv.h:85:1: note: target of using declaration
      |                   ^
/usr/include/fenv.h:161:1: note: target of using declaration
  161 | fegetenv(fenv_t *__envp)
      | ^
cpp_export_module_c_compat.cppm:114:19: error: using declaration referring =
to
'fegetexceptflag' with internal linkage cannot be exported
  114 | export using std::fegetexceptflag;
      |                   ^
/usr/include/fenv.h:96:1: note: target of using declaration
   96 | fegetexceptflag(fexcept_t *__flagp, int __excepts)
      | ^
cpp_export_module_c_compat.cppm:115:19: error: using declaration referring =
to
'fegetround' with internal linkage cannot be exported
  115 | export using std::fegetround;
      |                   ^
/usr/include/fenv.h:138:1: note: target of using declaration
  138 | fegetround(void)
      | ^
cpp_export_module_c_compat.cppm:116:19: error: using declaration referring =
to
'feholdexcept' with internal linkage cannot be exported
  116 | export using std::feholdexcept;
      |                   ^
/usr/include/fenv.h:174:1: note: target of using declaration
  174 | feholdexcept(fenv_t *__envp)
      | ^
cpp_export_module_c_compat.cppm:119:19: error: using declaration referring =
to
'feraiseexcept' with internal linkage cannot be exported
  119 | export using std::feraiseexcept;
      |                   ^
/usr/include/fenv.h:118:1: note: target of using declaration
  118 | feraiseexcept(int __excepts)
      | ^
cpp_export_module_c_compat.cppm:121:19: error: using declaration referring =
to
'fesetenv' with internal linkage cannot be exported
  121 | export using std::fesetenv;
      |                   ^
/usr/include/fenv.h:191:1: note: target of using declaration
  191 | fesetenv(const fenv_t *__envp)
      | ^
cpp_export_module_c_compat.cppm:122:19: error: using declaration referring =
to
'fesetexceptflag' with internal linkage cannot be exported
  122 | export using std::fesetexceptflag;
      |                   ^
/usr/include/fenv.h:106:1: note: target of using declaration
  106 | fesetexceptflag(const fexcept_t *__flagp, int __excepts)
      | ^
cpp_export_module_c_compat.cppm:123:19: error: using declaration referring =
to
'fesetround' with internal linkage cannot be exported
  123 | export using std::fesetround;
      |                   ^
/usr/include/fenv.h:147:1: note: target of using declaration
  147 | fesetround(int __round)
      | ^
cpp_export_module_c_compat.cppm:124:19: error: using declaration referring =
to
'fetestexcept' with internal linkage cannot be exported
  124 | export using std::fetestexcept;
      |                   ^
/usr/include/fenv.h:129:1: note: target of using declaration
  129 | fetestexcept(int __excepts)
      | ^
cpp_export_module_c_compat.cppm:125:19: error: using declaration referring =
to
'feupdateenv' with internal linkage cannot be exported
  125 | export using std::feupdateenv;
      |                   ^
/usr/include/fenv.h:200:1: note: target of using declaration
  200 | feupdateenv(const fenv_t *__envp)
      | ^
11 errors generated.

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