aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.9/gcc/testsuite/gfortran.dg/transfer_check_2.f90
diff options
context:
space:
mode:
Diffstat (limited to 'gcc-4.9/gcc/testsuite/gfortran.dg/transfer_check_2.f90')
-rw-r--r--gcc-4.9/gcc/testsuite/gfortran.dg/transfer_check_2.f9016
1 files changed, 16 insertions, 0 deletions
diff --git a/gcc-4.9/gcc/testsuite/gfortran.dg/transfer_check_2.f90 b/gcc-4.9/gcc/testsuite/gfortran.dg/transfer_check_2.f90
new file mode 100644
index 000000000..3f2e1bfb5
--- /dev/null
+++ b/gcc-4.9/gcc/testsuite/gfortran.dg/transfer_check_2.f90
@@ -0,0 +1,16 @@
+! { dg-do compile }
+! { dg-options "-Wsurprising" }
+! PR 37221 - also warn about too-long MOLD for TRANSFER if not simplifying.
+! Test case based on contribution by Tobias Burnus.
+program main
+ character(len=10) :: str
+ integer :: i
+ str = transfer(65+66*2**8+67*2**16+68*2**24,str) ! { dg-warning "has partly undefined result" }
+ write (*,*) str(1:4)
+ i = 65+66*2**8+67*2**16+68*2**24
+ str = transfer(i,str) ! { dg-warning "has partly undefined result" }
+ write (*,*) str(1:4)
+ str = transfer(i,str(1:4))
+ write (*,*) str(1:4)
+end program
+