1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
// { dg-do run } extern "C" void abort(); template <int I> int bar() { return I; } template <class T> int foo(T) { return bar<sizeof(T) + 4>() + bar<sizeof(long) + 7>(); } int main() { if (foo(2) != sizeof(int) + 4 + sizeof(long) + 7) abort(); }