HP aC++ Release Notes Version A.03.85 Edition 9 HP-UX Systems Manufacturing Part Number: 5992-4209 September 2008 United States © Copyright 2008 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.85, 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 • “Problem Descriptions and Fixes, and Known Limitations” on page 73 • “Related Documentation” on page 82 Chapter 1 5
HP aC++ Release Notes What’s in This Version What’s in This Version This section gives an overview of the new features introduced in this version of the HP aC++ compiler. New Features in Version A.03.85 The new features in HP aC++ version A.03.
HP aC++ Release Notes What’s in This Version New Features in Version A.03.80 The new feature in HP aC++ version A.03.80 is the new command line option, +hpxstd98 to enable a new, standard compliant compilation mode. The +hpxstd 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 What’s in This Version NOTE 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”. New Features in Version A.03.70 Following are the new features in HP aC++ version A.03.
HP aC++ Release Notes What’s in This Version NOTE Using -fshort-enums causes the compiler to generate code that may be binary incompatible with the code generated without this option. To generate compatible code, do not use or define external enumerators (defined or used in other source files or shared libraries) that are compiled without this option. The _HP_NONSTD_FAST_IOSTREAM Performance Improvement Directive HP aC++ A.03.
HP aC++ Release Notes What’s in This Version NOTE If the array is initialized with addresses, this option can cause an increase in run time. The increase is based on the number of addresses in the array initializer and the number of times the array is initialized. This overhead is normally negligible. Option Mapping Support for Easy Migration The option mapping support available in HP aC++ A.03.70 facilitates easy migration of build environment from a different compiler to HP aC++.
HP aC++ Release Notes What’s in This Version To define rules for options that have arguments, use the $ wildcard. For example, $1 for the first argument, and $2 for the second. If the third party compiler option (LHS) does not match with any HP aC++ option, leave the RHS blank. Example Rules: The following example rules map gcc compiler options to corresponding HP aC++ compiler options. The same rules can be used for mapping options from any third party compiler.
HP aC++ Release Notes What’s in This Version Where: options-list-1 is applied before the options in the command line options-list-2 is applied after the options in the command line is | The final option ordering is as follows: NOTE No default configuration files are shipped with HP aC++. The system administrator can create them, if required.
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 ~A() { printf("~A()\n"); } }; 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 With this release, a member of a class can also access all names as it accesses the names in the class of which it is a member: class Enclosing { 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.
HP aC++ Release Notes New Features in Version A.03.65 And the following new symbols are defined in aC++ runtime library (libCsup): __libCsup_mutex_alloc __libCsup_mutex_context The number of string mutexes defaults to 64 and can be configured by: 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 Support for gdb steplast In order to use the new steplast command of gdb, C++ programs must be built with -g0 option only. 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.50 Patches Required The following patches must be installed in order to enable all these new features: For HP-UX B.11.00: • PHSS_28879 (aC++ runtime) • PHSS_28869 (linker) For HP-UX B.11.
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 public: 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 Improved DOC (Debug Optimized Code) Support Ability to debug the optimized C++ code (DOC) has been improved significantly in this release. To use these improvements, set the environment variable aCC_DOC_MODE to ON. 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.
HP aC++ Release Notes New Features in Version A.03.37 NOTE There is a very small chance that mixing objects or libraries compiled with and without -D__HPACC_THREAD_NULL_STRING will lead to incompatibilities. This is because the new implementation sets the null string reference count to INT_MAX/2 whereas the old implementation would increment or decrement the reference count. There is a very small chance that the reference count may incorrectly go to 0 and the null string object may get deleted.
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_25028 - for 11.x prior to 11.11 • 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 445 Cannot recover from earlier errors 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.
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 for (int i=nend;i
HP aC++ Release Notes New Features in Version A.03.
HP aC++ Release Notes New Features in Version A.03.33 The following details the default tool set components location as specified in the above command and its earlier location before the execution of the command: Native Location Alternate Tool Set Location /usr/include /opt/xdk-ia/usr/include /opt/aCC/include* /opt/xdk-ia/opt/aCC/include* /usr/lib /opt/xdk-ia/usr/lib /opt/aCC/lib /opt/xdk-ia/opt/aCC/lib Environment variables like LPATH and options like -l or -L override $TARGETROOT prefixing.
HP aC++ Release Notes New Features in Version A.03.33 -Bhidden and -Bhidden_def Command Line Options The current behavior of the aC++ compiler on HP-UX systems is to export all symbols with external linkage by default. In order to facilitate exporting only those symbols marked with __declspec(dllexport) and hide the rest, use the following two options to hide the symbols by default.
HP aC++ Release Notes New Features in Version A.03.33 4. The compiler defines macro __HP_WINDLL whenever -Bhidden or -Bhidden_def options are used. This macro can be used for conditional compilation. For example, #ifdef __HP_WINDLL #define DLLEXPORT __declspec(dllexport) #define DLLIMPORT __declspec(dllimport) #else #define DLLEXPORT #define DLLIMPORT #endif 5.
HP aC++ Release Notes New Features in Version A.03.33 3. In the following program, class ImportME is imported from outside the current load module: class __declspec(dllimport) ImportME { public: void print(); }; 4. In the following program, only member function mem() is exported: class Test { public: __declspec(dllexport) mem(); goo(); }; 5.
HP aC++ Release Notes New Features in Version A.03.33 //dll.h class BaseClass { public: BaseClass() { } virtual void foo(); virtual void goo(); // should be exported as it is needed // in the derived class which does not }; // override it //end of dll.h //dll.C #include “dll.h” void BaseClass::foo() { } void BaseClass::goo() { } // end of dll.C //caller.C #include “dll.
HP aC++ Release Notes New Features in Version A.03.33 $ aCC caller.C dll.sl /usr/ccs/bin/ld: Unsatisfied symbols: BaseClass::goo() (first referenced in caller.o) (code) The solution is to export member function goo() from the shared library using __declspec(dllexport).
HP aC++ Release Notes New Features in Version A.03.33 +Oprofile=prediction:static Select static branch prediction for this executable. This is a synonym for +Ostaticprediction. NOTE Note the following while performing optimization using new options: • The new options can be used only with -c (compile only), if not, the optimization is performed as in the earlier versions of the compiler. • The new options are available only at optimization levels below +O4.
HP aC++ Release Notes New Features in Version A.03.33 +O[no]inline=list Option The list form is now available. It can contain the names of extern C functions or they must be mangled names. -I- Option Enhanced to Perform prefixinclude Search The -I- option has been enhanced to do a prefixinclude search. The -I- option, by itself, is not sufficient to handle the case involving a quoted include from a parent file which is not directly on the quoted or bracketed search paths.
HP aC++ Release Notes New Features in Version A.03.33 $ # 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. With the prefixinclude feature in effect, the subdirectory prefix (in this case incl) is inherited from the including file for #include “...” style includes.
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 Extensions made in the 11i (11.11) release of HP-UX. The A.03.25 version (PHSS_21906) had an incorrect size and mangling for mbstate_t. The 11i defined value is 8 bytes, the libstd_v2 version is 4.
HP aC++ Release Notes New Features in Version A.03.
HP aC++ Release Notes New Features in Version A.03.30 ---------+--------------------------------+-----------------------------new-lib | -D_REENTRANT | -D_REENTRANT (-AA) | -D_RW_MULTI_THREAD | -D_RW_MULTI_THREAD | -D_RWSTD_MULTI_THREAD | -D_RWSTD_MULTI_THREAD libstd | | -D_POSIX_C_SOURCE=199506L 2.2.
HP aC++ Release Notes New Features in Version A.03.30 This macro is not set by -mt, You must set it explicitly on the command line. • _THREAD_SAFE Required by thread safe cfront compatible libstream header files and library. For the frequently used objects cout, cin, cerr, and clog, you can specify the -D_THREAD_SAFE compile time flag for any file that includes . In this case, a new instance of the object is transparently created for each thread that uses it.
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 NOTE In general, you are encouraged to use header names as specified in the C++ standard. We do not guarantee the inclusion of non-standard compliant headers in our future releases. See the C++ international standard for detailed language rules. 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.
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 +ESlit Option New Default The +FP[flags] option specifies how the run-time environment for floating-point operations should be initialized at program start up. The default is that all exception behaviors are disabled. See ld(1) for specific flag values. To dynamically change these settings at run time, see fesetenv(3M). By default, string literal data now resides in read-only memory rather than read-write memory.
HP aC++ Release Notes New Features in Version A.03.25 aCC -c foo.C Error 440: “foo.C”, line 3 # Cannot initialize ‘char *’ with ‘const char *’. char* c=p; ^ Error 203: “foo.C”, line 8 # Cannot assign ‘char *’ with ‘ const char *’. c=p; ^ If you see a compile-time warning like the following: 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.
HP aC++ Release Notes New Features in Version A.03.25 enum x { x1, }; Trailing Comma now Generates Warning 921 Most frequently reported migration issue: enum x { x1, }; The trailing comma is an error, and aC++ now generates Warning 921. +m[d] and +M[d] Options Have Changed Behavior Behavior of the +m[d] and +M[d] options has changed. When used with the -E option, only dependency file information is generated, and there is no preprocessing output.
HP aC++ Release Notes New Features in Version A.03.25 For GNU/gcc style coding: #include class a { public: sub (int i) { printf (“__FUNCTION__ = %s\n”, __FUNCTION__); printf (“__PRETTY_FUNCTION__ = %s\n”, __PRETTY_FUNCTION__); } }; int main (void) { 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.
HP aC++ Release Notes New Features in Version A.03.25 If there is an ellipsis (...) in the identifier-list in the macro definition, then the trailing arguments, including any separating comma preprocessing tokens, are merged to form a single item: the variable arguments. The number of arguments so combined is such that, following merger, the number of arguments is one more than the number of parameters in the macro definition (excluding the ...).
HP aC++ Release Notes New Features in Version A.03.25 In the case mentioned above, gcc currently discards only the last preceding sequence of non-whitespace characters, while HP aC++ discards the last preprocessor token. Alignment of long double Data Type in 64-bit mode Changed to 16-bytes Alignment of the long double data type in 64-bit mode (+DA2.0W) is now 16-bytes. This ensures compatibility with the HP PA-RISC ABI and HP C.
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.10 • Option +DO allows you to set the target operating system for the compiler. • The +Oinlinebudget= option now works correctly.
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 New Features in Version A.03.04 • The +Z compiler option is the default in 64-bit mode (PIC on). The default in 32-bit mode remains non-PIC. • Advanced optimization options, +Omultiprocessor and +Oextern, are provided to optimize code for processor configuration and external symbol usage, respectively.
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 extern "C" int printf(const char *,...); class A { int a; public: virtual void foo(); }; void A::foo() { return; } //virtual function foo, part of class A 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.
HP aC++ Release Notes Compatibility Information Linking with a prior library may cause spurious failures. If the shared version of this library is selected (default), the platform on which the application is run must also have that release of the HP aC++ runtime support library (libCsup.sl). The NRV optimization eliminates a copy-constructor call by allocating a local object of a function directly in the caller’s context if that object is always returned by the function.
HP aC++ Release Notes Compatibility Information The current linker checks the number of symbols, parameters, and procedure calls across object files. In future, you should expect HP compilers to perform cross-module type checking, instead of the linker. This impacts HP Fortran programs. • Duplicate Names Found for Code and Data Symbols The current linker can create a program that has a code and data symbol with the same name. In future, the linker will adopt a single name space for all symbols.
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 Conflict Between macros.h and numeric_limits Class (min and max) If your code includes /usr/include/macros.h, the min and max macros defined in macros.h conflict with the min and max functions defined in the numeric_limits class of the Standard C++ Library. The following code, for example, would generate a compiler Error 134: numeric_limits::max(); If you must use the macros.
HP aC++ Release Notes Problem Descriptions and Fixes, and Known Limitations Potential Source Incompatibility of Objects Built with HP-UX v 10.10/10.20 HP aC++ When your code overloads system header file functions, it is possible that C++ source files that compile without error using HP aC++ for HP-UX 10.10 or 10.20 might not compile with a subsequent compiler release. The example below shows why this potential problem exists. #include
HP aC++ Release Notes Problem Descriptions and Fixes, and Known Limitations Instrumented Code with PBO or +O4 Optimization If you use PBO (+Oprofile=collect compiler option) or the +O4 option during development and recompile with your June 2000 Support Plus media revision B.11.00.49 compiler, you create instrumented objects (ISOM) that an 11.00 system does not recognize.
HP aC++ Release Notes Problem Descriptions and Fixes, and Known Limitations 64-Bit Open Graphics Library Support The June 2000 Support Plus media revision B.11.00.49 extension provides 64-bit OGL support to improve performance. If you make changes to your source code to recompile using these OGL headers, an unresolved symbols message is generated when you link your executable on an 11.00 system.
HP aC++ Release Notes Problem Descriptions and Fixes, and Known Limitations — Use of optimization levels greater than 0 with debugging options is not supported. — Limitation when unloading shared libraries in 32-bit and 64-bit applications: Normally, at program termination (exit) or at a call to shl_unload() or dlclose(), all explicitly loaded libraries are closed automatically and static destructors are executed at that time.
HP aC++ Release Notes Problem Descriptions and Fixes, and Known Limitations • Source-level debugging of C++ shared libraries is supported. However, there are limitations related to debugging C++ shared libraries, associated with classes whose member functions are declared in a shared library, and that have objects declared outside the shared library where the class is defined. Refer to the appropriate release notes and manuals for the operating system and debugger you are using.
HP aC++ Release Notes Problem Descriptions and Fixes, and Known Limitations To use this function, you must use the header file.
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.
HP aC++ Release Notes Related Documentation • Release Version and Patch Table • Purchase and Support Information • Documentation Links • Compatibility between Releases.