This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Warning patch installed


I installed the following warning fix patch.

The only seemingly odd part is that I de-constified some functions in
diagnostic.[ch].  The reason for this is that these functions deal
with malloc'ed strings and making them const causes us to pass a const
char* to free.  We'd get warnings, but the pointers had their
const-ness cast away, at which point -Wcast-qual complains.  The
correct thing IMHO is that malloc'ed strings are not const, similar to
the return value of strdup.

Bootstrapped on Solaris2.7, no problems.  Installed.



2000-05-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>

	* bb-reorder.c (get_next_bb_note, get_prev_bb_note): Prototype.
	
	* diagnostic (vbuild_message_string, build_message_string,
	build_location_prefix, output_get_prefix, init_output_buffer,
	output_notice, vline_wrapper_message_with_location,
	v_message_with_decl, default_print_error_function): De-constify.
	(set_real_maximum_length): Prototype.

	* diagnostic.h (struct output_buffer, init_output_buffer,
	output_get_prefix, output_set_prefix): De-constify.

	* function.c (init_function_start): Constify.

	* gensupport.c (remove_constraints, process_rtx): Prototype.

	* gthr-posix.h: Indent uses of #pragma.

	* objc/objc-act.c (ggc_mark_imp_list, ggc_mark_hash_table):
	Prototype.

	* predict.c (find_expected_value): Delete prototype.
	(expected_value_to_br_prob): Initialize variable `ev_reg'.

	* sbitmap.h (debug_sbitmap): Prototype.

	* ssa.c (compute_coalesced_reg_partition): Prototype.

	* stor-layout.c (debug_rli): Prototype.

	* tree.h (round_down): Prototype.
	(init_function_start): Constify.

ch:
	* ch-tree.h (init_function_start): Constify.

diff -rup orig/egcs-CVS20000503/gcc/bb-reorder.c egcs-CVS20000503/gcc/bb-reorder.c
--- orig/egcs-CVS20000503/gcc/bb-reorder.c	Wed May  3 10:05:14 2000
+++ egcs-CVS20000503/gcc/bb-reorder.c	Thu May  4 10:57:16 2000
@@ -175,6 +175,8 @@ static void free_scope_forest_1		PARAMS 
 static void free_scope_forest		PARAMS ((scope_forest_info *));
 void dump_scope_forest			PARAMS ((scope_forest_info *));
 static void dump_scope_forest_1		PARAMS ((scope, int));
+static rtx get_next_bb_note		PARAMS ((rtx));
+static rtx get_prev_bb_note		PARAMS ((rtx));
 
 /* Skip over insns BEFORE or AFTER BB which are typically associated with
    basic block BB.  */
diff -rup orig/egcs-CVS20000503/gcc/diagnostic.c egcs-CVS20000503/gcc/diagnostic.c
--- orig/egcs-CVS20000503/gcc/diagnostic.c	Sun Apr 23 00:21:22 2000
+++ egcs-CVS20000503/gcc/diagnostic.c	Thu May  4 10:46:07 2000
@@ -45,10 +45,10 @@ Boston, MA 02111-1307, USA.  */
 /* Prototypes. */
 static int doing_line_wrapping PARAMS ((void));
 
-static const char *vbuild_message_string PARAMS ((const char *, va_list));
-static const char *build_message_string PARAMS ((const char *, ...))
+static char *vbuild_message_string PARAMS ((const char *, va_list));
+static char *build_message_string PARAMS ((const char *, ...))
      ATTRIBUTE_PRINTF_1;
-static const char *build_location_prefix PARAMS ((const char *, int, int));
+static char *build_location_prefix PARAMS ((const char *, int, int));
 static void output_notice PARAMS ((output_buffer *, const char *));
 static void line_wrapper_printf PARAMS ((FILE *, const char *, ...))
      ATTRIBUTE_PRINTF_2;
@@ -78,6 +78,7 @@ static void v_pedwarn_with_file_and_line
 static void vsorry PARAMS ((const char *, va_list));
 static void report_file_and_line PARAMS ((const char *, int, int));
 static void vnotice PARAMS ((FILE *, const char *, va_list));
+static void set_real_maximum_length PARAMS ((output_buffer *));
 
 extern int rtl_dump_and_exit;
 extern int inhibit_warnings;
@@ -135,7 +136,7 @@ output_is_line_wrapping (buffer)
 }
 
 /* Return BUFFER's prefix.  */
-const char *
+char *
 output_get_prefix (buffer)
      const output_buffer *buffer;
 {
@@ -178,7 +179,7 @@ output_set_maximum_length (buffer, lengt
 void
 output_set_prefix (buffer, prefix)
      output_buffer *buffer;
-     const char *prefix;
+     char *prefix;
 {
   buffer->prefix = prefix;
   set_real_maximum_length (buffer);
@@ -189,7 +190,7 @@ output_set_prefix (buffer, prefix)
 void
 init_output_buffer (buffer, prefix, maximum_length)
      output_buffer *buffer;
-     const char *prefix;
+     char *prefix;
      int maximum_length;
 {
   obstack_init (&buffer->obstack);
@@ -397,7 +398,7 @@ output_format (buffer, msg)
   output_finish (buffer);
 }
 
-static const char *
+static char *
 vbuild_message_string (msgid, ap)
      const char *msgid;
      va_list ap;
@@ -411,14 +412,14 @@ vbuild_message_string (msgid, ap)
 /*  Return a malloc'd string containing MSGID formatted a la
     printf.  The caller is reponsible for freeing the memory.  */
 
-static const char *
+static char *
 build_message_string VPARAMS ((const char *msgid, ...))
 {
 #ifndef ANSI_PROTOTYPES
   const char *msgid;
 #endif
   va_list ap;
-  const char *str;
+  char *str;
 
   VA_START (ap, msgid);
 
@@ -437,7 +438,7 @@ build_message_string VPARAMS ((const cha
 /* Return a malloc'd string describing a location.  The caller is
    responsible for freeing the memory.  */
 
-static const char *
+static char *
 build_location_prefix (file, line, warn)
      const char *file;
      int line;
@@ -466,10 +467,10 @@ output_notice (buffer, msgid)
      output_buffer *buffer;
      const char *msgid;
 {
-  const char *message = vbuild_message_string (msgid, buffer->format_args);
+  char *message = vbuild_message_string (msgid, buffer->format_args);
 
   output_add_string (buffer, message);
-  free ((char *) message);
+  free (message);
 }
 
 
@@ -540,7 +541,7 @@ vline_wrapper_message_with_location (fil
   output_notice (&buffer, msgid);
   output_flush_on (&buffer, stderr);
 
-  free ((char*) output_get_prefix (&buffer));
+  free (output_get_prefix (&buffer));
   fputc ('\n', stderr);
 }
 
@@ -688,7 +689,7 @@ v_message_with_decl (decl, warn, msgid, 
   if (doing_line_wrapping())
     {
       output_flush_on (&buffer, stderr);
-      free ((char *) output_get_prefix (&buffer));
+      free (output_get_prefix (&buffer));
     }
   
   fputc ('\n', stderr);
@@ -1137,7 +1138,7 @@ default_print_error_function (file)
 {
   if (last_error_function != current_function_decl)
     {
-      const char *prefix = NULL;
+      char *prefix = NULL;
       output_buffer buffer;
       
       if (file)
diff -rup orig/egcs-CVS20000503/gcc/diagnostic.h egcs-CVS20000503/gcc/diagnostic.h
--- orig/egcs-CVS20000503/gcc/diagnostic.h	Sat Apr 22 07:49:16 2000
+++ egcs-CVS20000503/gcc/diagnostic.h	Thu May  4 10:46:26 2000
@@ -40,7 +40,7 @@ struct output_buffer
   /* The obstack where the text is built up.  */  
   struct obstack obstack;
   /* The prefix for each new line.   */
-  const char *prefix;
+  char *prefix;
   /* The amount of characters output so far.  */  
   int line_length;
   /* The real upper bound of number of characters per line, taking into
@@ -72,10 +72,10 @@ struct output_buffer
 extern printer_fn lang_printer;
 
 /* Prototypes */
-void init_output_buffer		PARAMS ((output_buffer *, const char *, int));
+void init_output_buffer		PARAMS ((output_buffer *, char *, int));
 void output_clear		PARAMS ((output_buffer *));
-const char *output_get_prefix	PARAMS ((const output_buffer *));
-void output_set_prefix		PARAMS ((output_buffer *, const char *));
+char *output_get_prefix		PARAMS ((const output_buffer *));
+void output_set_prefix		PARAMS ((output_buffer *, char *));
 void output_set_maximum_length  PARAMS ((output_buffer *, int));
 void output_emit_prefix		PARAMS ((output_buffer *));
 void output_add_newline		PARAMS ((output_buffer *));
diff -rup orig/egcs-CVS20000503/gcc/function.c egcs-CVS20000503/gcc/function.c
--- orig/egcs-CVS20000503/gcc/function.c	Thu Apr 27 21:16:45 2000
+++ egcs-CVS20000503/gcc/function.c	Thu May  4 11:02:40 2000
@@ -5963,7 +5963,7 @@ init_dummy_function_start ()
 void
 init_function_start (subr, filename, line)
      tree subr;
-     char *filename;
+     const char *filename;
      int line;
 {
   prepare_function_start ();
diff -rup orig/egcs-CVS20000503/gcc/gensupport.c egcs-CVS20000503/gcc/gensupport.c
--- orig/egcs-CVS20000503/gcc/gensupport.c	Wed May  3 14:06:26 2000
+++ egcs-CVS20000503/gcc/gensupport.c	Thu May  4 10:34:52 2000
@@ -37,6 +37,9 @@ struct queue_elem {
 
 static struct queue_elem *rtx_ready_queue;
 
+static void remove_constraints PARAMS ((rtx));
+static void process_rtx PARAMS ((rtx *));
+
 /* Recursively remove constraints from an rtx.  */
 
 static void
diff -rup orig/egcs-CVS20000503/gcc/gthr-posix.h egcs-CVS20000503/gcc/gthr-posix.h
--- orig/egcs-CVS20000503/gcc/gthr-posix.h	Sat Feb 12 14:15:47 2000
+++ egcs-CVS20000503/gcc/gthr-posix.h	Thu May  4 10:33:02 2000
@@ -45,16 +45,16 @@ typedef pthread_mutex_t __gthread_mutex_
 
 #if SUPPORTS_WEAK && GTHREAD_USE_WEAK
 
-#pragma weak pthread_once
-#pragma weak pthread_key_create
-#pragma weak pthread_key_delete
-#pragma weak pthread_getspecific
-#pragma weak pthread_setspecific
-#pragma weak pthread_create
+ #pragma weak pthread_once
+ #pragma weak pthread_key_create
+ #pragma weak pthread_key_delete
+ #pragma weak pthread_getspecific
+ #pragma weak pthread_setspecific
+ #pragma weak pthread_create
 
-#pragma weak pthread_mutex_lock 
-#pragma weak pthread_mutex_trylock 
-#pragma weak pthread_mutex_unlock 
+ #pragma weak pthread_mutex_lock 
+ #pragma weak pthread_mutex_trylock 
+ #pragma weak pthread_mutex_unlock 
 
 static void *__gthread_active_ptr = &pthread_create;
 
diff -rup orig/egcs-CVS20000503/gcc/objc/objc-act.c egcs-CVS20000503/gcc/objc/objc-act.c
--- orig/egcs-CVS20000503/gcc/objc/objc-act.c	Wed Apr 12 10:35:03 2000
+++ egcs-CVS20000503/gcc/objc/objc-act.c	Thu May  4 11:08:02 2000
@@ -341,6 +341,8 @@ static void handle_class_ref			PARAMS ((
 static void generate_struct_by_value_array	PARAMS ((void))
      ATTRIBUTE_NORETURN;
 static void objc_act_parse_init			PARAMS ((void));
+static void ggc_mark_imp_list			PARAMS ((void *));
+static void ggc_mark_hash_table			PARAMS ((void *));
 
 /*** Private Interface (data) ***/
 
diff -rup orig/egcs-CVS20000503/gcc/predict.c egcs-CVS20000503/gcc/predict.c
--- orig/egcs-CVS20000503/gcc/predict.c	Sun Apr 23 00:21:40 2000
+++ egcs-CVS20000503/gcc/predict.c	Thu May  4 10:27:00 2000
@@ -216,12 +216,10 @@ estimate_probability (loops_info)
    expected values of registers.  Generate branch probabilities 
    based off these values.  */
 
-static rtx find_expected_value		PARAMS ((rtx, rtx));
-
 void
 expected_value_to_br_prob ()
 {
-  rtx insn, cond, ev = NULL_RTX, ev_reg;
+  rtx insn, cond, ev = NULL_RTX, ev_reg = NULL_RTX;
 
   for (insn = get_insns (); insn ; insn = NEXT_INSN (insn))
     {
diff -rup orig/egcs-CVS20000503/gcc/sbitmap.h egcs-CVS20000503/gcc/sbitmap.h
--- orig/egcs-CVS20000503/gcc/sbitmap.h	Sun Apr 16 08:21:51 2000
+++ egcs-CVS20000503/gcc/sbitmap.h	Thu May  4 10:55:25 2000
@@ -135,4 +135,5 @@ extern void sbitmap_intersection_of_pred
 extern void sbitmap_union_of_succs	   PARAMS ((sbitmap, sbitmap *, int));
 extern void sbitmap_union_of_preds	   PARAMS ((sbitmap, sbitmap *, int));
 
+extern void debug_sbitmap		   PARAMS ((sbitmap));
 #endif /* _SBITMAP_H */
diff -rup orig/egcs-CVS20000503/gcc/ssa.c egcs-CVS20000503/gcc/ssa.c
--- orig/egcs-CVS20000503/gcc/ssa.c	Thu Apr 27 09:56:31 2000
+++ egcs-CVS20000503/gcc/ssa.c	Thu May  4 10:56:01 2000
@@ -153,7 +153,7 @@ static int coalesce_reg_in_phi
 static int coalesce_regs_in_successor_phi_nodes
   PARAMS ((basic_block bb, partition p, conflict_graph conflicts));
 static partition compute_coalesced_reg_partition
-  PARAMS (());
+  PARAMS ((void));
 static int mark_reg_in_phi 
   PARAMS ((rtx *ptr, void *data));
 static void mark_phi_and_copy_regs
diff -rup orig/egcs-CVS20000503/gcc/stor-layout.c egcs-CVS20000503/gcc/stor-layout.c
--- orig/egcs-CVS20000503/gcc/stor-layout.c	Tue Apr 25 10:04:40 2000
+++ egcs-CVS20000503/gcc/stor-layout.c	Thu May  4 10:48:05 2000
@@ -53,6 +53,7 @@ unsigned int set_alignment = 0;
 static void finalize_record_size	PARAMS ((record_layout_info));
 static void finalize_type_size		PARAMS ((tree));
 static void place_union_field		PARAMS ((record_layout_info, tree));
+extern void debug_rli			PARAMS ((record_layout_info));
 
 /* SAVE_EXPRs for sizes of types and decls, waiting to be expanded.  */
 
diff -rup orig/egcs-CVS20000503/gcc/tree.h egcs-CVS20000503/gcc/tree.h
--- orig/egcs-CVS20000503/gcc/tree.h	Wed Apr 26 14:11:20 2000
+++ egcs-CVS20000503/gcc/tree.h	Thu May  4 11:03:06 2000
@@ -1877,6 +1877,7 @@ extern tree size_int_type_wide		PARAMS (
 #define sbitsize_int(L) size_int_wide ((HOST_WIDE_INT) (L), SBITSIZETYPE)
 
 extern tree round_up			PARAMS ((tree, int));
+extern tree round_down			PARAMS ((tree, int));
 extern tree get_pending_sizes		PARAMS ((void));
 extern void put_pending_sizes		PARAMS ((tree));
 
@@ -2482,7 +2483,7 @@ extern void mark_varargs		PARAMS ((void)
 extern void init_dummy_function_start	PARAMS ((void));
 extern void expand_dummy_function_end	PARAMS ((void));
 extern void init_function_for_compilation	PARAMS ((void));
-extern void init_function_start		PARAMS ((tree, char *, int));
+extern void init_function_start		PARAMS ((tree, const char *, int));
 extern void assign_parms		PARAMS ((tree));
 extern void put_var_into_stack		PARAMS ((tree));
 extern void flush_addressof		PARAMS ((tree));
diff -rup orig/egcs-CVS20000503/gcc/ch/ch-tree.h egcs-CVS20000503/gcc/ch/ch-tree.h
--- orig/egcs-CVS20000503/gcc/ch/ch-tree.h	Tue Mar  7 13:43:17 2000
+++ egcs-CVS20000503/gcc/ch/ch-tree.h	Thu May  4 11:06:28 2000
@@ -1113,7 +1113,7 @@ extern void validate_varying_array_ref  
 /* in function.c */
 extern void expand_function_end                 PARAMS ((char *, int, int));
 extern void expand_function_start               PARAMS ((tree, int));
-extern void init_function_start                 PARAMS ((tree, char *, int));
+extern void init_function_start                 PARAMS ((tree, const char *, int));
 extern void pop_function_context                PARAMS ((void));
 extern void push_function_context               PARAMS ((void));
 

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]