Fix some uint handling.

TRAC #23185
Signed-off-by: Geoff Lang
Signed-off-by: Shannon Woods
Author: Nicolas Capens
diff --git a/src/compiler/Intermediate.cpp b/src/compiler/Intermediate.cpp
index 6515db8..e016af2 100644
--- a/src/compiler/Intermediate.cpp
+++ b/src/compiler/Intermediate.cpp
@@ -1576,21 +1576,22 @@
               case EOpNegative:
                 switch (getType().getBasicType())
                 {
-                    case EbtFloat: tempConstArray[i].setFConst(-unionArray[i].getFConst()); break;
-                    case EbtInt:   tempConstArray[i].setIConst(-unionArray[i].getIConst()); break;
-                    default:
-                        infoSink.info.message(EPrefixInternalError, "Unary operation not folded into constant", getLine());
-                        return 0;
+                  case EbtFloat: tempConstArray[i].setFConst(-unionArray[i].getFConst()); break;
+                  case EbtInt:   tempConstArray[i].setIConst(-unionArray[i].getIConst()); break;
+                  case EbtUInt:  tempConstArray[i].setUConst(static_cast<unsigned int>(-static_cast<int>(unionArray[i].getUConst()))); break;
+                  default:
+                    infoSink.info.message(EPrefixInternalError, "Unary operation not folded into constant", getLine());
+                    return 0;
                 }
                 break;
 
               case EOpLogicalNot: // this code is written for possible future use, will not get executed currently
                 switch (getType().getBasicType())
                 {
-                    case EbtBool:  tempConstArray[i].setBConst(!unionArray[i].getBConst()); break;
-                    default:
-                        infoSink.info.message(EPrefixInternalError, "Unary operation not folded into constant", getLine());
-                        return 0;
+                  case EbtBool:  tempConstArray[i].setBConst(!unionArray[i].getBConst()); break;
+                  default:
+                    infoSink.info.message(EPrefixInternalError, "Unary operation not folded into constant", getLine());
+                    return 0;
                 }
                 break;