diff options
author | Tobias Burnus <burnus@net-b.de> | 2006-10-08 15:21:42 +0200 |
---|---|---|
committer | François-Xavier Coudert <fxcoudert@gcc.gnu.org> | 2006-10-08 13:21:42 +0000 |
commit | bec93d793735ff33a75a0e77ba96e78dd4b01262 (patch) | |
tree | 4454e84128bde146be79c1a71c6c353d05b947ae /gcc/fortran/simplify.c | |
parent | 3ac25120de29ce52ab034ba79612657f8c9cdfbe (diff) | |
download | gcc-bec93d793735ff33a75a0e77ba96e78dd4b01262.zip gcc-bec93d793735ff33a75a0e77ba96e78dd4b01262.tar.gz gcc-bec93d793735ff33a75a0e77ba96e78dd4b01262.tar.bz2 |
re PR fortran/28585 (Fortran 2003: Support NEW_LINE intrinsic)
PR fortran/28585
* intrinsic.c (add_functions): Add new_line Fortran 2003 intrinsic.
* intrinsic.h: Add gfc_simplify_new_line and gfc_check_new_line
prototypes.
* check.c (gfc_check_new_line): New function.
* simplify.c (gfc_simplify_new_line): New function.
* intrinsic.texi: Document new_line intrinsic.
* gfortran.dg/new_line.f90: New test.
From-SVN: r117555
Diffstat (limited to 'gcc/fortran/simplify.c')
-rw-r--r-- | gcc/fortran/simplify.c | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/gcc/fortran/simplify.c b/gcc/fortran/simplify.c index c9ca230..9d35bae 100644 --- a/gcc/fortran/simplify.c +++ b/gcc/fortran/simplify.c @@ -2615,6 +2615,25 @@ simplify_nint (const char *name, gfc_expr * e, gfc_expr * k) gfc_expr * +gfc_simplify_new_line (gfc_expr * e) +{ + gfc_expr *result; + + if (e->expr_type != EXPR_CONSTANT) + return NULL; + + result = gfc_constant_result (BT_CHARACTER, e->ts.kind, &e->where); + + result->value.character.string = gfc_getmem (2); + + result->value.character.length = 1; + result->value.character.string[0] = '\n'; + result->value.character.string[1] = '\0'; /* For debugger */ + return result; +} + + +gfc_expr * gfc_simplify_nint (gfc_expr * e, gfc_expr * k) { return simplify_nint ("NINT", e, k); |