re PR c++/67595 (concepts code causes segfault)

2017-10-30  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/67595
	* g++.dg/concepts/pr67595.C: New.

From-SVN: r254245
This commit is contained in:
Paolo Carlini 2017-10-30 22:41:21 +00:00 committed by Paolo Carlini
parent 59d7953a63
commit 77efd154f3
2 changed files with 18 additions and 0 deletions

View File

@ -1,3 +1,8 @@
2017-10-30 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/67595
* g++.dg/concepts/pr67595.C: New.
2017-10-30 Paul Thomas <pault@gcc.gnu.org>
PR fortran/80850

View File

@ -0,0 +1,13 @@
// { dg-options "-std=c++17 -fconcepts" }
template <class X> concept bool allocatable = requires{{new X}->X * };
template <class X> concept bool semiregular = allocatable<X>;
template <class X> concept bool readable = requires{requires semiregular<X>};
template <class> int weak_input_iterator = requires{{0}->readable};
template <class X> bool input_iterator{weak_input_iterator<X>};
template <class X> bool forward_iterator{input_iterator<X>};
template <class X> bool bidirectional_iterator{forward_iterator<X>};
template <class X>
concept bool random_access_iterator{bidirectional_iterator<X>};
void fn1(random_access_iterator);
int main() { fn1(0); } // { dg-error "" }