On Mon, 12 Oct 2015, Jeff Law wrote: > In the interest of keeping my sanity, I'd just change that last default value > to something like "unknown type error" or somesuch. But I'm sure there's a > better way. Suggestions?
The *right* fix is both of the following (either would suffice on its own for the present problem but the desired end state is for both to be done): * These target macros turn into hooks (maybe hooks that take a width parameter, a signedness parameter and one saying which set of stdint.h types is involved, rather than one per macro). * These macros / hooks (including relating ones such as SIZE_TYPE) return enums rather than strings (with a suitably chosen value meaning "no such type" - probably itk_none if enum integer_type_kind is used). Conversion of target macros to hooks is a pretty general solution for any sort of issue with target-specific warnings related to the definition of a target macro. Converting to enums would avoid the problem call to strlen (and the need for the Fortran front-end to have its own logic for handling type name strings like this - see trans-types.c:get_typenode_from_name - to implement the bindings to C types). -- Joseph S. Myers jos...@codesourcery.com