[libcxx-commits] [libcxx] WIP [libc++][random] Applied `[[nodiscard]]` to `<random>` (PR #204970)
Hristo Hristov via libcxx-commits
libcxx-commits at lists.llvm.org
Sun Jun 21 10:43:06 PDT 2026
https://github.com/H-G-Hristov updated https://github.com/llvm/llvm-project/pull/204970
>From f0b2e15401282a223cb728417c4c399df84de52f Mon Sep 17 00:00:00 2001
From: Hristo Hristov <hghristov.rmm at gmail.com>
Date: Sun, 21 Jun 2026 13:00:15 +0300
Subject: [PATCH] [libc++][random] Applied `[[nodiscard]]` to `<random>`
Towards: #172124
- https://libcxx.llvm.org/CodingGuidelines.html#apply-nodiscard-where-relevant
- https://wg21.link/rand
---
.../include/__random/bernoulli_distribution.h | 14 +-
.../include/__random/binomial_distribution.h | 18 +--
libcxx/include/__random/cauchy_distribution.h | 18 +--
.../__random/chi_squared_distribution.h | 14 +-
.../include/__random/discard_block_engine.h | 8 +-
.../libcxx/numerics/rand/nodiscard.verify.cpp | 129 ++++++++++++++++++
.../bad_engine.verify.cpp | 4 +-
.../rand.dist.bern.bin/bad_engine.verify.cpp | 4 +-
.../rand.dist.bern.geo/bad_engine.verify.cpp | 4 +-
.../bad_engine.verify.cpp | 4 +-
.../bad_engine.verify.cpp | 4 +-
.../bad_engine.verify.cpp | 4 +-
.../rand.dist.norm.f/bad_engine.verify.cpp | 4 +-
.../bad_engine.verify.cpp | 4 +-
.../bad_engine.verify.cpp | 4 +-
.../rand.dist.norm.t/bad_engine.verify.cpp | 4 +-
.../rand.dist.pois.exp/bad_engine.verify.cpp | 4 +-
.../bad_engine.verify.cpp | 4 +-
.../bad_engine.verify.cpp | 4 +-
.../bad_engine.verify.cpp | 4 +-
.../bad_engine.verify.cpp | 4 +-
.../bad_engine.verify.cpp | 4 +-
.../bad_engine.verify.cpp | 4 +-
.../bad_engine.verify.cpp | 4 +-
.../rand.dist.uni.int/bad_engine.verify.cpp | 4 +-
.../rand.dist.uni.real/bad_engine.verify.cpp | 4 +-
26 files changed, 205 insertions(+), 76 deletions(-)
create mode 100644 libcxx/test/libcxx/numerics/rand/nodiscard.verify.cpp
diff --git a/libcxx/include/__random/bernoulli_distribution.h b/libcxx/include/__random/bernoulli_distribution.h
index 8d1bfad9e7d29..54ca0ee0f7504 100644
--- a/libcxx/include/__random/bernoulli_distribution.h
+++ b/libcxx/include/__random/bernoulli_distribution.h
@@ -36,7 +36,7 @@ class bernoulli_distribution {
_LIBCPP_HIDE_FROM_ABI explicit param_type(double __p = 0.5) : __p_(__p) {}
- _LIBCPP_HIDE_FROM_ABI double p() const { return __p_; }
+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI double p() const { return __p_; }
friend _LIBCPP_HIDE_FROM_ABI bool operator==(const param_type& __x, const param_type& __y) {
return __x.__p_ == __y.__p_;
@@ -60,20 +60,20 @@ class bernoulli_distribution {
// generating functions
template <class _URNG>
- _LIBCPP_HIDE_FROM_ABI result_type operator()(_URNG& __g) {
+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI result_type operator()(_URNG& __g) {
return (*this)(__g, __p_);
}
template <class _URNG>
- _LIBCPP_HIDE_FROM_ABI result_type operator()(_URNG& __g, const param_type& __p);
+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI result_type operator()(_URNG& __g, const param_type& __p);
// property functions
- _LIBCPP_HIDE_FROM_ABI double p() const { return __p_.p(); }
+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI double p() const { return __p_.p(); }
- _LIBCPP_HIDE_FROM_ABI param_type param() const { return __p_; }
+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI param_type param() const { return __p_; }
_LIBCPP_HIDE_FROM_ABI void param(const param_type& __p) { __p_ = __p; }
- _LIBCPP_HIDE_FROM_ABI result_type min() const { return false; }
- _LIBCPP_HIDE_FROM_ABI result_type max() const { return true; }
+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI result_type min() const { return false; }
+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI result_type max() const { return true; }
friend _LIBCPP_HIDE_FROM_ABI bool operator==(const bernoulli_distribution& __x, const bernoulli_distribution& __y) {
return __x.__p_ == __y.__p_;
diff --git a/libcxx/include/__random/binomial_distribution.h b/libcxx/include/__random/binomial_distribution.h
index 76996abacb3ac..e4fe92143741a 100644
--- a/libcxx/include/__random/binomial_distribution.h
+++ b/libcxx/include/__random/binomial_distribution.h
@@ -45,8 +45,8 @@ class binomial_distribution {
_LIBCPP_HIDE_FROM_ABI explicit param_type(result_type __t = 1, double __p = 0.5);
- _LIBCPP_HIDE_FROM_ABI result_type t() const { return __t_; }
- _LIBCPP_HIDE_FROM_ABI double p() const { return __p_; }
+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI result_type t() const { return __t_; }
+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI double p() const { return __p_; }
friend _LIBCPP_HIDE_FROM_ABI bool operator==(const param_type& __x, const param_type& __y) {
return __x.__t_ == __y.__t_ && __x.__p_ == __y.__p_;
@@ -74,21 +74,21 @@ class binomial_distribution {
// generating functions
template <class _URNG>
- _LIBCPP_HIDE_FROM_ABI result_type operator()(_URNG& __g) {
+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI result_type operator()(_URNG& __g) {
return (*this)(__g, __p_);
}
template <class _URNG>
- _LIBCPP_HIDE_FROM_ABI result_type operator()(_URNG& __g, const param_type& __p);
+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI result_type operator()(_URNG& __g, const param_type& __p);
// property functions
- _LIBCPP_HIDE_FROM_ABI result_type t() const { return __p_.t(); }
- _LIBCPP_HIDE_FROM_ABI double p() const { return __p_.p(); }
+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI result_type t() const { return __p_.t(); }
+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI double p() const { return __p_.p(); }
- _LIBCPP_HIDE_FROM_ABI param_type param() const { return __p_; }
+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI param_type param() const { return __p_; }
_LIBCPP_HIDE_FROM_ABI void param(const param_type& __p) { __p_ = __p; }
- _LIBCPP_HIDE_FROM_ABI result_type min() const { return 0; }
- _LIBCPP_HIDE_FROM_ABI result_type max() const { return t(); }
+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI result_type min() const { return 0; }
+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI result_type max() const { return t(); }
friend _LIBCPP_HIDE_FROM_ABI bool operator==(const binomial_distribution& __x, const binomial_distribution& __y) {
return __x.__p_ == __y.__p_;
diff --git a/libcxx/include/__random/cauchy_distribution.h b/libcxx/include/__random/cauchy_distribution.h
index 0ad887dd8d645..65e83095c5445 100644
--- a/libcxx/include/__random/cauchy_distribution.h
+++ b/libcxx/include/__random/cauchy_distribution.h
@@ -43,8 +43,8 @@ class cauchy_distribution {
_LIBCPP_HIDE_FROM_ABI explicit param_type(result_type __a = 0, result_type __b = 1) : __a_(__a), __b_(__b) {}
- _LIBCPP_HIDE_FROM_ABI result_type a() const { return __a_; }
- _LIBCPP_HIDE_FROM_ABI result_type b() const { return __b_; }
+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI result_type a() const { return __a_; }
+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI result_type b() const { return __b_; }
friend _LIBCPP_HIDE_FROM_ABI bool operator==(const param_type& __x, const param_type& __y) {
return __x.__a_ == __y.__a_ && __x.__b_ == __y.__b_;
@@ -70,21 +70,21 @@ class cauchy_distribution {
// generating functions
template <class _URNG>
- _LIBCPP_HIDE_FROM_ABI result_type operator()(_URNG& __g) {
+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI result_type operator()(_URNG& __g) {
return (*this)(__g, __p_);
}
template <class _URNG>
- _LIBCPP_HIDE_FROM_ABI result_type operator()(_URNG& __g, const param_type& __p);
+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI result_type operator()(_URNG& __g, const param_type& __p);
// property functions
- _LIBCPP_HIDE_FROM_ABI result_type a() const { return __p_.a(); }
- _LIBCPP_HIDE_FROM_ABI result_type b() const { return __p_.b(); }
+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI result_type a() const { return __p_.a(); }
+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI result_type b() const { return __p_.b(); }
- _LIBCPP_HIDE_FROM_ABI param_type param() const { return __p_; }
+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI param_type param() const { return __p_; }
_LIBCPP_HIDE_FROM_ABI void param(const param_type& __p) { __p_ = __p; }
- _LIBCPP_HIDE_FROM_ABI result_type min() const { return -numeric_limits<result_type>::infinity(); }
- _LIBCPP_HIDE_FROM_ABI result_type max() const { return numeric_limits<result_type>::infinity(); }
+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI result_type min() const { return -numeric_limits<result_type>::infinity(); }
+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI result_type max() const { return numeric_limits<result_type>::infinity(); }
friend _LIBCPP_HIDE_FROM_ABI bool operator==(const cauchy_distribution& __x, const cauchy_distribution& __y) {
return __x.__p_ == __y.__p_;
diff --git a/libcxx/include/__random/chi_squared_distribution.h b/libcxx/include/__random/chi_squared_distribution.h
index 4ce2c17c354c5..8088dfe9d65bd 100644
--- a/libcxx/include/__random/chi_squared_distribution.h
+++ b/libcxx/include/__random/chi_squared_distribution.h
@@ -41,7 +41,7 @@ class chi_squared_distribution {
_LIBCPP_HIDE_FROM_ABI explicit param_type(result_type __n = 1) : __n_(__n) {}
- _LIBCPP_HIDE_FROM_ABI result_type n() const { return __n_; }
+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI result_type n() const { return __n_; }
friend _LIBCPP_HIDE_FROM_ABI bool operator==(const param_type& __x, const param_type& __y) {
return __x.__n_ == __y.__n_;
@@ -65,22 +65,22 @@ class chi_squared_distribution {
// generating functions
template <class _URNG>
- _LIBCPP_HIDE_FROM_ABI result_type operator()(_URNG& __g) {
+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI result_type operator()(_URNG& __g) {
return (*this)(__g, __p_);
}
template <class _URNG>
- _LIBCPP_HIDE_FROM_ABI result_type operator()(_URNG& __g, const param_type& __p) {
+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI result_type operator()(_URNG& __g, const param_type& __p) {
return gamma_distribution<result_type>(__p.n() / 2, 2)(__g);
}
// property functions
- _LIBCPP_HIDE_FROM_ABI result_type n() const { return __p_.n(); }
+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI result_type n() const { return __p_.n(); }
- _LIBCPP_HIDE_FROM_ABI param_type param() const { return __p_; }
+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI param_type param() const { return __p_; }
_LIBCPP_HIDE_FROM_ABI void param(const param_type& __p) { __p_ = __p; }
- _LIBCPP_HIDE_FROM_ABI result_type min() const { return 0; }
- _LIBCPP_HIDE_FROM_ABI result_type max() const { return numeric_limits<result_type>::infinity(); }
+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI result_type min() const { return 0; }
+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI result_type max() const { return numeric_limits<result_type>::infinity(); }
friend _LIBCPP_HIDE_FROM_ABI bool
operator==(const chi_squared_distribution& __x, const chi_squared_distribution& __y) {
diff --git a/libcxx/include/__random/discard_block_engine.h b/libcxx/include/__random/discard_block_engine.h
index a6e1997fc1c2d..659236ab218dc 100644
--- a/libcxx/include/__random/discard_block_engine.h
+++ b/libcxx/include/__random/discard_block_engine.h
@@ -54,8 +54,8 @@ class discard_block_engine {
static constexpr result_type _Max = _Engine::max();
#endif
- _LIBCPP_HIDE_FROM_ABI static _LIBCPP_CONSTEXPR result_type min() { return _Engine::min(); }
- _LIBCPP_HIDE_FROM_ABI static _LIBCPP_CONSTEXPR result_type max() { return _Engine::max(); }
+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI static _LIBCPP_CONSTEXPR result_type min() { return _Engine::min(); }
+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI static _LIBCPP_CONSTEXPR result_type max() { return _Engine::max(); }
// constructors and seeding functions
_LIBCPP_HIDE_FROM_ABI discard_block_engine() : __n_(0) {}
@@ -83,14 +83,14 @@ class discard_block_engine {
}
// generating functions
- _LIBCPP_HIDE_FROM_ABI result_type operator()();
+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI result_type operator()();
_LIBCPP_HIDE_FROM_ABI void discard(unsigned long long __z) {
for (; __z; --__z)
operator()();
}
// property functions
- _LIBCPP_HIDE_FROM_ABI const _Engine& base() const _NOEXCEPT { return __e_; }
+ [[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI const _Engine& base() const _NOEXCEPT { return __e_; }
template <class _Eng, size_t _Pp, size_t _Rp>
friend bool
diff --git a/libcxx/test/libcxx/numerics/rand/nodiscard.verify.cpp b/libcxx/test/libcxx/numerics/rand/nodiscard.verify.cpp
new file mode 100644
index 0000000000000..6a1a73bc5648a
--- /dev/null
+++ b/libcxx/test/libcxx/numerics/rand/nodiscard.verify.cpp
@@ -0,0 +1,129 @@
+//===----------------------------------------------------------------------===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+//
+//===----------------------------------------------------------------------===//
+
+// <random>
+
+// Check that functions are marked [[nodiscard]]
+
+#include <random>
+
+#include "test_macros.h"
+
+void test() {
+ {
+ std::bernoulli_distribution d;
+ std::mt19937_64 gen;
+
+ std::bernoulli_distribution::param_type p;
+
+ // expected-warning at +1 {{ignoring return value of function declared with 'nodiscard' attribute}}
+ p.p();
+
+ // expected-warning at +1 {{ignoring return value of function declared with 'nodiscard' attribute}}
+ d(gen);
+ // expected-warning at +1 {{ignoring return value of function declared with 'nodiscard' attribute}}
+ d(gen, p);
+
+ // expected-warning at +1 {{ignoring return value of function declared with 'nodiscard' attribute}}
+ d.p();
+ // expected-warning at +1 {{ignoring return value of function declared with 'nodiscard' attribute}}
+ d.param();
+ // expected-warning at +1 {{ignoring return value of function declared with 'nodiscard' attribute}}
+ d.min();
+ // expected-warning at +1 {{ignoring return value of function declared with 'nodiscard' attribute}}
+ d.max();
+ }
+ {
+ std::binomial_distribution<int> d;
+ std::mt19937_64 gen;
+
+ std::binomial_distribution<int>::param_type p;
+
+ // expected-warning at +1 {{ignoring return value of function declared with 'nodiscard' attribute}}
+ p.t();
+ // expected-warning at +1 {{ignoring return value of function declared with 'nodiscard' attribute}}
+ p.p();
+
+ // expected-warning at +1 {{ignoring return value of function declared with 'nodiscard' attribute}}
+ d(gen);
+ // expected-warning at +1 {{ignoring return value of function declared with 'nodiscard' attribute}}
+ d(gen, p);
+
+ // expected-warning at +1 {{ignoring return value of function declared with 'nodiscard' attribute}}
+ d.p();
+ // expected-warning at +1 {{ignoring return value of function declared with 'nodiscard' attribute}}
+ d.param();
+ // expected-warning at +1 {{ignoring return value of function declared with 'nodiscard' attribute}}
+ d.min();
+ // expected-warning at +1 {{ignoring return value of function declared with 'nodiscard' attribute}}
+ d.max();
+ }
+ {
+ std::cauchy_distribution<double> d;
+ std::mt19937_64 gen;
+
+ std::cauchy_distribution<double>::param_type p;
+
+ // expected-warning at +1 {{ignoring return value of function declared with 'nodiscard' attribute}}
+ p.a();
+ // expected-warning at +1 {{ignoring return value of function declared with 'nodiscard' attribute}}
+ p.b();
+
+ // expected-warning at +1 {{ignoring return value of function declared with 'nodiscard' attribute}}
+ d(gen);
+ // expected-warning at +1 {{ignoring return value of function declared with 'nodiscard' attribute}}
+ d(gen, p);
+
+ // expected-warning at +1 {{ignoring return value of function declared with 'nodiscard' attribute}}
+ d.a();
+ // expected-warning at +1 {{ignoring return value of function declared with 'nodiscard' attribute}}
+ d.b();
+ // expected-warning at +1 {{ignoring return value of function declared with 'nodiscard' attribute}}
+ d.param();
+ // expected-warning at +1 {{ignoring return value of function declared with 'nodiscard' attribute}}
+ d.min();
+ // expected-warning at +1 {{ignoring return value of function declared with 'nodiscard' attribute}}
+ d.max();
+ }
+ {
+ std::chi_squared_distribution<double> d;
+ std::mt19937_64 gen;
+
+ std::chi_squared_distribution<double>::param_type p;
+
+ // expected-warning at +1 {{ignoring return value of function declared with 'nodiscard' attribute}}
+ p.n();
+
+ // expected-warning at +1 {{ignoring return value of function declared with 'nodiscard' attribute}}
+ d(gen);
+ // expected-warning at +1 {{ignoring return value of function declared with 'nodiscard' attribute}}
+ d(gen, p);
+
+ // expected-warning at +1 {{ignoring return value of function declared with 'nodiscard' attribute}}
+ d.n();
+ // expected-warning at +1 {{ignoring return value of function declared with 'nodiscard' attribute}}
+ d.param();
+ // expected-warning at +1 {{ignoring return value of function declared with 'nodiscard' attribute}}
+ d.min();
+ // expected-warning at +1 {{ignoring return value of function declared with 'nodiscard' attribute}}
+ d.max();
+ }
+ {
+ std::discard_block_engine<std::mt19937_64, 10, 5> e;
+
+ // expected-warning at +1 {{ignoring return value of function declared with 'nodiscard' attribute}}
+ e();
+
+ // expected-warning at +1 {{ignoring return value of function declared with 'nodiscard' attribute}}
+ e.min();
+ // expected-warning at +1 {{ignoring return value of function declared with 'nodiscard' attribute}}
+ e.max();
+ // expected-warning at +1 {{ignoring return value of function declared with 'nodiscard' attribute}}
+ e.base();
+ }
+}
diff --git a/libcxx/test/libcxx/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.bernoulli/bad_engine.verify.cpp b/libcxx/test/libcxx/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.bernoulli/bad_engine.verify.cpp
index 9855d8ae6f866..118f9aae74e08 100644
--- a/libcxx/test/libcxx/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.bernoulli/bad_engine.verify.cpp
+++ b/libcxx/test/libcxx/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.bernoulli/bad_engine.verify.cpp
@@ -25,6 +25,6 @@ void test(std::bernoulli_distribution dist)
G<int> badg;
G<unsigned> okg;
- dist(badg); //expected-error@*:* 2 {{static assertion failed}} //expected-note {{in instantiation}}
- dist(okg);
+ (void)dist(badg); //expected-error@*:* 2 {{static assertion failed}} //expected-note {{in instantiation}}
+ (void)dist(okg);
}
diff --git a/libcxx/test/libcxx/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.bin/bad_engine.verify.cpp b/libcxx/test/libcxx/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.bin/bad_engine.verify.cpp
index 1b1bb4428f80d..3ff9292180ad7 100644
--- a/libcxx/test/libcxx/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.bin/bad_engine.verify.cpp
+++ b/libcxx/test/libcxx/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.bin/bad_engine.verify.cpp
@@ -25,6 +25,6 @@ void test(std::binomial_distribution<int> dist)
G<int> badg;
G<unsigned> okg;
- dist(badg); //expected-error@*:* 2 {{static assertion failed}} //expected-note {{in instantiation}}
- dist(okg);
+ (void)dist(badg); //expected-error@*:* 2 {{static assertion failed}} //expected-note {{in instantiation}}
+ (void)dist(okg);
}
diff --git a/libcxx/test/libcxx/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.geo/bad_engine.verify.cpp b/libcxx/test/libcxx/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.geo/bad_engine.verify.cpp
index d9b692ec94727..b8118932abf72 100644
--- a/libcxx/test/libcxx/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.geo/bad_engine.verify.cpp
+++ b/libcxx/test/libcxx/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.geo/bad_engine.verify.cpp
@@ -26,6 +26,6 @@ void test(std::geometric_distribution<int> dist)
G<int> badg;
G<unsigned> okg;
- dist(badg); //expected-error@*:* 7 {{static assertion failed}} //expected-note {{in instantiation}}
- dist(okg);
+ (void)dist(badg); //expected-error@*:* 7 {{static assertion failed}} //expected-note {{in instantiation}}
+ (void)dist(okg);
}
diff --git a/libcxx/test/libcxx/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.negbin/bad_engine.verify.cpp b/libcxx/test/libcxx/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.negbin/bad_engine.verify.cpp
index e526168d6d4ec..d4e7729d07beb 100644
--- a/libcxx/test/libcxx/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.negbin/bad_engine.verify.cpp
+++ b/libcxx/test/libcxx/numerics/rand/rand.dist/rand.dist.bern/rand.dist.bern.negbin/bad_engine.verify.cpp
@@ -26,6 +26,6 @@ void test(std::negative_binomial_distribution<int> dist)
G<int> badg;
G<unsigned> okg;
- dist(badg); //expected-error@*:* 7 {{static assertion failed}} //expected-note {{in instantiation}}
- dist(okg);
+ (void)dist(badg); //expected-error@*:* 7 {{static assertion failed}} //expected-note {{in instantiation}}
+ (void)dist(okg);
}
diff --git a/libcxx/test/libcxx/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.cauchy/bad_engine.verify.cpp b/libcxx/test/libcxx/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.cauchy/bad_engine.verify.cpp
index 59e5b50a862dc..e5d135fcc5a63 100644
--- a/libcxx/test/libcxx/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.cauchy/bad_engine.verify.cpp
+++ b/libcxx/test/libcxx/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.cauchy/bad_engine.verify.cpp
@@ -25,6 +25,6 @@ void test(std::cauchy_distribution<double> dist)
G<int> badg;
G<unsigned> okg;
- dist(badg); //expected-error@*:* 2 {{static assertion failed}} //expected-note {{in instantiation}}
- dist(okg);
+ (void)dist(badg); //expected-error@*:* 2 {{static assertion failed}} //expected-note {{in instantiation}}
+ (void)dist(okg);
}
diff --git a/libcxx/test/libcxx/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.chisq/bad_engine.verify.cpp b/libcxx/test/libcxx/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.chisq/bad_engine.verify.cpp
index b0265148debf8..5c804043ab309 100644
--- a/libcxx/test/libcxx/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.chisq/bad_engine.verify.cpp
+++ b/libcxx/test/libcxx/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.chisq/bad_engine.verify.cpp
@@ -25,6 +25,6 @@ void test(std::chi_squared_distribution<double> dist)
G<int> badg;
G<unsigned> okg;
- dist(badg); //expected-error@*:* 3 {{static assertion failed}} //expected-note {{in instantiation}}
- dist(okg);
+ (void)dist(badg); //expected-error@*:* 3 {{static assertion failed}} //expected-note {{in instantiation}}
+ (void)dist(okg);
}
diff --git a/libcxx/test/libcxx/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.f/bad_engine.verify.cpp b/libcxx/test/libcxx/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.f/bad_engine.verify.cpp
index 77c97fb3351ad..61f7610f472d7 100644
--- a/libcxx/test/libcxx/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.f/bad_engine.verify.cpp
+++ b/libcxx/test/libcxx/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.f/bad_engine.verify.cpp
@@ -26,6 +26,6 @@ void test(std::fisher_f_distribution<double> dist)
G<int> badg;
G<unsigned> okg;
- dist(badg); //expected-error@*:* 4 {{static assertion failed}} //expected-note {{in instantiation}}
- dist(okg);
+ (void)dist(badg); //expected-error@*:* 4 {{static assertion failed}} //expected-note {{in instantiation}}
+ (void)dist(okg);
}
diff --git a/libcxx/test/libcxx/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.lognormal/bad_engine.verify.cpp b/libcxx/test/libcxx/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.lognormal/bad_engine.verify.cpp
index 80c34580bc40d..5ecc20c4e6bd4 100644
--- a/libcxx/test/libcxx/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.lognormal/bad_engine.verify.cpp
+++ b/libcxx/test/libcxx/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.lognormal/bad_engine.verify.cpp
@@ -25,6 +25,6 @@ void test(std::lognormal_distribution<double> dist)
G<int> badg;
G<unsigned> okg;
- dist(badg); //expected-error@*:* 2 {{static assertion failed}} //expected-note {{in instantiation}}
- dist(okg);
+ (void)dist(badg); //expected-error@*:* 2 {{static assertion failed}} //expected-note {{in instantiation}}
+ (void)dist(okg);
}
diff --git a/libcxx/test/libcxx/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.normal/bad_engine.verify.cpp b/libcxx/test/libcxx/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.normal/bad_engine.verify.cpp
index cc697ab5e7ae2..bcfa9e818965f 100644
--- a/libcxx/test/libcxx/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.normal/bad_engine.verify.cpp
+++ b/libcxx/test/libcxx/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.normal/bad_engine.verify.cpp
@@ -25,6 +25,6 @@ void test(std::normal_distribution<double> dist)
G<int> badg;
G<unsigned> okg;
- dist(badg); //expected-error@*:* 2 {{static assertion failed}} //expected-note {{in instantiation}}
- dist(okg);
+ (void)dist(badg); //expected-error@*:* 2 {{static assertion failed}} //expected-note {{in instantiation}}
+ (void)dist(okg);
}
diff --git a/libcxx/test/libcxx/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.t/bad_engine.verify.cpp b/libcxx/test/libcxx/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.t/bad_engine.verify.cpp
index 151a2bd954c8b..8a4a6b7a6cab4 100644
--- a/libcxx/test/libcxx/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.t/bad_engine.verify.cpp
+++ b/libcxx/test/libcxx/numerics/rand/rand.dist/rand.dist.norm/rand.dist.norm.t/bad_engine.verify.cpp
@@ -25,6 +25,6 @@ void test(std::student_t_distribution<double> dist)
G<int> badg;
G<unsigned> okg;
- dist(badg); //expected-error@*:* 5 {{static assertion failed}} //expected-note {{in instantiation}}
- dist(okg);
+ (void)dist(badg); //expected-error@*:* 5 {{static assertion failed}} //expected-note {{in instantiation}}
+ (void)dist(okg);
}
diff --git a/libcxx/test/libcxx/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.exp/bad_engine.verify.cpp b/libcxx/test/libcxx/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.exp/bad_engine.verify.cpp
index b1241214de76f..b177b76905bc0 100644
--- a/libcxx/test/libcxx/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.exp/bad_engine.verify.cpp
+++ b/libcxx/test/libcxx/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.exp/bad_engine.verify.cpp
@@ -25,6 +25,6 @@ void test(std::exponential_distribution<double> dist)
G<int> badg;
G<unsigned> okg;
- dist(badg); //expected-error@*:* {{static assertion failed}} //expected-note {{in instantiation}}
- dist(okg);
+ (void)dist(badg); //expected-error@*:* {{static assertion failed}} //expected-note {{in instantiation}}
+ (void)dist(okg);
}
diff --git a/libcxx/test/libcxx/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.extreme/bad_engine.verify.cpp b/libcxx/test/libcxx/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.extreme/bad_engine.verify.cpp
index c002716a5316a..d083a2e010c9b 100644
--- a/libcxx/test/libcxx/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.extreme/bad_engine.verify.cpp
+++ b/libcxx/test/libcxx/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.extreme/bad_engine.verify.cpp
@@ -25,6 +25,6 @@ void test(std::extreme_value_distribution<double> dist)
G<int> badg;
G<unsigned> okg;
- dist(badg); //expected-error@*:* 2 {{static assertion failed}} //expected-note {{in instantiation}}
- dist(okg);
+ (void)dist(badg); //expected-error@*:* 2 {{static assertion failed}} //expected-note {{in instantiation}}
+ (void)dist(okg);
}
diff --git a/libcxx/test/libcxx/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.gamma/bad_engine.verify.cpp b/libcxx/test/libcxx/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.gamma/bad_engine.verify.cpp
index 8bf87dd8615c6..be1fad1e07677 100644
--- a/libcxx/test/libcxx/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.gamma/bad_engine.verify.cpp
+++ b/libcxx/test/libcxx/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.gamma/bad_engine.verify.cpp
@@ -25,6 +25,6 @@ void test(std::gamma_distribution<double> dist)
G<int> badg;
G<unsigned> okg;
- dist(badg); //expected-error@*:* 3 {{static assertion failed}} //expected-note {{in instantiation}}
- dist(okg);
+ (void)dist(badg); //expected-error@*:* 3 {{static assertion failed}} //expected-note {{in instantiation}}
+ (void)dist(okg);
}
diff --git a/libcxx/test/libcxx/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.poisson/bad_engine.verify.cpp b/libcxx/test/libcxx/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.poisson/bad_engine.verify.cpp
index ef56d9635fc49..c4a55f033263a 100644
--- a/libcxx/test/libcxx/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.poisson/bad_engine.verify.cpp
+++ b/libcxx/test/libcxx/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.poisson/bad_engine.verify.cpp
@@ -26,6 +26,6 @@ void test(std::poisson_distribution<int> dist)
G<int> badg;
G<unsigned> okg;
- dist(badg); //expected-error@*:* 4 {{static assertion failed}} //expected-note {{in instantiation}}
- dist(okg);
+ (void)dist(badg); //expected-error@*:* 4 {{static assertion failed}} //expected-note {{in instantiation}}
+ (void)dist(okg);
}
diff --git a/libcxx/test/libcxx/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.weibull/bad_engine.verify.cpp b/libcxx/test/libcxx/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.weibull/bad_engine.verify.cpp
index e40c1972abeb4..156af700cb349 100644
--- a/libcxx/test/libcxx/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.weibull/bad_engine.verify.cpp
+++ b/libcxx/test/libcxx/numerics/rand/rand.dist/rand.dist.pois/rand.dist.pois.weibull/bad_engine.verify.cpp
@@ -25,6 +25,6 @@ void test(std::weibull_distribution<double> dist)
G<int> badg;
G<unsigned> okg;
- dist(badg); //expected-error@*:* {{static assertion failed}} //expected-note {{in instantiation}}
- dist(okg);
+ (void)dist(badg); //expected-error@*:* {{static assertion failed}} //expected-note {{in instantiation}}
+ (void)dist(okg);
}
diff --git a/libcxx/test/libcxx/numerics/rand/rand.dist/rand.dist.samp/rand.dist.samp.discrete/bad_engine.verify.cpp b/libcxx/test/libcxx/numerics/rand/rand.dist/rand.dist.samp/rand.dist.samp.discrete/bad_engine.verify.cpp
index a4def062f83f1..36ed7cd770bac 100644
--- a/libcxx/test/libcxx/numerics/rand/rand.dist/rand.dist.samp/rand.dist.samp.discrete/bad_engine.verify.cpp
+++ b/libcxx/test/libcxx/numerics/rand/rand.dist/rand.dist.samp/rand.dist.samp.discrete/bad_engine.verify.cpp
@@ -25,6 +25,6 @@ void test(std::discrete_distribution<int> dist)
G<int> badg;
G<unsigned> okg;
- dist(badg); //expected-error@*:* 2 {{static assertion failed}} //expected-note {{in instantiation}}
- dist(okg);
+ (void)dist(badg); //expected-error@*:* 2 {{static assertion failed}} //expected-note {{in instantiation}}
+ (void)dist(okg);
}
diff --git a/libcxx/test/libcxx/numerics/rand/rand.dist/rand.dist.samp/rand.dist.samp.pconst/bad_engine.verify.cpp b/libcxx/test/libcxx/numerics/rand/rand.dist/rand.dist.samp/rand.dist.samp.pconst/bad_engine.verify.cpp
index 002071129d03e..309d71a61f918 100644
--- a/libcxx/test/libcxx/numerics/rand/rand.dist/rand.dist.samp/rand.dist.samp.pconst/bad_engine.verify.cpp
+++ b/libcxx/test/libcxx/numerics/rand/rand.dist/rand.dist.samp/rand.dist.samp.pconst/bad_engine.verify.cpp
@@ -25,6 +25,6 @@ void test(std::piecewise_constant_distribution<double> dist)
G<int> badg;
G<unsigned> okg;
- dist(badg); //expected-error@*:* 2 {{static assertion failed}} //expected-note {{in instantiation}}
- dist(okg);
+ (void)dist(badg); //expected-error@*:* 2 {{static assertion failed}} //expected-note {{in instantiation}}
+ (void)dist(okg);
}
diff --git a/libcxx/test/libcxx/numerics/rand/rand.dist/rand.dist.samp/rand.dist.samp.plinear/bad_engine.verify.cpp b/libcxx/test/libcxx/numerics/rand/rand.dist/rand.dist.samp/rand.dist.samp.plinear/bad_engine.verify.cpp
index 0fb54a403ac9e..736acb2b3707d 100644
--- a/libcxx/test/libcxx/numerics/rand/rand.dist/rand.dist.samp/rand.dist.samp.plinear/bad_engine.verify.cpp
+++ b/libcxx/test/libcxx/numerics/rand/rand.dist/rand.dist.samp/rand.dist.samp.plinear/bad_engine.verify.cpp
@@ -25,6 +25,6 @@ void test(std::piecewise_linear_distribution<double> dist)
G<int> badg;
G<unsigned> okg;
- dist(badg); //expected-error@*:* 2 {{static assertion failed}} //expected-note {{in instantiation}}
- dist(okg);
+ (void)dist(badg); //expected-error@*:* 2 {{static assertion failed}} //expected-note {{in instantiation}}
+ (void)dist(okg);
}
diff --git a/libcxx/test/libcxx/numerics/rand/rand.dist/rand.dist.uni/rand.dist.uni.int/bad_engine.verify.cpp b/libcxx/test/libcxx/numerics/rand/rand.dist/rand.dist.uni/rand.dist.uni.int/bad_engine.verify.cpp
index 2432843942e29..3b5cf901cef27 100644
--- a/libcxx/test/libcxx/numerics/rand/rand.dist/rand.dist.uni/rand.dist.uni.int/bad_engine.verify.cpp
+++ b/libcxx/test/libcxx/numerics/rand/rand.dist/rand.dist.uni/rand.dist.uni.int/bad_engine.verify.cpp
@@ -26,6 +26,6 @@ void test(std::uniform_int_distribution<int> dist)
G<int> badg;
G<unsigned> okg;
- dist(badg); //expected-error@*:* {{static assertion failed}} //expected-note {{in instantiation}}
- dist(okg);
+ (void)dist(badg); //expected-error@*:* {{static assertion failed}} //expected-note {{in instantiation}}
+ (void)dist(okg);
}
diff --git a/libcxx/test/libcxx/numerics/rand/rand.dist/rand.dist.uni/rand.dist.uni.real/bad_engine.verify.cpp b/libcxx/test/libcxx/numerics/rand/rand.dist/rand.dist.uni/rand.dist.uni.real/bad_engine.verify.cpp
index fa5c3a3ebb484..66b51a724899d 100644
--- a/libcxx/test/libcxx/numerics/rand/rand.dist/rand.dist.uni/rand.dist.uni.real/bad_engine.verify.cpp
+++ b/libcxx/test/libcxx/numerics/rand/rand.dist/rand.dist.uni/rand.dist.uni.real/bad_engine.verify.cpp
@@ -25,6 +25,6 @@ void test(std::uniform_real_distribution<double> dist)
G<int> badg;
G<unsigned> okg;
- dist(badg); //expected-error@*:* {{static assertion failed}} //expected-note {{in instantiation}}
- dist(okg);
+ (void)dist(badg); //expected-error@*:* {{static assertion failed}} //expected-note {{in instantiation}}
+ (void)dist(okg);
}
More information about the libcxx-commits
mailing list