1*7d3bba5eSNikolas Klauser //===----------------------------------------------------------------------===// 2*7d3bba5eSNikolas Klauser // 3*7d3bba5eSNikolas Klauser // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4*7d3bba5eSNikolas Klauser // See https://llvm.org/LICENSE.txt for license information. 5*7d3bba5eSNikolas Klauser // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6*7d3bba5eSNikolas Klauser // 7*7d3bba5eSNikolas Klauser //===----------------------------------------------------------------------===// 8*7d3bba5eSNikolas Klauser 9*7d3bba5eSNikolas Klauser // UNSUPPORTED: c++03, c++11, c++14, c++17 10*7d3bba5eSNikolas Klauser 11*7d3bba5eSNikolas Klauser // Check that std::rotl and std::rotr are marked [[nodiscard]] 12*7d3bba5eSNikolas Klauser 13*7d3bba5eSNikolas Klauser #include <bit> 14*7d3bba5eSNikolas Klauser func()15*7d3bba5eSNikolas Klauservoid func() { 16*7d3bba5eSNikolas Klauser std::rotl(0u, 0); // expected-warning {{ignoring return value of function declared with 'nodiscard' attribute}} 17*7d3bba5eSNikolas Klauser std::rotr(0u, 0); // expected-warning {{ignoring return value of function declared with 'nodiscard' attribute}} 18*7d3bba5eSNikolas Klauser } 19