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

David Malcolm <dmalcolm at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |dmalcolm at gcc dot gnu.org

--- Comment #4 from David Malcolm <dmalcolm at gcc dot gnu.org> ---
I wonder if it would be useful to have some kind of "-Wportability" or
somesuch: warn about code that, although it might work OK on the user's current
configuration, would be problematic on other configurations.

This sounds useful for the end-user, but hard to implement (could be done
piecemeal, I suppose).

(and "portability" would cover a lot of aspects: 32-bit vs 64-bit, little vs
big-endian, etc etc).

What should a warning for the code in comment #0 look like?

test.c:5: format code '%lu' assumes 'unsigned long', but argument is 'size_t'
[-Wportability]

  printf("got %lu\n", x);
              ~~^
              %zu

or somesuch?

Or even, brainstorming here, give it some knowledge of other archs e.g.:

test.c:5: format code '%lu' assumes 'unsigned long', but argument is 'size_t';
this will break on NAMES_OF_ARCHS_HERE [-Wportability=i686,ppcle]

  printf("got %lu\n", x);
              ~~^
              %zu

(not sure that this last one is a good idea, but mentioning it for sake of
argument)

Reply via email to