# HG changeset patch # User mdoerr # Date 1444060031 -7200 # Node ID 06090a04a5ee99477356cbea134877d41f478bf4 # Parent daf8acf3afdab4da6795138194cf064ff5910c7e 8138890: C1: Ambiguous operator delete Summary: xlC on AIX rejects to compile LIRGenerator and RangeCheckEliminator::Verification Reviewed-by: diff --git a/src/share/vm/c1/c1_LIRGenerator.hpp b/src/share/vm/c1/c1_LIRGenerator.hpp --- a/src/share/vm/c1/c1_LIRGenerator.hpp +++ b/src/share/vm/c1/c1_LIRGenerator.hpp @@ -153,6 +153,14 @@ // only the classes below belong in the same file class LIRGenerator: public InstructionVisitor, public BlockClosure { + private: + void* operator new(size_t size) throw(); + void* operator new[](size_t size) throw(); +#ifdef __IBMCPP__ + public: +#endif + void operator delete(void* p) { ShouldNotReachHere(); } + void operator delete[](void* p) { ShouldNotReachHere(); } private: Compilation* _compilation; diff --git a/src/share/vm/c1/c1_RangeCheckElimination.hpp b/src/share/vm/c1/c1_RangeCheckElimination.hpp --- a/src/share/vm/c1/c1_RangeCheckElimination.hpp +++ b/src/share/vm/c1/c1_RangeCheckElimination.hpp @@ -47,6 +47,15 @@ class Verification : public _ValueObj /*VALUE_OBJ_CLASS_SPEC*/, public BlockClosure { private: + void* operator new(size_t size) throw(); + void* operator new[](size_t size) throw(); +#ifdef __IBMCPP__ + public: +#endif + void operator delete(void* p) { ShouldNotReachHere(); } + void operator delete[](void* p) { ShouldNotReachHere(); } + + private: IR *_ir; boolArray _used; BlockBeginList _current;