Mercurial > hg > CbC > CbC_llvm
view clang/test/SemaCXX/dependent-noexcept-unevaluated.cpp @ 221:79ff65ed7e25
LLVM12 Original
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Tue, 15 Jun 2021 19:15:29 +0900 |
parents | 1d019706d866 |
children |
line wrap: on
line source
// RUN: %clang_cc1 -fsyntax-only -std=c++11 %s template <class T> T&& declval() noexcept; template <class T> struct some_trait { static const bool value = false; }; template <class T> void swap(T& x, T& y) noexcept(some_trait<T>::value) { T tmp(static_cast<T&&>(x)); x = static_cast<T&&>(y); y = static_cast<T&&>(tmp); } template <class T, unsigned N> struct array { T data[N]; void swap(array& a) noexcept(noexcept(::swap(declval<T&>(), declval<T&>()))); }; struct DefaultOnly { DefaultOnly() = default; DefaultOnly(const DefaultOnly&) = delete; DefaultOnly& operator=(const DefaultOnly&) = delete; ~DefaultOnly() = default; }; int main() { array<DefaultOnly, 1> a, b; }