c-aux-info.c (data_type, [...]): Qualify a char* with the `const' keyword.
authorKaveh R. Ghazi <ghazi@caip.rutgers.edu>
Sat, 6 Mar 1999 05:34:26 +0000 (05:34 +0000)
committerKaveh Ghazi <ghazi@gcc.gnu.org>
Sat, 6 Mar 1999 05:34:26 +0000 (05:34 +0000)
        * c-aux-info.c (data_type, affix_data_type, gen_decl,
        gen_formal_list_for_type, gen_formal_list_for_func_def, gen_type):
        Qualify a char* with the `const' keyword.
        * c-common.c (declare_hidden_char_array, add_attribute, if_elt,
        declare_function_name, decl_attributes, format_char_info,
        check_format_info, binary_op_error): Likewise.
        * cexp.y (yyerror, error, pedwarn, warning, token): Likewise.
        * gcse.c (dump_hash_table): Likewise.
        * integrate.c (function_cannot_inline_p): Likewise
        * optabs.c: Include insn-config.h earlier.
        (init_libfuncs, init_integral_libfuncs, init_floating_libfuncs):
        Qualify a char* with the `const' keyword.
        * real.c (asctoe24, asctoe53, asctoe64, asctoe113, asctoe,
        asctoeg, mtherr, ereal_atof): Likewise.
        * real.h (ereal_atof): Likewise.
        * sbitmap.c (dump_sbitmap_vector): Likewise.
        * sbitmap.h (dump_sbitmap_vector): Likewise.
        * stmt.c (nesting, n_occurrences, expand_start_case): Likewise.
        * toplev.c (rest_of_compilation): Likewise.
        * tree.h (function_cannot_inline_p, expand_start_case): Likewise.

From-SVN: r25614

15 files changed:
gcc/ChangeLog
gcc/c-aux-info.c
gcc/c-common.c
gcc/cexp.c
gcc/cexp.y
gcc/gcse.c
gcc/integrate.c
gcc/optabs.c
gcc/real.c
gcc/real.h
gcc/sbitmap.c
gcc/sbitmap.h
gcc/stmt.c
gcc/toplev.c
gcc/tree.h

index 71781e260d855fece54c9d0887b0aa82a1dca39c..28761f7e4c1eb9ed9bbfcff78f7b1e9cadb6637a 100644 (file)
@@ -1,3 +1,38 @@
+Sat Mar  6 07:49:23 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * c-aux-info.c (data_type, affix_data_type, gen_decl, 
+       gen_formal_list_for_type, gen_formal_list_for_func_def, gen_type):
+       Qualify a char* with the `const' keyword.
+
+       * c-common.c (declare_hidden_char_array, add_attribute, if_elt,
+       declare_function_name, decl_attributes, format_char_info,
+       check_format_info, binary_op_error): Likewise.
+       
+       * cexp.y (yyerror, error, pedwarn, warning, token): Likewise.
+
+       * gcse.c (dump_hash_table): Likewise.
+
+       * integrate.c (function_cannot_inline_p): Likewise
+
+       * optabs.c: Include insn-config.h earlier.
+       (init_libfuncs, init_integral_libfuncs, init_floating_libfuncs):
+       Qualify a char* with the `const' keyword.
+       
+       * real.c (asctoe24, asctoe53, asctoe64, asctoe113, asctoe,
+       asctoeg, mtherr, ereal_atof): Likewise.
+
+       * real.h (ereal_atof): Likewise.
+
+       * sbitmap.c (dump_sbitmap_vector): Likewise.
+
+       * sbitmap.h (dump_sbitmap_vector): Likewise.
+
+       * stmt.c (nesting, n_occurrences, expand_start_case): Likewise.
+
+       * toplev.c (rest_of_compilation): Likewise.
+
+       * tree.h (function_cannot_inline_p, expand_start_case): Likewise.
+       
 Fri Mar  5 23:16:42 1999  David Edelsohn  <edelsohn@mhpcc.edu>
 
        * rs6000.h (ASM_OUTPUT_REG_{PUSH,POP}): Add 64-bit support and do
index d86d44539fb528aedeab11277924b8a6d31f324b..f4238dd29e3892adc8670f2e04861ce70767f543 100644 (file)
@@ -1,7 +1,7 @@
 /* Generate information regarding function declarations and definitions based
    on information stored in GCC's tree structure.  This code implements the
    -aux-info option.
-   Copyright (C) 1989, 91, 94, 95, 97, 1998 Free Software Foundation, Inc.
+   Copyright (C) 1989, 91, 94, 95, 97-98, 1999 Free Software Foundation, Inc.
    Contributed by Ron Guilmette (rfg@segfault.us.com).
 
 This file is part of GNU CC.
@@ -35,14 +35,14 @@ enum formals_style_enum {
 typedef enum formals_style_enum formals_style;
 
 
-static char *data_type;
+static const char *data_type;
 
-static char *affix_data_type           PROTO((char *));
-static char *gen_formal_list_for_type  PROTO((tree, formals_style));
+static char *affix_data_type           PROTO((const char *));
+static const char *gen_formal_list_for_type PROTO((tree, formals_style));
 static int   deserves_ellipsis         PROTO((tree));
-static char *gen_formal_list_for_func_def PROTO((tree, formals_style));
-static char *gen_type                  PROTO((char *, tree, formals_style));
-static char *gen_decl                  PROTO((tree, int, formals_style));
+static const char *gen_formal_list_for_func_def PROTO((tree, formals_style));
+static const char *gen_type            PROTO((const char *, tree, formals_style));
+static const char *gen_decl            PROTO((tree, int, formals_style));
 \f
 /* Concatenate a sequence of strings, returning the result.
 
@@ -120,13 +120,16 @@ concat VPROTO((const char *first, ...))
    that look as expected.  */
 
 static char *
-affix_data_type (type_or_decl)
-     char *type_or_decl;
+affix_data_type (param)
+     const char *param;
 {
+  char *type_or_decl = (char *) alloca (strlen (param) + 1);
   char *p = type_or_decl;
   char *qualifiers_then_data_type;
   char saved;
 
+  strcpy (type_or_decl, param);
+  
   /* Skip as many leading const's or volatile's as there are.  */
 
   for (;;)
@@ -164,12 +167,12 @@ affix_data_type (type_or_decl)
    we are currently aiming for is non-ansi, then we just return a pair
    of empty parens here.  */
 
-static char *
+static const char *
 gen_formal_list_for_type (fntype, style)
      tree fntype;
      formals_style style;
 {
-  char *formal_list = "";
+  const char *formal_list = "";
   tree formal_type;
 
   if (style != ansi)
@@ -178,7 +181,7 @@ gen_formal_list_for_type (fntype, style)
   formal_type = TYPE_ARG_TYPES (fntype);
   while (formal_type && TREE_VALUE (formal_type) != void_type_node)
     {
-      char *this_type;
+      const char *this_type;
 
       if (*formal_list)
         formal_list = concat (formal_list, ", ", NULL_PTR);
@@ -284,18 +287,18 @@ deserves_ellipsis (fntype)
    This routine returns a string which is the source form for the entire
    function formal parameter list.  */
 
-static char *
+static const char *
 gen_formal_list_for_func_def (fndecl, style)
      tree fndecl;
      formals_style style;
 {
-  char *formal_list = "";
+  const char *formal_list = "";
   tree formal_decl;
 
   formal_decl = DECL_ARGUMENTS (fndecl);
   while (formal_decl)
     {
-      char *this_formal;
+      const char *this_formal;
 
       if (*formal_list && ((style == ansi) || (style == k_and_r_names)))
         formal_list = concat (formal_list, ", ", NULL_PTR);
@@ -359,9 +362,9 @@ gen_formal_list_for_func_def (fndecl, style)
    to do at this point is for the initial caller to prepend the "data_type"
    string onto the returned "seed".  */
 
-static char *
+static const char *
 gen_type (ret_val, t, style)
-     char *ret_val;
+     const char *ret_val;
      tree t;
      formals_style style;
 {
@@ -533,13 +536,13 @@ gen_type (ret_val, t, style)
    associated with a function definition.  In this case, we can assume that
    an attached list of DECL nodes for function formal arguments is present.  */
 
-static char *
+static const char *
 gen_decl (decl, is_func_definition, style)
      tree decl;
      int is_func_definition;
      formals_style style;
 {
-  char *ret_val;
+  const char *ret_val;
 
   if (DECL_NAME (decl))
     ret_val = IDENTIFIER_POINTER (DECL_NAME (decl));
index aa94b087989caa9ff3b2d5172b53b85e0f5e3864..5def64214ec789b125dcf7306acc53f8c0b26a3b 100644 (file)
@@ -60,8 +60,8 @@ enum attrs {A_PACKED, A_NOCOMMON, A_COMMON, A_NORETURN, A_CONST, A_T_UNION,
 enum format_type { printf_format_type, scanf_format_type,
                   strftime_format_type };
 
-static void declare_hidden_char_array  PROTO((char *, char *));
-static void add_attribute              PROTO((enum attrs, char *,
+static void declare_hidden_char_array  PROTO((const char *, const char *));
+static void add_attribute              PROTO((enum attrs, const char *,
                                               int, int, int));
 static void init_attributes            PROTO((void));
 static void record_function_format     PROTO((tree, tree, enum format_type,
@@ -78,7 +78,7 @@ typedef struct
 {
   int compstmt_count;
   int line;
-  char *file;
+  const char *file;
   int needs_warning;
 } if_elt;
 static void tfaff                      PROTO((void));
@@ -170,7 +170,7 @@ c_expand_start_else ()
 void
 declare_function_name ()
 {
-  char *name, *printable_name;
+  const char *name, *printable_name;
 
   if (current_function_decl == NULL)
     {
@@ -196,7 +196,7 @@ declare_function_name ()
 
 static void
 declare_hidden_char_array (name, value)
-     char *name, *value;
+     const char *name, *value;
 {
   tree decl, type, init;
   int vlen;
@@ -355,7 +355,7 @@ static int attrtab_idx = 0;
 static void
 add_attribute (id, string, min_len, max_len, decl_req)
      enum attrs id;
-     char *string;
+     const char *string;
      int min_len, max_len;
      int decl_req;
 {
@@ -587,7 +587,7 @@ decl_attributes (node, attributes, prefix_attributes)
          else
            {
              int j;
-             char *p = IDENTIFIER_POINTER (TREE_VALUE (args));
+             const char *p = IDENTIFIER_POINTER (TREE_VALUE (args));
              int len = strlen (p);
              enum machine_mode mode = VOIDmode;
              tree typefm;
@@ -719,7 +719,7 @@ decl_attributes (node, attributes, prefix_attributes)
              }
            else
              {
-               char *p = IDENTIFIER_POINTER (format_type_id);
+               const char *p = IDENTIFIER_POINTER (format_type_id);
                
                if (!strcmp (p, "printf") || !strcmp (p, "__printf__"))
                  format_type = printf_format_type;
@@ -1099,7 +1099,7 @@ strip_attrs (specs_attrs)
 #define T_ST    &sizetype
 
 typedef struct {
-  char *format_chars;
+  const char *format_chars;
   int pointer_count;
   /* Type of argument if no length modifier is used.  */
   tree *nolen;
@@ -1122,7 +1122,7 @@ typedef struct {
      If NULL, then this modifier is not allowed.  */
   tree *zlen;
   /* List of other modifier characters allowed with these options.  */
-  char *flag_chars;
+  const char *flag_chars;
 } format_char_info;
 
 static format_char_info print_char_table[] = {
@@ -1376,7 +1376,7 @@ check_format_info (info, params)
   tree cur_type;
   tree wanted_type;
   tree first_fillin_param;
-  char *format_chars;
+  const char *format_chars;
   format_char_info *fci = NULL;
   char flag_chars[8];
   int has_operand_number = 0;
@@ -1540,7 +1540,7 @@ check_format_info (info, params)
             it is an operand number, so set PARAMS to that operand.  */
          if (*format_chars >= '0' && *format_chars <= '9')
            {
-             char *p = format_chars;
+             const char *p = format_chars;
 
              while (*p >= '0' && *p++ <= '9')
                ;
@@ -1899,8 +1899,8 @@ check_format_info (info, params)
                && (TYPE_MAIN_VARIANT (cur_type) == signed_char_type_node
                    || TYPE_MAIN_VARIANT (cur_type) == unsigned_char_type_node)))
        {
-         register char *this;
-         register char *that;
+         register const char *this;
+         register const char *that;
 
          this = IDENTIFIER_POINTER (DECL_NAME (TYPE_NAME (wanted_type)));
          that = 0;
@@ -2230,7 +2230,7 @@ void
 binary_op_error (code)
      enum tree_code code;
 {
-  register char *opname;
+  register const char *opname;
 
   switch (code)
     {
index 9777678ddc57a74cc7008f713edc62ae1e2cfc3b..82d8ebef0b11f5480f8fd3e81a539ed7a1a6acd9 100644 (file)
@@ -46,7 +46,8 @@ struct arglist {
 HOST_WIDEST_INT parse_c_expression PROTO((char *, int));
 
 static int yylex PROTO((void));
-static void yyerror PVPROTO((char *, ...)) ATTRIBUTE_PRINTF_1 ATTRIBUTE_NORETURN;
+static void yyerror PVPROTO((const char *, ...))
+  ATTRIBUTE_PRINTF_1 ATTRIBUTE_NORETURN;
 static HOST_WIDEST_INT expression_value;
 #ifdef TEST_EXP_READER
 static int expression_signedp;
@@ -131,9 +132,9 @@ struct constant;
 HOST_WIDEST_INT parse_escape PROTO((char **, HOST_WIDEST_INT));
 int check_assertion PROTO((U_CHAR *, int, int, struct arglist *));
 struct hashnode *lookup PROTO((U_CHAR *, int, int));
-void error PVPROTO((char *, ...)) ATTRIBUTE_PRINTF_1;
-void pedwarn PVPROTO((char *, ...)) ATTRIBUTE_PRINTF_1;
-void warning PVPROTO((char *, ...)) ATTRIBUTE_PRINTF_1;
+void error PVPROTO((const char *, ...)) ATTRIBUTE_PRINTF_1;
+void pedwarn PVPROTO((const char *, ...)) ATTRIBUTE_PRINTF_1;
+void warning PVPROTO((const char *, ...)) ATTRIBUTE_PRINTF_1;
 
 static int parse_number PROTO((int));
 static HOST_WIDEST_INT left_shift PROTO((struct constant *, unsigned HOST_WIDEST_INT));
@@ -144,7 +145,7 @@ static void integer_overflow PROTO((void));
 #define SIGNED (~0)
 #define UNSIGNED 0
 
-#line 152 "cexp.y"
+#line 153 "cexp.y"
 typedef union {
   struct constant {HOST_WIDEST_INT value; int signedp;} integer;
   struct name {U_CHAR *address; int length;} name;
@@ -225,10 +226,10 @@ static const short yyrhs[] = {    35,
 
 #if YYDEBUG != 0
 static const short yyrline[] = { 0,
-   182,   192,   193,   200,   205,   208,   210,   213,   217,   219,
-   224,   229,   242,   259,   272,   278,   284,   290,   296,   299,
-   302,   309,   316,   323,   330,   333,   336,   339,   342,   345,
-   348,   351,   353,   356,   359,   361,   363,   371,   373,   386
+   183,   193,   194,   201,   206,   209,   211,   214,   218,   220,
+   225,   230,   243,   260,   273,   279,   285,   291,   297,   300,
+   303,   310,   317,   324,   331,   334,   337,   340,   343,   346,
+   349,   352,   354,   357,   360,   362,   364,   372,   374,   387
 };
 #endif
 
@@ -832,7 +833,7 @@ yyreduce:
   switch (yyn) {
 
 case 1:
-#line 183 "cexp.y"
+#line 184 "cexp.y"
 {
                  expression_value = yyvsp[0].integer.value;
 #ifdef TEST_EXP_READER
@@ -841,55 +842,55 @@ case 1:
                ;
     break;}
 case 3:
-#line 194 "cexp.y"
+#line 195 "cexp.y"
 { if (pedantic)
                            pedwarn ("comma operator in operand of `#if'");
                          yyval.integer = yyvsp[0].integer; ;
     break;}
 case 4:
-#line 201 "cexp.y"
+#line 202 "cexp.y"
 { yyval.integer.value = - yyvsp[0].integer.value;
                          yyval.integer.signedp = yyvsp[0].integer.signedp;
                          if ((yyval.integer.value & yyvsp[0].integer.value & yyval.integer.signedp) < 0)
                            integer_overflow (); ;
     break;}
 case 5:
-#line 206 "cexp.y"
+#line 207 "cexp.y"
 { yyval.integer.value = ! yyvsp[0].integer.value;
                          yyval.integer.signedp = SIGNED; ;
     break;}
 case 6:
-#line 209 "cexp.y"
+#line 210 "cexp.y"
 { yyval.integer = yyvsp[0].integer; ;
     break;}
 case 7:
-#line 211 "cexp.y"
+#line 212 "cexp.y"
 { yyval.integer.value = ~ yyvsp[0].integer.value;
                          yyval.integer.signedp = yyvsp[0].integer.signedp; ;
     break;}
 case 8:
-#line 214 "cexp.y"
+#line 215 "cexp.y"
 { yyval.integer.value = check_assertion (yyvsp[0].name.address, yyvsp[0].name.length,
                                                      0, NULL_PTR);
                          yyval.integer.signedp = SIGNED; ;
     break;}
 case 9:
-#line 218 "cexp.y"
+#line 219 "cexp.y"
 { keyword_parsing = 1; ;
     break;}
 case 10:
-#line 220 "cexp.y"
+#line 221 "cexp.y"
 { yyval.integer.value = check_assertion (yyvsp[-4].name.address, yyvsp[-4].name.length,
                                                      1, yyvsp[-1].keywords);
                          keyword_parsing = 0;
                          yyval.integer.signedp = SIGNED; ;
     break;}
 case 11:
-#line 225 "cexp.y"
+#line 226 "cexp.y"
 { yyval.integer = yyvsp[-1].integer; ;
     break;}
 case 12:
-#line 230 "cexp.y"
+#line 231 "cexp.y"
 { yyval.integer.signedp = yyvsp[-2].integer.signedp & yyvsp[0].integer.signedp;
                          if (yyval.integer.signedp)
                            {
@@ -904,7 +905,7 @@ case 12:
                                        * yyvsp[0].integer.value); ;
     break;}
 case 13:
-#line 243 "cexp.y"
+#line 244 "cexp.y"
 { if (yyvsp[0].integer.value == 0)
                            {
                              if (!skip_evaluation)
@@ -923,7 +924,7 @@ case 13:
                                        / yyvsp[0].integer.value); ;
     break;}
 case 14:
-#line 260 "cexp.y"
+#line 261 "cexp.y"
 { if (yyvsp[0].integer.value == 0)
                            {
                              if (!skip_evaluation)
@@ -938,7 +939,7 @@ case 14:
                                        % yyvsp[0].integer.value); ;
     break;}
 case 15:
-#line 273 "cexp.y"
+#line 274 "cexp.y"
 { yyval.integer.value = yyvsp[-2].integer.value + yyvsp[0].integer.value;
                          yyval.integer.signedp = yyvsp[-2].integer.signedp & yyvsp[0].integer.signedp;
                          if (overflow_sum_sign (yyvsp[-2].integer.value, yyvsp[0].integer.value,
@@ -946,7 +947,7 @@ case 15:
                            integer_overflow (); ;
     break;}
 case 16:
-#line 279 "cexp.y"
+#line 280 "cexp.y"
 { yyval.integer.value = yyvsp[-2].integer.value - yyvsp[0].integer.value;
                          yyval.integer.signedp = yyvsp[-2].integer.signedp & yyvsp[0].integer.signedp;
                          if (overflow_sum_sign (yyval.integer.value, yyvsp[0].integer.value,
@@ -954,7 +955,7 @@ case 16:
                            integer_overflow (); ;
     break;}
 case 17:
-#line 285 "cexp.y"
+#line 286 "cexp.y"
 { yyval.integer.signedp = yyvsp[-2].integer.signedp;
                          if ((yyvsp[0].integer.value & yyvsp[0].integer.signedp) < 0)
                            yyval.integer.value = right_shift (&yyvsp[-2].integer, -yyvsp[0].integer.value);
@@ -962,7 +963,7 @@ case 17:
                            yyval.integer.value = left_shift (&yyvsp[-2].integer, yyvsp[0].integer.value); ;
     break;}
 case 18:
-#line 291 "cexp.y"
+#line 292 "cexp.y"
 { yyval.integer.signedp = yyvsp[-2].integer.signedp;
                          if ((yyvsp[0].integer.value & yyvsp[0].integer.signedp) < 0)
                            yyval.integer.value = left_shift (&yyvsp[-2].integer, -yyvsp[0].integer.value);
@@ -970,17 +971,17 @@ case 18:
                            yyval.integer.value = right_shift (&yyvsp[-2].integer, yyvsp[0].integer.value); ;
     break;}
 case 19:
-#line 297 "cexp.y"
+#line 298 "cexp.y"
 { yyval.integer.value = (yyvsp[-2].integer.value == yyvsp[0].integer.value);
                          yyval.integer.signedp = SIGNED; ;
     break;}
 case 20:
-#line 300 "cexp.y"
+#line 301 "cexp.y"
 { yyval.integer.value = (yyvsp[-2].integer.value != yyvsp[0].integer.value);
                          yyval.integer.signedp = SIGNED; ;
     break;}
 case 21:
-#line 303 "cexp.y"
+#line 304 "cexp.y"
 { yyval.integer.signedp = SIGNED;
                          if (yyvsp[-2].integer.signedp & yyvsp[0].integer.signedp)
                            yyval.integer.value = yyvsp[-2].integer.value <= yyvsp[0].integer.value;
@@ -989,7 +990,7 @@ case 21:
                                        <= yyvsp[0].integer.value); ;
     break;}
 case 22:
-#line 310 "cexp.y"
+#line 311 "cexp.y"
 { yyval.integer.signedp = SIGNED;
                          if (yyvsp[-2].integer.signedp & yyvsp[0].integer.signedp)
                            yyval.integer.value = yyvsp[-2].integer.value >= yyvsp[0].integer.value;
@@ -998,7 +999,7 @@ case 22:
                                        >= yyvsp[0].integer.value); ;
     break;}
 case 23:
-#line 317 "cexp.y"
+#line 318 "cexp.y"
 { yyval.integer.signedp = SIGNED;
                          if (yyvsp[-2].integer.signedp & yyvsp[0].integer.signedp)
                            yyval.integer.value = yyvsp[-2].integer.value < yyvsp[0].integer.value;
@@ -1007,7 +1008,7 @@ case 23:
                                        < yyvsp[0].integer.value); ;
     break;}
 case 24:
-#line 324 "cexp.y"
+#line 325 "cexp.y"
 { yyval.integer.signedp = SIGNED;
                          if (yyvsp[-2].integer.signedp & yyvsp[0].integer.signedp)
                            yyval.integer.value = yyvsp[-2].integer.value > yyvsp[0].integer.value;
@@ -1016,64 +1017,64 @@ case 24:
                                        > yyvsp[0].integer.value); ;
     break;}
 case 25:
-#line 331 "cexp.y"
+#line 332 "cexp.y"
 { yyval.integer.value = yyvsp[-2].integer.value & yyvsp[0].integer.value;
                          yyval.integer.signedp = yyvsp[-2].integer.signedp & yyvsp[0].integer.signedp; ;
     break;}
 case 26:
-#line 334 "cexp.y"
+#line 335 "cexp.y"
 { yyval.integer.value = yyvsp[-2].integer.value ^ yyvsp[0].integer.value;
                          yyval.integer.signedp = yyvsp[-2].integer.signedp & yyvsp[0].integer.signedp; ;
     break;}
 case 27:
-#line 337 "cexp.y"
+#line 338 "cexp.y"
 { yyval.integer.value = yyvsp[-2].integer.value | yyvsp[0].integer.value;
                          yyval.integer.signedp = yyvsp[-2].integer.signedp & yyvsp[0].integer.signedp; ;
     break;}
 case 28:
-#line 340 "cexp.y"
+#line 341 "cexp.y"
 { skip_evaluation += !yyvsp[-1].integer.value; ;
     break;}
 case 29:
-#line 342 "cexp.y"
+#line 343 "cexp.y"
 { skip_evaluation -= !yyvsp[-3].integer.value;
                          yyval.integer.value = (yyvsp[-3].integer.value && yyvsp[0].integer.value);
                          yyval.integer.signedp = SIGNED; ;
     break;}
 case 30:
-#line 346 "cexp.y"
+#line 347 "cexp.y"
 { skip_evaluation += !!yyvsp[-1].integer.value; ;
     break;}
 case 31:
-#line 348 "cexp.y"
+#line 349 "cexp.y"
 { skip_evaluation -= !!yyvsp[-3].integer.value;
                          yyval.integer.value = (yyvsp[-3].integer.value || yyvsp[0].integer.value);
                          yyval.integer.signedp = SIGNED; ;
     break;}
 case 32:
-#line 352 "cexp.y"
+#line 353 "cexp.y"
 { skip_evaluation += !yyvsp[-1].integer.value; ;
     break;}
 case 33:
-#line 354 "cexp.y"
+#line 355 "cexp.y"
 { skip_evaluation += !!yyvsp[-4].integer.value - !yyvsp[-4].integer.value; ;
     break;}
 case 34:
-#line 356 "cexp.y"
+#line 357 "cexp.y"
 { skip_evaluation -= !!yyvsp[-6].integer.value;
                          yyval.integer.value = yyvsp[-6].integer.value ? yyvsp[-3].integer.value : yyvsp[0].integer.value;
                          yyval.integer.signedp = yyvsp[-3].integer.signedp & yyvsp[0].integer.signedp; ;
     break;}
 case 35:
-#line 360 "cexp.y"
+#line 361 "cexp.y"
 { yyval.integer = yylval.integer; ;
     break;}
 case 36:
-#line 362 "cexp.y"
+#line 363 "cexp.y"
 { yyval.integer = yylval.integer; ;
     break;}
 case 37:
-#line 364 "cexp.y"
+#line 365 "cexp.y"
 { if (warn_undef && !skip_evaluation)
                            warning ("`%.*s' is not defined",
                                     yyvsp[0].name.length, yyvsp[0].name.address);
@@ -1081,11 +1082,11 @@ case 37:
                          yyval.integer.signedp = SIGNED; ;
     break;}
 case 38:
-#line 372 "cexp.y"
+#line 373 "cexp.y"
 { yyval.keywords = 0; ;
     break;}
 case 39:
-#line 374 "cexp.y"
+#line 375 "cexp.y"
 { struct arglist *temp;
                          yyval.keywords = (struct arglist *) xmalloc (sizeof (struct arglist));
                          yyval.keywords->next = yyvsp[-2].keywords;
@@ -1100,7 +1101,7 @@ case 39:
                          temp->next->length = 1; ;
     break;}
 case 40:
-#line 387 "cexp.y"
+#line 388 "cexp.y"
 { yyval.keywords = (struct arglist *) xmalloc (sizeof (struct arglist));
                          yyval.keywords->name = yyvsp[-1].name.address;
                          yyval.keywords->length = yyvsp[-1].name.length;
@@ -1304,7 +1305,7 @@ yyerrhandle:
   yystate = yyn;
   goto yynewstate;
 }
-#line 392 "cexp.y"
+#line 393 "cexp.y"
 
 \f
 /* During parsing of a C expression, the pointer to the next character
@@ -1410,7 +1411,7 @@ parse_number (olen)
 }
 
 struct token {
-  char *operator;
+  const char *operator;
   int token;
 };
 
@@ -1917,17 +1918,17 @@ parse_c_expression (string, warn_undefined)
 }
 
 static void
-yyerror VPROTO ((char * msgid, ...))
+yyerror VPROTO ((const char * msgid, ...))
 {
 #ifndef ANSI_PROTOTYPES
-  char * msgid;
+  const char * msgid;
 #endif
   va_list args;
 
   VA_START (args, msgid);
 
 #ifndef ANSI_PROTOTYPES
-  msgid = va_arg (args, char *);
+  msgid = va_arg (args, const char *);
 #endif
 
   fprintf (stderr, "error: ");
index 76818e8844ab958eaf8d5b04432cd66891e305f4..9ccc025374356d69229b7f7637b3bedb2f14491c 100644 (file)
@@ -1,5 +1,5 @@
 /* Parse C expressions for CCCP.
-   Copyright (C) 1987, 92, 94, 95, 96, 97, 1998 Free Software Foundation.
+   Copyright (C) 1987, 92, 94-98, 1999 Free Software Foundation.
 
 This program is free software; you can redistribute it and/or modify it
 under the terms of the GNU General Public License as published by the
@@ -50,7 +50,8 @@ struct arglist {
 HOST_WIDEST_INT parse_c_expression PROTO((char *, int));
 
 static int yylex PROTO((void));
-static void yyerror PVPROTO((char *, ...)) ATTRIBUTE_PRINTF_1 ATTRIBUTE_NORETURN;
+static void yyerror PVPROTO((const char *, ...))
+  ATTRIBUTE_PRINTF_1 ATTRIBUTE_NORETURN;
 static HOST_WIDEST_INT expression_value;
 #ifdef TEST_EXP_READER
 static int expression_signedp;
@@ -135,9 +136,9 @@ struct constant;
 HOST_WIDEST_INT parse_escape PROTO((char **, HOST_WIDEST_INT));
 int check_assertion PROTO((U_CHAR *, int, int, struct arglist *));
 struct hashnode *lookup PROTO((U_CHAR *, int, int));
-void error PVPROTO((char *, ...)) ATTRIBUTE_PRINTF_1;
-void pedwarn PVPROTO((char *, ...)) ATTRIBUTE_PRINTF_1;
-void warning PVPROTO((char *, ...)) ATTRIBUTE_PRINTF_1;
+void error PVPROTO((const char *, ...)) ATTRIBUTE_PRINTF_1;
+void pedwarn PVPROTO((const char *, ...)) ATTRIBUTE_PRINTF_1;
+void warning PVPROTO((const char *, ...)) ATTRIBUTE_PRINTF_1;
 
 static int parse_number PROTO((int));
 static HOST_WIDEST_INT left_shift PROTO((struct constant *, unsigned HOST_WIDEST_INT));
@@ -494,7 +495,7 @@ parse_number (olen)
 }
 
 struct token {
-  char *operator;
+  const char *operator;
   int token;
 };
 
@@ -1001,17 +1002,17 @@ parse_c_expression (string, warn_undefined)
 }
 
 static void
-yyerror VPROTO ((char * msgid, ...))
+yyerror VPROTO ((const char * msgid, ...))
 {
 #ifndef ANSI_PROTOTYPES
-  char * msgid;
+  const char * msgid;
 #endif
   va_list args;
 
   VA_START (args, msgid);
 
 #ifndef ANSI_PROTOTYPES
-  msgid = va_arg (args, char *);
+  msgid = va_arg (args, const char *);
 #endif
 
   fprintf (stderr, "error: ");
index b2ad7fe7d705885a0c533884ee9670c9c7e3b76f..e9d4afae6613a46a6d0fceeb7b4b37313456868f 100644 (file)
@@ -576,7 +576,7 @@ static void compute_set_hash_table    PROTO ((rtx));
 static void alloc_expr_hash_table     PROTO ((int));
 static void free_expr_hash_table      PROTO ((void));
 static void compute_expr_hash_table   PROTO ((rtx));
-static void dump_hash_table           PROTO ((FILE *, char *, struct expr **, int, int));
+static void dump_hash_table           PROTO ((FILE *, const char *, struct expr **, int, int));
 static struct expr *lookup_expr       PROTO ((rtx));
 static struct expr *lookup_set        PROTO ((int, rtx));
 static struct expr *next_set          PROTO ((int, struct expr *));
@@ -1910,7 +1910,7 @@ hash_scan_insn (insn, set_p, in_libcall_block)
 static void
 dump_hash_table (file, name, table, table_size, total_size)
      FILE *file;
-     char *name;
+     const char *name;
      struct expr **table;
      int table_size, total_size;
 {
index e9c356174edb1b3672398237721548810ea5abd3..1bcc2803a7e8384747b062f47691a7ff8c4ff786 100644 (file)
@@ -110,7 +110,7 @@ get_label_from_map (map, i)
    Nonzero means value is a warning msgid with a single %s
    for the function's name.  */
 
-char *
+const char *
 function_cannot_inline_p (fndecl)
      register tree fndecl;
 {
index 1422793b3f3baf058b361c6f0764be99ef308688..0ec9066126d5df7f9c8b25f5c09cbb9b56007b80 100644 (file)
@@ -21,13 +21,16 @@ Boston, MA 02111-1307, USA.  */
 
 #include "config.h"
 #include "system.h"
+
+/* Include insn-config.h before expr.h so that HAVE_conditional_move
+   is properly defined. */
+#include "insn-config.h"
 #include "rtl.h"
 #include "tree.h"
 #include "flags.h"
 #include "insn-flags.h"
 #include "insn-codes.h"
 #include "expr.h"
-#include "insn-config.h"
 #include "recog.h"
 #include "reload.h"
 
@@ -248,9 +251,9 @@ static enum insn_code can_float_p PROTO((enum machine_mode, enum machine_mode,
                                         int));
 static rtx ftruncify   PROTO((rtx));
 static optab init_optab        PROTO((enum rtx_code));
-static void init_libfuncs PROTO((optab, int, int, char *, int));
-static void init_integral_libfuncs PROTO((optab, char *, int));
-static void init_floating_libfuncs PROTO((optab, char *, int));
+static void init_libfuncs PROTO((optab, int, int, const char *, int));
+static void init_integral_libfuncs PROTO((optab, const char *, int));
+static void init_floating_libfuncs PROTO((optab, const char *, int));
 #ifdef HAVE_conditional_trap
 static void init_traps PROTO((void));
 #endif
@@ -4085,7 +4088,7 @@ init_libfuncs (optable, first_mode, last_mode, opname, suffix)
     register optab optable;
     register int first_mode;
     register int last_mode;
-    register char *opname;
+    register const char *opname;
     register int suffix;
 {
   register int mode;
@@ -4099,7 +4102,7 @@ init_libfuncs (optable, first_mode, last_mode, opname, suffix)
       register char *libfunc_name
        = (char *) xmalloc (2 + opname_len + mname_len + 1 + 1);
       register char *p;
-      register char *q;
+      register const char *q;
 
       p = libfunc_name;
       *p++ = '_';
@@ -4123,7 +4126,7 @@ init_libfuncs (optable, first_mode, last_mode, opname, suffix)
 static void
 init_integral_libfuncs (optable, opname, suffix)
     register optab optable;
-    register char *opname;
+    register const char *opname;
     register int suffix;
 {
   init_libfuncs (optable, SImode, TImode, opname, suffix);
@@ -4137,7 +4140,7 @@ init_integral_libfuncs (optable, opname, suffix)
 static void
 init_floating_libfuncs (optable, opname, suffix)
     register optab optable;
-    register char *opname;
+    register const char *opname;
     register int suffix;
 {
   init_libfuncs (optable, SFmode, TFmode, opname, suffix);
index 8c5e3fe805b346e8b36dcf985042a524cd9e2929..e6a15fed515a9608af25050cd48b4f8a15e82847 100644 (file)
@@ -414,12 +414,12 @@ static void e64toasc      PROTO((unsigned EMUSHORT *, char *, int));
 static void e113toasc  PROTO((unsigned EMUSHORT *, char *, int));
 #endif /* 0 */
 static void etoasc     PROTO((unsigned EMUSHORT *, char *, int));
-static void asctoe24   PROTO((char *, unsigned EMUSHORT *));
-static void asctoe53   PROTO((char *, unsigned EMUSHORT *));
-static void asctoe64   PROTO((char *, unsigned EMUSHORT *));
-static void asctoe113  PROTO((char *, unsigned EMUSHORT *));
-static void asctoe     PROTO((char *, unsigned EMUSHORT *));
-static void asctoeg    PROTO((char *, unsigned EMUSHORT *, int));
+static void asctoe24   PROTO((const char *, unsigned EMUSHORT *));
+static void asctoe53   PROTO((const char *, unsigned EMUSHORT *));
+static void asctoe64   PROTO((const char *, unsigned EMUSHORT *));
+static void asctoe113  PROTO((const char *, unsigned EMUSHORT *));
+static void asctoe     PROTO((const char *, unsigned EMUSHORT *));
+static void asctoeg    PROTO((const char *, unsigned EMUSHORT *, int));
 static void efloor     PROTO((unsigned EMUSHORT *, unsigned EMUSHORT *));
 #if 0
 static void efrexp     PROTO((unsigned EMUSHORT *, int *,
@@ -431,7 +431,7 @@ static void eremain PROTO((unsigned EMUSHORT *, unsigned EMUSHORT *,
                               unsigned EMUSHORT *));
 #endif
 static void eiremain   PROTO((unsigned EMUSHORT *, unsigned EMUSHORT *));
-static void mtherr     PROTO((char *, int));
+static void mtherr     PROTO((const char *, int));
 #ifdef DEC
 static void dectoe     PROTO((unsigned EMUSHORT *, unsigned EMUSHORT *));
 static void etodec     PROTO((unsigned EMUSHORT *, unsigned EMUSHORT *));
@@ -691,7 +691,7 @@ etruncui (x)
 
 REAL_VALUE_TYPE
 ereal_atof (s, t)
-     char *s;
+     const char *s;
      enum machine_mode t;
 {
   unsigned EMUSHORT tem[NE], e[NE];
@@ -5006,7 +5006,7 @@ etoasc (x, string, ndigs)
 
 static void
 asctoe24 (s, y)
-     char *s;
+     const char *s;
      unsigned EMUSHORT *y;
 {
   asctoeg (s, y, 24);
@@ -5017,7 +5017,7 @@ asctoe24 (s, y)
 
 static void
 asctoe53 (s, y)
-     char *s;
+     const char *s;
      unsigned EMUSHORT *y;
 {
 #if defined(DEC) || defined(IBM)
@@ -5036,7 +5036,7 @@ asctoe53 (s, y)
 
 static void
 asctoe64 (s, y)
-     char *s;
+     const char *s;
      unsigned EMUSHORT *y;
 {
   asctoeg (s, y, 64);
@@ -5046,7 +5046,7 @@ asctoe64 (s, y)
 
 static void
 asctoe113 (s, y)
-     char *s;
+     const char *s;
      unsigned EMUSHORT *y;
 {
   asctoeg (s, y, 113);
@@ -5056,7 +5056,7 @@ asctoe113 (s, y)
 
 static void
 asctoe (s, y)
-     char *s;
+     const char *s;
      unsigned EMUSHORT *y;
 {
   asctoeg (s, y, NBITS);
@@ -5067,7 +5067,7 @@ asctoe (s, y)
 
 static void
 asctoeg (ss, y, oprec)
-     char *ss;
+     const char *ss;
      unsigned EMUSHORT *y;
      int oprec;
 {
@@ -5082,12 +5082,11 @@ asctoeg (ss, y, oprec)
   /* Copy the input string.  */
   lstr = (char *) alloca (strlen (ss) + 1);
 
-  s = ss;
-  while (*s == ' ')            /* skip leading spaces */
-    ++s;
+  while (*ss == ' ')           /* skip leading spaces */
+    ++ss;
 
   sp = lstr;
-  while ((*sp++ = *s++) != '\0')
+  while ((*sp++ = *ss++) != '\0')
     ;
   s = lstr;
 
@@ -5664,7 +5663,7 @@ extern int merror;
 
 static void
 mtherr (name, code)
-     char *name;
+     const char *name;
      int code;
 {
   /* The string passed by the calling program is supposed to be the
index 0fa893ce932f4862a2585277f52d454a14bee813..f289379efd8329fd0784f571abb56e00eacb113a 100644 (file)
@@ -1,5 +1,5 @@
 /* Definitions of floating-point access for GNU compiler.
-   Copyright (C) 1989, 91, 94, 96, 97, 1998 Free Software Foundation, Inc.
+   Copyright (C) 1989, 91, 94, 96-98, 1999 Free Software Foundation, Inc.
 
 This file is part of GNU CC.
 
@@ -132,7 +132,7 @@ extern void earith          PROTO((REAL_VALUE_TYPE *, int,
                                       REAL_VALUE_TYPE *, REAL_VALUE_TYPE *));
 extern REAL_VALUE_TYPE etrunci PROTO((REAL_VALUE_TYPE));
 extern REAL_VALUE_TYPE etruncui        PROTO((REAL_VALUE_TYPE));
-extern REAL_VALUE_TYPE ereal_atof PROTO((char *, enum machine_mode));
+extern REAL_VALUE_TYPE ereal_atof PROTO((const char *, enum machine_mode));
 extern REAL_VALUE_TYPE ereal_negate PROTO((REAL_VALUE_TYPE));
 extern HOST_WIDE_INT efixi     PROTO((REAL_VALUE_TYPE));
 extern unsigned HOST_WIDE_INT efixui PROTO((REAL_VALUE_TYPE));
index 6513d077ecda3cebd06bbc9446e61087503d9a36..2a4179223004a1be2818d988471de8aa01720556 100644 (file)
@@ -454,7 +454,7 @@ dump_sbitmap (file, bmap)
 void
 dump_sbitmap_vector (file, title, subtitle, bmaps, n_maps)
      FILE *file;
-     char *title, *subtitle;
+     const char *title, *subtitle;
      sbitmap *bmaps;
      int n_maps;
 {
index 350142d809de9d45cdca2450cf51d0b2fcb8b10f..ca475fa756c505262ac28870aaf1e9878b00590c 100644 (file)
@@ -90,7 +90,7 @@ do {                                                                  \
 #define sbitmap_vector_free(vec)       free(vec)
 
 extern void dump_sbitmap PROTO ((FILE *, sbitmap));
-extern void dump_sbitmap_vector PROTO ((FILE *, char *, char *,
+extern void dump_sbitmap_vector PROTO ((FILE *, const char *, const char *,
                                        sbitmap *, int));
 
 extern sbitmap sbitmap_alloc PROTO ((int));
index 385920847ccd80c9a86a0f19568916651863646a..15ac541c7fe84e38c776a2a7c5472002c3a94160 100644 (file)
@@ -306,7 +306,7 @@ struct nesting
          /* Number of range exprs in case statement.  */
          int num_ranges;
          /* Name of this kind of statement, for warnings.  */
-         char *printname;
+         const char *printname;
          /* Used to save no_line_numbers till we see the first case label.
             We set this to -1 when we see the first case label in this
             case statement.  */
@@ -425,7 +425,7 @@ struct label_chain
 static int using_eh_for_cleanups_p = 0;
 
 
-static int n_occurrences               PROTO((int, char *));
+static int n_occurrences               PROTO((int, const char *));
 static void expand_goto_internal       PROTO((tree, rtx, rtx));
 static int expand_fixup                        PROTO((tree, rtx, rtx));
 static rtx expand_nl_handler_label     PROTO((rtx, rtx));
@@ -1120,7 +1120,7 @@ fixup_gotos (thisblock, stack_level, cleanup_list, first_insn, dont_jump_in)
 static int
 n_occurrences (c, s)
      int c;
-     char *s;
+     const char *s;
 {
   int n = 0;
   while (*s)
@@ -4172,7 +4172,7 @@ expand_start_case (exit_flag, expr, type, printname)
      int exit_flag;
      tree expr;
      tree type;
-     char *printname;
+     const char *printname;
 {
   register struct nesting *thiscase = ALLOC_NESTING ();
 
index 66598483de68d95ce69b3333aa764bcfa63ae6df..c6dc50fcd44c4fa3e0b3de3bb1ffb22e5d972234 100644 (file)
@@ -3497,7 +3497,7 @@ rest_of_compilation (decl)
   if (DECL_SAVED_INSNS (decl) == 0)
     {
       int inlinable = 0;
-      char *lose;
+      const char *lose;
 
       /* If requested, consider whether to make this function inline.  */
       if (DECL_INLINE (decl) || flag_inline_functions)
index 88d6cf1a255beaaf2dfda9b8802b597931e10790..e91902f46dfa984d4fb3211360609a8bc06328ab 100644 (file)
@@ -1805,7 +1805,7 @@ extern tree decl_type_context             PROTO((tree));
    Otherwise return a warning message with a single %s
    for the function's name.  */
 
-extern char *function_cannot_inline_p  PROTO((tree));
+extern const char *function_cannot_inline_p    PROTO((tree));
 
 /* Return 1 if EXPR is the real constant zero.  */
 extern int real_zerop PROTO((tree));
@@ -1946,7 +1946,7 @@ extern tree last_cleanup_this_contour             PROTO((void));
 extern int expand_dhc_cleanup                  PROTO((tree));
 extern int expand_dcc_cleanup                  PROTO((tree));
 extern void expand_start_case                  PROTO((int, tree, tree,
-                                                      char *));
+                                                      const char *));
 extern void expand_end_case                    PROTO((tree));
 extern int pushcase                            PROTO((tree,
                                                       tree (*) (tree, tree),