On Mon, 25 Sep 2023, Sylvain Noiry via Gcc wrote: > --> Idea: Add an attribute to the Tree complex type which specify pure real / > pure >    imaginary / full complex ? If you start from the implementation approach of lowering imaginary type operations in the front end, a flag on a REAL_TYPE would seem natural (and then the rest of the compiler could treat such types the same as other real types with the same machine modes). That would however mean that e.g. conversions to/from imaginary types in the front end are not the same thing as what you get from middle-end conversions (the former would apply the rules that converting imaginary to real or real to imaginary produces zero while preserving side effects from the expression converted; the latter would be a no-op conversion if the machine modes are the same), which has the potential to be confusing. -- Joseph S. Myers joseph@codesourcery.com