| // GMF |
| |
| // Non-inline function definitions in headers are a recipe for ODR violations, |
| // but we should probably support that anyway as its not inherently wrong |
| // if only ever included into the GMF of a single module. |
| |
| auto gmf_n_i() { |
| struct X { void f() {} }; |
| return X{}; |
| } |
| |
| inline auto gmf_i_i() { |
| struct X { void f() {} }; |
| return X{}; |
| } |
| |
| auto gmf_n_i_i() { |
| struct X { |
| auto f() { |
| struct Y { |
| void g() {} |
| }; |
| return Y{}; |
| } |
| }; |
| return X{}; |
| } |
| |
| inline auto gmf_i_i_i() { |
| struct X { |
| auto f() { |
| struct Y { |
| void g() {} |
| }; |
| return Y{}; |
| } |
| }; |
| return X{}; |
| } |