diff options
author | Marek Polacek <polacek@redhat.com> | 2019-08-02 18:17:20 +0000 |
---|---|---|
committer | Marek Polacek <mpolacek@gcc.gnu.org> | 2019-08-02 18:17:20 +0000 |
commit | 59e01f364927e66c0bb1ebc22c401cf2630616c0 (patch) | |
tree | ce2a9604a933677bc53e4c693b8cf06a49a619ab /gcc | |
parent | 8a2e0013a04dc28e249660b4c49992b14b5dcc09 (diff) | |
download | gcc-59e01f364927e66c0bb1ebc22c401cf2630616c0.zip gcc-59e01f364927e66c0bb1ebc22c401cf2630616c0.tar.gz gcc-59e01f364927e66c0bb1ebc22c401cf2630616c0.tar.bz2 |
re PR c++/56428 ([C++11] "is not a constant expression" when comparing non-type template argument to nullptr)
PR c++/56428
* g++.dg/cpp0x/nontype4.C: New test.
From-SVN: r274028
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/g++.dg/cpp0x/nontype4.C | 25 |
2 files changed, 30 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index d57410c..147d8f85 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,5 +1,10 @@ 2019-08-02 Marek Polacek <polacek@redhat.com> + PR c++/56428 + * g++.dg/cpp0x/nontype4.C: New test. + +2019-08-02 Marek Polacek <polacek@redhat.com> + PR c++/53009 * g++.dg/cpp0x/nontype3.C: New test. diff --git a/gcc/testsuite/g++.dg/cpp0x/nontype4.C b/gcc/testsuite/g++.dg/cpp0x/nontype4.C new file mode 100644 index 0000000..2c552d0 --- /dev/null +++ b/gcc/testsuite/g++.dg/cpp0x/nontype4.C @@ -0,0 +1,25 @@ +// PR c++/56428 +// { dg-do compile { target c++11 } } + +struct A { }; + +template<bool B> + struct Builder + { + static A build() { return A(); } + }; + +template<A (*F)()> + A f() + { + return Builder<F != nullptr>::build(); + } + +A g(); + +int main() +{ + f< &g >(); + f< nullptr >(); + f< &f<nullptr> >(); +} |