Mark CkAbort [[noreturn]]
Once C++11 is required
ckExit should be marked
The patch above has been updated to only mark CkAbort() as noreturn. We can't safely mark CkExit() as noreturn because when using MPI + Charm++ interoperation, CkExit does actually return. We could split the interop exit function from CkExit(), but that would just an obstacle to porting Charm++ code to interoperate with MPI.
I'm seeing compiler warnings about this now:
In file included from machine.c:228:0: machine-common-core.c: In function ‘CmiAbort’: machine-common-core.c:1694:1: warning: ‘noreturn’ function does return } ^ machine.c: In function ‘LrtsAbort’: machine.c:562:1: warning: ‘noreturn’ function does return }