https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62029

            Bug ID: 62029
           Summary: Requesting new warning: missing const-qualifier
           Product: gcc
           Version: unknown
            Status: UNCONFIRMED
          Severity: enhancement
          Priority: P3
         Component: middle-end
          Assignee: unassigned at gcc dot gnu.org
          Reporter: mi+gcc at aldan dot algebra.com

To help facilitate "const-poisoning" of the entire body of C (and C++) code out
there, I'd like to see a new warning, that would fire, when a pointer to any
object in any scope, that could've been marked as "const", is not.

For example:

size_t
mylen(char *string)
{
      if (string == NULL)
         return 0;
      else
         return strlen(string);
}

void
example(struct object *o)
{
      char *text = get_text(o);
      size_t len = mylen(text);
      ....
}

The above code would warn in mylen, because the function's parameter could be
made const. As the developer fixes the low-level function to address the
warning, the higher level callers of these functions (such as example()) will
start warning -- and that will be a beautiful thing...

Some day the warning may even become part of -Wall.

Reply via email to