1! { dg-do compile } 2! This checks the fix for PR20889 in wrong pointer types in derived 3! type constructors would either give no message or would segfault. 4! 5! Contributed by Joost VandVondele <jv244@cam.ac.uk> 6!============== 7 TYPE TEST 8 REAL, POINTER :: A 9 END TYPE 10 11 TYPE TEST1 12 REAL :: A 13 END TYPE 14 15 INTEGER, POINTER :: IP 16 real, POINTER :: RP 17 TYPE(TEST) :: DD 18 TYPE(TEST1) :: EE 19! Next line is the original => gave no warning/error. 20 DD=TEST(NULL(IP)) ! { dg-error "INTEGER but should be REAL" } 21! Would segfault here. 22 DD=TEST(IP) ! { dg-error "INTEGER but should be REAL" } 23! Check right target type is OK. 24 DD=TEST(NULL(RP)) 25! Check non-pointer is OK. 26 EE= TEST1(1) 27! Test attempted conversion from character to real. 28 EE= TEST1("e") ! { dg-error "convert CHARACTER" } 29END