Intrepid/upc2c — pull request #65 by PHHargrove (2014-02-25 19:34:51+00:00)
Title: Fix issues #49 and #54

Please consider pulling this branch which resolves issues #49 and #54 involving non-portable built-ins in the upc2c output.

The changes involve renaming the decls of va_start, va_end and va_copy built-ins back to the portable names during Transformation.

For the cases of __bultin_va_arg() and __builtin_offsetof() there is a distinct Expr subclass to represent them, and the output is hard-coded in clang's StmtPrinter.cpp (with no opportunity to override). So, for those two we emit #define's in the boilerplate at the top of each .trans.c file. At Gary's request we emit these if-and-only-if we actually encountered the corresponding Expr node during transformation.

Relative to my previous rename-builtins branch, this one has been rebased on the current master in order to resolve the conflicts on the body of the RemoveUPCTransform constructor.