diff options
Diffstat (limited to 'gcc/testsuite/g++.dg/cpp0x/udlit-friend.C')
-rw-r--r-- | gcc/testsuite/g++.dg/cpp0x/udlit-friend.C | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.dg/cpp0x/udlit-friend.C b/gcc/testsuite/g++.dg/cpp0x/udlit-friend.C new file mode 100644 index 00000000000..b3f3ef8a604 --- /dev/null +++ b/gcc/testsuite/g++.dg/cpp0x/udlit-friend.C @@ -0,0 +1,28 @@ +// { dg-options -std=c++0x } + +long double +operator"" _Hertz(long double); + +class Foo +{ +public: + Foo() { } + + friend Foo operator"" _Bar(char); + + friend long double + operator"" _Hertz(long double omega) + { return omega / 6.28318530717958648; } +}; + +Foo +operator"" _Bar(char) +{ return Foo(); } + +Foo f1 = operator"" _Bar('x'); + +Foo f2 = 'x'_Bar; + +long double fm1 = operator"" _Hertz(552.92L); + +long double fm2 = 552.92_Hertz; |