Multiple TR_ALLOC definition warning
Building Tril compiler tests (e.g., on x86-64) yields the following warning:

```
In file included from /home/travis/build/eclipse/omr/compiler/il/OMRNode.hpp:40:0,
                 from /home/travis/build/eclipse/omr/compiler/il/Node.hpp:25,
                 from /home/travis/build/eclipse/omr/fvtest/compilertriltest/SimplifierFoldAndTest.cpp:24:
/home/travis/build/eclipse/omr/compiler/env/TRMemory.hpp:707:0: warning: "TR_ALLOC" redefined [enabled by default]
 #define TR_ALLOC(a) \
 ^
In file included from /home/travis/build/eclipse/omr/compiler/ilgen/IlBuilder.hpp:33:0,
                 from /home/travis/build/eclipse/omr/compiler/ilgen/TypeDictionary.hpp:38,
                 from /home/travis/build/eclipse/omr/fvtest/tril/tril/ilgen.hpp:25,
                 from /home/travis/build/eclipse/omr/fvtest/tril/tril/method_info.hpp:26,
                 from /home/travis/build/eclipse/omr/fvtest/tril/tril/method_compiler.hpp:25,
                 from /home/travis/build/eclipse/omr/fvtest/tril/tril/jitbuilder_compiler.hpp:25,
                 from /home/travis/build/eclipse/omr/fvtest/compilertriltest/SimplifierFoldAndTest.cpp:23:
/home/travis/build/eclipse/omr/compiler/ilgen/IlInjector.hpp:56:0: note: this is the location of the previous definition
 #define TR_ALLOC(x)
 ^
```

Although `TRMemory.hpp` itself is guarded for multiple includes, the macros defined within it are not.  I'm not convinced that protecting those macros from multiple inclusion is the right answer yet.  This will need some investigation.
diff --git a/compiler/ilgen/IlInjector.hpp b/compiler/ilgen/IlInjector.hpp
index f48031be3..2e801bec7 100644
--- a/compiler/ilgen/IlInjector.hpp
+++ b/compiler/ilgen/IlInjector.hpp
@@ -30,6 +30,7 @@
 
 #include <stdint.h>
 #include "env/jittypes.h"
+#include "env/TRMemory.hpp"
 #include "il/ILOpCodes.hpp"
 #include "ilgen/IlGen.hpp"
 
@@ -51,11 +52,6 @@ namespace TR { class TreeTop; }
 namespace TR { class IlType; }
 namespace TR { class TypeDictionary; }
 
-// This macro reduces dependencies for this header file
-#ifndef TR_ALLOC
-#define TR_ALLOC(x)
-#endif
-
 namespace OMR
 {
 
diff --git a/compiler/ilgen/OMRIlType.hpp b/compiler/ilgen/OMRIlType.hpp
index 8faed04bc..202c09fa1 100644
--- a/compiler/ilgen/OMRIlType.hpp
+++ b/compiler/ilgen/OMRIlType.hpp
@@ -22,14 +22,9 @@
 #ifndef OMR_ILTYPE_INCL
 #define OMR_ILTYPE_INCL
 
+#include "env/TRMemory.hpp"
 #include "il/DataTypes.hpp"
 
-class TR_Memory;
-#ifndef TR_ALLOC
-#define TR_ALLOC(x)
-#endif
-
-
 namespace TR { class IlType; }
 namespace TR { class TypeDictionary; }
 
diff --git a/compiler/ilgen/OMRIlValue.hpp b/compiler/ilgen/OMRIlValue.hpp
index 98dccb263..8a827affe 100644
--- a/compiler/ilgen/OMRIlValue.hpp
+++ b/compiler/ilgen/OMRIlValue.hpp
@@ -22,10 +22,8 @@
 #ifndef OMR_ILVALUE_INCL
 #define OMR_ILVALUE_INCL
 
+#include "env/TRMemory.hpp"
 #include "il/DataTypes.hpp"
-#ifndef TR_ALLOC
-#define TR_ALLOC(x)
-#endif
 
 namespace TR { class Node; }
 namespace TR { class TreeTop; }
diff --git a/compiler/ilgen/OMRMethodBuilder.hpp b/compiler/ilgen/OMRMethodBuilder.hpp
index 50ddc0fc8..10cb16769 100644
--- a/compiler/ilgen/OMRMethodBuilder.hpp
+++ b/compiler/ilgen/OMRMethodBuilder.hpp
@@ -25,6 +25,7 @@
 #include <map>
 #include <set>
 #include <fstream>
+#include "env/TRMemory.hpp"
 #include "ilgen/IlBuilder.hpp"
 #include "env/TypedAllocator.hpp"
 
@@ -39,12 +40,6 @@ namespace TR { class VirtualMachineState; }
 
 namespace TR { class SegmentProvider; }
 namespace TR { class Region; }
-class TR_Memory;
-
-#ifndef TR_ALLOC
-#define TR_ALLOC(x)
-#endif
-
 
 extern "C"
 {
diff --git a/jitbuilder/apigen/cppgen.py b/jitbuilder/apigen/cppgen.py
index b9e3909e8..ceacdbc95 100644
--- a/jitbuilder/apigen/cppgen.py
+++ b/jitbuilder/apigen/cppgen.py
@@ -386,7 +386,7 @@ class CppGenerator:
         ```
         Constructor(...) {
             arg_set
-            auto impl = new TR::Constructor(...);
+            auto impl = ::new TR::Constructor(...);
             arg_return
             impl->setClient(this);
             initializeFromImpl(impl);
@@ -403,7 +403,7 @@ class CppGenerator:
         for parm in ctor_desc.parameters():
             self.write_arg_setup(writer, parm)
         args = self.generate_arg_list(ctor_desc.parameters())
-        writer.write("auto * impl = new {cname}({args});\n".format(cname=self.get_impl_class_name(class_desc), args=args))
+        writer.write("auto * impl = ::new {cname}({args});\n".format(cname=self.get_impl_class_name(class_desc), args=args))
         for parm in ctor_desc.parameters():
             self.write_arg_return(writer, parm)
         writer.write("{impl_cast}->setClient(this);\n".format(impl_cast=self.to_impl_cast(class_desc,"impl")))
['compiler/ilgen/OMRIlType.hpp', 'compiler/ilgen/OMRMethodBuilder.hpp', 'compiler/ilgen/IlInjector.hpp', 'jitbuilder/apigen/cppgen.py', 'compiler/ilgen/OMRIlValue.hpp']