Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Simon Marchi <simon.marchi@efficios.com>
To: gdb-patches@sourceware.org
Cc: Simon Marchi <simon.marchi@efficios.com>
Subject: [pushed 1/3] gdb: remove strcmp_iw_ordered
Date: Wed, 21 Oct 2026 18:02:44 -0400	[thread overview]
Message-ID: <20261021220252.683337-1-simon.marchi@efficios.com> (raw)

strcmp_iw_ordered has been unused since commit b3f7f1e9d974 ("gdb:
remove psymtab.{c,h}", 2026-02-27).  Remove it.

Change-Id: I80cd927a346159c04a95aadcf9501bc3d5edafa6
---
 gdb/utils.c | 115 ----------------------------------------------------
 gdb/utils.h |   2 -
 2 files changed, 117 deletions(-)

diff --git a/gdb/utils.c b/gdb/utils.c
index 5deecdbba942..b644a936312b 100644
--- a/gdb/utils.c
+++ b/gdb/utils.c
@@ -3142,121 +3142,6 @@ strcmp_iw (const char *string1, const char *string2)
 			       strncmp_iw_mode::MATCH_PARAMS, language_minimal);
 }
 
-/* This is like strcmp except that it ignores whitespace and treats
-   '(' as the first non-NULL character in terms of ordering.  Like
-   strcmp (and unlike strcmp_iw), it returns negative if STRING1 <
-   STRING2, 0 if STRING2 = STRING2, and positive if STRING1 > STRING2
-   according to that ordering.
-
-   If a list is sorted according to this function and if you want to
-   find names in the list that match some fixed NAME according to
-   strcmp_iw(LIST_ELT, NAME), then the place to start looking is right
-   where this function would put NAME.
-
-   This function must be neutral to the CASE_SENSITIVITY setting as the user
-   may choose it during later lookup.  Therefore this function always sorts
-   primarily case-insensitively and secondarily case-sensitively.
-
-   Here are some examples of why using strcmp to sort is a bad idea:
-
-   Whitespace example:
-
-   Say your partial symtab contains: "foo<char *>", "goo".  Then, if
-   we try to do a search for "foo<char*>", strcmp will locate this
-   after "foo<char *>" and before "goo".  Then lookup_partial_symbol
-   will start looking at strings beginning with "goo", and will never
-   see the correct match of "foo<char *>".
-
-   Parenthesis example:
-
-   In practice, this is less like to be an issue, but I'll give it a
-   shot.  Let's assume that '$' is a legitimate character to occur in
-   symbols.  (Which may well even be the case on some systems.)  Then
-   say that the partial symbol table contains "foo$" and "foo(int)".
-   strcmp will put them in this order, since '$' < '('.  Now, if the
-   user searches for "foo", then strcmp will sort "foo" before "foo$".
-   Then lookup_partial_symbol will notice that strcmp_iw("foo$",
-   "foo") is false, so it won't proceed to the actual match of
-   "foo(int)" with "foo".  */
-
-int
-strcmp_iw_ordered (const char *string1, const char *string2)
-{
-  const char *saved_string1 = string1, *saved_string2 = string2;
-  enum case_sensitivity case_pass = case_sensitive_off;
-
-  for (;;)
-    {
-      /* C1 and C2 are valid only if *string1 != '\0' && *string2 != '\0'.
-	 Provide stub characters if we are already at the end of one of the
-	 strings.  */
-      char c1 = 'X', c2 = 'X';
-
-      while (*string1 != '\0' && *string2 != '\0')
-	{
-	  while (c_isspace (*string1))
-	    string1++;
-	  while (c_isspace (*string2))
-	    string2++;
-
-	  switch (case_pass)
-	  {
-	    case case_sensitive_off:
-	      c1 = c_tolower (*string1);
-	      c2 = c_tolower (*string2);
-	      break;
-	    case case_sensitive_on:
-	      c1 = *string1;
-	      c2 = *string2;
-	      break;
-	  }
-	  if (c1 != c2)
-	    break;
-
-	  if (*string1 != '\0')
-	    {
-	      string1++;
-	      string2++;
-	    }
-	}
-
-      switch (*string1)
-	{
-	  /* Characters are non-equal unless they're both '\0'; we want to
-	     make sure we get the comparison right according to our
-	     comparison in the cases where one of them is '\0' or '('.  */
-	case '\0':
-	  if (*string2 == '\0')
-	    break;
-	  else
-	    return -1;
-	case '(':
-	  if (*string2 == '\0')
-	    return 1;
-	  else
-	    return -1;
-	default:
-	  if (*string2 == '\0' || *string2 == '(')
-	    return 1;
-	  else if (c1 > c2)
-	    return 1;
-	  else if (c1 < c2)
-	    return -1;
-	  /* PASSTHRU */
-	}
-
-      if (case_pass == case_sensitive_on)
-	return 0;
-
-      /* Otherwise the strings were equal in case insensitive way, make
-	 a more fine grained comparison in a case sensitive way.  */
-
-      case_pass = case_sensitive_on;
-      string1 = saved_string1;
-      string2 = saved_string2;
-    }
-}
-
 \f
 
 static void
diff --git a/gdb/utils.h b/gdb/utils.h
index 07d707ce9cf0..5aac6f0b33a8 100644
--- a/gdb/utils.h
+++ b/gdb/utils.h
@@ -87,8 +87,6 @@ extern int strncmp_iw (const char *string1, const char *string2,
    therefore be avoided if a more suitable language is available.  */
 extern int strcmp_iw (const char *string1, const char *string2);
 
-extern int strcmp_iw_ordered (const char *, const char *);
-
 /* Reset the prompt_for_continue clock.  */
 void reset_prompt_for_continue_wait_time (void);
 /* Return the time spent in prompt_for_continue.  */

base-commit: 4f1619d9d9d06f94e55f2bbe6e27b288714118d0
-- 
2.56.0


             reply	other threads:[~2026-10-21 22:04 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-10-21 22:02 Simon Marchi [this message]
2026-10-21 22:02 ` [pushed 2/3] gdb: remove strip_leading_path_elements and count_path_elements Simon Marchi
2026-10-21 22:02 ` [pushed 3/3] gdb: remove demangler_vwarning Simon Marchi

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20261021220252.683337-1-simon.marchi@efficios.com \
    --to=simon.marchi@efficios.com \
    --cc=gdb-patches@sourceware.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox