===================================================================
@@ -1,3 +1,7 @@
+2014-12-05 Manuel López-Ibáñez <manu@gcc.gnu.org>
+
+ * gfortran.dg/line_length_5.f90: New test.
+
2014-12-04 Sriraman Tallam <tmsriram@google.com>
H.J. Lu <hongjiu.lu@intel.com>
===================================================================
@@ -1,3 +1,10 @@
+2014-12-05 Manuel López-Ibáñez <manu@gcc.gnu.org>
+
+ * scanner.c (gfc_next_char_literal): Use gfc_warning_now.
+ (load_file): Use the line length as the column hint for
+ linemap_line_start. Reserve a location for the highest column of
+ the line.
+
2014-12-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
PR fortran/44054
===================================================================
@@ -1056,7 +1056,8 @@
gfc_current_locus.lb->truncated = 0;
gfc_current_locus.nextc = gfc_current_locus.lb->line + maxlen;
- gfc_warning_now_1 ("Line truncated at %L", &gfc_current_locus);
+ gfc_warning_now (OPT_Wline_truncation,
+ "Line truncated at %L", &gfc_current_locus);
gfc_current_locus.nextc = current_nextc;
}
@@ -1195,7 +1196,8 @@
&& gfc_current_locus.lb->truncated)
{
gfc_current_locus.lb->truncated = 0;
- gfc_warning_now_1 ("Line truncated at %L", &gfc_current_locus);
+ gfc_warning_now (OPT_Wline_truncation,
+ "Line truncated at %L", &gfc_current_locus);
}
prev_openmp_flag = openmp_flag;
@@ -2044,7 +2046,13 @@
+ (len + 1) * sizeof (gfc_char_t));
b->location
- = linemap_line_start (line_table, current_file->line++, 120);
+ = linemap_line_start (line_table, current_file->line++, len);
+ /* ??? We add the location for the maximum column possible here,
+ because otherwise if the next call creates a new line-map, it
+ will not reserve space for any offset. */
+ if (len > 0)
+ linemap_position_for_column (line_table, len);
+
b->file = current_file;
b->truncated = trunc;
wide_strcpy (b->line, line);
===================================================================
@@ -678,7 +678,8 @@
linemap_position_for_line_and_column (map,
SOURCE_LINE (map, loc),
offset);
- if (linemap_assert_fails (map == linemap_lookup (set, r)))
+ if (linemap_assert_fails (r <= set->highest_location)
+ || linemap_assert_fails (map == linemap_lookup (set, r)))
return loc;
return r;
===================================================================
@@ -1,3 +1,8 @@
+2014-12-05 Manuel López-Ibáñez <manu@gcc.gnu.org>
+
+ * line-map.c (linemap_position_for_loc_and_offset): Add new
+ linemap_assert_fails.
+
2014-12-02 Manuel López-Ibáñez <manu@gcc.gnu.org>
* include/line-map.h (linemap_assert_fails): Declare.