xref: /llvm-project/clang/test/Modules/overloadable-attrs.cpp (revision b7760210d3d42356e3a89db3a468c6959d0d6745)
19584508dSGeorge Burgess IV // RUN: rm -rf %t
29584508dSGeorge Burgess IV // RUN: %clang_cc1 -I%S/Inputs/overloadable-attrs -fmodules \
39584508dSGeorge Burgess IV // RUN:            -fmodule-map-file=%S/Inputs/overloadable-attrs/module.modulemap \
49584508dSGeorge Burgess IV // RUN:            -fmodules-cache-path=%t -verify %s -std=c++11
59584508dSGeorge Burgess IV //
69584508dSGeorge Burgess IV // Ensures that we don't merge decls with attrs that we allow overloading on.
79584508dSGeorge Burgess IV //
89584508dSGeorge Burgess IV // expected-no-diagnostics
99584508dSGeorge Burgess IV 
109584508dSGeorge Burgess IV #include "a.h"
119584508dSGeorge Burgess IV 
129584508dSGeorge Burgess IV static_assert(enable_if_attrs::fn1() == 1, "");
139584508dSGeorge Burgess IV static_assert(enable_if_attrs::fn2() == 1, "");
149584508dSGeorge Burgess IV static_assert(enable_if_attrs::fn3(0) == 0, "");
159584508dSGeorge Burgess IV static_assert(enable_if_attrs::fn3(1) == 1, "");
169584508dSGeorge Burgess IV static_assert(enable_if_attrs::fn4(0) == 0, "");
179584508dSGeorge Burgess IV static_assert(enable_if_attrs::fn4(1) == 1, "");
189584508dSGeorge Burgess IV static_assert(enable_if_attrs::fn5(0) == 0, "");
199584508dSGeorge Burgess IV static_assert(enable_if_attrs::fn5(1) == 1, "");
20*b7760210SGeorge Burgess IV 
21*b7760210SGeorge Burgess IV static_assert(pass_object_size_attrs::fn1(nullptr) == 1, "");
22*b7760210SGeorge Burgess IV static_assert(pass_object_size_attrs::fn2(nullptr) == 1, "");
23