message: Fixed issue with _RETURN_() macro on arm compilers on Android
diff: @@ -3945,6 +3945,8 @@ void HLSL2GLSLConverterImpl::ConversionStream::ProcessReturnStatements( TokenLis
  //if( x < 0.5 ) _RETURN_ float4(0.0, 0.0, 0.0, 1.0);
  // ^
  + if(Token->Type != TokenType::Semicolon )
  + {
  m_Tokens.insert( Token, TokenInfo(TokenType::OpenBracket, "("));
  //if( x < 0.5 ) _RETURN_( float4(0.0, 0.0, 0.0, 1.0);
  // ^
  @@ -3960,6 +3962,21 @@ void HLSL2GLSLConverterImpl::ConversionStream::ProcessReturnStatements( TokenLis
  Token->Literal = ")";
  //if( x < 0.5 ) _RETURN_( float4(0.0, 0.0, 0.0, 1.0))
  // ^
  + }
  + else
  + {
  + //if( x < 0.5 ) _RETURN_ ;
  + // ^
  + auto SemicolonToken = Token;
  + ++Token;
  + //if( x < 0.5 ) _RETURN_ ;
  + //int a;
  + //^
  + m_Tokens.erase(SemicolonToken);
  + //if( x < 0.5 ) _RETURN_
  + //int a;
  + //^
  + }
  continue;
  }
  @@ -3978,9 +3995,7 @@ void HLSL2GLSLConverterImpl::ConversionStream::ProcessReturnStatements( TokenLis
  if(IsVoid)
  {
  // Insert return handler before the closing brace
  - String NoArgMacro(MacroName);
  - NoArgMacro.append("()");
  - m_Tokens.insert(Token, TokenInfo(TokenType::TextBlock, NoArgMacro.c_str(), Token->Delimiter.c_str()));
  + m_Tokens.insert(Token, TokenInfo(TokenType::TextBlock, MacroName, Token->Delimiter.c_str()));
  Token->Delimiter = "\n";
  }
  }
  @@ -4048,7 +4063,7 @@ void HLSL2GLSLConverterImpl::ConversionStream::ProcessShaderDeclaration( TokenLi
  std::stringstream ReturnHandlerSS;
  const Char *ReturnMacroName = "_RETURN_";
  - ReturnHandlerSS << "#define " << ReturnMacroName << "(" << (bIsVoid ? "" : "_RET_VAL_") << "){\\\n";
  + ReturnHandlerSS << "#define " << ReturnMacroName << (bIsVoid ? "" : "(_RET_VAL_)") << "{\\\n";
  String GlobalVariables, Prologue;
  try
  