Intrepid/upc2c — pull request #55 by nenadv (2014-02-24 22:35:37+00:00)
Title: upc2c uses hard-coded list of upc headers

The code quoted below from Transform.cpp concerns me because of the hard-coded list of headers. If I understand correctly, the dependence on this list means that adding a new header (e.g. `upc_atomic.h` when UPCR adds support for UPC 1.3 atomic operations) will require changes to upc2c.

Shouldn't / couldn't this logic be replaced with proper use of `-isystem` in place of `-I` when the driver provides the location of the headers?

-Paul

````
RemoveUPCTransform(Sema& S, UPCRDecls* D, const std::string& fileid)
: TreeTransformUPC(S), AnonRecordID(0), Decls(D), FileString(fileid) {
UPCSystemHeaders.insert("upc.h");
UPCSystemHeaders.insert("upc_bits.h");
UPCSystemHeaders.insert("upc_castable.h");
UPCSystemHeaders.insert("upc_castable_bits.h");
UPCSystemHeaders.insert("upc_collective.h");
UPCSystemHeaders.insert("upc_collective_bits.h");
UPCSystemHeaders.insert("upc_io.h");
UPCSystemHeaders.insert("upc_io_bits.h");
UPCSystemHeaders.insert("upc_relaxed.h");
UPCSystemHeaders.insert("upc_strict.h");
UPCSystemHeaders.insert("upc_tick.h");
UPCSystemHeaders.insert("bupc_extensions.h");
UPCSystemHeaders.insert("bupc_atomics.h");
UPCSystemHeaders.insert("pupc.h");

UPCHeaderRenames["upc_types.h"] = "upcr_preinclude/upc_types.h";
}
````