re PR fortran/32627 ([ISO Bind C] Accept c_f_pointer for TYPE)
authorChristopher D. Rickett <crickett@lanl.gov>
Sat, 21 Jul 2007 23:45:44 +0000 (23:45 +0000)
committerSteven G. Kargl <kargl@gcc.gnu.org>
Sat, 21 Jul 2007 23:45:44 +0000 (23:45 +0000)
commit6ad5cf725fa39fbc8569e99af088441bfb92f0db
treea0c66745a59e2ad6d40022ec11f867e11ccaa8fb
parent8e4c6d8802234d9b885d1f3286b5363484bee1f5
re PR fortran/32627 ([ISO Bind C] Accept c_f_pointer for TYPE)

2007-07-21  Christopher D. Rickett  <crickett@lanl.gov>

        PR fortran/32627
        * resolve.c (set_name_and_label): Set kind number for character
        version of c_f_pointer.
        (gfc_iso_c_sub_interface): Set the kind of the SHAPE formal arg to
        that of the actual SHAPE arg.
        * symbol.c (gen_shape_param): Initialize kind for SHAPE arg.

2007-07-21  Christopher D. Rickett  <crickett@lanl.gov>

        PR fortran/32627
        * libgfortran/intrinsics/iso_c_generated_procs.c: Add c_f_pointer
        for character/string arguments.
        * libgfortran/intrinsic/iso_c_binding.c (c_f_pointer_u0): Allow
        the optional SHAPE arg to be any valid integer kind.
        * libgfortran/gfortran.map: Add c_f_pointer_s0.
        * libgfortran/mk-kinds-h.sh: Save smallest integer kind as default
        character kind.
        * libgfortran/intrinsics/iso_c_generated_procs.c: Add versions of
        c_f_pointer for complex and logical types.
        * libgfortran/gfortran.map: Add c_f_pointer versions for logical
        and complex types.

2007-07-21  Christopher D. Rickett  <crickett@lanl.gov>

        PR fortran/32627
        * gfortran.dg/pr32627_driver.c: Driver for pr32627.
        * gfortran.dg/pr32627.f03: New test case.
        * gfortran.dg/c_f_pointer_logical.f03: New test case.
        * gfortran.dg/c_f_pointer_logical_driver.c: Driver for
        c_f_pointer_logical.
        * gfortran.dg/c_f_pointer_complex_driver.c: Driver for
        c_f_pointer_complex.
        * gfortran.dg/c_f_pointer_complex.f03: New test case.
        * gfortran.dg/c_f_pointer_shape_tests_2_driver.c: Driver for
        c_f_pointer_shape_tests_2.
        * gfortran.dg/c_f_pointer_shape_tests_2.f03: New test case.

From-SVN: r126817
17 files changed:
gcc/fortran/ChangeLog
gcc/fortran/resolve.c
gcc/fortran/symbol.c
gcc/testsuite/ChangeLog
gcc/testsuite/gfortran.dg/c_f_pointer_complex.f03 [new file with mode: 0644]
gcc/testsuite/gfortran.dg/c_f_pointer_complex_driver.c [new file with mode: 0644]
gcc/testsuite/gfortran.dg/c_f_pointer_logical.f03 [new file with mode: 0644]
gcc/testsuite/gfortran.dg/c_f_pointer_logical_driver.c [new file with mode: 0644]
gcc/testsuite/gfortran.dg/c_f_pointer_shape_tests_2.f03 [new file with mode: 0644]
gcc/testsuite/gfortran.dg/c_f_pointer_shape_tests_2_driver.c [new file with mode: 0644]
gcc/testsuite/gfortran.dg/pr32627.f03 [new file with mode: 0644]
gcc/testsuite/gfortran.dg/pr32627_driver.c [new file with mode: 0644]
libgfortran/ChangeLog
libgfortran/gfortran.map
libgfortran/intrinsics/iso_c_binding.c
libgfortran/intrinsics/iso_c_generated_procs.c
libgfortran/mk-kinds-h.sh