On 07/03/17 06:35, Luc Van Oostenryck wrote: > On Mon, Mar 06, 2017 at 10:17:36PM +0000, Ramsay Jones wrote: >> So, this looks like a cygwin specific toolchain problem. I also assumed that >> the 'backend/loop.c' test had the same problem (but I admit to never having >> checked properly!). >> >> ... >> >> So, again, this seems like a cygwin specific llvm tool problem. >> >> ... >> >> TEST Loops (backend/loop.c) >> error: actual error text does not match expected error text. >> error: see backend/loop.c.error.* for further investigation. >> --- backend/loop.c.error.expected 2017-03-06 21:57:27.695953300 +0000 >> +++ backend/loop.c.error.got 2017-03-06 21:57:30.636386100 +0000 >> @@ -0,0 +1,2 @@ >> +assertion "ctype" failed: file "sparse-llvm.c", line 312, function: val_to_value >> +.././sparsec: line 35: 8900 Aborted (core dumped) $DIRNAME/sparse-llvm $SPARSEOPTS > $TMPLLVM > > That's surprising as it appears that you have linearized code that is > different that what we have on Linux (one of the type/symbol is NULL). No, the linearized code is exactly the same on Linux and cygwin. (checked with both diff and sha1sum). > It whould be very interesting to: > 1) show the result of test-linearize on the file $ ./test-linearize validation/backend/loop.c foo: .L0: <entry-point> phisrc.32 %phi4(y) <- $0 br .L4 .L4: phi.32 %r1(y) <- %phi4(y), %phi5(y) setlt.32 %r2 <- %r1(y), $1000 cbr %r2, .L1, .L5 .L1: call.32 %r4 <- bar, %arg1 add.32 %r7 <- %r1(y), %r4 phisrc.32 %phi5(y) <- %r7 br .L4 .L5: ret.32 %r1(y) $ > 2) replace the assert with a check followed with a dump of the > offending pseudo (show_pseudo()) and ideally the corresponding > instruction (show_instruction()). <show_pseudo>: $0 <show_instruction>: phisrc.32 %phi4(y) <- $0 (%r1(y)) > No, nothing like that on Linux. It seems Christopher is seeing the same thing. (He didn't say that he saw it on Linux, but ...). Are you sure you are running/testing the sparse-next branch (which is currently at commit ab8076b83d ("llvm: fix output_op_[ptr]cast()", 05-03-2017)? It would come as no surprise (I guess) that 'git bisect' fingers commit 0c12ac32af ("llvm: fix translation of PSEUDO_VALs into a ValueRefs", 05-03-2017). ATB, Ramsay Jones -- To unsubscribe from this list: send the line "unsubscribe linux-sparse" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html