Fix various QA issues: * Use correct printf format specifiers for 'size_t' * Fix const correctness ('char*' -> 'const char*') for C-string literals * Correctly forward declare inline functions --- a/fire/test-fire.cc +++ b/fire/test-fire.cc @@ -24,7 +24,7 @@ if (k->size < (size_t) N) sizes[k->size]++; if (k->size % 4 !=0) - printf ("odd size: %d\n", k->size); + printf ("odd size: %zu\n", k->size); } printf ("min = %d, max = %d\n", min, max); for (int i = min; i <= max && i < N; i+=4) --- a/fire/tree-supp.cc +++ b/fire/tree-supp.cc @@ -485,7 +485,7 @@ if (size < (size_t) N) sizes[size]++; if (size % 4 !=0) - printf ("odd size: %d\n", size); + printf ("odd size: %zu\n", size); } void --- a/freehdl/kernel-dump.hh +++ b/freehdl/kernel-dump.hh @@ -42,9 +42,9 @@ short wait_id; // This function will return an appropriate table entry (if // available) - char *find_table(type_info_interface* type); + const char *find_table(type_info_interface* type); //this variable is used by the read_type function - char* translation_table; + const char* translation_table; // This method is executed each time the signal value changes bool execute(); // Continue dumping the signal. @@ -77,7 +77,7 @@ extern list signal_dump_process_list; // Used to store the user_defined translation table types -extern map > mapping_translation_table; +extern map > mapping_translation_table; /****************************************************** --- a/freehdl/kernel-fhdl-stream.hh +++ b/freehdl/kernel-fhdl-stream.hh @@ -29,7 +31,7 @@ str->flush(); } - fhdl_ostream_t &operator<<(char *p); + fhdl_ostream_t &operator<<(const char *p); fhdl_ostream_t &operator<<(const string &a); fhdl_ostream_t &operator<<(const int i); fhdl_ostream_t &operator<<(const unsigned int i); --- a/freehdl/std-vhdl-types.hh +++ b/freehdl/std-vhdl-types.hh @@ -607,7 +618,7 @@ // which caused the failure or NULL otherwise. virtual const char *read(void *dest, const char *str) = 0; // Prints the content of src into an string stream in VCD format - virtual void vcd_print(buffer_stream &str, const void *src,char* translation_table, bool pure) = 0; + virtual void vcd_print(buffer_stream &str, const void *src, const char* translation_table, bool pure) = 0; // Prints value into binary stream. Note that only the raw data but // no type info objects are written! The method returns the number // of bytes written to the stream. @@ -785,7 +796,7 @@ bool assign(void *dest, const void *src); void remove(void *src); void print(buffer_stream &str, const void *src, int mode); - void vcd_print(buffer_stream &str, const void *src,char* translation_table, bool pure); + void vcd_print(buffer_stream &str, const void *src, const char* translation_table, bool pure); const char *read(void *dest, const char *str); integer check(integer value) { @@ -821,7 +832,7 @@ bool assign(void *dest, const void *src); void remove(void *src); void print(buffer_stream &str, const void *src, int mode); - void vcd_print(buffer_stream &str, const void *src,char* translation_table, bool pure) {}; + void vcd_print(buffer_stream &str, const void *src, const char* translation_table, bool pure) {}; const char *read(void *dest, const char *str); }; @@ -849,7 +860,7 @@ bool assign(void *dest, const void *src); void remove(void *src); void print(buffer_stream &str, const void *src, int mode) {}; - void vcd_print(buffer_stream &str, const void *src,char* translation_table, bool pure) {}; + void vcd_print(buffer_stream &str, const void *src, const char* translation_table, bool pure) {}; const char *read(void *dest, const char *str); }; @@ -879,7 +890,7 @@ bool assign(void *dest, const void *src); void remove(void *src); void print(buffer_stream &str, const void *src, int mode); - void vcd_print(buffer_stream &str, const void *src,char* translation_table, bool pure); + void vcd_print(buffer_stream &str, const void *src, const char* translation_table, bool pure); const char *read(void *dest, const char *str); floatingpoint check(floatingpoint value) { @@ -914,7 +925,7 @@ bool assign(void *dest, const void *src); void remove(void *src); void print(buffer_stream &str, const void *src, int mode); - void vcd_print(buffer_stream &str, const void *src,char* translation_table, bool pure); + void vcd_print(buffer_stream &str, const void *src, const char* translation_table, bool pure); const char *read(void *dest, const char *str); enumeration check(integer value) { @@ -954,7 +965,7 @@ bool assign(void *dest, const void *src); void remove(void *src); void print(buffer_stream &str, const void *src, int mode); - void vcd_print(buffer_stream &str, const void *src,char* translation_table, bool pure) ; + void vcd_print(buffer_stream &str, const void *src, const char* translation_table, bool pure) ; const char *read(void *dest, const char *str); physical check(physical value) { @@ -1087,7 +1098,7 @@ bool assign(void *dest, const void *src) { return false; }; void remove(void *src); void print(buffer_stream &str, const void *src, int mode); - void vcd_print(buffer_stream &str, const void *src,char* translation_table, bool pure) ; + void vcd_print(buffer_stream &str, const void *src, const char* translation_table, bool pure) ; const char *read(void *dest, const char *str); }; @@ -1230,7 +1241,7 @@ bool assign(void *dest, const void *src) { return false; }; void remove(void *src); void print(buffer_stream &str, const void *src, int mode); - void vcd_print(buffer_stream &str, const void *src,char* translation_table, bool pure); + void vcd_print(buffer_stream &str, const void *src, const char* translation_table, bool pure); const char *read(void *dest, const char *str); }; --- a/freehdl/vaul-lexer.h +++ b/freehdl/vaul-lexer.h @@ -115,7 +114,7 @@ IR_String expand_bitstring(const char *, int len); int LexerInput(char *buf, int max_size); - void LexerError(char *msg); + void LexerError(const char *msg); void message(char *fmt, va_list ap); void message(vaul_yyltype &loc, char *fmt, va_list ap); --- a/kernel/driver_info.cc +++ b/kernel/driver_info.cc @@ -270,6 +270,7 @@ // Creates transaction composite signals. Returns number of assigned scalars. +inline int do_record_transport_assignment(driver_info &, const record_base &, int, const vtime &); inline int do_array_transport_assignment(driver_info &driver, const array_base &value, int first, const vtime &tr_time) { @@ -311,7 +312,6 @@ assigned_scalars += do_array_transport_assignment(driver, (array_base&)value.data[j], i, tr_time); break; case RECORD: - inline int do_record_transport_assignment(driver_info &, const record_base &, int, const vtime &); assigned_scalars += do_record_transport_assignment(driver, (record_base&)value.data[j], i, tr_time); break; } @@ -339,6 +339,7 @@ // Creates transaction for composite signals. Returns number of assigned scalars. +inline int do_record_inertial_assignment(driver_info &, const record_base &, int, const vtime &, const vtime &); inline int do_array_inertial_assignment(driver_info &driver, const array_base &value, int first, @@ -381,8 +382,6 @@ assigned_scalars += do_array_inertial_assignment(driver, (array_base&)value.data[j], i, tr_time, rm_time); break; case RECORD: - inline int do_record_inertial_assignment(driver_info &, const record_base &, int, - const vtime &, const vtime &); assigned_scalars += do_record_inertial_assignment(driver, (record_base&)value.data[j], i, tr_time, rm_time); break; } --- a/kernel/dump.cc +++ b/kernel/dump.cc @@ -90,7 +90,7 @@ // find_translation table -char * +const char * signal_dump::find_table(type_info_interface* type) { switch(type->id) --- a/kernel/fhdl_stream.cc +++ b/kernel/fhdl_stream.cc @@ -60,7 +63,7 @@ } fhdl_ostream_t & -fhdl_ostream_t::operator<<(char *p) +fhdl_ostream_t::operator<<(const char *p) { if (!socket_connection) *str << p; --- a/std/vhdl_types.cc +++ b/std/vhdl_types.cc @@ -1013,7 +1016,7 @@ } void -integer_info_base::vcd_print(buffer_stream &str, const void *src,char* translation_table, bool pure) +integer_info_base::vcd_print(buffer_stream &str, const void *src, const char* translation_table, bool pure) { integer op =*((integer*)src); static char result[INTEGER_SIZE_LD + 1]; @@ -1306,7 +1309,7 @@ } void -float_info_base::vcd_print(buffer_stream &str, const void *src,char* translation_table, bool pure) { +float_info_base::vcd_print(buffer_stream &str, const void *src, const char* translation_table, bool pure) { // should be definitly enough characters to hold a string // representation of a double static char rbuffer[8*sizeof(double)]; @@ -1432,7 +1435,7 @@ void -enum_info_base::vcd_print(buffer_stream &str, const void *src,char* translation_table, bool pure) +enum_info_base::vcd_print(buffer_stream &str, const void *src, const char* translation_table, bool pure) { if (translation_table != NULL) { const char output = translation_table[*((enumeration*)src)]; @@ -1583,7 +1586,7 @@ } void -physical_info_base::vcd_print(buffer_stream &str, const void *src,char* translation_table, bool pure) { +physical_info_base::vcd_print(buffer_stream &str, const void *src, const char* translation_table, bool pure) { str << *((physical*)src) << " " << units[0]; } @@ -1778,7 +1781,7 @@ } // Temporary VCD_Print function -void array_info::vcd_print(buffer_stream &str, const void *src,char* translation_table, bool pure) +void array_info::vcd_print(buffer_stream &str, const void *src, const char* translation_table, bool pure) { //str.clean(); int length = ((array_base*)src)->info->length; @@ -2090,7 +2093,7 @@ // Temporary VCD_Print function -void record_info::vcd_print(buffer_stream &str, const void *src, char* translation_table, bool pure) +void record_info::vcd_print(buffer_stream &str, const void *src, const char* translation_table, bool pure) { record_base &record = *(record_base*)src; record_info &rinfo = *record.info; --- a/vaul/lexer.cc +++ b/vaul/lexer.cc @@ -2075,7 +2075,7 @@ } void -vaul_lexer::LexerError (char *m) +vaul_lexer::LexerError (const char *m) { if (prt) prt->fprintf (log, "%?%s %C\n", this, m, this);