]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
fix frange_nextafter odr violation
authorAlexandre Oliva <oliva@adacore.com>
Tue, 13 Jun 2023 08:52:22 +0000 (05:52 -0300)
committerAlexandre Oliva <oliva@gnu.org>
Tue, 13 Jun 2023 08:52:22 +0000 (05:52 -0300)
C++ requires inline functions to be declared inline and defined in
every translation unit that uses them.  frange_nextafter is used in
gimple-range-op.cc but it's only defined as inline in
range-op-float.cc.  Drop the extraneous inline specifier.

Other non-static inline functions in range-op-float.cc are not
referenced elsewhere, so I'm making them static.

for  gcc/ChangeLog

* range-op-float.cc (frange_nextafter): Drop inline.
(frelop_early_resolve): Add static.
(frange_float): Likewise.

gcc/range-op-float.cc

index f5c0cec75c43f4c2c7c5a4e638ba346b391764f9..238a3262d2be77cb9bbca4844929b4d79dee15f6 100644 (file)
@@ -260,7 +260,7 @@ maybe_isnan (const frange &op1, const frange &op2)
 // Floating version of relop_early_resolve that takes into account NAN
 // and -ffinite-math-only.
 
-inline bool
+static inline bool
 frelop_early_resolve (irange &r, tree type,
                      const frange &op1, const frange &op2,
                      relation_trio rel, relation_kind my_rel)
@@ -277,7 +277,7 @@ frelop_early_resolve (irange &r, tree type,
 
 // Set VALUE to its next real value, or INF if the operation overflows.
 
-inline void
+void
 frange_nextafter (enum machine_mode mode,
                  REAL_VALUE_TYPE &value,
                  const REAL_VALUE_TYPE &inf)
@@ -2697,7 +2697,7 @@ namespace selftest
 
 // Build an frange from string endpoints.
 
-inline frange
+static inline frange
 frange_float (const char *lb, const char *ub, tree type = float_type_node)
 {
   REAL_VALUE_TYPE min, max;