Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.c > #392875

Re: enums and switch vs function calls

From Ben Bacarisse <ben@bsb.me.uk>
Newsgroups comp.lang.c
Subject Re: enums and switch vs function calls
Date 2025-04-25 01:12 +0100
Organization A noiseless patient Spider
Message-ID <87bjslhzfd.fsf@bsb.me.uk> (permalink)
References <vsr0ml$1to9m$1@dont-email.me> <enum-20250405122329@ram.dialup.fu-berlin.de> <1ybIP.1259194$2zn8.458292@fx15.iad> <86y0wdfvc0.fsf@linuxsc.com> <FtwIP.1525960$eNx6.1342019@fx14.iad>

Show all headers | View raw


scott@slp53.sl.home (Scott Lurndal) writes:

> Tim Rentsch <tr.17687@z991.linuxsc.com> writes:
>>scott@slp53.sl.home (Scott Lurndal) writes:
>>
>>> ram@zedat.fu-berlin.de (Stefan Ram) writes:
>>>
>>>> Richard Harnden <richard.nospam@gmail.invalid> wrote or quoted:
>>>>
>>>>> int hex = colour_to_hex(10);
>>>>> ... then the compiler doesn't complain that 10 is not in the enum.
>>>>> Why?  Surely the compiler can tell.
>>>>
>>>>  I get
>>>>
>>>> |
>>>> |error: enum conversion when passing argument 1 of 'colour_to_hex' is
>>>> invalid in C++ [-Wc++-compat]
>>>> |      |int hex = colour_to_hex(10);
>>>> |      |                        ^~
>>>> |note: expected 'enum colour' but argument is of type 'int'
>>>> |      | int colour_to_hex(enum colour colour)
>>>> |      |     ^~~~~~~~~~~~~
>>>> |
>>>>
>>>>  with
>>>>
>>>> gcc -Wc++-compat
>>>
>>> That example exemplifies the seriously screwed up error reporting in the
>>> gnu compiler collection.
>>>
>>> One line of informative error message followed by 5 lines of useless
>>> cruft to wade through.  And no way to turn it off completely.
>>
>>That's true, but it can be reduced to only two lines total (so only one
>>line more than needed), by using -fno-diagnostics-show-caret.
>
> Yes, I use that.  I still find that the "note:" lines clutter the
> output and provide zero benefit.

Does

  gcc -fcompare-debug-second -fno-diagnostics-show-caret

do what you want?  The behaviour seems to be a side effect of some
internal debug options so it probably can't be relied upon long-term.

-- 
Ben.

Back to comp.lang.c | Previous | NextPrevious in thread | Next in thread | Find similar


Thread

enums and switch vs function calls Richard Harnden <richard.nospam@gmail.invalid> - 2025-04-05 11:29 +0100
  Re: enums and switch vs function calls scott@slp53.sl.home (Scott Lurndal) - 2025-04-05 14:58 +0000
    Re: enums and switch vs function calls Tim Rentsch <tr.17687@z991.linuxsc.com> - 2025-04-06 03:17 -0700
      Re: enums and switch vs function calls scott@slp53.sl.home (Scott Lurndal) - 2025-04-06 14:47 +0000
        Re: enums and switch vs function calls David Brown <david.brown@hesbynett.no> - 2025-04-06 17:16 +0200
        Re: enums and switch vs function calls Tim Rentsch <tr.17687@z991.linuxsc.com> - 2025-04-06 19:26 -0700
        Re: enums and switch vs function calls Ben Bacarisse <ben@bsb.me.uk> - 2025-04-25 01:12 +0100
          Re: enums and switch vs function calls scott@slp53.sl.home (Scott Lurndal) - 2025-04-25 16:56 +0000
            Re: enums and switch vs function calls Ben Bacarisse <ben@bsb.me.uk> - 2025-04-25 23:09 +0100
              Re: enums and switch vs function calls Tim Rentsch <tr.17687@z991.linuxsc.com> - 2025-05-04 06:55 -0700
        Re: enums and switch vs function calls Ben Bacarisse <ben@bsb.me.uk> - 2025-04-25 01:12 +0100
  Re: enums and switch vs function calls David Brown <david.brown@hesbynett.no> - 2025-04-05 17:43 +0200
  Re: enums and switch vs function calls Thiago Adams <thiago.adams@gmail.com> - 2025-04-05 12:53 -0300
    Re: enums and switch vs function calls David Brown <david.brown@hesbynett.no> - 2025-04-06 11:49 +0200

csiph-web