| // PR c++/82373 |
| // { dg-do compile { target c++14 } } |
| |
| namespace N |
| { |
| int (*fp)(int); |
| auto foo(int a) // { dg-message "In function 'auto N::foo\\(int\\)'" "" { target *-*-* } 0 } |
| { |
| if (a) |
| return fp; |
| return nullptr; // { dg-error "inconsistent deduction for auto return type: 'int \\(\\*\\)\\(int\\)' and then 'std::nullptr_t'" } */ |
| } |
| } |
| int (*fp2)(int); |
| auto bar(int a) // { dg-message "In function 'auto bar\\(int\\)'" "" { target *-*-* } 0 } |
| { |
| if (a) |
| return fp2; |
| return nullptr; // { dg-error "inconsistent deduction for auto return type: 'int \\(\\*\\)\\(int\\)' and then 'std::nullptr_t'" } */ |
| } |