diff --git a/gdb/cp-name-parser.y b/gdb/cp-name-parser.y index 8514411ebeb..0688e5b085a 100644 --- a/gdb/cp-name-parser.y +++ b/gdb/cp-name-parser.y @@ -1511,7 +1511,7 @@ cp_parse_escape (const char **string_ptr) } #define HANDLE_SPECIAL(string, comp) \ - if (strncmp (tokstart, string, sizeof (string) - 1) == 0) \ + if (startswith (tokstart, string)) \ { \ state->lexptr = tokstart + sizeof (string) - 1; \ lvalp->lval = comp; \ @@ -1592,7 +1592,7 @@ yylex (YYSTYPE *lvalp, cpname_state *state) return INT; case '(': - if (strncmp (tokstart, "(anonymous namespace)", 21) == 0) + if (startswith (tokstart, "(anonymous namespace)")) { state->lexptr += 21; lvalp->comp = state->make_name ("(anonymous namespace)", @@ -1625,7 +1625,7 @@ yylex (YYSTYPE *lvalp, cpname_state *state) HANDLE_TOKEN2 ("->", ARROW); /* For construction vtables. This is kind of hokey. */ - if (strncmp (tokstart, "-in-", 4) == 0) + if (startswith (tokstart, "-in-")) { state->lexptr += 4; return CONSTRUCTION_IN; @@ -1803,20 +1803,20 @@ yylex (YYSTYPE *lvalp, cpname_state *state) switch (namelen) { case 16: - if (strncmp (tokstart, "reinterpret_cast", 16) == 0) + if (startswith (tokstart, "reinterpret_cast")) return REINTERPRET_CAST; break; case 12: - if (strncmp (tokstart, "construction vtable for ", 24) == 0) + if (startswith (tokstart, "construction vtable for ")) { state->lexptr = tokstart + 24; return CONSTRUCTION_VTABLE; } - if (strncmp (tokstart, "dynamic_cast", 12) == 0) + if (startswith (tokstart, "dynamic_cast")) return DYNAMIC_CAST; break; case 11: - if (strncmp (tokstart, "static_cast", 11) == 0) + if (startswith (tokstart, "static_cast")) return STATIC_CAST; break; case 9: @@ -1827,24 +1827,24 @@ yylex (YYSTYPE *lvalp, cpname_state *state) HANDLE_SPECIAL ("typeinfo for ", DEMANGLE_COMPONENT_TYPEINFO); HANDLE_SPECIAL ("typeinfo fn for ", DEMANGLE_COMPONENT_TYPEINFO_FN); HANDLE_SPECIAL ("typeinfo name for ", DEMANGLE_COMPONENT_TYPEINFO_NAME); - if (strncmp (tokstart, "operator", 8) == 0) + if (startswith (tokstart, "operator")) return OPERATOR; - if (strncmp (tokstart, "restrict", 8) == 0) + if (startswith (tokstart, "restrict")) return RESTRICT; - if (strncmp (tokstart, "unsigned", 8) == 0) + if (startswith (tokstart, "unsigned")) return UNSIGNED; - if (strncmp (tokstart, "template", 8) == 0) + if (startswith (tokstart, "template")) return TEMPLATE; - if (strncmp (tokstart, "volatile", 8) == 0) + if (startswith (tokstart, "volatile")) return VOLATILE_KEYWORD; break; case 7: HANDLE_SPECIAL ("virtual thunk to ", DEMANGLE_COMPONENT_VIRTUAL_THUNK); - if (strncmp (tokstart, "wchar_t", 7) == 0) + if (startswith (tokstart, "wchar_t")) return WCHAR_T; break; case 6: - if (strncmp (tokstart, "global constructors keyed to ", 29) == 0) + if (startswith (tokstart, "global constructors keyed to ")) { const char *p; state->lexptr = tokstart + 29; @@ -1855,7 +1855,7 @@ yylex (YYSTYPE *lvalp, cpname_state *state) state->lexptr = p; return DEMANGLER_SPECIAL; } - if (strncmp (tokstart, "global destructors keyed to ", 28) == 0) + if (startswith (tokstart, "global destructors keyed to ")) { const char *p; state->lexptr = tokstart + 28; @@ -1868,52 +1868,52 @@ yylex (YYSTYPE *lvalp, cpname_state *state) } HANDLE_SPECIAL ("vtable for ", DEMANGLE_COMPONENT_VTABLE); - if (strncmp (tokstart, "delete", 6) == 0) + if (startswith (tokstart, "delete")) return DELETE; - if (strncmp (tokstart, "struct", 6) == 0) + if (startswith (tokstart, "struct")) return STRUCT; - if (strncmp (tokstart, "signed", 6) == 0) + if (startswith (tokstart, "signed")) return SIGNED_KEYWORD; - if (strncmp (tokstart, "sizeof", 6) == 0) + if (startswith (tokstart, "sizeof")) return SIZEOF; - if (strncmp (tokstart, "double", 6) == 0) + if (startswith (tokstart, "double")) return DOUBLE_KEYWORD; break; case 5: HANDLE_SPECIAL ("guard variable for ", DEMANGLE_COMPONENT_GUARD); - if (strncmp (tokstart, "false", 5) == 0) + if (startswith (tokstart, "false")) return FALSEKEYWORD; - if (strncmp (tokstart, "class", 5) == 0) + if (startswith (tokstart, "class")) return CLASS; - if (strncmp (tokstart, "union", 5) == 0) + if (startswith (tokstart, "union")) return UNION; - if (strncmp (tokstart, "float", 5) == 0) + if (startswith (tokstart, "float")) return FLOAT_KEYWORD; - if (strncmp (tokstart, "short", 5) == 0) + if (startswith (tokstart, "short")) return SHORT; - if (strncmp (tokstart, "const", 5) == 0) + if (startswith (tokstart, "const")) return CONST_KEYWORD; break; case 4: - if (strncmp (tokstart, "void", 4) == 0) + if (startswith (tokstart, "void")) return VOID; - if (strncmp (tokstart, "bool", 4) == 0) + if (startswith (tokstart, "bool")) return BOOL; - if (strncmp (tokstart, "char", 4) == 0) + if (startswith (tokstart, "char")) return CHAR; - if (strncmp (tokstart, "enum", 4) == 0) + if (startswith (tokstart, "enum")) return ENUM; - if (strncmp (tokstart, "long", 4) == 0) + if (startswith (tokstart, "long")) return LONG; - if (strncmp (tokstart, "true", 4) == 0) + if (startswith (tokstart, "true")) return TRUEKEYWORD; break; case 3: HANDLE_SPECIAL ("VTT for ", DEMANGLE_COMPONENT_VTT); HANDLE_SPECIAL ("non-virtual thunk to ", DEMANGLE_COMPONENT_THUNK); - if (strncmp (tokstart, "new", 3) == 0) + if (startswith (tokstart, "new")) return NEW; - if (strncmp (tokstart, "int", 3) == 0) + if (startswith (tokstart, "int")) return INT_KEYWORD; break; default: diff --git a/gdb/m2-exp.y b/gdb/m2-exp.y index 273270a85ce..b19bbeb3fb2 100644 --- a/gdb/m2-exp.y +++ b/gdb/m2-exp.y @@ -976,12 +976,12 @@ yylex (void) else { /* Built-in BOOLEAN type. This is sort of a hack. */ - if (strncmp (tokstart, "TRUE", 4) == 0) + if (startswith (tokstart, "TRUE")) { yylval.ulval = 1; return M2_TRUE; } - else if (strncmp (tokstart, "FALSE", 5) == 0) + else if (startswith (tokstart, "FALSE")) { yylval.ulval = 0; return M2_FALSE; diff --git a/gdb/macroexp.c b/gdb/macroexp.c index 84584d4a00e..1ece8d5d5be 100644 --- a/gdb/macroexp.c +++ b/gdb/macroexp.c @@ -988,7 +988,7 @@ substitute_args (growable_macro_buffer *dest, &keep_going)) { bool token_is_vaopt = (tok.len == 10 - && strncmp (tok.text, "__VA_OPT__", 10) == 0); + && startswith (tok.text, "__VA_OPT__")); if (vaopt_state > 0) { diff --git a/gdb/mi/mi-main.c b/gdb/mi/mi-main.c index 9a14d78e1e2..c087babd3c6 100644 --- a/gdb/mi/mi-main.c +++ b/gdb/mi/mi-main.c @@ -1881,8 +1881,8 @@ command_notifies_uscc_observer (struct mi_parse *command) if (command->op == CLI_COMMAND) { /* CLI commands "thread" and "inferior" already send it. */ - return (strncmp (command->command, "thread ", 7) == 0 - || strncmp (command->command, "inferior ", 9) == 0); + return (startswith (command->command, "thread ") + || startswith (command->command, "inferior ")); } else /* MI_COMMAND */ { @@ -1890,8 +1890,8 @@ command_notifies_uscc_observer (struct mi_parse *command) && command->argc > 1) { /* "thread" and "inferior" again, but through -interpreter-exec. */ - return (strncmp (command->argv[1], "thread ", 7) == 0 - || strncmp (command->argv[1], "inferior ", 9) == 0); + return (startswith (command->argv[1], "thread ") + || startswith (command->argv[1], "inferior ")); } else diff --git a/gdb/rust-exp.y b/gdb/rust-exp.y index 04003409887..3750af0dc34 100644 --- a/gdb/rust-exp.y +++ b/gdb/rust-exp.y @@ -1986,7 +1986,7 @@ munge_name_and_block (const char **name, const struct block **block) { /* If it is a global reference, skip the current block in favor of the static block. */ - if (strncmp (*name, "::", 2) == 0) + if (startswith (*name, "::")) { *name += 2; *block = block_static_block (*block);