diff options
-rw-r--r-- | lexers/LexCaml.cxx | 4 | ||||
-rw-r--r-- | lexers/LexPerl.cxx | 12 | ||||
-rw-r--r-- | lexers/LexSML.cxx | 4 |
3 files changed, 15 insertions, 5 deletions
diff --git a/lexers/LexCaml.cxx b/lexers/LexCaml.cxx index 038068a7b..1339b5dcc 100644 --- a/lexers/LexCaml.cxx +++ b/lexers/LexCaml.cxx @@ -37,6 +37,10 @@ #include "CharacterSet.h" #include "LexerModule.h" +#if defined(__clang__) +#pragma clang diagnostic ignored "-Wcomma" +#endif + // Since the Microsoft __iscsym[f] funcs are not ANSI... inline int iscaml(int c) {return isalnum(c) || c == '_';} inline int iscamlf(int c) {return isalpha(c) || c == '_';} diff --git a/lexers/LexPerl.cxx b/lexers/LexPerl.cxx index 1ea6bd589..34f525586 100644 --- a/lexers/LexPerl.cxx +++ b/lexers/LexPerl.cxx @@ -121,8 +121,8 @@ static int disambiguateBareword(LexAccessor &styler, Sci_PositionU bk, Sci_Posit // if ch isn't one of '[{(,' we can skip the test if ((ch == '{' || ch == '(' || ch == '['|| ch == ',') && fw < endPos) { - while (ch = static_cast<unsigned char>(styler.SafeGetCharAt(fw)), - IsASpaceOrTab(ch) && fw < endPos) { + while (IsASpaceOrTab(ch = static_cast<unsigned char>(styler.SafeGetCharAt(fw))) + && fw < endPos) { fw++; } if ((ch == '}' && brace) @@ -137,10 +137,12 @@ static int disambiguateBareword(LexAccessor &styler, Sci_PositionU bk, Sci_Posit static void skipWhitespaceComment(LexAccessor &styler, Sci_PositionU &p) { // when backtracking, we need to skip whitespace and comments - int style; - while ((p > 0) && (style = styler.StyleAt(p), - style == SCE_PL_DEFAULT || style == SCE_PL_COMMENTLINE)) + while (p > 0) { + const int style = styler.StyleAt(p); + if (style != SCE_PL_DEFAULT && style != SCE_PL_COMMENTLINE) + break; p--; + } } static int findPrevLexeme(LexAccessor &styler, Sci_PositionU &bk, int &style) { diff --git a/lexers/LexSML.cxx b/lexers/LexSML.cxx index 1cb00f91d..ed67300d2 100644 --- a/lexers/LexSML.cxx +++ b/lexers/LexSML.cxx @@ -24,6 +24,10 @@ #include "CharacterSet.h" #include "LexerModule.h" +#if defined(__clang__) +#pragma clang diagnostic ignored "-Wcomma" +#endif + inline int issml(int c) {return isalnum(c) || c == '_';} inline int issmlf(int c) {return isalpha(c) || c == '_';} inline int issmld(int c) {return isdigit(c) || c == '_';} |