After the upgrade to 3.3 I tried to re-run the test suite. Two things happen:
(1) Running with only one thread hangs the program on the first barrier
(2) Running with two or more threads reports the following error:
./t: UPC error: Invalid conversion of shared address to local pointer;
thread does not have affinity to shared address
thread 1 terminated with signal: 'Aborted'
Is it possible that this code in lib/CodeGen/CGExprScalar.cpp has the return values reversed:
Value VisitUPCMyThreadExpr(UPCMyThreadExpr E) {
return CGF.EmitUPCThreads();
}
Value VisitUPCThreadExpr(UPCThreadExpr E) {
return CGF.EmitUPCMyThread();
}
After the upgrade to 3.3 I tried to re-run the test suite. Two things happen:
(1) Running with only one thread hangs the program on the first barrier (2) Running with two or more threads reports the following error: ./t: UPC error: Invalid conversion of shared address to local pointer; thread does not have affinity to shared address thread 1 terminated with signal: 'Aborted'
Is it possible that this code in lib/CodeGen/CGExprScalar.cpp has the return values reversed:
Value VisitUPCMyThreadExpr(UPCMyThreadExpr E) { return CGF.EmitUPCThreads(); }
Value VisitUPCThreadExpr(UPCThreadExpr E) { return CGF.EmitUPCMyThread(); }