]> granicus.if.org Git - clang/commit
Rephrase asm_mismatched_size_modifier diagnostic. <rdar://problem/14050339>
authorBob Wilson <bob.wilson@apple.com>
Tue, 4 Jun 2013 06:10:09 +0000 (06:10 +0000)
committerBob Wilson <bob.wilson@apple.com>
Tue, 4 Jun 2013 06:10:09 +0000 (06:10 +0000)
commit4d2ea738175aacc7405e76a7e92b7e20f05519c6
treeb72990717ec1e7948a93f68a20f0468bdf658383
parent34f94f93dc20e08c9327441e4b5bcbce9ba23e9c
Rephrase asm_mismatched_size_modifier diagnostic. <rdar://problem/14050339>

The text of this diagnostic was unnecessarily specific to the current ARM
implementation of validateConstraintModifier, and it gave a potentially
confusing suggestion for fixing the problem. The ARM-specific issue is not
a big deal since that is the only target that currently does any checking of
asm operand modifiers, but until my change in 183172 it was still wrong for
output operands in the way that it referred to the value being truncated when
put into a register, since output operands are retrieved from the registers
instead of being put into them. The bigger problem is that its suggestion to
"use a modifier" is wrong and confusing in the case where a "q" modifier is
incorrectly used with an "r" constraint. In that case, the solution might
well be to remove the modifier or perhaps change the constraint. It's better
to just leave the diagnostic message more generic.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@183209 91177308-0d34-0410-b5e6-96231b3b80d8
include/clang/Basic/DiagnosticSemaKinds.td
test/CodeGen/arm-asm-diag.c
test/CodeGen/arm-asm-warn.c