This is the mail archive of the
mailing list for the GCC project.
Re: Fix type_info comparison for ARM EABI
> How does the following seem as documentation?
> // Determine whether typeinfo names for the same type are merged (in which
> // case comparison can just compare pointers) or not (in which case
> // strings must be compared and g++.dg/abi/local1.C will fail), and
> // whether comparison is to be implemented inline or not. By default we
> // use inline pointer comparison if weak symbols are available, and
> // out-of-line strcmp if not. Out-of-line pointer comparison is used
> // where the object files are to be portable to multiple systems, some of
> // which may not be able to use pointer comparison, but the particular
> // system for which libstdc++ is being built can use pointer comparison;
> // in particular for most ARM EABI systems, where the ABI specifies
> // out-of-line comparison. Inline strcmp is not currently supported. The
> // compiler's target configuration can override the defaults by defining
> // __GXX_TYPEINFO_EQUALITY_INLINE to 1 or 0 to indicate whether or not
> // comparison is inline, and __GXX_MERGED_TYPEINFO_NAMES to 1 or 0 to
> // indicate whether or not pointer comparison can be used.
This is fine with this addition.