MSVC2015 compiler warnings with latest develop tip for VST3 wrapper


#1

Just a short heads up: when using MSVC2015 and the latest develop tip compiling a VST3 plugin, I get the following warnings for the VST3 wrapper:

juce_VST3_Wrapper,cpp, line 2531: error, expected a ')'
juce VST3_Wrapper.cpp, line 854: declaration of ‘rect’ hides a class member


#2

Thanks! I’ve fixed the second warning and pushed it to develop but I couldn’t reproduce the first. I’ve looked at the line where it is but can’t see anything that’s wrong with the code there - are you sure you haven’t modified it at all?

Ed


#3

Thanks for the quick follow up!

On the first issue: I have not changed any code. Strangely sometimes the compiler warns about it, sometimes it does not (running in debug mode). The VST3 plugin does compile nevertheless. Perhaps it is just an MSVC anomaly?


#4

Just saw this post:

That is the exact same problem reported by the producer instead of MSVC.
In the MSVC IDE, the word FUNCTION has those red curly waves underneath with the comment ‘expected a ‘)’’.


#5

I’ve test built in MSVC as well. Building with either MS compiler or the Clang one bundled within, they both build it correctly. It must be an intellisense bug for the red line we’re seeing in the text editor.

Bit strange that the Clang used in Projucer is seeing that line as an error.


#6

https://llvm.org/bugs/show_bug.cgi?id=26831

Could be the same thing?


#7

Yep, that looks like the culprit!


#8

Visual Studio compilation works in two stages. In the most recent version the first of these stages uses Clang to make an AST of the code which is then fed to a Microsoft compiler for the second stage. I believe this is why it is simultaneously being flagged as an error and still compiling.

For the Projucer we use Clang all the way down, so this is more of a problem.