This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Warning patch installed
- To: egcs-patches at egcs dot cygnus dot com
- Subject: Warning patch installed
- From: "Kaveh R. Ghazi" <ghazi at caip dot rutgers dot edu>
- Date: Thu, 4 May 2000 14:04:54 -0400 (EDT)
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));