Opened 10 months ago

Last modified 10 months ago

#61614 assigned defect

p5-math-longdouble @0.22: error: implicitly declaring library function 'finite'

Reported by: ryandesign (Ryan Schmidt) Owned by: dbevans (David B. Evans)
Priority: Normal Milestone:
Component: ports Version: 2.6.4
Keywords: catalina bigsur Cc: chrstphrchvz (Christopher Chavez)
Port: p5-math-longdouble

Description

https://build.macports.org/builders/ports-11_arm64-builder/builds/980/steps/install-port/logs/stdio

LongDouble.xs:1747:10: error: implicitly declaring library function 'finite' with type 'int (double)' [-Werror,-Wimplicit-function-declaration]
  return finite(*op);
         ^
LongDouble.xs:1747:10: note: include the header <math.h> or explicitly provide a declaration for 'finite'

Change History (7)

comment:1 Changed 10 months ago by chrstphrchvz (Christopher Chavez)

I wonder if the module is supposed to be using finitel() instead, i.e. this is a bug rather than a missing header.

comment:2 Changed 10 months ago by chrstphrchvz (Christopher Chavez)

Cc: chrstphrchvz added

comment:3 Changed 10 months ago by ryandesign (Ryan Schmidt)

Is there such a thing as finitel on macOS?

comment:4 Changed 10 months ago by kencu (Ken)

see #61547 where isfinite was used.

comment:5 Changed 10 months ago by chrstphrchvz (Christopher Chavez)

Never mind, I see that finite() is deprecated on macOS in favor the isfinite() macro which checks the size of the operand.

This module isn't as useful on ARM 64-bit where double and long double are identical.

comment:6 Changed 10 months ago by chrstphrchvz (Christopher Chavez)

On 10.15, I only get the deprecation warning for finite(), not an implicit function declaration error. Maybe something is including <math.h> on 10.15, but not 11.

comment:7 Changed 10 months ago by ryandesign (Ryan Schmidt)

Per comment:ticket:61547:3 finite is only defined on i386 and x86_64, hence why the implicit function declaration error was reported here on arm64.

Note: See TracTickets for help on using tickets.