aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSteven G. Kargl <kargl@gcc.gnu.org>2007-06-07 23:38:49 +0000
committerSteven G. Kargl <kargl@gcc.gnu.org>2007-06-07 23:38:49 +0000
commit4f91e226633cc9c849e96832505215de2f529e6b (patch)
tree7583e2793475962f39106686694b11b095083730
parent7a7235ef4d8a66b1cbb57c214792ebba39d785e6 (diff)
2007-06-07 Steven G. Kargl <kargl@gcc.gnu.org>
* libgfortran/intrinsics/iso_c_generated_procs.c: Whitespace. Reformat comments. Remove "return;" in void functions. Remove symbols in prototypes. * libgfortran/intrinsics/iso_c_binding.c: Ditto. * libgfortran/intrinsics/iso_c_binding.h: Whitespace. Remove symbols in prototypes. git-svn-id: https://gcc.gnu.org/svn/gcc/branches/fortran-experiments@125545 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/fortran/ChangeLog.isocbinding9
-rw-r--r--libgfortran/intrinsics/iso_c_binding.c52
-rw-r--r--libgfortran/intrinsics/iso_c_binding.h35
-rw-r--r--libgfortran/intrinsics/iso_c_generated_procs.c144
4 files changed, 114 insertions, 126 deletions
diff --git a/gcc/fortran/ChangeLog.isocbinding b/gcc/fortran/ChangeLog.isocbinding
index dea3fc30450..b386de8d22c 100644
--- a/gcc/fortran/ChangeLog.isocbinding
+++ b/gcc/fortran/ChangeLog.isocbinding
@@ -3,6 +3,15 @@ Welcome to the ISO_C_BINDING sandbox!
Please comment here the changes you make to the code, dated with every
commit to the branch, so that we don't get lost.
+2007-06-07 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ * libgfortran/intrinsics/iso_c_generated_procs.c: Whitespace.
+ Reformat comments. Remove "return;" in void functions. Remove
+ symbols in prototypes.
+ * libgfortran/intrinsics/iso_c_binding.c: Ditto.
+ * libgfortran/intrinsics/iso_c_binding.h: Whitespace. Remove
+ symbols in prototypes.
+
2007-06-07 Tobias Schlüter <tobi@gcc.gnu.org>
* gfortran.dg/bind_c_vars_driver.c: Don't include header,
diff --git a/libgfortran/intrinsics/iso_c_binding.c b/libgfortran/intrinsics/iso_c_binding.c
index 43901ec5e24..33575475aa6 100644
--- a/libgfortran/intrinsics/iso_c_binding.c
+++ b/libgfortran/intrinsics/iso_c_binding.c
@@ -29,11 +29,8 @@ write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02110-1301, USA. */
-/**
- * Implement the functions and subroutines provided by the intrinsic
- * iso_c_binding module.
- * --Rickett, 12.13.05
- */
+/* Implement the functions and subroutines provided by the intrinsic
+ iso_c_binding module. */
#include <stdlib.h>
@@ -58,7 +55,7 @@ Boston, MA 02110-1301, USA. */
needs to be the number of bytes for the size of one double). */
void
-ISO_C_BINDING_PREFIX (c_f_pointer) (void * c_ptr_in,
+ISO_C_BINDING_PREFIX (c_f_pointer) (void *c_ptr_in,
gfc_array_void *f_ptr_out,
const array_t *shape,
int type, int elemSize)
@@ -66,19 +63,19 @@ ISO_C_BINDING_PREFIX (c_f_pointer) (void * c_ptr_in,
if (shape != NULL)
{
f_ptr_out->offset = 0;
+
/* Set the necessary dtype field for all pointers. */
f_ptr_out->dtype = 0;
+
/* Put in the element size. */
- f_ptr_out->dtype = f_ptr_out->dtype |
- (elemSize << GFC_DTYPE_SIZE_SHIFT);
+ f_ptr_out->dtype = f_ptr_out->dtype | (elemSize << GFC_DTYPE_SIZE_SHIFT);
+
/* Set the data type (e.g., GFC_DTYPE_INTEGER). */
f_ptr_out->dtype = f_ptr_out->dtype | (type << GFC_DTYPE_TYPE_SHIFT);
}
/* Use the generic version of c_f_pointer to set common fields. */
ISO_C_BINDING_PREFIX (c_f_pointer_u0) (c_ptr_in, f_ptr_out, shape);
-
- return;
}
@@ -92,7 +89,7 @@ ISO_C_BINDING_PREFIX (c_f_pointer) (void * c_ptr_in,
f_ptr_out points to a scalar, then this parameter will be NULL. */
void
-ISO_C_BINDING_PREFIX (c_f_pointer_u0) (void * c_ptr_in,
+ISO_C_BINDING_PREFIX (c_f_pointer_u0) (void *c_ptr_in,
gfc_array_void *f_ptr_out,
const array_t *shape)
{
@@ -112,11 +109,11 @@ ISO_C_BINDING_PREFIX (c_f_pointer_u0) (void * c_ptr_in,
{
/* Lower bound is 1, as specified by the draft. */
f_ptr_out->dim[i].lbound = 1;
- f_ptr_out->dim[i].ubound = ((int *)(shape->data))[i];
+ f_ptr_out->dim[i].ubound = ((int *) (shape->data))[i];
}
- /* Set the offset and strides. */
- /* offset is (sum of (dim[i].lbound * dim[i].stride) for all
+ /* Set the offset and strides.
+ offset is (sum of (dim[i].lbound * dim[i].stride) for all
dims) the -1 means we'll back the data pointer up that much
perhaps we could just realign the data pointer and not change
the offset? */
@@ -124,7 +121,7 @@ ISO_C_BINDING_PREFIX (c_f_pointer_u0) (void * c_ptr_in,
f_ptr_out->offset = f_ptr_out->dim[0].lbound * f_ptr_out->dim[0].stride;
for (i = 1; i < shapeSize; i++)
{
- f_ptr_out->dim[i].stride = (f_ptr_out->dim[i-1].ubound+1)
+ f_ptr_out->dim[i].stride = (f_ptr_out->dim[i-1].ubound + 1)
- f_ptr_out->dim[i-1].lbound;
f_ptr_out->offset += f_ptr_out->dim[i].lbound
* f_ptr_out->dim[i].stride;
@@ -138,10 +135,8 @@ ISO_C_BINDING_PREFIX (c_f_pointer_u0) (void * c_ptr_in,
rank. Then, shift left by the same number to shift in zeros
and or with the new rank. */
f_ptr_out->dtype = ((f_ptr_out->dtype >> GFC_DTYPE_TYPE_SHIFT)
- << GFC_DTYPE_TYPE_SHIFT) | shapeSize;
+ << GFC_DTYPE_TYPE_SHIFT) | shapeSize;
}
-
- return;
}
@@ -149,7 +144,7 @@ ISO_C_BINDING_PREFIX (c_f_pointer_u0) (void * c_ptr_in,
using c_f_pointer_u0 for the majority of the work. */
void
-ISO_C_BINDING_PREFIX (c_f_pointer_d0) (void * c_ptr_in,
+ISO_C_BINDING_PREFIX (c_f_pointer_d0) (void *c_ptr_in,
gfc_array_void *f_ptr_out,
const array_t *shape)
{
@@ -160,11 +155,9 @@ ISO_C_BINDING_PREFIX (c_f_pointer_d0) (void * c_ptr_in,
if (shape != NULL)
{
f_ptr_out->dtype = f_ptr_out->dtype & (~GFC_DTYPE_TYPE_MASK);
- f_ptr_out->dtype = f_ptr_out->dtype |
- (GFC_DTYPE_DERIVED << GFC_DTYPE_TYPE_SHIFT);
+ f_ptr_out->dtype = f_ptr_out->dtype
+ | (GFC_DTYPE_DERIVED << GFC_DTYPE_TYPE_SHIFT);
}
-
- return;
}
@@ -172,12 +165,10 @@ ISO_C_BINDING_PREFIX (c_f_pointer_d0) (void * c_ptr_in,
procedure pointer. */
void
-ISO_C_BINDING_PREFIX (c_f_procpointer) (void * c_ptr_in,
+ISO_C_BINDING_PREFIX (c_f_procpointer) (void *c_ptr_in,
gfc_array_void *f_ptr_out)
{
GFC_DESCRIPTOR_DATA(f_ptr_out) = c_ptr_in;
-
- return;
}
@@ -189,7 +180,7 @@ ISO_C_BINDING_PREFIX (c_f_procpointer) (void * c_ptr_in,
c_ptr is NULL or not. */
GFC_LOGICAL_4
-ISO_C_BINDING_PREFIX (c_associated_1) (void * c_ptr_in_1)
+ISO_C_BINDING_PREFIX (c_associated_1) (void *c_ptr_in_1)
{
if (c_ptr_in_1 != NULL)
return 1;
@@ -197,6 +188,7 @@ ISO_C_BINDING_PREFIX (c_associated_1) (void * c_ptr_in_1)
return 0;
}
+
/* Test if the two c_ptr arguments are associated with one another.
This version of the c_associated function is called if the user
supplied two c_ptr args in the Fortran source. According to the
@@ -207,7 +199,7 @@ ISO_C_BINDING_PREFIX (c_associated_1) (void * c_ptr_in_1)
with each other then. */
GFC_LOGICAL_4
-ISO_C_BINDING_PREFIX (c_associated_2) (void * c_ptr_in_1, void * c_ptr_in_2)
+ISO_C_BINDING_PREFIX (c_associated_2) (void *c_ptr_in_1, void *c_ptr_in_2)
{
/* Since we have the second arg, if it doesn't equal the first,
return false; true otherwise. However, if the first one is null,
@@ -233,7 +225,7 @@ ISO_C_BINDING_PREFIX (c_loc) (void *f90_obj)
abort ();
}
- /* the "C" address should be the address of the object in Fortran */
+ /* The "C" address should be the address of the object in Fortran. */
return f90_obj;
}
@@ -252,6 +244,6 @@ ISO_C_BINDING_PREFIX (c_funloc) (void *f90_obj)
abort ();
}
- /* the "C" address should be the address of the object in Fortran */
+ /* The "C" address should be the address of the object in Fortran. */
return f90_obj;
}
diff --git a/libgfortran/intrinsics/iso_c_binding.h b/libgfortran/intrinsics/iso_c_binding.h
index e72bbc4373b..afd85529e9d 100644
--- a/libgfortran/intrinsics/iso_c_binding.h
+++ b/libgfortran/intrinsics/iso_c_binding.h
@@ -38,38 +38,33 @@ Boston, MA 02110-1301, USA. */
typedef struct c_ptr
{
void *c_address;
-}c_ptr_t;
+}
+c_ptr_t;
typedef struct c_funptr
{
void *c_address;
-}c_funptr_t;
+}
+c_funptr_t;
#define ISO_C_BINDING_PREFIX(a) __iso_c_binding_##a
-void ISO_C_BINDING_PREFIX(c_f_pointer)(void * c_ptr_in,
- gfc_array_void *f_ptr_out,
- const array_t *shape,
- int type, int elemSize);
+void ISO_C_BINDING_PREFIX(c_f_pointer)(void *, gfc_array_void *,
+ const array_t *, int, int);
/* The second param here may change, once procedure pointers are
implemented. */
-void ISO_C_BINDING_PREFIX(c_f_procpointer)(void * c_ptr_in,
- gfc_array_void *f_ptr_out);
+void ISO_C_BINDING_PREFIX(c_f_procpointer) (void *, gfc_array_void *);
-GFC_LOGICAL_4 ISO_C_BINDING_PREFIX(c_associated_1)(void * c_ptr_in_1);
-GFC_LOGICAL_4 ISO_C_BINDING_PREFIX(c_associated_2)(void * c_ptr_in_1,
- void * c_ptr_in_2);
+GFC_LOGICAL_4 ISO_C_BINDING_PREFIX(c_associated_1) (void *);
+GFC_LOGICAL_4 ISO_C_BINDING_PREFIX(c_associated_2) (void *, void *);
-void ISO_C_BINDING_PREFIX(c_f_pointer_u0)(void * c_ptr_in,
- gfc_array_void *f_ptr_out,
- const array_t *shape);
-void ISO_C_BINDING_PREFIX(c_f_pointer_d0)(void * c_ptr_in,
- gfc_array_void *f_ptr_out,
- const array_t *shape);
-
-void * ISO_C_BINDING_PREFIX(c_loc) (void *f90_obj);
-void * ISO_C_BINDING_PREFIX(c_funloc) (void *f90_obj);
+void ISO_C_BINDING_PREFIX(c_f_pointer_u0) (void *, gfc_array_void *,
+ const array_t *);
+void ISO_C_BINDING_PREFIX(c_f_pointer_d0) (void *, gfc_array_void *,
+ const array_t *);
+void *ISO_C_BINDING_PREFIX(c_loc) (void *);
+void *ISO_C_BINDING_PREFIX(c_funloc) (void *);
#endif
diff --git a/libgfortran/intrinsics/iso_c_generated_procs.c b/libgfortran/intrinsics/iso_c_generated_procs.c
index 8b85b049638..f60b264dba6 100644
--- a/libgfortran/intrinsics/iso_c_generated_procs.c
+++ b/libgfortran/intrinsics/iso_c_generated_procs.c
@@ -33,56 +33,51 @@ Boston, MA 02110-1301, USA. */
#include "iso_c_binding.h"
-/**
- * TODO!! This file needs finished so a function is provided for all
- * possible type/kind combinations!!
- *
- */
+/* TODO: This file needs to be finished so that a function is provided
+ for all possible type/kind combinations! */
#ifdef HAVE_GFC_INTEGER_1
-void ISO_C_BINDING_PREFIX (c_f_pointer_i1) (void * c_ptr_in,
- gfc_array_void *f_ptr_out,
- const array_t *shape);
+void ISO_C_BINDING_PREFIX (c_f_pointer_i1) (void *, gfc_array_void *,
+ const array_t *);
#endif
+
#ifdef HAVE_GFC_INTEGER_2
-void ISO_C_BINDING_PREFIX (c_f_pointer_i2) (void * c_ptr_in,
- gfc_array_void *f_ptr_out,
- const array_t *shape);
+void ISO_C_BINDING_PREFIX (c_f_pointer_i2) (void *, gfc_array_void *,
+ const array_t *);
#endif
+
#ifdef HAVE_GFC_INTEGER_4
-void ISO_C_BINDING_PREFIX (c_f_pointer_i4) (void * c_ptr_in,
- gfc_array_void *f_ptr_out,
- const array_t *shape);
+void ISO_C_BINDING_PREFIX (c_f_pointer_i4) (void *, gfc_array_void *,
+ const array_t *);
#endif
+
#ifdef HAVE_GFC_INTEGER_8
-void ISO_C_BINDING_PREFIX (c_f_pointer_i8) (void * c_ptr_in,
- gfc_array_void *f_ptr_out,
- const array_t *shape);
+void ISO_C_BINDING_PREFIX (c_f_pointer_i8) (void *, gfc_array_void *,
+ const array_t *);
#endif
+
#ifdef HAVE_GFC_INTEGER_16
-void ISO_C_BINDING_PREFIX (c_f_pointer_i16) (void * c_ptr_in,
- gfc_array_void *f_ptr_out,
- const array_t *shape);
+void ISO_C_BINDING_PREFIX (c_f_pointer_i16) (void *, gfc_array_void *,
+ const array_t *);
#endif
+
#ifdef HAVE_GFC_REAL_4
-void ISO_C_BINDING_PREFIX (c_f_pointer_r4) (void * c_ptr_in,
- gfc_array_void *f_ptr_out,
- const array_t *shape);
+void ISO_C_BINDING_PREFIX (c_f_pointer_r4) (void *, gfc_array_void *,
+ const array_t *);
#endif
+
#ifdef HAVE_GFC_REAL_8
-void ISO_C_BINDING_PREFIX (c_f_pointer_r8) (void * c_ptr_in,
- gfc_array_void *f_ptr_out,
- const array_t *shape);
+void ISO_C_BINDING_PREFIX (c_f_pointer_r8) (void *, gfc_array_void *,
+ const array_t *);
#endif
+
#ifdef HAVE_GFC_REAL_10
-void ISO_C_BINDING_PREFIX (c_f_pointer_r10) (void * c_ptr_in,
- gfc_array_void *f_ptr_out,
- const array_t *shape);
+void ISO_C_BINDING_PREFIX (c_f_pointer_r10) (void *, gfc_array_void *,
+ const array_t *);
#endif
#ifdef HAVE_GFC_REAL_16
-void ISO_C_BINDING_PREFIX (c_f_pointer_r16) (void * c_ptr_in,
- gfc_array_void *f_ptr_out,
- const array_t *shape);
+void ISO_C_BINDING_PREFIX (c_f_pointer_r16) (void *, gfc_array_void *,
+ const array_t *);
#endif
@@ -97,15 +92,14 @@ void ISO_C_BINDING_PREFIX (c_f_pointer_r16) (void * c_ptr_in,
as NULL. */
void
-ISO_C_BINDING_PREFIX (c_f_pointer_i1) (void * c_ptr_in,
- gfc_array_void *f_ptr_out,
- const array_t *shape)
+ISO_C_BINDING_PREFIX (c_f_pointer_i1) (void *c_ptr_in,
+ gfc_array_void *f_ptr_out,
+ const array_t *shape)
{
/* Here we have an integer(kind=1). */
ISO_C_BINDING_PREFIX (c_f_pointer) (c_ptr_in, f_ptr_out, shape,
- (int)GFC_DTYPE_INTEGER,
- (int)sizeof(GFC_INTEGER_1));
- return;
+ (int) GFC_DTYPE_INTEGER,
+ (int) sizeof (GFC_INTEGER_1));
}
#endif
@@ -121,15 +115,14 @@ ISO_C_BINDING_PREFIX (c_f_pointer_i1) (void * c_ptr_in,
as NULL. */
void
-ISO_C_BINDING_PREFIX (c_f_pointer_i2) (void * c_ptr_in,
- gfc_array_void *f_ptr_out,
- const array_t *shape)
+ISO_C_BINDING_PREFIX (c_f_pointer_i2) (void *c_ptr_in,
+ gfc_array_void *f_ptr_out,
+ const array_t *shape)
{
/* Here we have an integer(kind=2). */
ISO_C_BINDING_PREFIX (c_f_pointer) (c_ptr_in, f_ptr_out, shape,
- (int)GFC_DTYPE_INTEGER,
- (int)sizeof(GFC_INTEGER_2));
- return;
+ (int) GFC_DTYPE_INTEGER,
+ (int) sizeof (GFC_INTEGER_2));
}
#endif
@@ -140,15 +133,15 @@ ISO_C_BINDING_PREFIX (c_f_pointer_i2) (void * c_ptr_in,
kind=4. The function c_f_pointer is used to set up the pointer
descriptor. */
-void ISO_C_BINDING_PREFIX (c_f_pointer_i4) (void * c_ptr_in,
- gfc_array_void *f_ptr_out,
- const array_t *shape)
+void
+ISO_C_BINDING_PREFIX (c_f_pointer_i4) (void *c_ptr_in,
+ gfc_array_void *f_ptr_out,
+ const array_t *shape)
{
/* Here we have an integer(kind=4). */
ISO_C_BINDING_PREFIX (c_f_pointer) (c_ptr_in, f_ptr_out, shape,
(int) GFC_DTYPE_INTEGER,
(int) sizeof (GFC_INTEGER_4));
- return;
}
#endif
@@ -159,15 +152,15 @@ void ISO_C_BINDING_PREFIX (c_f_pointer_i4) (void * c_ptr_in,
kind=8. The function c_f_pointer is used to set up the pointer
descriptor. */
-void ISO_C_BINDING_PREFIX (c_f_pointer_i8) (void * c_ptr_in,
- gfc_array_void *f_ptr_out,
- const array_t *shape)
+void
+ISO_C_BINDING_PREFIX (c_f_pointer_i8) (void *c_ptr_in,
+ gfc_array_void *f_ptr_out,
+ const array_t *shape)
{
/* Here we have an integer(kind=8). */
ISO_C_BINDING_PREFIX (c_f_pointer) (c_ptr_in, f_ptr_out, shape,
(int) GFC_DTYPE_INTEGER,
(int) sizeof (GFC_INTEGER_8));
- return;
}
#endif
@@ -183,15 +176,14 @@ void ISO_C_BINDING_PREFIX (c_f_pointer_i8) (void * c_ptr_in,
as NULL. */
void
-ISO_C_BINDING_PREFIX (c_f_pointer_i16) (void * c_ptr_in,
- gfc_array_void *f_ptr_out,
- const array_t *shape)
+ISO_C_BINDING_PREFIX (c_f_pointer_i16) (void *c_ptr_in,
+ gfc_array_void *f_ptr_out,
+ const array_t *shape)
{
/* Here we have an integer(kind=16). */
ISO_C_BINDING_PREFIX (c_f_pointer) (c_ptr_in, f_ptr_out, shape,
- (int)GFC_DTYPE_INTEGER,
- (int)sizeof(GFC_INTEGER_16));
- return;
+ (int) GFC_DTYPE_INTEGER,
+ (int) sizeof (GFC_INTEGER_16));
}
#endif
@@ -202,15 +194,15 @@ ISO_C_BINDING_PREFIX (c_f_pointer_i16) (void * c_ptr_in,
kind=4. The function c_f_pointer is used to set up the pointer
descriptor. */
-void ISO_C_BINDING_PREFIX (c_f_pointer_r4) (void * c_ptr_in,
- gfc_array_void *f_ptr_out,
- const array_t *shape)
+void
+ISO_C_BINDING_PREFIX (c_f_pointer_r4) (void *c_ptr_in,
+ gfc_array_void *f_ptr_out,
+ const array_t *shape)
{
/* Here we have an real(kind=4). */
ISO_C_BINDING_PREFIX (c_f_pointer) (c_ptr_in, f_ptr_out, shape,
(int) GFC_DTYPE_REAL,
(int) sizeof (GFC_REAL_4));
- return;
}
#endif
@@ -221,15 +213,15 @@ void ISO_C_BINDING_PREFIX (c_f_pointer_r4) (void * c_ptr_in,
kind=8. The function c_f_pointer is used to set up the pointer
descriptor. */
-void ISO_C_BINDING_PREFIX (c_f_pointer_r8) (void * c_ptr_in,
- gfc_array_void *f_ptr_out,
- const array_t *shape)
+void
+ISO_C_BINDING_PREFIX (c_f_pointer_r8) (void *c_ptr_in,
+ gfc_array_void *f_ptr_out,
+ const array_t *shape)
{
/* Here we have an real(kind=8). */
ISO_C_BINDING_PREFIX (c_f_pointer) (c_ptr_in, f_ptr_out, shape,
(int) GFC_DTYPE_REAL,
(int) sizeof (GFC_REAL_8));
- return;
}
#endif
@@ -240,15 +232,15 @@ void ISO_C_BINDING_PREFIX (c_f_pointer_r8) (void * c_ptr_in,
kind=10. The function c_f_pointer is used to set up the pointer
descriptor. */
-void ISO_C_BINDING_PREFIX (c_f_pointer_r10) (void * c_ptr_in,
- gfc_array_void *f_ptr_out,
- const array_t *shape)
+void
+ISO_C_BINDING_PREFIX (c_f_pointer_r10) (void *c_ptr_in,
+ gfc_array_void *f_ptr_out,
+ const array_t *shape)
{
/* Here we have an real(kind=10). */
ISO_C_BINDING_PREFIX (c_f_pointer) (c_ptr_in, f_ptr_out, shape,
- (int) GFC_DTYPE_REAL,
- (int) sizeof(GFC_REAL_10));
- return;
+ (int) GFC_DTYPE_REAL,
+ (int) sizeof (GFC_REAL_10));
}
#endif
@@ -259,14 +251,14 @@ void ISO_C_BINDING_PREFIX (c_f_pointer_r10) (void * c_ptr_in,
kind=16. The function c_f_pointer is used to set up the pointer
descriptor. */
-void ISO_C_BINDING_PREFIX (c_f_pointer_r16) (void * c_ptr_in,
- gfc_array_void *f_ptr_out,
- const array_t *shape)
+void
+ISO_C_BINDING_PREFIX (c_f_pointer_r16) (void *c_ptr_in,
+ gfc_array_void *f_ptr_out,
+ const array_t *shape)
{
/* Here we have an real(kind=16). */
ISO_C_BINDING_PREFIX (c_f_pointer) (c_ptr_in, f_ptr_out, shape,
(int) GFC_DTYPE_REAL,
(int) sizeof (GFC_REAL_16));
- return;
}
#endif