From c1a53d8b067bf81db673064866cf880f3c1c1a8e Mon Sep 17 00:00:00 2001 From: Bastiaan Olij Date: Fri, 28 Dec 2018 19:20:11 +1100 Subject: Always treat exponent as float --- servers/visual/shader_language.cpp | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/servers/visual/shader_language.cpp b/servers/visual/shader_language.cpp index 1acec7ccaf..628ffb71f3 100644 --- a/servers/visual/shader_language.cpp +++ b/servers/visual/shader_language.cpp @@ -525,7 +525,6 @@ ShaderLanguage::Token ShaderLanguage::_get_token() { bool exponent_found = false; bool hexa_found = false; bool sign_found = false; - bool minus_exponent_found = false; bool float_suffix_found = false; String str; @@ -557,8 +556,6 @@ ShaderLanguage::Token ShaderLanguage::_get_token() { if (sign_found) return _make_token(TK_ERROR, "Invalid numeric constant"); sign_found = true; - if (GETCHAR(i) == '-') - minus_exponent_found = true; } else break; @@ -571,7 +568,7 @@ ShaderLanguage::Token ShaderLanguage::_get_token() { if (hexa_found) { //hex integers eg."0xFF" or "0x12AB", etc - NOT supported yet return _make_token(TK_ERROR, "Invalid (hexadecimal) numeric constant - Not supported"); - } else if (period_found || float_suffix_found) { + } else if (period_found || exponent_found || float_suffix_found) { //floats if (period_found) { if (float_suffix_found) { @@ -614,7 +611,7 @@ ShaderLanguage::Token ShaderLanguage::_get_token() { char_idx += str.length(); Token tk; - if (period_found || minus_exponent_found || float_suffix_found) + if (period_found || exponent_found || float_suffix_found) tk.type = TK_REAL_CONSTANT; else tk.type = TK_INT_CONSTANT; -- cgit v1.2.3