Bug 216862

Summary: C11 conformance: cexpl() is missing
Product: Base System Reporter: sgk
Component: standardsAssignee: freebsd-standards (Nobody) <standards>
Status: Open ---    
Severity: Affects Many People CC: emaste, fnoyanisi, kargl, seschwar
Priority: ---    
Version: CURRENT   
Hardware: Any   
OS: Any   
See Also: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=175811
Bug Depends on: 235413    
Bug Blocks:    

Description sgk 2017-02-06 19:45:22 UTC
#include <complex.h>
long double complex
foo(long double complex z)
{
   return (cexpl(z));
}

cc -c foo.c
foo.c:7:12: warning: implicitly declaring library function 'cexpl' with type
      '_Complex long double (_Complex long double)'
      [-Wimplicit-function-declaration]
   return (cexpl(z));
           ^
foo.c:7:12: note: include the header <complex.h> or explicitly provide a
      declaration for 'cexpl'
1 warning generated.
Comment 1 Sebastian Schwarz 2017-06-25 14:25:05 UTC
Isn't cexpl() already mandated by C99?  There are also a number of other functions missing from complex.h.  See bug #175811.

It looks like Dragonfly-, Net- and OpenBSD already have implementations of cexpl().  Maybe their code could be imported?