re PR fortran/40588 (Small bug in match_charkind_name)

2009-07-12  Tobias Burnus  <burnus@net-b.de>
            Philippe Marguinaud <philippe.marguinaud@meteo.fr>

        PR fortran/40588
        * primary.c (match_charkind_name): Fix condition for $ matching.

        PR libfortran/22423
        * libgfortran.h: Typedef the GFC_DTYPE_* enum.

2009-07-12  Tobias Burnus  <burnus@net-b.de>

        PR libfortran/22423
        * io/io.h (namelist_type): Use the proper enum for GFC_DTYPE_*.
        * intrinsics/iso_c_binding.c (c_f_pointer_u0): Make sure
        variable is initialized to silence warning.


Co-Authored-By: Philippe Marguinaud <philippe.marguinaud@meteo.fr>

From-SVN: r149545
This commit is contained in:
Tobias Burnus 2009-07-13 08:26:38 +02:00 committed by Tobias Burnus
parent 7c8b1a7788
commit ffa61a5ee8
6 changed files with 42 additions and 15 deletions

View File

@ -1,3 +1,12 @@
2009-07-12 Tobias Burnus <burnus@net-b.de>
Philippe Marguinaud <philippe.marguinaud@meteo.fr>
PR fortran/40588
* primary.c (match_charkind_name): Fix condition for $ matching.
PR libfortran/22423
* libgfortran.h: Typedef the GFC_DTYPE_* enum.
2009-07-11 Tobias Burnus <burnus@net-b.de>
PR fortran/33197

View File

@ -110,7 +110,7 @@ libgfortran_error_codes;
#define GFC_DTYPE_TYPE_MASK 0x38
#define GFC_DTYPE_SIZE_SHIFT 6
enum
typedef enum
{
GFC_DTYPE_UNKNOWN = 0,
GFC_DTYPE_INTEGER,
@ -120,5 +120,6 @@ enum
GFC_DTYPE_COMPLEX,
GFC_DTYPE_DERIVED,
GFC_DTYPE_CHARACTER
};
}
dtype;

View File

@ -832,7 +832,7 @@ match_charkind_name (char *name)
if (!ISALNUM (c)
&& c != '_'
&& (gfc_option.flag_dollar_ok && c != '$'))
&& (c != '$' || !gfc_option.flag_dollar_ok))
break;
*name++ = c;

View File

@ -1,8 +1,15 @@
2009-07-12 Tobias Burnus <burnus@net-b.de>
PR libfortran/22423
* io/io.h (namelist_type): Use the proper enum for GFC_DTYPE_*.
* intrinsics/iso_c_binding.c (c_f_pointer_u0): Make sure
variable is initialized to silence warning.
2009-07-10 Steven G. Kargl <kargl@gcc.gnu.org>
* c99_functions.c (ccoshf, ccosh, ccoshl, ctanhf, ctanh, ctanl):
Fix errant minus.
2009-07-08 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libfortran/40330

View File

@ -113,26 +113,36 @@ ISO_C_BINDING_PREFIX (c_f_pointer_u0) (void *c_ptr_in,
/* Have to allow for the SHAPE array to be any valid kind for
an INTEGER type. */
switch (size)
{
#ifdef HAVE_GFC_INTEGER_1
if (size == 1)
ub = *((GFC_INTEGER_1 *) p);
case 1:
ub = *((GFC_INTEGER_1 *) p);
break;
#endif
#ifdef HAVE_GFC_INTEGER_2
if (size == 2)
ub = *((GFC_INTEGER_2 *) p);
case 2:
ub = *((GFC_INTEGER_2 *) p);
break;
#endif
#ifdef HAVE_GFC_INTEGER_4
if (size == 4)
ub = *((GFC_INTEGER_4 *) p);
case 4:
ub = *((GFC_INTEGER_4 *) p);
break;
#endif
#ifdef HAVE_GFC_INTEGER_8
if (size == 8)
ub = *((GFC_INTEGER_8 *) p);
case 8:
ub = *((GFC_INTEGER_8 *) p);
break;
#endif
#ifdef HAVE_GFC_INTEGER_16
if (size == 16)
ub = *((GFC_INTEGER_16 *) p);
case 16:
ub = *((GFC_INTEGER_16 *) p);
break;
#endif
default:
internal_error (NULL, "c_f_pointer_u0: Invalid size");
}
p += source_stride;
if (i == 0)

View File

@ -163,7 +163,7 @@ format_hash_entry;
typedef struct namelist_type
{
/* Object type, stored as GFC_DTYPE_xxxx. */
bt type;
dtype type;
/* Object name. */
char * var_name;