aaron.ballman added a comment. In https://reviews.llvm.org/D24669#548984, @vbyakovlcl wrote:
> Clang 3.8 balances vector shift operand erroneous using CheckVectorOperands > which converts one of operand to the type of another. In > https://reviews.llvm.org/D21678 it was fixed by using checkVectorShift > instead. As result clang does not emit error if shift operands have different > element sizes (bat gcc does). Ah, thank you for the explanation! ================ Comment at: llvm/tools/clang/include/clang/Basic/DiagnosticGroups.td:522 @@ -521,2 +521,3 @@ def GNUZeroVariadicMacroArguments : DiagGroup<"gnu-zero-variadic-macro-arguments">; +def GNUVecElemSize : DiagGroup<"gnu-vec-elem-size">; def Fallback : DiagGroup<"fallback">; ---------------- Is this the same warning flag GCC uses? ================ Comment at: llvm/tools/clang/include/clang/Basic/DiagnosticSemaKinds.td:2306 @@ -2304,1 +2305,3 @@ + "vector operands do not have the same elements sizes (%0 and %1)">, + InGroup<GNUVecElemSize>, DefaultIgnore; def err_ext_vector_component_exceeds_length : Error< ---------------- Why is this off by default? Repository: rL LLVM https://reviews.llvm.org/D24669 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits