Warnings in RTAS wrapper on Mac

Jules, I get some trivial warnings when building RTAS with the latest build.. is it possible that the RTAS wrapper is not included in the projects with a fairly high warning level, that you normally use to sanity check those?

That is indeed highly likely. Will sanity-check at some point.

(Unless you mean the deprecation warnings about Carbon, which are unavoidable?)

no no, I mean a lot of warnings like missing casts, unused arguments and so on.

That's also in the wrappers for the other formats as well, now that I'm having a look at them

 

As for the deprecations that came directly from the RTAS SDK, I'm using a wonderful

#pragma clang diagnostic ignored "-Wdeprecated-declarations"

that I strongly suggest you to implement as well around the inclusion of RTAS code

(there are other similar flags for other warnings that may come handy. If you think you may need them, I will copy them here, it's a long list..)

Ok, thanks, I'll have a look as soon as poss.

..well, I turned up the warnings but didn't spot any in RTAS. I got rid of a couple of things in AU and AAX, but you must be using other warning flags to me.

If you've got a .jucer project for the demo plugin that produces the warnings, I'll give it a go..?

Well, it's easier for me to list you all the flags I'm using (or better, that I have had to ignore selectively in various wrappers sections in order for them not to complain):

-Wunused-parameter -Wsign-conversion -Wconversion -Wshadow -Wshorten-64-to-32 -Wmissing-prototypes -Wnon-virtual-dtor -Wunknown-pragmas -Wdeprecated-declarations -Wsign-compare -Wunused-variable -Wunused-function -Wreorder -Wdeprecated-writable-strings

Enabling them temporarily in your project should show you the warnings I'm seeing as well (some of them are due to third-party code, thus the best way to cope with them in my opinion is to enclose the #includes in #pragmas that selectively disable them)

 

Ok, thanks - I've fixed all I could find in there now.

There is still one that I am surprised you aren't getting as well:

 

In file included from juce/modules/juce_audio_plugin_client/VST/juce_VST_Wrapper.cpp:85:
sdks/vstsdk/public.sdk/source/vst2.x/audioeffectx.cpp:307:48: warning: conversion from string literal to 'char *' is deprecated [-Wdeprecated-writable-strings]
        if (cEffect.flags & effFlagsIsSynth || canDo ("receiveVstMidiEvent") == 1)
                                                      ^
1 warning generated.

 

for this, I have added "-Wdeprecated-writable-strings" to the list of ignored #pragma warnings few lines above, could you add it as well?

Yes, strange that I wasn't seeing that one - maybe a compiler version difference. Thanks!