OSDN Git Service

2005-07-07 Feng Wang <fengwang@nudt.edu.cn>
authorfengwang <fengwang@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 7 Jul 2005 07:54:40 +0000 (07:54 +0000)
committerfengwang <fengwang@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 7 Jul 2005 07:54:40 +0000 (07:54 +0000)
commitbbe50a5a148bb7e80ca9447e91950e7be867ea9f
tree34841290399c5a9c4f2f059ef7395d3b23360a9c
parent99469381d269adb4d1d9930e164cb243559e420b
2005-07-07  Feng Wang  <fengwang@nudt.edu.cn>

        PR fortran/16531
        PR fortran/15966
        PR fortran/18781
        * arith.c (gfc_hollerith2int, gfc_hollerith2real,
        gfc_hollerith2complex, gfc_hollerith2character, gfc_hollerith2logical):
        New functions.
        (eval_intrinsic): Don't evaluate if Hollerith constant arguments exist.
        * arith.h (gfc_hollerith2int, gfc_hollerith2real,
        gfc_hollerith2complex, gfc_hollerith2character, gfc_hollerith2logical):
        Add prototypes.
        * expr.c (free_expr0): Free memery allocated for Hollerith constant.
        (gfc_copy_expr): Allocate and copy string if Expr is from Hollerith.
        (gfc_check_assign): Enable conversion from Hollerith to other.
        * gfortran.h (bt): Add BT_HOLLERITH.
        (gfc_expr): Add from_H flag.
        * intrinsic.c (gfc_type_letter): Return 'h' for BT_HOLLERITH.
        (add_conversions): Add conversions from Hollerith constant to other.
        (do_simplify): Don't simplify if  Hollerith constant arguments exist.
        * io.c (resolve_tag): Enable array in FORMAT tag under GFC_STD_GNU.
        * misc.c (gfc_basetype_name): Return "HOLLERITH" for BT_HOLLERITH.
        (gfc_type_name): Print "HOLLERITH" for BT_HOLLERITH.
        * primary.c (match_hollerith_constant): New function.
        (gfc_match_literal_constant): Add match Hollerith before Integer.
        * simplify.c (gfc_convert_constant): Add conversion from Hollerith
        to other.
        * trans-const.c (gfc_conv_constant_to_tree): Use VIEW_CONVERT_EXPR to
        convert Hollerith constant to tree.
        * trans-io.c (gfc_convert_array_to_string): Get array's address and
        length to set string expr.
        (set_string): Deal with array assigned Hollerith constant and character
        array.
        * gfortran.texi: Document Hollerith constants as extention support.

2005-07-07  Feng Wang  <fengwang@nudt.edu.cn>

        PR fortran/16531
        PR fortran/15966
        PR fortran/18781
        * gfortran.dg/hollerith.f90: New.
        * gfortran.dg/hollerith2.f90: New.
        * gfortran.dg/hollerith3.f90: New.
        * gfortran.dg/hollerith4.f90: New.
        * gfortran.dg/hollerith_f95.f90: New.
        * gfortran.dg/hollerith_legacy.f90: New.
        * gfortran.dg/g77/cpp4.F: New. Port from g77.

2005-07-07  Feng Wang  <fengwang@nudt.edu.cn>

        PR fortran/16531
        * io/transfer.c (formatted_transfer): Enable FMT_A on other types to
        support Hollerith constants.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@101687 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/fortran/ChangeLog