[patch] fix aicasm build with clang.
Pawel Worach
pawel.worach at gmail.com
Wed Jul 14 13:07:32 UTC 2010
On Jul 14, 2010, at 13:57, Andrew Reilly wrote:
> On Wed, Jul 14, 2010 at 11:44:57AM +0200, Pawel Worach wrote:
>> sys/dev/aic7xxx/aicasm/aicasm_gram.y:1826:51: error: use of logical || with constant operand; switch to bitwise | or remove constant [-Wlogical-bitwise-confusion]
>> if (opcode == AIC_OP_AND || opcode == AIC_OP_JNZ || AIC_OP_JZ)
>> ^ ~~~~~~~~~
>>
>> Bug ?
>
> Looks like one to me. There's no constant value of AIC_OP_JZ
> that can make its inclusion in that line interesting, as is (it
> is probably non-zero, which means that the if-body is always
> executed. I think that your patch is almost certainly correct.
>
> [What down-stream effect does this bug have on the SCSI
> controller microcode in question?]
>
Hmm, it looks like that really broke the assembler...
../aicasm/aicasm: Stopped at file /data/buildslave/freebsd-clang-amd64/src-freebsd/sys/modules/aic7xxx/ahc/../../../dev/aic7xxx/aic7xxx.seq, line 103 - Invalid bit(s) 0x1 in immediate written to ARG_1
../aicasm/aicasm: Removing aic7xxx_seq.h due to error
--
Pawel
More information about the freebsd-scsi
mailing list