IBM United States
Software Announcement 203-056
February 25, 2003

IBM VisualAge C++ Now Supports the Linux Platform with VisualAge C++, V6.0 for Linux on IBM eServer pSeries

 ENUS203-056.PDF (46KB)


At a Glance

VisualAge C++, V6.0 for Linux on pSeries includes:

  • C compiler that supports the latest ISO C 1999 standard
  • C++ compiler that supports the latest ISO C++ 1998 standard
  • Support for the OpenMP C and C++ API V1.0 industry specification in C and C++ for symmetric multiprocessing (SMP) programming
  • POWER3 and POWER4 architecture exploitation
  • Interprocedural Analysis (IPA) with C and C++
  • Profile-directed feedback capability
  • Support for 32-bit and 64-bit application development
  • Comprehensive set of compiler options and pragmas
  • Partial GNU C/C++ portability support to ease migration of code from GNU C/C++
  • Binary compatibility with GNU C/C++, V3.2
  • Symbolic debugging support with gdb
  • HTML-based help and PDF documentation

For ordering, contact:

Your IBM representative or the Americas Call Centers at 800-IBM-CALL (Reference: RE001).

Overview

IBM extends the VisualAge® C++ family of compilers to the Linux on the pSeries™ platform.

VisualAge C++, V6.0 for Linux on pSeries will support the SuSE Linux Enterprise Server 8 (SLES 8) for pSeries running on the POWER3™ and POWER4™ architectures.

The IBM family of C/C++ compilers currently supports the C and C++ programming languages on a number of platforms including the pSeries servers running AIX®, the IBM eServer zSeries™ servers running z/OS™ and OS/390® and the IBM eServer iSeries™ servers running OS/400®.

VisualAge C++, V6.0 for Linux on pSeries includes a C and C++ compiler. The C compiler supports the latest ISO C 1999 (International Standard ISO/IEC 9899:1999) standard. The C++ compiler supports the latest ISO C++ 1998 (International Standard ISO/IEC 14882:1998) standard.

Fully based on the VisualAge C++, V6.0 for AIX, the VisualAge C++, V6.0 for Linux on pSeries program includes IBM's compiler optimization technology. With support for 32-bit and 64-bit optimization in both compilers, VisualAge C++, V6.0 for Linux on pSeries generates highly optimized code for the POWER3 and POWER4 architectures. In addition, the compilers can exploit shared-memory parallel processing through automatic and explicit parallelization.

With this release of VisualAge C++, V6.0 for Linux on pSeries, Linux application developers can now take advantage of proven IBM compiler technology.

Key Prerequisites

  • SuSE Linux Enterprise Server 8 (SLES 8) on pSeries
  • Browser to access the HTML-based help
  • PDF reader to view and print PDF documentation

Planned Availability Dates

  • February 28, 2003, for electronic software delivery
  • March 14, 2003, for physical delivery

Description

The VisualAge C++,V6.0 for Linux on pSeries software is a highly productive and powerful development environment for building C and C++ applications.

1998 C++ and 1999 C International Standards

VisualAge C++, V6.0 for Linux on pSeries builds on official industry standards, so your code can be ported easily among a variety of implementations.

1999 C Standard: The ISO/IEC 9899:1999 International Standard (also known as C99) specifies the form and establishes the interpretation of programs written in the C programming language. This is the second edition of the standard. This update enhances the capability of the C language, provides clarifications, and incorporates technical corrections to the previous edition of the standard. The language features supported by the C compiler within VisualAge C++, V6.0 for Linux on pSeries is consistent with the specification described in the ISO/IEC 9899:1999 International Standard. The compiler works with a run-time environment that supports the standard to form a conforming implementation.

The C99 Standard offers a number of additional language functions over the first edition (C89) of the standard and include:

  • Long Long
  • Bool
  • Pragma operator
  • Initializer allow con
  • Empty new argument
  • Macro with variable number of args
  • Inline function specifier
  • Complex

The -qlanglvl compiler option allows you to choose from the available language levels that you can use to compile your code within VisualAge C++. Your code can conform to the latest C99 Standard, use extensions to C99, or conform to the previous C89 Standard. VisualAge C++ offers you the flexibility to compile your code to the language level that you need.

1998 C++ Standard: The ISO/IEC 14882:1998 International Standard (also known as Standard C++) specifies the form and establishes the interpretation of programs written in the C++ programming language. This International Standard promotes the portability of C++ programs among a variety of implementations. ISO/IEC 14882:1998 is the first formal definition of the C++ language. The C++ compiler within VisualAge C++, V6.0 for Linux on pSeries supports the 1998 ISO/IEC Standard. In addition, VisualAge C++ supports a number of the latest approved clarifications from the standards committee bringing the C++ compiler within VisualAge C++, V6.0 for Linux on pSeries to the latest level of the standard.

OpenMP

The OpenMP is an industry specification describing a common set of APIs that support multiplatform symmetric multiprocessing (SMP) programming in C, C++, and FORTRAN on all architectures, including UNIX® platforms. Jointly defined by a group of major computer hardware and software vendors, including IBM, OpenMP is a portable, scalable programming model that provides SMP programmers with a simple and flexible interface for developing shared-memory parallel applications for platforms ranging from the desktop to the supercomputer.

VisualAge C++, V6.0 for Linux on pSeries provides full support for the OpenMP Industry Specification V1.0. For more information about the OpenMP Specification, visit the OpenMP Web site at:

Compiler Optimization

VisualAge C++, V6.0 for Linux on pSeries includes the benefits of IBM's compiler optimization technology. Through compiler options, directives, and pragmas, programmers are offered a number of ways to optimize their code. Using the -O2, -O3, -O4, and -O5 options, you can obtain optimization levels that run from comprehensive low-level optimizations to more extensive optimizations that include Interprocedural analysis, loop optimization, and automatic machine tuning. Other options for optimization include:

  • -qarch, -qtune, and -qcache that allow you to optimize your application to the POWER3 and POWER4 architecture.
  • -qhot allows for high-order transformations, which are optimizations that specifically improve performance of loops through techniques such as interchange, fusion, and unrolling.
  • -qipa invokes interprocedural analysis (IPA) that enables the compiler to optimize across different files (whole-program analysis), and can result in significant performance improvements.
  • -qpdf (that is profile-directed feedback) uses results from sample program execution to fine tune optimizations in conditional branches and frequently executed code sections.
  • -qsmp generates threaded code needed to exploit shared-memory parallel processing leading to high-performance code.

32-bit and 64-bit Support

You can use VisualAge C++, V6.0 for Linux on pSeries to develop 32-bit and 64-bit applications. VisualAge C++ provides 64-bit pointer and 64-bit addressability support for SMP and serial code. High optimization levels, interprocedural analysis, and SMP are supported for 64-bit code.

Ease of Porting

VisualAge C++, V6.0 for Linux on pSeries has features that help you port existing code from AIX or other UNIX-based systems as well as from code originally written for GNU C/C++. For example, by compiling with the -qinfo=por option, you can filter the diagnostic messages emitted by the compiler to show only those that pertain to portability issues. Also a comprehensive subset of features related to GNU C/C++ are supported by VisualAge C++, V6.0 for Linux on pSeries. Other GNU C/C++ features are recognized (accepted and ignored). This will help you minimize the number of changes that you need to make to your GCC source code to ensure that it compiles successfully using VisualAge C++, V6.0 for Linux on pSeries.

Binary Compatibility and Coexistence

VisualAge C++, V6.0 for Linux on pSeries supports the C++ Abstract Binary Interface (ABI), which means that the compiler produces binary or object files that are compatible with those created with the GCC compiler.

VisualAge C++, V6.0 for Linux on pSeries includes the same headers as those used by a GNU compiler residing on the same system. This allows VisualAge C++, V6.0 for Linux on pSeries to achieve binary compatibility with GCC-compiled code. The VisualAge compiler optimizes the program while maintaining binary compatibility with objects produced by GCC V3.2. Additional coexistence features include:

  • IBM built-in functions for POWER3 and POWER4 architectures coexist with GNU C built-ins
  • Compilation uses the GNU C and C++ header files from the Linux distribution
  • Compilation uses the GNU assembler
  • Linking uses the GNU linker
  • Compiled programs use the GNU C and C++ run-time libraries
  • Compiled object files compatible with g++ objects
  • Debugging uses the GNU debugger, gdb
  • Profiling uses the GNU profiler, gprof

GNU Debugger, gdb

VisualAge C++, V6.0 for Linux on pSeries supports debugging using the GNU debugger, gdb. This symbolic debugger, which comes with the system, supports full debugging capability for code without optimization and partial debugging for code at the -O2 optimization level.

Documentation and Online Help

VisualAge C++, V6.0 for Linux on pSeries provides product documentation in HTML and Portable Document Format (PDF). The following PDF documents are provided:

  • Getting Started with VisualAge C++ for Linux on pSeries describes the different ways the compiler can generate executable code, the accepted file types for input and output, and tips that can be useful for porting an existing application. The book also includes instructions for installing the program and provides an introduction to optimizing the performance of your application.
  • VisualAge C++ for Linux on pSeries C/C++ Language Reference contains information about the C and C++ programming languages as supported by IBM, including the new portability and standardization extensions.
  • VisualAge C++ for Linux on pSeries Compiler Reference contains information about the various compiler options, pragmas, macros, and built-in functions, including those used for parallel processing.
  • VisualAge C++ for Linux on pSeries Programming Tasks contains information about programming using VisualAge C++ for Linux on pSeries not covered in other publications.

Section 508 of the U.S. Rehabilitation Act

VisualAge C++, V6.0 for Linux on pSeries is accessible.

Product Positioning

VisualAge C++, V6.0 for Linux on pSeries is part of the IBM family of C/C++ compilers that supports all of IBM's major platforms. VisualAge C++ for Linux on pSeries joins VisualAge C++ for AIX on the pSeries, C/C++ for z/OS on the zSeries, and ILE C/C++ for OS/400 on the iSeries. The code base for all of these compilers (C and C++) is the same. This will make source-level portability of your applications from Linux to IBM platforms easier than ever before.

In addition, the C and the C++ compilers conform to the latest ISO/IEC International Standards. The C compiler supports the latest ISO C 1999 (International Standard ISO/IEC 9899:1999) standard. The C++ compiler supports the latest ISO C++ 1998 (International Standard ISO/IEC 14882:1998) standard. Also, the C++ compiler within VisualAge C++, V6.0 for Linux on pSeries supports a number of the latest approved clarifications from the standards committee bringing the C++ compiler within VisualAge C++, V6.0 for Linux on pSeries to the latest level of the standard. With representation from IBM's compiler development team on the ISO/ANSI C committee and the ISO/ANSI C++ committee, IBM is in a position to understand the latest updates and clarifications to the C and C++ standards. One of the benefits of conformance to language standards is that it emphasizes the maximum portability among a variety of compiler implementations that also support the standard.

Customers can now take advantage of the IBM compiler optimization technology that is contained in VisualAge C++, V6.0 for Linux on pSeries. You have the flexibility to choose from various levels and types of optimization to obtain moderate to significant performance improvements with relatively little development effort. And with the target machine options, you can optimize to suit the broadest possible selection of target processors, a range of processors within a given family of pSeries processor architectures, or a specific processor.

VisualAge C++, V6.0 for Linux on pSeries brings with it IBM's service and support. The IBM Service and Support organization is made up of teams of individuals that work together to provide you with the responsive platform and cross-platform software support that you require. For complex or code-related problems, IBM has specialized, skilled service teams with access to the experts in our development laboratories, as required. Therefore, you have access to the right level of IBM expertise when you need it — no matter where they are located. The vision of IBM Service and Support is to achieve a level of support excellence that exceeds customer expectations and differentiates IBM in the marketplace.

Reference Information

For information on VisualAge C++, V6.0 for AIX, refer to Software Announcement 202-162 , dated July 7, 2002.

Trademarks

 
The e-business logo, pSeries, POWER3, POWER4, z/OS, zSeries, and iSeries are trademarks of International Business Machines Corporation in the United States or other countries or both.
 
VisualAge, AIX, OS/390, and OS/400 are registered trademarks of International Business Machines Corporation in the United States or other countries or both.
 
UNIX is a registered trademark of the Open Company in the United States and other countries.
 
Other company, product, and service names may be trademarks or service marks of others.

Offering Information

Product information is available through Offering Information (OITOOL) at:

and through the Passport Advantage Web site at:

Publications

No publications are shipped with this program.

Displayable Softcopy Publications: The publications for VisualAge® C++, V6.0 for Linux on pSeries™ are offered in displayable softcopy form.

All unlicensed manuals are included.

The files are shipped on the CD-ROM.

Technical Information

Hardware Requirements

  • Processor: pSeries family of servers with the POWER4™ and POWER4 architectures
  • Display: SVGA 800 x 600 (1024 x 764 recommended) for viewing the online documentation
  • CD-ROM drive optional
  • Mouse or pointing device optional
  • Memory 96 MB (128 MB, or higher, recommended)
  • Disk space:
    • At least 50 MB for product packages
    • At least 200 MB (recommended) to accommodate high levels of optimization

Software Requirements

  • SuSE Linux Enterprise Server 8 for pSeries (SLES 8)
  • An instance of GNU C/C++, V3.2, or later
  • Optional GUI
    • K Desktop Environment (KDE) for applications and tools with an X-Windows graphical interface
  • Viewers to access and display the documentation such as:
    • A frames-capable browser such as Mozilla (V1.0, or later) to access HTML-format online help
    • A Portable Document Format (PDF) viewer to view PDF files

Planning Information

Web Information

Packaging: The VisualAge C++, V6.0 program is distributed in a single package that includes the following:

  • If selected, one media pack containing one CD-ROM for the VisualAge C++, V6.0 for Linux on pSeries program and a Passport Advantage pointer sheet
  • If selected, one media pack containing one CD-ROM for the VisualAge C++, V6.0 for AIX® program and a Passport Advantage pointer sheet.

Security, Auditability, and Control

VisualAge C++, V6.0 for Linux on pSeries uses the security and auditability features of the operating system.

The customer is responsible for evaluation, selection, and implementation of security features, administrative procedures, and appropriate controls in application systems and communication facilities.

Ordering Information

This product is only available via Passport Advantage. It is not available as shrinkwrap.

Product group: VisualAge

Product identifier description: VisualAge C++

PID: 5765-F56

Product category: VisualAge C++

VisualAge C++ is a server product that has one charge unit: Authorized User.

These are available in fixed order quantities of one user.

Note: VisualAge C++, V6.0 is licensed based on a charge unit of one authorized user per operating system. Separate user authorizations are required by individual users for each operating system on which the Program is used. For each user authorization on a given operating system, the Program may be stored on more than one machine, provided that the Program is not in active use by that individual user on more than one machine at the same time.

An authorized user is an individual or specific named user authorized to have access to the Program or any portion of the Program on a single operating system. The Proof of Entitlement for this Program is evidence of your authorization. Each individual or specific named user must obtain a Proof of Entitlement for each operating system on which the Program is used.

Passport Advantage

                                                            Part
Program Name/Description                                    Number
 
VisualAge C++, V6 for Linux on                              BA09SML
 pSeries Media Pack Multilingual
VisualAge C++ + USER LIC/SW                                 D5AHLLL
 MAINT 1 ANNIV
VisualAge C++ + USER LIC/SW                                 D5AHMLL
 MAINT 2 ANNIV
VisualAge C++ + USER SW MAINT                               E1AHNLL
 RNWL 1 ANNIV
VisualAge C++ + USER SW MAINT                               D5AHPLL
 AFT LIC 1 ANNIV

Passport Advantage Customer: Media Pack Entitlement Details

Customers with active Maintenance or subscription for the products listed below are entitled to receive the corresponding media pack.

 
Entitled Maintenance Offerings
Description
 
VisualAge C++ for AIX and for Linux pSeries
 
Media Packs                                                 Part
Description                                                 Number
 
VisualAge C++, V6.0 for Linux                               BA09SML
 on pSeries Multilingual

Terms and Conditions

This product is only available via Passport Advantage. It is not available as shrinkwrap.

Licensing: IBM International Program License Agreement. Proofs of Entitlement are required for all authorized use. Part number products only, offered outside of Passport Advantage, where applicable, are license only and do not include Software Maintenance.

License Information Form Number: CT1VWML

Limited Warranty: Yes

Money-Back Guarantee: If for any reason you are dissatisfied with the Program, return it within 30 days from the invoice date to the party (either IBM or its reseller) from whom you acquired it for a refund. This applies only to your first acquisition of the Program.

Copy and Use on Home/Portable Computer: Yes

Volume Orders (IVO): No

Passport Advantage Applies: Yes, and through the Passport Advantage Web site at:

Usage Restriction: Yes

Charge Unit: VisualAge C++, V6.0 is licensed based on a charge unit of one authorized user per operating system. Separate user authorizations are required by individual users for each operating system on which the Program is used. For each user authorization on a given operating system, the Program may be stored on more than one machine, provided that the Program is not in active use by that individual user on more than one machine at the same time.

An authorized user is an individual or specific named user authorized to have access to the Program or any portion of the Program on a single operating system. The Proof of Entitlement for this Program is evidence of your authorization. Each individual or specific named user must obtain a Proof of Entitlement for each operating system on which the Program is used.

Redistribution Information: The files/modules listed below or located in the directory named below, may be copied onto your media, in object code only, when your application is dependent upon them, subject to the following terms and conditions.

You agree:

  1. Copies of these modules are provided AS IS. You are responsible for all technical assistance for your application.
  2. To indemnify IBM from and against any third-party claim arising out of the use or distribution of your application.
  3. Not to use IBM's name or trademarks in connection with the marketing of your applications without IBM's prior written consent.
  4. To prohibit the recipient from copying (except for backup purposes), reverse assembling, reverse compiling, or otherwise translating the application.
  5. Not to use the same path name as the original files/modules.
    • vacpp.rte*
    • xlsmp.rte*
    • xlsmp.msg.rte*

Your application containing a copy of the above referenced files/modules must be labelled as follows:

    Contains VisualAge C++, V6.0 for Linux on pSeries Runtime Modules
    © Copyright IBM Corporation 1991-2003
    All Rights Reserved

Software Maintenance Applies: Yes

Software Maintenance, previously referred to as Subscription and Technical Support, is now included in the Passport Advantage Agreement. Installation and technical support for the products announced in this letter are provided by the Software Maintenance offering of the IBM International Passport Advantage Agreement. This fee service enhances customer productivity by providing voice and/or electronic access into the IBM support organizations.

IBM includes Software Maintenance with each program acquired during the coverage period. The coverage period means the period commencing on the date you acquire the program up to the first or second anniversary date, depending on whether you acquired coverage for one or two anniversaries. The coverage period for Software Maintenance acquired in the two months preceding an anniversary date will be extended to the next applicable anniversary date.

While your Software Maintenance is in effect, IBM provides you assistance for your routine, short duration installation and usage (how-to) questions, and code-related questions. IBM provides assistance via telephone and, if available, electronic access, only to your information systems (IS) technical support personnel during the normal business hours (published prime shift hours) of your IBM support center. (This assistance is not available to your end users.) IBM provides Severity 1 assistance 24 hours a day, every day of the year. For additional details, consult your IBM Software Support Guide at:

Software Maintenance does not include assistance for the design and development of applications, your use of programs in other than their specified operating environment, or failures caused by products for which IBM is not responsible under this agreement.

For more information about the Passport Advantage Agreement, refer to the IBM International Passport Advantage Agreement Software Announcement 201-202 , dated July 10, 2001, or visit the Passport Advantage Web site at:

IBM Operational Support Services — Support Line: No

AIX/UNIX® Upgrade Protection Applies: No

Entitled Upgrade for Current AIX/UNIX Upgrade Protection Licensees: No

iSeries™ Software Subscription Applies: No

Variable Charges Apply: No

Prices

The prices provided in this announcement are suggested retail prices for the U.S. only and are provided for your information only. Dealer prices may vary, and prices may also vary by country. Prices are subject to change without notice. For additional information and current prices, contact your local IBM representative.

Passport Advantage

For Passport Advantage and charges, contact your authorized Lotus® Business Partner. Additional information is also available on the Passport Advantage Web site:

Global Financing

IBM Global Financing offers competitive financing to credit-qualified customers to assist them in acquiring IT solutions. Our offerings include financing for IT acquisition, including hardware, software, and services, from IBM and other manufacturers or vendors. Offerings (for all customer segments: small, medium, and large enterprise), rates, terms, and availability can vary by country. Contact your local IBM Global Financing organization or visit the Web site at:

IBM Electronic Services

IBM Global Services has transformed its delivery of hardware and software support services to put you on the road to higher systems availability. IBM Electronic Services is a Web-enabled solution that provides you with an exclusive, no-additional-charge enhancement to the service and support on the IBM eServer. You should benefit from greater system availability due to faster problem resolution and preemptive monitoring. IBM Electronic Services comprises two separate but complementary elements: IBM Electronic Services news page and IBM Electronic Service Agent™.

IBM Electronic Services news page provides you with a single Internet entry point that replaces the multiple entry points traditionally used by customers to access IBM Internet services and support. By using the news page, it enables you to gain easier access to IBM resources for assistance in resolving technical problems.

The IBM Electronic Service Agent is a no-additional charge software that resides on your IBM eServer system that proactively monitors events and transmits system inventory information to IBM on a periodic customer-defined timetable. The IBM Electronic Service Agent tracks system inventory, hardware error logs, and performance information. If the server is under a current IBM maintenance service agreement or within the IBM Warranty period, the Service Agent automatically reports hardware problems to IBM. Early knowledge about potential problems enables IBM to provide proactive service that maintains higher system availability and performance. In addition, information collected through the Service Agent will be made available to IBM service support representatives when they are helping answer your questions or diagnosing problems.

To learn how IBM Electronic Services can work for you, visit:

Order Now

To order, contact the Americas Call Centers or your local IBM representative.

To identify your local IBM representative, call 800-IBM-4YOU (426-4968).

 Phone:     800-IBM-CALL (426-2255)
 Fax:       800-2IBM-FAX (242-6329)
 Internet:  ibm_direct@vnet.ibm.com
 Mail:      The Americas Call Centers
            Dept. RE001
            P.O. Box 2690
            Atlanta, GA  30301-2690
 
 Reference: RE001

The Americas Call Centers, our national direct marketing organization, can add your name to the mailing list for catalogs of IBM products.

Note: Shipments will begin after the planned availability date.

Trademarks

 
The e-business logo, pSeries, POWER4, iSeries, and Electronic Service Agent are trademarks of International Business Machines Corporation in the United States or other countries or both.
 
VisualAge and AIX are registered trademarks of International Business Machines Corporation in the United States or other countries or both.
 
UNIX is a registered trademark of the Open Company in the United States and other countries.
 
Lotus is a registered trademark of Lotus Development Corporation and/or IBM Corporation.
 
Other company, product, and service names may be trademarks or service marks of others.