summaryrefslogtreecommitdiff
path: root/libgfortran/mk-kinds-h.sh
diff options
context:
space:
mode:
authorChristopher D. Rickett <crickett@lanl.gov>2007-07-21 23:45:44 +0000
committerSteven G. Kargl <kargl@gcc.gnu.org>2007-07-21 23:45:44 +0000
commit6ad5cf725fa39fbc8569e99af088441bfb92f0db (patch)
treea0c66745a59e2ad6d40022ec11f867e11ccaa8fb /libgfortran/mk-kinds-h.sh
parent8e4c6d8802234d9b885d1f3286b5363484bee1f5 (diff)
downloadgcc-6ad5cf725fa39fbc8569e99af088441bfb92f0db.tar.gz
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
Diffstat (limited to 'libgfortran/mk-kinds-h.sh')
-rwxr-xr-xlibgfortran/mk-kinds-h.sh6
1 files changed, 6 insertions, 0 deletions
diff --git a/libgfortran/mk-kinds-h.sh b/libgfortran/mk-kinds-h.sh
index 98328b6323a..ccd073844c9 100755
--- a/libgfortran/mk-kinds-h.sh
+++ b/libgfortran/mk-kinds-h.sh
@@ -8,6 +8,7 @@ possible_real_kinds="4 8 10 16"
largest=""
+smallest=""
for k in $possible_integer_kinds; do
echo " integer (kind=$k) :: i" > tmp$$.f90
echo " end" >> tmp$$.f90
@@ -21,6 +22,10 @@ for k in $possible_integer_kinds; do
prefix=""
fi
+ if [ "$smallest" = "" ]; then
+ smallest="$k"
+ fi
+
echo "typedef ${prefix}int${s}_t GFC_INTEGER_${k};"
echo "typedef ${prefix}uint${s}_t GFC_UINTEGER_${k};"
echo "typedef GFC_INTEGER_${k} GFC_LOGICAL_${k};"
@@ -32,6 +37,7 @@ done
echo "#define GFC_INTEGER_LARGEST GFC_INTEGER_${largest}"
echo "#define GFC_UINTEGER_LARGEST GFC_UINTEGER_${largest}"
+echo "#define GFC_DEFAULT_CHAR ${smallest}"
echo ""