https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118499
--- Comment #9 from Thomas Koenig <tkoenig at gcc dot gnu.org> --- 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?