diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2012-08-10 15:57:09 +0000 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2012-08-10 15:57:09 +0000 |
commit | 760ccbabfbec67d80c3bdac9c0803ecf7d1742b6 (patch) | |
tree | a8cbb70fbf1d1aab7eb24310d70be94dee292453 | |
parent | 69ca705286383df96b337cc93428f95bd7623345 (diff) |
add -Wpointer-arith -Wcast-qual -Wcast-align and others to compile flags, and fix const cast warnings generated by new flags
git-svn-id: svn://localhost/ardour2/branches/3.0@13124 d708f5d6-7413-0410-9779-e7cbd77b26cf
-rw-r--r-- | gtk2_ardour/ardour_ui.cc | 2 | ||||
-rw-r--r-- | gtk2_ardour/editor.cc | 4 | ||||
-rw-r--r-- | gtk2_ardour/lv2_plugin_ui.cc | 4 | ||||
-rw-r--r-- | gtk2_ardour/utils.cc | 4 | ||||
-rw-r--r-- | libs/ardour/audio_library.cc | 6 | ||||
-rw-r--r-- | libs/ardour/midi_source.cc | 3 | ||||
-rw-r--r-- | libs/ardour/plugin_manager.cc | 4 | ||||
-rw-r--r-- | libs/ardour/route.cc | 2 | ||||
-rw-r--r-- | libs/ardour/smf_source.cc | 2 | ||||
-rw-r--r-- | libs/ardour/sndfilesource.cc | 2 | ||||
-rw-r--r-- | libs/gtkmm2ext/gtkmm2ext/gtk_ui.h | 2 | ||||
-rw-r--r-- | libs/pbd/locale_guard.cc | 2 | ||||
-rw-r--r-- | libs/pbd/pbd/xml++.h | 4 | ||||
-rw-r--r-- | libs/pbd/xml++.cc | 2 | ||||
-rw-r--r-- | tools/sanity_check/systemtest.cpp | 2 | ||||
-rw-r--r-- | wscript | 16 |
16 files changed, 37 insertions, 24 deletions
diff --git a/gtk2_ardour/ardour_ui.cc b/gtk2_ardour/ardour_ui.cc index 3164467a83..6968c6b78a 100644 --- a/gtk2_ardour/ardour_ui.cc +++ b/gtk2_ardour/ardour_ui.cc @@ -1957,7 +1957,7 @@ JACK, reconnect and save the session."), PROGRAM_NAME); msg.run (); if (free_reason) { - free ((char*) reason); + free (const_cast<char*> (reason)); } } diff --git a/gtk2_ardour/editor.cc b/gtk2_ardour/editor.cc index fc85704781..5d92ccb08e 100644 --- a/gtk2_ardour/editor.cc +++ b/gtk2_ardour/editor.cc @@ -3112,8 +3112,8 @@ Editor::convert_drop_to_paths ( const char* q; p = (const char *) malloc (txt.length() + 1); - txt.copy ((char *) p, txt.length(), 0); - ((char*)p)[txt.length()] = '\0'; + txt.copy (const_cast<char *> (p), txt.length(), 0); + const_cast<char*>(p)[txt.length()] = '\0'; while (p) { diff --git a/gtk2_ardour/lv2_plugin_ui.cc b/gtk2_ardour/lv2_plugin_ui.cc index 7e8f827596..f127256f1b 100644 --- a/gtk2_ardour/lv2_plugin_ui.cc +++ b/gtk2_ardour/lv2_plugin_ui.cc @@ -203,7 +203,7 @@ LV2PluginUI::lv2ui_instantiate(const std::string& title) _external_ui_feature.URI = LV2_EXTERNAL_UI_URI; _external_ui_feature.data = &_external_ui_host; - features_src = features = (LV2_Feature**)_lv2->features(); + features_src = features = const_cast<LV2_Feature**>(_lv2->features()); features_count = 2; while (*features++) { features_count++; @@ -216,7 +216,7 @@ LV2PluginUI::lv2ui_instantiate(const std::string& title) *features++ = *features_src++; } } else { - features_dst = (LV2_Feature**)_lv2->features(); + features_dst = const_cast<LV2_Feature**>(_lv2->features()); } if (!ui_host) { diff --git a/gtk2_ardour/utils.cc b/gtk2_ardour/utils.cc index 62144ffd69..d383758002 100644 --- a/gtk2_ardour/utils.cc +++ b/gtk2_ardour/utils.cc @@ -226,13 +226,13 @@ get_font_for_style (string widgetname) Glib::RefPtr<const Pango::Layout> layout = foobar.get_layout(); - PangoFontDescription *pfd = (PangoFontDescription *)pango_layout_get_font_description((PangoLayout *)layout->gobj()); + PangoFontDescription *pfd = (PangoFontDescription *)pango_layout_get_font_description(const_cast<PangoLayout *>(layout->gobj())); if (!pfd) { /* layout inherited its font description from a PangoContext */ - PangoContext* ctxt = (PangoContext*) pango_layout_get_context ((PangoLayout*) layout->gobj()); + PangoContext* ctxt = (PangoContext*) pango_layout_get_context (const_cast<PangoLayout*>(layout->gobj())); pfd = pango_context_get_font_description (ctxt); return Pango::FontDescription (pfd); /* make a copy */ } diff --git a/libs/ardour/audio_library.cc b/libs/ardour/audio_library.cc index 65e8243e52..c2b2f1bff7 100644 --- a/libs/ardour/audio_library.cc +++ b/libs/ardour/audio_library.cc @@ -94,7 +94,7 @@ AudioLibrary::get_tags (string member) lrdf_statement pattern; pattern.subject = strdup(Glib::filename_to_uri(member).c_str()); - pattern.predicate = (char*)TAG; + pattern.predicate = const_cast<char*>(TAG); pattern.object = 0; pattern.object_type = lrdf_literal; @@ -126,8 +126,8 @@ AudioLibrary::search_members_and (vector<string>& members, const vector<string>& vector<string>::const_iterator i; for (i = tags.begin(); i != tags.end(); ++i){ pattern = new lrdf_statement; - pattern->subject = (char*)"?"; - pattern->predicate = (char*)TAG; + pattern->subject = const_cast<char*>("?"); + pattern->predicate = const_cast<char*>(TAG); pattern->object = strdup((*i).c_str()); pattern->next = old; diff --git a/libs/ardour/midi_source.cc b/libs/ardour/midi_source.cc index 92795db4ae..ff3ff55ced 100644 --- a/libs/ardour/midi_source.cc +++ b/libs/ardour/midi_source.cc @@ -232,7 +232,8 @@ MidiSource::midi_read (Evoral::EventSink<framepos_t>& dst, framepos_t source_sta _name, time_frames + source_start, i->event_type(), i->size())); if (tracker) { - Evoral::MIDIEvent<Evoral::MusicalTime>& ev (*(Evoral::MIDIEvent<Evoral::MusicalTime>*) (&(*i))); + Evoral::MIDIEvent<Evoral::MusicalTime>& ev (*(reinterpret_cast<Evoral::MIDIEvent<Evoral::MusicalTime>*> + (const_cast<Evoral::Event<Evoral::MusicalTime>*> (&(*i))))); if (ev.is_note_on()) { DEBUG_TRACE (DEBUG::MidiSourceIO, string_compose ("\t%1 track note on %2 @ %3 velocity %4\n", _name, (int) ev.note(), time_frames, (int) ev.velocity())); tracker->add (ev.note(), ev.channel()); diff --git a/libs/ardour/plugin_manager.cc b/libs/ardour/plugin_manager.cc index a4be2096de..a749038d7e 100644 --- a/libs/ardour/plugin_manager.cc +++ b/libs/ardour/plugin_manager.cc @@ -452,7 +452,7 @@ PluginManager::get_ladspa_category (uint32_t plugin_id) snprintf(buf, sizeof(buf), "%s%" PRIu32, LADSPA_BASE, plugin_id); pattern.subject = buf; - pattern.predicate = (char*)RDF_TYPE; + pattern.predicate = const_cast<char*>(RDF_TYPE); pattern.object = 0; pattern.object_type = lrdf_uri; @@ -463,7 +463,7 @@ PluginManager::get_ladspa_category (uint32_t plugin_id) } pattern.subject = matches1->object; - pattern.predicate = (char*)(LADSPA_BASE "hasLabel"); + pattern.predicate = const_cast<char*>(LADSPA_BASE "hasLabel"); pattern.object = 0; pattern.object_type = lrdf_literal; diff --git a/libs/ardour/route.cc b/libs/ardour/route.cc index a540e0aa93..94530e3890 100644 --- a/libs/ardour/route.cc +++ b/libs/ardour/route.cc @@ -2313,7 +2313,7 @@ Route::set_state_2X (const XMLNode& node, int version) } else if (keyname == "editor") { sk = EditorSort; } else { - RouteSortOrderKey sk = (RouteSortOrderKey) string_2_enum (remaining.substr (0, equal), sk); + sk = (RouteSortOrderKey) string_2_enum (remaining.substr (0, equal), sk); } set_order_key (sk, n); diff --git a/libs/ardour/smf_source.cc b/libs/ardour/smf_source.cc index 47c653a698..e0462efb08 100644 --- a/libs/ardour/smf_source.cc +++ b/libs/ardour/smf_source.cc @@ -361,7 +361,7 @@ SMFSource::append_event_unlocked_frames (const Evoral::Event<framepos_t>& ev, fr const Evoral::Event<double> beat_ev (ev.event_type(), ev_time_beats, ev.size(), - (uint8_t*)ev.buffer()); + const_cast<uint8_t*>(ev.buffer())); _model->append (beat_ev, event_id); } diff --git a/libs/ardour/sndfilesource.cc b/libs/ardour/sndfilesource.cc index 0ec318a0ac..ca2544054c 100644 --- a/libs/ardour/sndfilesource.cc +++ b/libs/ardour/sndfilesource.cc @@ -858,7 +858,7 @@ SndFileSource::get_soundfile_info (const string& path, SoundFileInfo& info, stri sf_info.format = 0; // libsndfile says to clear this before sf_open(). - if ((sf = sf_open ((char*) path.c_str(), SFM_READ, &sf_info)) == 0) { + if ((sf = sf_open (const_cast<char*>(path.c_str()), SFM_READ, &sf_info)) == 0) { char errbuf[256]; error_msg = sf_error_str (0, errbuf, sizeof (errbuf) - 1); return false; diff --git a/libs/gtkmm2ext/gtkmm2ext/gtk_ui.h b/libs/gtkmm2ext/gtkmm2ext/gtk_ui.h index 40137bbbb7..64176232f0 100644 --- a/libs/gtkmm2ext/gtkmm2ext/gtk_ui.h +++ b/libs/gtkmm2ext/gtkmm2ext/gtk_ui.h @@ -83,7 +83,7 @@ struct UIRequest : public BaseUI::BaseRequestObject { ~UIRequest () { if (type == ErrorMessage && msg) { /* msg was strdup()'ed */ - free ((char *)msg); + free (const_cast<char *>(msg)); } } }; diff --git a/libs/pbd/locale_guard.cc b/libs/pbd/locale_guard.cc index 30fdeadeba..3b8fa7132e 100644 --- a/libs/pbd/locale_guard.cc +++ b/libs/pbd/locale_guard.cc @@ -23,7 +23,7 @@ LocaleGuard::~LocaleGuard () setlocale (LC_NUMERIC, old); if (old) { - free ((char*)old); + free (const_cast<char*>(old)); } } diff --git a/libs/pbd/pbd/xml++.h b/libs/pbd/pbd/xml++.h index 9c3782e3c2..86b05c4d91 100644 --- a/libs/pbd/pbd/xml++.h +++ b/libs/pbd/pbd/xml++.h @@ -98,8 +98,8 @@ public: const XMLPropertyList& properties() const { return _proplist; } XMLProperty* property(const char*); XMLProperty* property(const std::string&); - const XMLProperty* property(const char* n) const { return ((XMLNode*)this)->property(n); } - const XMLProperty* property(const std::string& n) const { return ((XMLNode*)this)->property(n); } + const XMLProperty* property(const char* n) const { return const_cast<XMLNode*>(this)->property(n); } + const XMLProperty* property(const std::string& n) const { return const_cast<XMLNode*>(this)->property(n); } XMLProperty* add_property(const char* name, const std::string& value); XMLProperty* add_property(const char* name, const char* value = ""); diff --git a/libs/pbd/xml++.cc b/libs/pbd/xml++.cc index 3046f971ab..6554bed9ee 100644 --- a/libs/pbd/xml++.cc +++ b/libs/pbd/xml++.cc @@ -131,7 +131,7 @@ XMLTree::read_buffer(const string& buffer) delete _root; _root = 0; - doc = xmlParseMemory((char*)buffer.c_str(), buffer.length()); + doc = xmlParseMemory(const_cast<char*>(buffer.c_str()), buffer.length()); if (!doc) { return false; } diff --git a/tools/sanity_check/systemtest.cpp b/tools/sanity_check/systemtest.cpp index 4801ac2f09..025eb0ef25 100644 --- a/tools/sanity_check/systemtest.cpp +++ b/tools/sanity_check/systemtest.cpp @@ -295,7 +295,7 @@ long long unsigned int system_available_physical_mem() { char buf[256]; long long unsigned int res = 0; - if (0<read_string((char*)"/proc/meminfo", buf, sizeof (buf))) { + if (0<read_string(const_cast<char*>("/proc/meminfo"), buf, sizeof (buf))) { if (strncmp (buf, "MemTotal:", 9) == 0) { if (sscanf (buf, "%*s %llu", &res) != 1) { perror ("parse error in /proc/meminfo"); @@ -334,8 +334,20 @@ def set_compiler_flags (conf,opt): # warnings flags # - conf.env.append_value('CFLAGS', "-Wall") - conf.env.append_value('CXXFLAGS', [ '-Wall', '-Woverloaded-virtual']) + conf.env.append_value('CFLAGS', [ '-Wall', + '-Wpointer-arith', + '-Wcast-qual', + '-Wcast-align', + '-Wstrict-prototypes', + '-Wmissing-prototypes' + ]) + + conf.env.append_value('CXXFLAGS', [ '-Wall', + '-Wpointer-arith', + '-Wcast-qual', + '-Wcast-align', + '-Woverloaded-virtual' + ]) # |