1 // { dg-do compile { target c++11 } } 2 3 // Test that the standard suffixes shadow any user-defined suffixes of the same name. 4 long double 5 operator"" L(long double x) // { dg-warning "floating point suffix|shadowed by implementation" } 6 { return x; } 7 8 unsigned long long int 9 operator"" ULL(unsigned long long int k) // { dg-warning "integer suffix|shadowed by implementation" } 10 { return k; } 11 12 long double 13 operator"" l(long double x) // { dg-warning "floating point suffix|shadowed by implementation" } 14 { return x; } 15 16 unsigned long long int 17 operator"" ull(unsigned long long int k) // { dg-warning "integer suffix|shadowed by implementation" } 18 { return k; } 19 20 // Namespaces are no hiding place. 21 namespace Long 22 { 23 24 long double 25 operator"" L(long double x) // { dg-warning "integer suffix|shadowed by implementation" } 26 { return x; } 27 28 unsigned long long int 29 operator"" ULL(unsigned long long int k) // { dg-warning "integer suffix|shadowed by implementation" } 30 { return k; } 31 32 long double 33 operator"" l(long double x) // { dg-warning "integer suffix|shadowed by implementation" } 34 { return x; } 35 36 unsigned long long int 37 operator"" ull(unsigned long long int k) // { dg-warning "integer suffix|shadowed by implementation" } 38 { return k; } 39 40 } 41 42 // { dg-warning "literal operator suffixes not preceded by|are reserved for future standardization" "reserved" { target *-*-* } 5 } 43 // { dg-warning "literal operator suffixes not preceded by|are reserved for future standardization" "reserved" { target *-*-* } 9 } 44 // { dg-warning "literal operator suffixes not preceded by|are reserved for future standardization" "reserved" { target *-*-* } 13 } 45 // { dg-warning "literal operator suffixes not preceded by|are reserved for future standardization" "reserved" { target *-*-* } 17 } 46 // { dg-warning "literal operator suffixes not preceded by|are reserved for future standardization" "reserved" { target *-*-* } 25 } 47 // { dg-warning "literal operator suffixes not preceded by|are reserved for future standardization" "reserved" { target *-*-* } 29 } 48 // { dg-warning "literal operator suffixes not preceded by|are reserved for future standardization" "reserved" { target *-*-* } 33 } 49 // { dg-warning "literal operator suffixes not preceded by|are reserved for future standardization" "reserved" { target *-*-* } 37 } 50