summaryrefslogtreecommitdiff
path: root/gcc/ada/sinput.ads
diff options
context:
space:
mode:
authorcharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2009-04-07 14:18:13 +0000
committercharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2009-04-07 14:18:13 +0000
commit7a1dabb35da6b5992cf72d3e6084414c4e7b65ad (patch)
treed65b03473be892ceb27cc44836f2954c06de5996 /gcc/ada/sinput.ads
parent640baa76858607f358370213129933b60306e252 (diff)
downloadgcc-7a1dabb35da6b5992cf72d3e6084414c4e7b65ad.tar.gz
2009-04-07 Robert Dewar <dewar@adacore.com>
* checks.adb: Remove Assume_Valid parameter from In_Subrange_Of calls * sem_eval.adb: (Is_Subrange_Of): Remove Assume_Valid parameter, not needed (Is_In_Range): Remove incorrect use of Assume_Valid (Is_Out_Of_Range): Remove incorrect use of Assume_Valid * sem_eval.ads: (Is_Subrange_Of): Remove Assume_Valid parameter, not needed (Is_In_Range): Documentation cleanup (Is_Out_Of_Range): Documentation cleanup * gnat_rm.texi: Add documentation for Assume_No_Invalid_Values pragma * sem_ch12.adb: Minor reformatting * sem_ch6.adb: (Check_Conformance): Avoid cascaded errors * sem_prag.adb: Improve error message. * gnatchop.adb, osint.ads, sinput.adb, sinput.ads, styleg.adb: LF/CR no longer recognized as line terminator * switch.ads: Minor documentation improvement * vms_data.ads: Minor reformatting git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@145675 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ada/sinput.ads')
-rw-r--r--gcc/ada/sinput.ads26
1 files changed, 16 insertions, 10 deletions
diff --git a/gcc/ada/sinput.ads b/gcc/ada/sinput.ads
index 82d03e75d23..a56eea7276c 100644
--- a/gcc/ada/sinput.ads
+++ b/gcc/ada/sinput.ads
@@ -54,15 +54,13 @@
-- significance, but they are significant for error reporting purposes,
-- since errors are identified by line and column location.
--- In GNAT, a physical line is ended by any of the sequences LF, CR/LF, CR or
--- LF/CR. LF is used in typical Unix systems, CR/LF in DOS systems, and CR
--- alone in System 7. We don't know of any system using LF/CR, but it seems
--- reasonable to include this case for consistency. In addition, we recognize
--- any of these sequences in any of the operating systems, for better
--- behavior in treating foreign files (e.g. a Unix file with LF terminators
--- transferred to a DOS system). Finally, wide character codes in categories
--- Separator, Line and Separator, Paragraph are considered to be physical
--- line terminators.
+-- In GNAT, a physical line is ended by any of the sequences LF, CR/LF, or
+-- CR. LF is used in typical Unix systems, CR/LF in DOS systems, and CR
+-- alone in System 7. In addition, we recognize any of these sequences in
+-- any of the operating systems, for better behavior in treating foreign
+-- files (e.g. a Unix file with LF terminators transferred to a DOS system).
+-- Finally, wide character codes in categories Separator, Line and Separator,
+-- Paragraph are considered to be physical line terminators.
with Alloc;
with Casing; use Casing;
@@ -575,9 +573,17 @@ package Sinput is
-- CR on its own (MAC System 7)
-- LF on its own (Unix and unix-like systems)
-- CR/LF (DOS, Windows)
- -- LF/CR (not used, but recognized in any case)
-- Wide character in Separator,Line or Separator,Paragraph category
--
+ -- Note: we no longer recognize LF/CR (which we did in some earlier
+ -- versions of GNAT. The reason for this is that this sequence is not
+ -- used and recognizing it generated confusion. For example given the
+ -- sequence LF/CR/LF we were interpreting that as (LF/CR) ending the
+ -- first line and a blank line ending with CR following, but it is
+ -- clearly better to interpret this as LF, with a blank line terminated
+ -- by CR/LF, given that LF and CR/LF are both in common use, but no
+ -- system we know of uses LF/CR.
+ --
-- A logical line ending (that is not a physical line ending) is one of:
--
-- VT on its own