How to build ICU4C 70.1 on HP UX platform?

182 views Asked by At

I want to build ICU4C code for HP UX platform .
ICU4C repo -> https://github.com/unicode-org/icu/tree/release-70-1.
HP-UX version that i am using - HP-UX B.11.31 U ia64 ,
aCC compiler version that i am using - HP C/aC++ B3910B A.06.29

I tried +std=c++11 and -AA option with aCC like ->

aCC -DU_ATTRIBUTE_DEPRECATED= -D_REENTRANT -D_THREAD_SAFE -DU_HAVE_ELF_H=1 -DU_HAVE_STRTOD_L=0 -I../common +std=c++11 -w +O2 +Ofltacc +check=stack -AA +DD64 -mt -AA -Wc,-ansi_for_scope,on +W740 +W749 +W823 +W4232 -DVXPSP_CCFLAGS -c  +Z -o stubdata.o stubdata.cpp

But when i am building stubdata.cpp file from icu stubdata project its giving me error related to unique_ptr as -

"../common/unicode/localpointer.h", line 238: error #2283: qualified name is not allowed explicit LocalPointer(std::unique_ptr<T> &&p)
"../common/unicode/localpointer.h", line 238: error #2018: expected a ")"
      explicit LocalPointer(std::unique_ptr<T> &&p)
                                           ^
"../common/unicode/localpointer.h", line 239: error #2028: expression must
          have a constant value
          : LocalPointerBase<T>(p.release()) {}
            ^
"../common/unicode/localpointer.h", line 238: error #2771: "explicit" is not
          allowed
      explicit LocalPointer(std::unique_ptr<T> &&p)
      ^
"../common/unicode/localpointer.h", line 239: error #2065: expected a ";"
          : LocalPointerBase<T>(p.release()) {}
                                             ^
"../common/unicode/localpointer.h", line 413: error #2283: qualified name is
          not allowed
      explicit LocalArray(std::unique_ptr<T[]> &&p)
                          ^
"../common/unicode/localpointer.h", line 413: error #2018: expected a ")"
      explicit LocalArray(std::unique_ptr<T[]> &&p)
                                         ^
"../common/unicode/localpointer.h", line 414: error #2028: expression must
          have a constant value
          : LocalPointerBase<T>(p.release()) {}
            ^
"../common/unicode/localpointer.h", line 413: error #2771: "explicit" is not
          allowed
      explicit LocalArray(std::unique_ptr<T[]> &&p)
      ^
"../common/unicode/localpointer.h", line 414: error #2065: expected a ";"
          : LocalPointerBase<T>(p.release()) {}
                                             ^
"../common/unicode/udata.h", line 434: error #2283: qualified name is not
          allowed
  U_DEFINE_LOCAL_OPEN_POINTER(LocalUDataMemoryPointer, UDataMemory, udata_close);
  ^
"../common/unicode/udata.h", line 434: error #2018: expected a ")"
  U_DEFINE_LOCAL_OPEN_POINTER(LocalUDataMemoryPointer, UDataMemory, udata_close);
  ^
"../common/unicode/udata.h", line 434: error #2040: expected an identifier
  U_DEFINE_LOCAL_OPEN_POINTER(LocalUDataMemoryPointer, UDataMemory, udata_close);
  ^
"../common/unicode/udata.h", line 434: error #2079: expected a type specifier
  U_DEFINE_LOCAL_OPEN_POINTER(LocalUDataMemoryPointer, UDataMemory, udata_close);
  ^
"../common/unicode/udata.h", line 434: error #2771: "explicit" is not allowed
  U_DEFINE_LOCAL_OPEN_POINTER(LocalUDataMemoryPointer, UDataMemory, udata_close);
  ^
"../common/unicode/udata.h", line 434: error #2065: expected a ";"
  U_DEFINE_LOCAL_OPEN_POINTER(LocalUDataMemoryPointer, UDataMemory, udata_close);
  ^
16 errors detected in the compilation of "stubdata.cpp".

It seems like aCC compiler don't have support for this C++ 11 feature unique_ptr .

Also i tried to run a sample standalone program having unique_ptr , but its not able to compile . Whereas other c++11 features like nullptr / range based for loop etc are compiled with aCC compiler on HP .

Any suggestions?

0

There are 0 answers