diff options
author | Ben Cheng <bccheng@google.com> | 2014-03-25 22:37:19 -0700 |
---|---|---|
committer | Ben Cheng <bccheng@google.com> | 2014-03-25 22:37:19 -0700 |
commit | 1bc5aee63eb72b341f506ad058502cd0361f0d10 (patch) | |
tree | c607e8252f3405424ff15bc2d00aa38dadbb2518 /gcc-4.9/gcc/testsuite/gfortran.dg/iso_c_binding_c_loc_char_1.f03 | |
parent | 283a0bf58fcf333c58a2a92c3ebbc41fb9eb1fdb (diff) | |
download | toolchain_gcc-1bc5aee63eb72b341f506ad058502cd0361f0d10.tar.gz toolchain_gcc-1bc5aee63eb72b341f506ad058502cd0361f0d10.tar.bz2 toolchain_gcc-1bc5aee63eb72b341f506ad058502cd0361f0d10.zip |
Initial checkin of GCC 4.9.0 from trunk (r208799).
Change-Id: I48a3c08bb98542aa215912a75f03c0890e497dba
Diffstat (limited to 'gcc-4.9/gcc/testsuite/gfortran.dg/iso_c_binding_c_loc_char_1.f03')
-rw-r--r-- | gcc-4.9/gcc/testsuite/gfortran.dg/iso_c_binding_c_loc_char_1.f03 | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/gcc-4.9/gcc/testsuite/gfortran.dg/iso_c_binding_c_loc_char_1.f03 b/gcc-4.9/gcc/testsuite/gfortran.dg/iso_c_binding_c_loc_char_1.f03 new file mode 100644 index 000000000..14bc4a075 --- /dev/null +++ b/gcc-4.9/gcc/testsuite/gfortran.dg/iso_c_binding_c_loc_char_1.f03 @@ -0,0 +1,21 @@ +! { dg-do compile } +! PR 38536 - don't reject substring of length one +! Original test case by Scot Breitenfeld +SUBROUTINE test(buf, buf2, buf3, n) + USE, INTRINSIC :: ISO_C_BINDING + IMPLICIT NONE + CHARACTER(LEN=*), INTENT(INOUT), TARGET :: buf + INTEGER, INTENT(in) :: n + CHARACTER(LEN=*), INTENT(INOUT), DIMENSION(1:2), TARGET :: buf2 + CHARACTER(LEN=3), TARGET :: buf3 + TYPE(C_PTR) :: f_ptr + + f_ptr = C_LOC(buf(1:1)) ! Used to fail + ! Error: CHARACTER argument 'buf' to 'c_loc' + ! at (1) must have a length of 1 + f_ptr = C_LOC(buf2(1)(1:1)) ! PASSES + + f_ptr = C_LOC(buf(n:n)) + + f_ptr = C_LOC(buf3(3:)) +END SUBROUTINE test |