c++: constantness of call to function pointer [PR111703]
[official-gcc.git] / gcc / testsuite / g++.dg / pr101511.C
blobee2c7fdbc02e93bc5bae54fe4ccd6454e6181ad9
1 // { dg-do compile }
2 // { dg-options "-O2 -Wno-div-by-zero" }
4 void __assert_fail(const char *, const char *, int, const char *)
5     __attribute__((__noreturn__));
6 template <typename T> void test_uint() {
7   long __trans_tmp_3, __trans_tmp_1;
8   int Error;
9   for (;;) {
10     {
11       unsigned long Tmp = -1;
12       __trans_tmp_3 = Tmp - Tmp % 0;
13     }
14     Error += 0 == __trans_tmp_3 ? 0 : 1;
15     !Error ? void() : __assert_fail("", "", 3, __PRETTY_FUNCTION__);
16     T Tmp = -1;
17     __trans_tmp_1 = Tmp - Tmp % 0;
18     Error += 0 == __trans_tmp_1 ? 0 : 1;
19     !Error ? void() : __assert_fail("", "", 7, __PRETTY_FUNCTION__);
20   }
22 void test() { test_uint<unsigned long>(); }