// { dg-do compile { target c++11 } } // { dg-options "--embed-dir=${srcdir}/c-c++-common/cpp/embed-dir" } template <int... N> constexpr decltype (sizeof 0) foo () { return sizeof... (N); } template <typename T, typename U> struct same_type; template <typename T> struct same_type <T, T> {}; void bar () { } template <typename U, typename... T> same_type <U, int> * bar (U u, T... t) { bar (t...); return nullptr; } static_assert ( #embed <magna-carta.txt> limit (1) prefix (foo <) suffix (> () == 1, "") ); static_assert ( #embed <magna-carta.txt> limit (2) prefix (foo <) suffix (> () == 2, "") ); static_assert ( #embed <magna-carta.txt> limit (42) prefix (foo <) suffix (> () == 42, "") ); static_assert ( #embed <magna-carta.txt> limit (521) prefix (foo <) suffix (> () == 521, "") ); void baz () { bar ( #embed "magna-carta.txt" limit (54) ); }