Separate integer and float modulus

Integer and float modulus are separated into Mod and IMod operator types
to make the code clearer and to make GetOperatorString return the correct
value for both.

Change-Id: Ibfbca2c558bf919b0eab6404d7349f87fe47a18c
Reviewed-on: https://chromium-review.googlesource.com/249692
Tested-by: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
diff --git a/src/compiler/translator/OutputHLSL.cpp b/src/compiler/translator/OutputHLSL.cpp
index 3ee58ce..37e713b 100644
--- a/src/compiler/translator/OutputHLSL.cpp
+++ b/src/compiler/translator/OutputHLSL.cpp
@@ -1430,7 +1430,7 @@
         }
         break;
       case EOpDivAssign:               outputTriplet(visit, "(", " /= ", ")");          break;
-      case EOpModAssign:               outputTriplet(visit, "(", " %= ", ")");          break;
+      case EOpIModAssign:              outputTriplet(visit, "(", " %= ", ")");          break;
       case EOpBitShiftLeftAssign:      outputTriplet(visit, "(", " <<= ", ")");         break;
       case EOpBitShiftRightAssign:     outputTriplet(visit, "(", " >>= ", ")");         break;
       case EOpBitwiseAndAssign:        outputTriplet(visit, "(", " &= ", ")");          break;
@@ -1523,7 +1523,7 @@
       case EOpSub:               outputTriplet(visit, "(", " - ", ")"); break;
       case EOpMul:               outputTriplet(visit, "(", " * ", ")"); break;
       case EOpDiv:               outputTriplet(visit, "(", " / ", ")"); break;
-      case EOpMod:               outputTriplet(visit, "(", " % ", ")"); break;
+      case EOpIMod:              outputTriplet(visit, "(", " % ", ")"); break;
       case EOpBitShiftLeft:      outputTriplet(visit, "(", " << ", ")"); break;
       case EOpBitShiftRight:     outputTriplet(visit, "(", " >> ", ")"); break;
       case EOpBitwiseAnd:        outputTriplet(visit, "(", " & ", ")"); break;