https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118499
--- Comment #13 from anlauf at gcc dot gnu.org --- (In reply to kargls from comment #12) > (In reply to Thomas Koenig from comment #9) > > Question is, what should we permit... > > > > For 'normal' operations, only unsigned op unsigned is permitted, > > so unsigned**unsigned is obviously ok. > > > > What about (integer|real|complex)**unsigned? > > > > What about unsigned**integer? > > > > Since exponentiation is special (and also does not involve > > type conversion) my feeling is to allow it all. > > > > Comments? > > Agree with the others. Supporting the above is fine. > What about allowing unsigned**(real|complex)? The Fortran standard > allows integer**(real|complex). I would vote against this. Mathematically, the result cannot be an unsigned.