forked from OSchip/llvm-project
Revert r205646 (keeping the test in its modified form) as
it is subsumed by r205521. llvm-svn: 205718
This commit is contained in:
parent
6c684a727a
commit
148c8c8ec2
|
@ -6113,21 +6113,12 @@ void CheckConditionalOperator(Sema &S, ConditionalOperator *E,
|
|||
/// implicit conversions in the given expression. There are a couple
|
||||
/// of competing diagnostics here, -Wconversion and -Wsign-compare.
|
||||
void AnalyzeImplicitConversions(Sema &S, Expr *OrigE, SourceLocation CC) {
|
||||
QualType T = OrigE->getType();
|
||||
Expr *E = OrigE->IgnoreParenImpCasts();
|
||||
|
||||
if (E->isTypeDependent() || E->isValueDependent())
|
||||
return;
|
||||
|
||||
QualType T = OrigE->getType();
|
||||
// Check for conversion from an arithmetic type to a vector of arithmetic
|
||||
// type elements. Warn if this results in truncation of each vector element.
|
||||
if (isa<ExtVectorElementExpr>(E)) {
|
||||
if (ImplicitCastExpr *ICE = dyn_cast<ImplicitCastExpr>(OrigE))
|
||||
if ((ICE->getCastKind() == CK_VectorSplat) &&
|
||||
!T.isNull() && T->isExtVectorType())
|
||||
T = cast<ExtVectorType>(T.getCanonicalType())->getElementType();
|
||||
}
|
||||
|
||||
// For conditional operators, we analyze the arguments as if they
|
||||
// were being fed directly into the output.
|
||||
if (isa<ConditionalOperator>(E)) {
|
||||
|
|
|
@ -426,6 +426,6 @@ typedef __attribute__ ((ext_vector_type( 8),__aligned__( 32))) uint32_t uint8;
|
|||
|
||||
void test27(ushort16 constants) {
|
||||
uint8 pairedConstants = (uint8) constants;
|
||||
ushort16 crCbScale = pairedConstants.s4; // expected-warning {{implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned short'}}
|
||||
ushort16 brBias = pairedConstants.s6; // expected-warning {{implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'unsigned short'}}
|
||||
ushort16 crCbScale = pairedConstants.s4; // expected-warning {{implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'ushort16'}}
|
||||
ushort16 brBias = pairedConstants.s6; // expected-warning {{implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'ushort16'}}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue