HP aC++ Release Notes Version A.03.95 Edition 12 HP-UX Systems Manufacturing Part Number: 5900-1789 September 2011 United States © Copyright 2011 Hewlett-Packard Development Company L.P.
Legal Notices The information contained herein is subject to change without notice. The only warranties for HP products and services are set forth in the express warranty statements accompanying such products and services. Nothing herein should be construed as constituting an additional warranty. HP shall not be liable for technical or editorial errors or omissions contained herein. Printed in the United States Confidential computer software. Valid license from HP required for possession, use or copying.
1 HP aC++ Release Notes The information in this document applies to the release of HP aC++ compiler, version A.03.95 and earlier, for the HP-UX 11i operating system.
HP aC++ Release Notes Announcement Announcement The HP aC++ compiler is HP’s implementation of the ISO/IEC 14882 Standard for the C++ Programming Language (the international standard for C++) and largely conforms to this standard. HP aC++ provides a variety of performance related options, in addition to the options described in these release notes. See HP aC++ Online Programmer’s Guide for more information.
HP aC++ Release Notes Announcement • “Compatibility Information” on page 70 • “Problem Descriptions and Fixes, and Known Limitations” on page 74 • “Related Documentation” on page 82 Chapter 1 5
HP aC++ Release Notes Product Changes in Version A.03.95 Product Changes in Version A.03.95 This version of HP aC++ includes defect fixes. There are no new features.
HP aC++ Release Notes Defect Fixes in Version A.03.90 Defect Fixes in Version A.03.90 This version of HP aC++ contains defect fixes only.
HP aC++ Release Notes New Features in Version A.03.85 New Features in Version A.03.85 HP aC++ version A.03.85 provides the following new feature: • “-dumpversion command line option” on page 8 HP aC++ version A.03.
HP aC++ Release Notes New Features in Version A.03.85 +wperfadvice[={1|2|3|4}] The optional level controls the verbosity of the performance advisory messages emitted. Level 1 emits only the most important messages, while level 4 emits all the messages. The default level is 2.
HP aC++ Release Notes New Features in Version A.03.80 New Features in Version A.03.80 HP aC++ version A.03.80 introduces a new command line option +hpxstd98. The +hpxstd98 command line option The +hpxstd98 is a command line option that enables new, standard compliant compilation mode. This option is independent of other compilation options.
HP aC++ Release Notes New Features in Version A.03.80 NOTE Chapter 1 Pragmas other than the above are ignored with a warning during compilation with the option +hpxstd98. For limitations and more details about this option, see the “HP aC++ Online Programmer’s Guide”.
HP aC++ Release Notes New Features in Version A.03.70 New Features in Version A.03.70 Following are the new features in HP aC++ version A.03.
HP aC++ Release Notes New Features in Version A.03.70 The _HP_NONSTD_FAST_IOSTREAM Performance Improvement Directive HP aC++ A.03.70 has a new performance improvement preprocessor directive, -D_HP_NONSTD_FAST_IOSTREAM, which improves the iostream performance. This directive enables the following non-standard features: • Sets ios_base::sync_with_stdio(false), which disables the default synchronization with stdio. • Sets std::cin.tie(0), which unties the cin from other streams.
HP aC++ Release Notes New Features in Version A.03.70 The mapping file is a text file that defines the mapping rules. The compiler reads the mapping file and applies the specified replacements to the options on the command line. This minimizes the need to make Makefile or script changes. By default, the path for the mapping file is set to the following location: /opt/aCC/lib/option.map You may either define the mapping rules in this file or set the mapping file path to an alternate location.
HP aC++ Release Notes New Features in Version A.03.70 • -rpath-link $1 => Deletes -rpath-link and the arguments from the command line. • --gccopt $1=$2 => -hpopt $2 Replaces “--gccopt option=name" at the command line with "-hpopt name". • -gccopt $1 => +xyz Replaces "-gccopt optionarg" at the command-line with "+xyz". • -Bstatic => -a archive -noshared Replaces "-Bstatic" with "-a archive -noshared".
HP aC++ Release Notes New Features in Version A.03.70 C++ Standard Library Change Technical Corrigenda 1 (TC1) of the ANSI/ISO C++ Standard has changed the STL function make_pair to take their arguments by value instead of const reference. This change brings the HP library into compliance if the enabling macro -D__HP_TC1_MAKE_PAIR is specified at compile time. For binary compatibility reasons, the default behavior is unchanged.
HP aC++ Release Notes New Features in Version A.03.65 New Features in Version A.03.65 HP aC++ version A.03.65 supports the following new features: • +Onolibcalls=func1[,func2,...] Option • Improved NRV Optimization • Improved Compile Time • Debugging of Inline Functions • Improved Template Usability • Destruct Locals when pthread_exit is Called • Accessing Members of Enclosing Class from a Nested Class • Performance Improvement of Strings With -mt +Onolibcalls=func1[,func2,...
HP aC++ Release Notes New Features in Version A.03.65 const C func2() { return C(); } int main() { const C b = func2(); In this case, the compiler eliminates the copy constructor call. Improved Compile Time With this release, there is a significant reduction in compile time for applications involving operator overloading and function overloading. Debugging of Inline Functions HP aC++ Version A.03.65 now supports debugging of inline functions.
HP aC++ Release Notes New Features in Version A.03.65 }; void foo() { A a2; pthread_exit((void *) 77); } void* bar(void *inThread) { A a1; foo(); return 0; } int main() { pthread_t tid; if (pthread_create(&tid, 0, &bar, NULL)) { perror("pthread create failed\n"); } pthread_join(tid, NULL); return 0; } With this feature enabled, for this example, both the constructors and destructors will be called for local variables a1 and a2 in functions foo and bar.
HP aC++ Release Notes New Features in Version A.03.65 static void f(); class Nested { public: void Help(Enclosing encl) { Enclosing::f(); encl.f(); // ok, no error // ok, no error } }; }; Performance Improvement of Strings With -mt Two changes have been made to increase performance of strings with -mt. The first helps -AP strings. Locking is no longer done for the null string. This should eliminate thread contention when creating empty strings. This has always been available for -AA strings.
HP aC++ Release Notes New Features in Version A.03.65 export aCC_MUTEX_ARRAY_SIZE=## You can mix code compiled with and without -D__HPACC_FIXED_REFCNT_MUTEX provided you have the new aC++ runtime installed.
HP aC++ Release Notes New Features in Version A.03.60 New Features in Version A.03.60 HP aC++ version A.03.
HP aC++ Release Notes New Features in Version A.03.60 int main(){ deri d; } When executing this program, the following message will be printed: aCC runtime: pure virtual function called for class “base”. Patches Required Prior to running HP aC++, one of the following runtime library patches must be installed: • PHSS_31221: s700_800 11.11 HP aC++ -AA runtime libraries • PHSS_31852: s700_800 11.
HP aC++ Release Notes New Features in Version A.03.60 Improved C++ Template Usability This version has significantly improved support for C++ template features, with more conformance to the ISO/IEC 14882 C++ Standard. Specifically, support for member templates, the use of typename and template keywords, parsing of templates and robustness of the templates have been improved.
HP aC++ Release Notes New Features in Version A.03.55.02 New Features in Version A.03.55.02 HP aC++ version A.03.55.02 supports the following new feature: placement delete Feature Fully Supported The placement delete feature is fully implemented in this version.
HP aC++ Release Notes New Features in Version A.03.55 New Features in Version A.03.55 HP aC++ version A.03.55 supports the following new features: • -notrigraph Option • NO_SIDE_EFFECTS Pragma -notrigraph Option This option inhibits the processing of trigraphs. The -notrigraph option, in previous versions, caused the legacy preprocessor to be invoked, which ignored trigraphs. These trigraphs were still interpreted by the compiler in the preprocessed source.
HP aC++ Release Notes New Features in Version A.03.50 New Features in Version A.03.50 HP aC++ version A.03.
HP aC++ Release Notes New Features in Version A.03.50 Cloning is on by default, and is valid at optimization levels +O3 and +O4. When inlining is turned off, cloning is turned off too. +O[no]memory[=malloc] This option enables [disables] memory optimizations. Specifying malloc in the list enables [disables] optimizations which consolidate memory allocation procedure calls. This option is disabled by default. This option is incompatible with +Oopenmp and +Oparallel, and is ignored.
HP aC++ Release Notes New Features in Version A.03.50 NOTE Because of the extra debug information emitted to support this feature, it is expected that there will be minor compatibility issues encountered while using DDE. To be more specific, if you receive the following message from within DDE when you have built using -g0, ?(dde/ui_line) File “.../test.c” has only NNN lines.
HP aC++ Release Notes New Features in Version A.03.
HP aC++ Release Notes New Features in Version A.03.37 New Features in Version A.03.37 New features in HP aC++ version A.03.37 are listed below: • Rogue Wave Tools.h++ Version 7.1.
HP aC++ Release Notes New Features in Version A.03.37 int size = sizeof(u’t’); // size of 2 bytes __restrict Keyword Support The __restrict keyword is now recognized by the compiler. Refer to the description of the C99 restrict type-qualifier keyword in ISO/IEC 9899:1999 (6.7.3). +ub and +sb Options to Control Bitfield Signedness The +ub option treats unqualified bit fields as unsigned. The +sb option treats unqualified bit fields as signed. The +uc option overrides +sb option for char bitfields.
HP aC++ Release Notes New Features in Version A.03.37 virtual BaseClass_1* foo(); }; class BaseClass_2 { public: virtual BaseClass_2* goo(); }; class DerivedClass : public BaseClass_1, BaseClass_2 { public: DerivedClass* goo(); }; NOTE HP WDB3.1 does not support covariant return types. So, gdb can’t step into a covariant function. However, setting a breakpoint at a covariant function and running into it will work fine.
HP aC++ Release Notes New Features in Version A.03.37 Example: $ cat sample.C #include int x = 1; int main() { int j = 4; printf(“we are here:%d:\n”, j); } $ aCC_DOC_MODE=ON aCC -g -O sample.C Now, with the improved DOC, while debugging the above sample program you can display the correct value of local variable j. NOTE In further releases, the above environment variable will be automatically set by the compiler.
HP aC++ Release Notes New Features in Version A.03.37 Patches Required The following patches must be installed after installing version A.03.37 to able all new features: For HP-UX 11.00: • PHCO_24723 (libc) • PHCO_23792 (libpthread) • PHSS_24303 (linker) • PHSS_26945 (aC++ runtime) • PHSS_25028 (libomp) For HP-UX 11.
HP aC++ Release Notes New Features in Version A.03.33 New Features in Version A.03.33 New features in HP aC++ version A.03.
HP aC++ Release Notes New Features in Version A.03.33 • PHSS_25029 - for 11.11 and greater It is recommended that you use the -N option when linking OpenMP programs to avoid exhausting memory when running with large numbers of threads. For this first release of aCC containing OpenMP, some debugging position information for OpenMP constructs may not be accurate. In addition, symbols marked with the threadprivate pragma may not be visible to the debugger.
HP aC++ Release Notes New Features in Version A.03.33 instead of 699 Error limit reached: halting compilation For example, the following increases the maximum to 100 errors: $export aCC_MAXERR=100 $aCC -c buggy.c Small Block Allocator for malloc The aC++ runtime now automatically enables malloc’s Small Block Allocator (SBA) after the aCC runtime patch and libc patch appropriate for your system are installed. (See the Required Patches section above.) This improves heap performance.
HP aC++ Release Notes New Features in Version A.03.33 Gather/Scatter Prefetch Pragma A pragma is now supported to prefetch specified cache lines. The behavior of this pragma is similar to +Odataprefetch but the prefetch pragma can access specific elements in indexed arrays that are stored in cache. In addition, any valid lvalue can be used as an argument, but the intent of the pragma is to support array processing. Syntax #pragma prefetch There can be only one argument per pragma.
HP aC++ Release Notes New Features in Version A.03.33 The two pragma statements allow a[ia[i]] to be prefetched. Note that the compiler continues to unroll the loops as in the original code. There can be problems using the prefetch pragma when the kernel cannot allocate large pages. Without large pages, there can be performance lost to Translation Lookaside Faults (TLB). The optimal page size varies with different applications but 4MB page size is a good average.
HP aC++ Release Notes New Features in Version A.03.33 Native Location /opt/langtools/lbin/ucomp Alternate Toolset Location /opt/xdk-ia/opt/langtools/lbin/ucomp Invoking the compiler driver aCC results in the invocation of tool set components from the alternate location above. If the compiler is non-native and installed in a different place, the directory path can be prefixed for all references to the compiler. You have to set the environment variables XDKROOT or SDKROOT to point to that directory.
HP aC++ Release Notes New Features in Version A.03.33 Native Location /opt/aCC/lib Alternate Tool Set Location /opt/xdk-ia/opt/aCC/lib Environment variables like LPATH and options like -l or -L override $TARGETROOT prefixing. Support for _declspec This release supports __declspec(dllimport) and __declspec(dllexport) as keywords. These keywords have the same semantics as in Microsoft Windows compilers and ease porting of applications developed in Microsoft Windows compilers to HP-UX systems.
HP aC++ Release Notes New Features in Version A.03.33 -Bhidden Command Line Option This option hides of all the symbols used in the translation unit other than the ones prefixed with __declspec(dllexport), __declspec(dllimport), or specified with pragma HP_DEFINED_EXTERNAL. -Bhidden_def Command Line Option This option hides all the symbols defined in the translation unit other than the ones prefixed with __declspec(dllexport) or specified with pragma HP_DEFINED_EXTERNAL.
HP aC++ Release Notes New Features in Version A.03.33 5. If an inline member function of a class is called from outside the shared library where the class is defined and that function happens to reference another member of the same class, you should make sure that the referenced member also is exported. Otherwise the linker will fail to resolve. 6. Ensure that the virtual member functions of a class defined in a shared library are exported as needed.
HP aC++ Release Notes New Features in Version A.03.33 __declspec(dllexport) mem(); goo(); }; 5. In the following program, exporting symbols with internal linkage is illegal: __declspec(dllexport) static int static_int; //illegal int main() { __declspec(dllexport) int local_export; //illegal return 0; } 6. In the following program, importing defined symbols is illegal: __declspec(dllimport) int func() { } //illegal 7.
HP aC++ Release Notes New Features in Version A.03.33 void BaseClass::foo() { } void BaseClass::goo() { } // end of dll.C //caller.C #include “dll.h” class DerivedClass : public BaseClass { public: void foo() { } }; BaseClass *p; int main() { p = new DerivedClass; p->foo(); } // end of caller.C $ aCC -Bhidden_def -o dll.sl dll.C +z -b $ aCC caller.C dll.sl /usr/ccs/bin/ld: Unsatisfied symbols: BaseClass::goo() (first referenced in caller.
HP aC++ Release Notes New Features in Version A.03.33 An obvious disadvantage of this is that, even when a single file is changed, code generation for all other files will happen during link-phase, unless +Oreusedir= is used. This makes overall compile-link time significantly high. With the new set of +Oprofile options, this disadvantage can be overcome. The options below do not produce ISOMs (Intermediate-code .o files) as do the +I, +P, and +O4 options.
HP aC++ Release Notes New Features in Version A.03.33 Initialized Thread Local Storage Static link time initialization of thread private variables (PODs only) is now supported. Earlier versions of the compiler supported only uninitialized thread private variables.
HP aC++ Release Notes New Features in Version A.03.33 $ ls a.c incl/ mk $ ls incl f.h x.h y.h $ cat a.c #include “incl/f.h” $ cat incl/f.h #include “incl/y.h” #include “x.h” $ cat incl/x.h int x; $ cat incl/y.h int y; $ aCC -c -I. a.c $ # previous versions of aC++ $ aCC -c -I. -I- -I. a.c “./incl/f.h”, line 2: Error: Could not open include file “x.h”. NOTE Note that a.c compiles fine with -I. but with -I. -I- -I. it fails to find x.h in -I.
HP aC++ Release Notes New Features in Version A.03.30 New Features in Version A.03.30 New features in HP aC++ version A.03.30 are listed below. • Standard C++ Library 2.0 Base on the New Rogue Wave SL 2.0 • Easier User of Threads with -mt • Partial Support for ANSI C Compiler Standard C++ Library 2.0 Base on the New Rogue Wave SL 2.0 The new -AA command line option enables use of the new 2.0 Standard C++ Library, which includes the new standard conforming (templatized) iostream library.
HP aC++ Release Notes New Features in Version A.03.30 In particular the following template classes are now larger: • std::basic_filebuf<> • std::basic_fstream<> • std::basic_ifstream<> • std::basic_ofstream<> • std::fpos • std::mbstate_t In addition to the possible silent corruption with this above change in size, the mangling was changed to better detect this compatibility problem by changing the name. std::mbstate_t was changed to mbstate_t. std::tm was changed to tm.
HP aC++ Release Notes New Features in Version A.03.30 /usr/ccs/bin/ld: Unsatisfied symbols: std::codecvt_byname::do_in(std::mbstate_t &,const char *,const char *,const char *&,wchar_t *,wchar_t *,wchar_t *&) const (code) std::codecvt_byname::do_out(std::mbstate_t &,const wchar_t *,const wchar_t *,const wchar_t *&,char *,char *,char *&) const (code) • Running application linked with new headers on old runtime: /usr/lib/dld.
HP aC++ Release Notes New Features in Version A.03.30 libstd 2.2.1 | | -D_POSIX_C_SOURCE=199506L | | | -lcma | -lpthread -----------+--------------------------------+----------------------------------- Macros used to compile multi-thread source code: • _REENTRANT Required by system header files that provide reentrant functions (suffixed by _r). • RW_MULTI_THREAD/_RW_MULTI_THREAD Required by Rogue Wave toolsh++ header files and libraries. RW_MULTI_THREAD is used by toolsh++ 7.0.x.
HP aC++ Release Notes New Features in Version A.03.30 • libcma.* User thread library used in 10.20 system. • libpthread.* Kernel thread library used on 11.x systems. Partial Support for ANSI C Compiler The -Ae option restricts the compiler to the ANSI C mode. This option turns on the ANSI C c89 mode and allows compilation of c89 compatible C source programs just like C compiler. Additional HP ANSI-C compiler features supported under the -Ae option may be enabled by this option in the future.
HP aC++ Release Notes New Features in Version A.03.27 New Features in Version A.03.27 New features in HP aC++ version A.03.27 are listed below. • Rogue Wave Standard C++ Library 2.2.1 • Transitioning from the Prior to the New Standard C++ Library • Incremental Linking in 64-bit Mode Rogue Wave Standard C++ Library 2.2.1 The Rogue Wave Standard C++ Library 2.2.1 (libstd_v2) is now bundled with HP aC++. This library includes the standard iostream library and has namespace std enabled.
HP aC++ Release Notes New Features in Version A.03.27 Transitioning from the Prior to the New Standard C++ Library The following topics discuss changes when transitioning from the prior version to the new Standard C++ library: Source Code Changes Since the new Standard C++ Library (libstd_v2) includes the new iostream library and has namespace std enabled, significant changes may be required in your source code.
HP aC++ Release Notes New Features in Version A.03.27 Threads As with prior compiler releases, one version of libstd_v2 is provided for use with both threaded and non-threaded code. To compile threaded applications, macro -D_RWSTD_MULTI_THREAD must be used. -D_THREAD_SAFE is no longer needed. See HP aC++ Online Programmer’s Guide for more information. Limitations USL’s Standard Components Library (lib++.a) is not and will not be available with -AA.
HP aC++ Release Notes New Features in Version A.03.25 New Features in Version A.03.25 New features in HP aC++ version A.03.25 are listed below.
HP aC++ Release Notes New Features in Version A.03.25 +inline_level [i]n Option The +inline_level [i]n option does implicit inlining of small functions that are not explicitly tagged with the inline keyword. Such inlining happens in addition to explicitly inlined functions. As before, +d and +inline_level 0 turn off all inlining, including implicit inlining.
HP aC++ Release Notes New Features in Version A.03.25 By default, string literal data now resides in read-only memory rather than read-write memory. This new default may result in improved run-time performance, because read-only memory is shared. The +ESlit command line option can be used to explicitly specify this behavior. +ESnolit reverts to storing string literal data in read-write memory. NOTE This new default option may cause programs to abort with signal 10 at run-time.
HP aC++ Release Notes New Features in Version A.03.25 Warning 829: Implicit conversion of string literal to ‘char*’ is deprecated. These could be suppressed by a cast or const_cast like the above, then no further messages will occur. Or they could be suppressed by using +W829. A compile-time error is generated unless a cast is done, in which case there is no message, and a SIGBUS signal 10 could be generated at runtime.
HP aC++ Release Notes New Features in Version A.03.25 +uc Option for Porting to HP-UX The +uc option allows you to change the compiler default (signed char) and treat an unqualified (plain) char data type as unsigned char. This may help in porting code from other environments to HP-UX. Predefined String Variable Identifiers for Function Names As a debugging aid, HP aC++ predefines three string variables for each current function.
HP aC++ Release Notes New Features in Version A.03.25 a ax; ax.sub (0); return 0; } Output from the example would be: __FUNCTION__ = sub __PRETTY_FUNCTION__ = int NOTE a::sub (int) These names are not macros. They are predefined string variables. For example, #ifdef __FUNCTION__ has no special meaning inside a function, since the preprocessor does not recognize __FUNCTION__. Also note, the names __FUNCTION__, __PRETTY_FUNCTION__, and __func__ are reserved for use by the compiler.
HP aC++ Release Notes New Features in Version A.03.25 fprintf(stderr, “Flag” ); fprintf(stderr, “X = %d\n”, x ); puts( “The first, second, and third items.” ); ((x>y)?puts(“x>y”):printf(“x is %d but y is %d”, x, y)) For GNU/gcc style coding: Similar to the variable arguments function described above, a macro can accept a variable number of arguments. Following is an example: #define Myprintf(format, args...
HP aC++ Release Notes New Features in Version A.03.25 the -Wc,-longdouble,old_alignment option. -D__HPACC_THREAD_SAFE_RB_TREE Macro Ensures Thread Safety The Rogue Wave Standard C++ Library 1.2.1 (libstd) and Tools.h++ 7.0.6 (librwtool) are not thread safe in all cases. The -D__HPACC_THREAD_SAFE_RB_TREE preprocessor macro ensures thread safety. For more details, refer to HP aC++ Online Programmer’s Guide.
HP aC++ Release Notes New Features in Version A.03.13 New Features in Version A.03.13 New features in HP aC++ version A.03.13 are listed below. • The latest linker patch (PHSS_19866) is needed to use shared libraries and +objdebug. • A new debugging option, +objdebug, enables faster links and smaller executable file sizes for large applications. • Header File Caching is an additional, simplified method of precompiling header files.
HP aC++ Release Notes New Features in Version A.03.10 New Features in Version A.03.10 New features in HP aC++ version A.03.10 are listed below. • Standards based features include the following: — Covariant return types (except for covariant return types with multiply inheriting types) — Koenig lookup (Note: You must specify the -Wc,-koenig_lookup,on option.) • The -I- header file option invokes view-pathing. This option overrides the default -I option header file search path.
HP aC++ Release Notes New Features in Version A.03.04 New Features in Version A.03.04 New features in HP aC++ version A.03.04 are listed below. • The aC++ default template instantiation mechanism has changed to compile-time instantiation (CTTI). For source code containing templates, the new default may result in faster compile-time processing. The previous default behavior remains available by specifying the +inst_auto command-line option when compiling and linking.
HP aC++ Release Notes Installation Information Installation Information Read this entire document and any other release notes or Readme files you may have before you begin an installation. To install your software, run the SD-UX swinstall command. This command invokes a user interface that will lead you through the installation.
HP aC++ Release Notes Compatibility Information Compatibility Information Maintaining binary compatibility is a key release requirement for new versions of HP aC++. The compiler has maintained the same object model and calling convention and remains compatible with the HP-UX runtime in the code that it generates as well as its intrinsic runtime library (libCsup) across the various releases of HP aC++ and its runtime patch stream.
HP aC++ Release Notes Compatibility Information void A::foo() { return; } int main() { printf("%d\n",sizeof(A)); } Content of .o Files may Change The following applies when you use the aCC command that invokes the assigner. The content of a given .o file can potentially change when it is used in a closure (with the +inst_close option) or link operation. The change may occur in either of the following cases: • You change the order of .o file’s on the link line. For example, if you compile and link A.
HP aC++ Release Notes Compatibility Information A f(A const& x) { A a(x); return a; } // Will not call the copy constructor if the // optimization is enabled. This optimization will not be performed if the copy constructor was not declared by the programmer. Although this optimization is allowed by the ISO/ANSI C++ standard, it may have noticeable side effects. Example: aCC +nrv app.C Linker Compatibility Warnings Beginning with the HP-UX 10.20 release, the linker generates compatibility warnings.
HP aC++ Release Notes Compatibility Information • Versioning within a Shared Library If you do versioning within a shared library with the HP_SHLIB_VERSION (C and C++) or the SHLIB_VERSION (Fortran) compiler directive, you should migrate to the industry standard and faster performing library-level versioning.
HP aC++ Release Notes Problem Descriptions and Fixes, and Known Limitations Problem Descriptions and Fixes, and Known Limitations This chapter summarizes the known problems and limitations of the current version of HP aC++ except as otherwise noted. NOTE Since HP-UX 10.10 is the last supported OS for PA-RISC 1.0 architecture machines, HP-UX 11.00/11i no longer support execution of PA-RISC 1.0 code, and 11.00/11i compilers no longer support the compilation of PA-RISC 1.0 code.
HP aC++ Release Notes Problem Descriptions and Fixes, and Known Limitations Incompatibilities Between Standard C++ Library Version 1.2.1 and the Draft Standard As the ANSI C++ standard has evolved over time, the Standard C++ Library has not always kept up. Such is the case for the times function object in the functional header file. In the standard, times has been renamed to multiplies.
HP aC++ Release Notes Problem Descriptions and Fixes, and Known Limitations If you must use the macros.h header, try undefining macros that conflict: ... #include #undef max #undef min ... Unsatisfied Symbols if using Non-Current Runtime Support Library If you see the following message, you may be using a non-current version of the HP aC++ run-time support library.
HP aC++ Release Notes Problem Descriptions and Fixes, and Known Limitations #include time_t ff (time_t t) { return t; } time_t ff (long t) { return t; } // This causes a duplicate. time_t ff (char t) { return t; } // This causes an ambiguity. int main () { long tt = ff (1L); return 0; } ff is overloaded to take either a time_t, long, or char parameter. On a 10.10 or 10.20 system where time_t is a long, the call to ff in main resolves to ff(time_t). On a 10.
HP aC++ Release Notes Problem Descriptions and Fixes, and Known Limitations One of the following types of error messages is generated if you attempt to link the objects created using your June 2000 Support Plus media revision B.11.00.49 compiler on an 11.00 system.
HP aC++ Release Notes Problem Descriptions and Fixes, and Known Limitations Compiling with +DO and +Olibcall for Improved Math Performance If you recompile your code with your June 2000 Support Plus media revision B.11.00.49 compiler using +Olibcalls and +DO11.0EP9812 options for improved performance, an unresolved symbols message is generated if you link or run your new executable on an 11.00 system.
HP aC++ Release Notes Problem Descriptions and Fixes, and Known Limitations When a 32-bit and 64-bit application call shl_unload() or dlclose() and that causes libCsup to be unloaded, it fails when it executes static destructors at program termination. This causes a program abort. This happens because related code and data of libCsup are no longer present. See defect JAGaa86491. • HP aC++ does not support installation and execution on HP-UX 9.x, 10.00, and 10.01 systems.
HP aC++ Release Notes Problem Descriptions and Fixes, and Known Limitations If you want to link archive libraries and libdld.sl, use the -Wl,-a, archive option. The following example directs the linker to use the archive version of standard libraries and (by default) libdld.sl. aCC prog.o -Wl,-a,archive • Using shl_load with Library-Level Versioning Once library-level versioning is used, calls to shl_load() should specify the actual version of the library that is to be loaded. For example, if libA.
HP aC++ Release Notes Related Documentation Related Documentation Documentation for HP aC++ is described in the following sections. Online Documentation The following online documentation is included with the HP aC++ product: • HP aC++ Online Programmer’s Guide Access this guide in any of the following ways: — Use the +help command line option: /opt/aCC/bin/aCC +help — From your web browser, enter the URL: file:/opt/aCC/html/C/guide/index.
HP aC++ Release Notes Related Documentation The reference is provided as HTML formatted files. You can view these files with an HTML browser by opening the file /opt/aCC/html/libstd_v2/stdref/index.htm or select the hyperlink from HP aC++ Online Programmer’s Guide. • Rogue Wave Software Standard C++ Library 2.2.1 User’s Guide This guide gives information about library usage and includes an extensive discussion of locales and iostreams. The guide is provided as HTML formatted files.
HP aC++ Release Notes Related Documentation • HP aC++ Release Notes is this document. The online ASCII file can be found at /opt/aCC/newconfig/RelNotes/ACXX.release.notes. • Online manual pages for aCC and c++filt are at /opt/aCC/share/man/man1.Z. Manual pages for the Standard C++ Library and the cfront compatibility libraries (IOStream and Standard Components) are provided under /opt/aCC/share/man/man3.Z.