blob: e425af291e3020c7deec3334f32f7bf84537e3b6 [file] [log] [blame]
// PR c++/103310
// Test that only manifestly-constant-evaluated comparisons lock a symbol's
// weakness.
// { dg-do compile { target c++17 } }
// { dg-additional-options "-fdelete-null-pointer-checks" }
extern void weakfn1 (void);
extern void weakfn2 (void);
void call_weakfn (void)
{
if (weakfn1)
weakfn1 ();
if constexpr (weakfn2)
weakfn2 ();
}
extern void weakfn1 (void) __attribute__((weak));
extern void weakfn2 (void) __attribute__((weak)); // { dg-error "declared weak after being used" }