### 2759. `gcd` / `lcm` and `bool` for the WP

**Section:** 29.8.13 [numeric.ops.gcd], 29.8.14 [numeric.ops.lcm] **Status:** C++17
**Submitter:** Walter Brown **Opened:** 2016-08-01 **Last modified:** 2017-07-30

**Priority: **Not Prioritized

**View all other** issues in [numeric.ops.gcd].

**View all issues with** C++17 status.

**Discussion:**

With the acceptance of `gcd` and `lcm` in the working draft, the same problem as pointed out by
LWG 2733 exists here as well and should be fixed accordingly.

*[2016-08, Chicago]*

Monday PM: Moved to Tentatively Ready

**Proposed resolution:**

This wording is relative to N4606.

Adjust 29.8.13 [numeric.ops.gcd] p2 as indicated:

template<class M, class N>
constexpr common_type_t<M, N> gcd(M m, N n);

[…]

-2- *Remarks:* If either `M` or `N` is not an integer type, or if either is (possibly *cv*-qualified)
`bool`, the program is ill-formed.

Adjust 29.8.14 [numeric.ops.lcm] p2 as indicated:

template<class M, class N>
constexpr common_type_t<M, N> lcm(M m, N n);

[…]

-2- *Remarks:* If either `M` or `N` is not an integer type, or if either is (possibly *cv*-qualified)
`bool`, the program is ill-formed.