================ @@ -309,6 +309,39 @@ def err_asm_invalid_type : Error< def err_ms_asm_bitfield_unsupported : Error< "an inline asm block cannot have an operand which is a bit-field">; +def asm_invalid_constraint_generic : TextSubstitution< + "invalid %select{input|output}0 constraint '%1' in asm">; +def err_asm_invalid_constraint : Error< + "%sub{asm_invalid_constraint_generic}0,1">; +def err_asm_invalid_constraint_start : Error< + "%sub{asm_invalid_constraint_generic}0,1: output constraint must start with" + " '=' or '+'">; +def err_asm_invalid_constraint_rw_clobber : Error< + "%sub{asm_invalid_constraint_generic}0,1: early clobber with a read-write" + " constraint must be a register">; +def err_asm_invalid_constraint_mem_or_reg : Error< + "%sub{asm_invalid_constraint_generic}0,1: constraint must allow either" + " memory or register operands">; +def err_asm_invalid_constraint_missing_bracket : Error< + "%sub{asm_invalid_constraint_generic}0,1: missing ']'">; +def err_asm_invalid_constraint_wrong_symbol : Error< + "%sub{asm_invalid_constraint_generic}0,1: cannot find an output constraint" + " with the specified name">; ---------------- e-kud wrote:
Yes, this is similar to digits > Input constraints can also be digits (for example, "0"). This indicates that > the specified input must be in the same place as the output constraint at the > (zero-based) index in the output constraint list. When using asmSymbolicName > syntax for the output operands, you may use these names (enclosed in brackets > []) instead of digits. https://github.com/llvm/llvm-project/pull/96363 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits