c-common.c (check_format_info): Do not make a pedantic objection to the 'L' length...
authorJoseph Myers <jsm28@cam.ac.uk>
Mon, 17 Jul 2000 08:31:15 +0000 (02:31 -0600)
committerJeff Law <law@gcc.gnu.org>
Mon, 17 Jul 2000 08:31:15 +0000 (02:31 -0600)
* c-common.c (check_format_info): Do not make a pedantic objection
to the 'L' length modifier if used with a floating point type
character.

From-SVN: r35076

gcc/ChangeLog
gcc/c-common.c

index eb2e7b158b807d81c489498fee5cb40389385a6e..ec196780fe217cd1b3db3c949f826592a8f0548f 100644 (file)
@@ -1,5 +1,9 @@
 2000-07-17  Joseph S. Myers  <jsm28@cam.ac.uk>
 
+       * c-common.c (check_format_info): Do not make a pedantic objection
+       to the 'L' length modifier if used with a floating point type
+       character.
+
        * c-lex.c (yylex): Don't pedwarn for hexadecimal floating point
        constants in C99 mode.
 
index f72ec47ee85a8c12e03b8f9b302ed74d9b21fb3e..8a8103bbb7a8968fe63e58f411cb6fee2679642c 100644 (file)
@@ -1780,7 +1780,7 @@ check_format_info (info, params)
          else if (*format_chars == 'q' || *format_chars == 'L')
            {
              length_char = *format_chars++;
-             if (pedantic)
+             if (length_char == 'q' && pedantic)
                warning ("ANSI C does not support the `%c' length modifier",
                         length_char);
            }
@@ -1936,6 +1936,13 @@ check_format_info (info, params)
       if (wanted_type == 0)
        warning ("use of `%c' length character with `%c' type character",
                 length_char, format_char);
+      else if (length_char == 'L' && pedantic
+              && !(format_char == 'a' || format_char == 'A'
+                   || format_char == 'e' || format_char == 'E'
+                   || format_char == 'f' || format_char == 'F'
+                   || format_char == 'g' || format_char == 'G'))
+       warning ("ANSI C does not support the `L' length modifier with the `%c' type character",
+                format_char);
 
       /* Finally. . .check type of argument against desired type!  */
       if (info->first_arg_num == 0)