diff --git a/clang/test/SemaCXX/for-range-examples.cpp b/clang/test/SemaCXX/for-range-examples.cpp
index 8bda510..86899bd 100644
--- a/clang/test/SemaCXX/for-range-examples.cpp
+++ b/clang/test/SemaCXX/for-range-examples.cpp
@@ -122,12 +122,12 @@
   for (auto n : range(1, 5)) {
     total += n;
   }
-  assert(total == 10);
+  assert((total == 10));
 
   for (auto n : range(10, 100, 10)) {
     total += n;
   }
-  assert(total == 460);
+  assert((total == 460));
 
   map_range::vector<char> chars;
   chars.push_back('a');
@@ -136,7 +136,7 @@
   for (char c : chars) {
     ++total;
   }
-  assert(total == 463);
+  assert((total == 463));
 
   typedef map_range::tuple<int, double> T;
   map_range::vector<T> pairs;
@@ -146,7 +146,7 @@
   for (auto a : map(map_range::mem_fun(&T::get<int>), pairs)) {
     total += a;
   }
-  assert(total == 500);
+  assert((total == 500));
 }
 
 // PR11793
