Bug 28585 - Fortran 2003: Support NEW_LINE intrinsic
Summary: Fortran 2003: Support NEW_LINE intrinsic
Status: RESOLVED FIXED
Alias: None
Product: gcc
Classification: Unclassified
Component: fortran (show other bugs)
Version: 4.2.0
: P3 enhancement
Target Milestone: 4.2.0
Assignee: Not yet assigned to anyone
URL:
Keywords:
Depends on:
Blocks: 20585
  Show dependency treegraph
 
Reported: 2006-08-03 15:10 UTC by tobias.burnus
Modified: 2006-10-22 12:26 UTC (History)
1 user (show)

See Also:
Host:
Target:
Build:
Known to work:
Known to fail:
Last reconfirmed: 2006-08-08 01:24:55


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description tobias.burnus 2006-08-03 15:10:55 UTC
Currently, gfortran does not support the NEW_LINE intrinsic.
Expected: It is supported.

Testcase:
-------------
program newline
  implicit none
  WRITE(*,'(A)') 'This is record 1.'//NEW_LINE('A')//'This is record 2.'
end program newline
-------------

From Fortran 2003 standard:

13.7.85 NEW LINE (A)
 Description. Returns a newline character.
 Class. Inquiry function.
 Argument. A shall be of type character. It may be a scalar or an array.
 Result Characteristics. Character scalar of length one with the same kind type parameter as A.
 Result Value.
   Case (i): If A is of the default character type and the character in position of the ASCII collating sequence is representable in the default character set, then the result is ACHAR(10).
   Case (ii): If A is of the ASCII character type or the ISO 10646 character type, then the result is CHAR(10,KIND(A)).
   Case (iii): Otherwise, the result is a processor-dependent character that represents a new line in output to files connected for formatted stream output if there is such a character.
   Case (iv): Otherwise, the result is the blank character.
Comment 1 Andrew Pinski 2006-08-08 01:24:55 UTC
Confirmed.
Comment 2 Francois-Xavier Coudert 2006-10-08 13:21:51 UTC
Subject: Bug 28585

Author: fxcoudert
Date: Sun Oct  8 13:21:42 2006
New Revision: 117555

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=117555
Log:
	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.

Added:
    trunk/gcc/testsuite/gfortran.dg/new_line.f90
Modified:
    trunk/gcc/fortran/ChangeLog
    trunk/gcc/fortran/check.c
    trunk/gcc/fortran/intrinsic.c
    trunk/gcc/fortran/intrinsic.h
    trunk/gcc/fortran/intrinsic.texi
    trunk/gcc/fortran/simplify.c
    trunk/gcc/testsuite/ChangeLog

Comment 3 Francois-Xavier Coudert 2006-10-22 12:26:51 UTC
Fixed in 4.2 and later, thanks to Tobias.