Fix compilation for GCC 5+

Change-Id: I9fcf5e5e582e053ab2a4f46fd3893003dfeaa185
diff --git a/aos/common/type_traits.h b/aos/common/type_traits.h
index 4b5fa8c..53fae23 100644
--- a/aos/common/type_traits.h
+++ b/aos/common/type_traits.h
@@ -12,7 +12,7 @@
 struct has_trivial_copy_assign : public std::integral_constant<bool,
 // This changed between 4.4.5 and 4.6.3. Unless somebody discovers otherwise,
 // 4.6 seems like a reasonable place to switch.
-#if ((__GNUC__ < 4) || (__GNUC_MINOR__ < 6)) && !defined(__clang__)
+#if ((__GNUC__ < 4) || (__GNUC__ == 4 && __GNUC_MINOR__ < 6)) && !defined(__clang__)
     ::std::has_trivial_assign<Tp>::value> {};
 #else
     ::std::has_trivial_copy_assign<Tp>::value> {};