You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
UPC specifies upc_fence as a statement, not a function. So, upc_fence() is not valid UPC. Take the following test code:
#include <upc.h>
void foo(void) { upc_fence(); }
With clangupc or with run upc2c directly get the expected failure:
$ clangupc test.upc
test.upc:2:27: error: called object type 'void' is not a function or function pointer
void foo(void) { upc_fence(); }
~~~~~~~~~^
1 error generated.
However, with upc2c via the upcc driver I get not only a substantially less understandable message, but the message INCORRECTLY says "upc_notify".
I am uncertain why the message is different via the upcc driver.
I am going to provide a patch (or branch?) for the error message if it is, as I suspect, just a cut-and-paste problem. I will look for others at the same time.
The text was updated successfully, but these errors were encountered:
I am uncertain why the message is different via the upcc driver.
The reason is that upc_fence appears to be defined as
a macro when calling upc2c or clangupc directly. Using
the upcc driver is suppressing the definition.
UPC specifies
upc_fence
as a statement, not a function. So,upc_fence()
is not valid UPC. Take the following test code:With clangupc or with run upc2c directly get the expected failure:
However, with upc2c via the upcc driver I get not only a substantially less understandable message, but the message INCORRECTLY says "upc_notify".
I am uncertain why the message is different via the upcc driver.
I am going to provide a patch (or branch?) for the error message if it is, as I suspect, just a cut-and-paste problem. I will look for others at the same time.
The text was updated successfully, but these errors were encountered: