[Bug fortran/27996] Compile time warn for: character(2) :: str = 'ABC' (expression truncated)
--- Comment #3 from pault at gcc dot gnu dot org 2007-01-05 14:45 --- Subject: Bug 27996 Author: pault Date: Fri Jan 5 14:45:20 2007 New Revision: 120485 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=120485 Log: 2007-01-05 Paul Thomas [EMAIL PROTECTED] PR fortran/23232 * decl.c (gfc_in_match_data, gfc_set_in_match_data): New functions to signal that a DATA statement is being matched. (gfc_match_data): Call gfc_set_in_match_data on entry and on exit. * gfortran.h : Add prototypes for above. * expr.c (check_init_expr): Avoid check on parameter or variable if gfc_in_match_data is true. (gfc_match_init_expr): Do not call error on non-reduction of expression if gfc_in_match_data is true. PR fortran/27996 PR fortran/27998 * decl.c (gfc_set_constant_character_len): Add boolean arg to flag array constructor resolution. Warn if string is being truncated. Standard dependent error if string is padded. Set new arg to false for all three calls to gfc_set_constant_character_len. * match.h : Add boolean arg to prototype for gfc_set_constant_character_len. * gfortran.h : Add warn_character_truncation to gfc_options. * options.c (set_Wall): Set warn_character_truncation if -Wall is set. * resolve.c (resolve_code): Warn if rhs string in character assignment has to be truncated. * array.c (gfc_resolve_character_array_constructor): Set new argument to true for call to gfc_set_constant_character_len. 2007-01-05 Paul Thomas [EMAIL PROTECTED] PR fortran/23232 * gfortran.dg/data_implied_do_1.f90: New test. PR fortran/27996 PR fortran/27998 * gfortran.dg/char_length_1.f90: New test. Added: trunk/gcc/testsuite/gfortran.dg/data_implied_do_1.f90 Modified: trunk/gcc/fortran/ChangeLog trunk/gcc/fortran/array.c trunk/gcc/fortran/decl.c trunk/gcc/fortran/expr.c trunk/gcc/fortran/gfortran.h trunk/gcc/fortran/match.h trunk/gcc/fortran/options.c trunk/gcc/fortran/resolve.c trunk/gcc/testsuite/ChangeLog trunk/gcc/testsuite/gfortran.dg/char_length_1.f90 -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27996
[Bug fortran/27996] Compile time warn for: character(2) :: str = 'ABC' (expression truncated)
--- Comment #2 from patchapp at dberlin dot org 2006-11-29 20:00 --- Subject: Bug number PR27996 A patch for this bug has been added to the patch tracker. The mailing list url for the patch is http://gcc.gnu.org/ml/gcc-patches/2006-11/msg01989.html -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27996
[Bug fortran/27996] Compile time warn for: character(2) :: str = 'ABC' (expression truncated)
--- Comment #1 from tobias dot burnus at physik dot fu-berlin dot de 2006-06-23 13:01 --- Additional remarks (which I forget to make): Both cases are valid Fortran as: (1) If the length of 'variable' is less than that of 'expr', the value of 'expr' is truncated from the right until it is the same length as the 'variable'. (2) If the length of 'variable' is greater than that of 'expr', the value of 'expr' is extended on the right with blanks until it is the same length as the variable. However, I still think it is useful to give a compile-time warning. This for example should produce a warning: program test character(20),parameter :: path = 'mypath/' character(20),parameter :: file = path // 'myfile.txt' print *, trim(file) end program test whereas using trim(path) // 'myfile.txt' should not. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27996
[Bug fortran/27996] Compile time warn for: character(2) :: str = 'ABC' (expression truncated)
-- pault at gcc dot gnu dot org changed: What|Removed |Added AssignedTo|unassigned at gcc dot gnu |pault at gcc dot gnu dot org |dot org | Status|UNCONFIRMED |ASSIGNED Ever Confirmed|0 |1 Last reconfirmed|-00-00 00:00:00 |2006-06-13 17:24:13 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27996