XL C/C++ Advanced Edition V6.0 for Mac OS X — A new platform for the IBM family of C/C++ compilers

IBM United States Software Announcement 204-005
January 13, 2004

 ENUS204-005.PDF (44KB)

Table of contents   Document options  
At a glance Publications
Overview Technical information
Key prerequisites Ordering information
Planned availability date Terms and conditions
Description Prices
Product positioning IBM electronic services
Offering information Order now
 
Printable version

 
At a glance

Based on mature compiler technology from IBM, XL C/C++ Advanced Edition V6.0 for Mac OS X includes:

  • Industry-leading optimization technology
  • Multiple levels of increasing optimization to trade-off compile time with code execution speed
  • Various compiler options and pragmas to tailor for the specific needs of a compilation
  • Partial GNU C/C++ portability support to ease migration of code from GNU C and C++

For ordering, contact:

Your IBM representative or IBM Americas Call Centers at 800-IBM-CALL (Reference: YE001).
 
Back to top
 

Overview

XL C/C++ Advanced Edition for Mac OS X is an optimizing, standards-based, command-line compiler for the Mac OS X operating system, running on PowerPC® hardware with the PowerPC Architecture™.

Based on mature compiler technology from IBM, XL C/C++ Advanced Edition V6.0 for Mac OS X features:

  • Generation of highly optimized code which exploits the IBM PowerPC architecture within the Power Mac G5
  • C and C++ programming language standards conformance
  • Binary compatibility and coexistence with gcc V3.3
  • Support for the Velocity Engine through the AltiVec programming interface
  • GCC command line compatibility
  • Documentation that supports the Mac OS X help architecture.

With XL C/C++ Advanced Edition V6.0 for Mac OS X, IBM extends the C/C++ family of compilers to the Apple Mac OS X platform. The IBM family of C and C++ compilers, now supports C and C++ programming on:

  • Apple Power Mac G5 and Power Mac G4 (Mac OS X)
  • IBM eServer zSeries® (z/OS® and OS/390®)
  • IBM eServer pSeries® (AIX®)
  • IBM eServer iSeries™ (OS/400® and PASE)
  • Enterprise Linux on iSeries and pSeries (SuSE Linux Enterprise Server, Red Hat Enterprise Linux, Turbolinux Enterprise Server powered by UnitedLinux, and Conectiva Linux Enterprise Edition powered by UnitedLinux)

With this release of XL C/C++ Advanced Edition V6.0 for Mac OS X, programmers using Mac OS X by Apple can now take advantage of proven IBM compiler technology.
 
Back to top
 

Key prerequisites
  • Apple Power Mac G5 or Power Mac G4
  • Mac OS X 10.2 or Mac OS X 10.3 running on the Power Mac G5 or Power Mac G4
  • gcc V3.3 compiler

 
Back to top
 
Planned availability date

January 16, 2004

  • Electronic software delivery
  • Media and documentation

 
Back to top
 
Description

XL C/C++ Advanced Edition for Mac OS X is a powerful development environment for building highly optimized C and C++ applications.

C compiler

XL C/C++ Advanced Edition V6.0 for Mac OS X introduces the IBM C compiler which includes the benefits of IBM compiler optimization technology. The C compiler provides many compiler options and pragmas for increased flexibility and efficiency while supporting the latest international standards.

1999 C standard

XL C/C++ Advanced Edition for Mac OS X builds on official industry standards, so your code can be ported easily among a variety platforms and implementations. 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. As the second edition of the standard, this level 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 XL C/C++ Advanced Edition V6.0 for Mac OS X, is consistent with the specification described in the ISO/IEC 9899:1999 International Standard. The compiler works with a run-time environment supporting the standard to form a conforming implementation. Certain features specified in the C99 Standard require corresponding run-time library support, which may not be available in the current operating system release.

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

  • Complex data type
  • Bool data type
  • Inline function specifier
  • Variable length array
  • Designated initializer to initialize specific structure members
  • Mixing declaration and code to improve usability and readability

The -qlanglvl compiler option allows you to choose from the available language levels that you can use to compile your code within XL C/C++ Advanced Edition for Mac OS X. Your code can conform to the latest C99 Standard, use language extensions to C99, or conform to the previous C89 Standard. XL C/C++ Advanced Edition offers you the flexibility to compile your code to the language level that you require.

C++ compiler

1998 C++ standard

The C++ compiler, within XL C/C++ Advanced Edition for Mac OS X, supports the 1998 ISO/IEC 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 is designed to promote the portability of C++ programs among a variety of implementations. ISO/IEC 14882:1998 is the first formal definition of the C++ language. In addition, XL C/C++ Advanced Edition for Mac OS X will support a number of the latest approved clarifications from the standards committee bringing the C++ compiler within XL C/C++ Advanced Edition for Mac OS X to the latest level of the standard.

Compiler optimization

XL C/C++ Advanced Edition V6.0 for Mac OS X includes the benefits of IBM 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 a number of architectures.
  • -qhot that allows for high-order transformations, which are optimizations that specifically improve performance of loops through techniques such as interchange, fusion, and unrolling.
  • -qipa that invokes interprocedural analysis (IPA) that enables the compiler to optimize across different files (whole-program analysis), and can result in significant performance improvements.
  • -qpdf (profile-directed feedback) that uses results from sample program execution to fine tune optimizations in conditional branches and frequently executed code sections.

Binary compatibility and coexistence

XL C/C++ Advanced Edition V6.0 for Mac OS X uses the GNU C and C++ header files and the run-time libraries to produce code that is binary-compatible with that produced with GNU compiler, gcc V3.3. Portions of an application can be built with XL C/C++ Advanced Edition for Mac OS X and combined with portions built with gcc to produce an application that behaves as if it had been built solely with gcc. To ensure that the proper versions of headers and run-time libraries are present on the system, the gcc V3.3 compilers must be installed before installing XL C/C++ Advanced Edition for Mac OS X.

XL C/C++ Advanced Edition is able to coexist with gcc-compiled code. The XL C/C++ Advanced Edition compiler optimizes the program while maintaining binary compatibility with objects produced by gcc V3.3.

Additional coexistence features include:

  • Built-in IBM functions for Power Mac G5 (Power Mac G4 also supported) and PowerPC 970 architectures coexist with GNU C and GNU C++ built-ins.
  • Compilation uses the GNU C/C++ and Mac OS X header files.
  • Compilation uses the GNU assembler for assembler input files.
  • Linking uses the Mac OS X linker.
  • Compiled code is linked to the GNU C/C++ and Mac OS X run-time libraries.
  • Debugging uses the GNU debugger, gdb.
  • Profiling uses the GNU profiler, gprof.

Ease of porting

XL C/C++ Advanced Edition V6.0 for Mac OS X has features that help you port existing code from code originally written for GNU C and 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 and C++ are supported by XL C/C++ Advanced Edition V6.0 for Mac OS X. Other GNU C and C++ features are recognized (accepted and ignored). This helps you minimize the number of changes that you are required to make to your GCC source code to ensure that it compiles successfully using XL C/C++ Advanced Edition for Mac OS X.

Additional features of XL C/C++ Advanced Edition for Mac OS X

  • The -qarch=ppc970 or -qarch=g5 (also -qtune=ppc970 or -qtune=g5) instructs the compiler to optimize specifically to the PowerPC 970 chip contained in the Apple Power Mac G5 (Power Mac G4 is also supported).
  • The -qaltivec option which supports the Power Mac G5 Velocity Engine through the AltiVec programming interface. This interface provides for highly parallel operations for both integer and float point data.
  • XL C/C++ Advanced Edition V6.0 for Mac OS X supports interlanguage calls to and from XL Fortran Advanced Edition so that you may include C and C++ code segments within your Fortran programs.
  • Support of Mac OS X Frameworks such as Carbon ABIs.
  • The gxlc utility translates GNU C and C++ compiler options into comparable XL C/C++ options and creates an xlc invocation command to invoke the C or C++ compiler within the XL C/C++ compiler. This utility is helpful for reusing make files created for applications previously developed with the GNU C/C++.

Xcode support

Xcode is Apple's latest integrated development environment for developing software on Mac OS X. Xcode supports a new and powerful user interface to a number of application development tools providing for an environment which allows for faster development of Mac OS X applications. Xcode supports programming in C, C++, Objective-C, Objective-C++ and Java™.

XL C/C++ Advanced Edition for Mac OS X is enabled for the Xcode application development environment by allowing the IBM C/C++ compiler to be invoked from within Xcode.

GNU debugger, gdb

XL C/C++ Advanced Edition V6.0 for Mac OS X 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.

Comprehensive documentation and online Help

Compiler documentation for XL C/C++ Advanced Edition V6.0 for Mac OS X is available in the following formats:

  • Readme files
  • Man pages
  • HTML files
  • PDF books

Documentation can be viewed in the Apple Help Center, with a traditional browser or using a PDF viewer. The Apple Help Viewer can perform generalized textual searches and will find your search string (if it occurs) in the Getting Started guide or Language Reference, Compiler Reference and Programming Tasks manuals.

Technical preview — Selected functions

The following selected functions are offered in this initial release of XL C/C++ Advanced Edition V6.0 for Mac OS X, as a "technical preview." Technical Previews provide insight into IBM plans and directions and information and functions are provided "as-is" and without warranty or condition of any kind. Availability of the selected functions will be announced at a later date.

  • 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.

      XL C/C++ Advanced Edition V6.0 for Mac OS X provides a technical preview of the OpenMP Industry Specification V2.0 support. For more information about the OpenMP Specification, visit the OpenMP Web site at:

  • Objective-C
    • XL C/C++ Advanced Edition compiler supports Objective-C.

      Objective-C is an object-oriented programming language based on standard C and is popular in the Mac OS X programming environment. The Objective-C programming is a basis for writing to Cocoa frameworks.

Section 508 of the U.S. Rehabilitation Act

XL C/C++ Advanced Edition for Mac OS X is capable as of January 16, 2004, when used in accordance with IBM's associated documentation, of satisfying the applicable requirements of Section 508 of the Rehabilitation Act, provided that any assistive technology used with the product properly interoperates with it.
 
Back to top
 

Product positioning

XL C/C++ Advanced Edition V6.0 for Mac OS X is part of the IBM family of C and C++ compilers that supports all of the major platforms of IBM. It joins C for AIX on the pSeries, VisualAge® C++ for AIX on the pSeries, VisualAge C++ for Linux 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 C compilers is the same making source-level portability of your applications among the various IBM C compilers easier than ever before. In fact much of the back-end code is not only common among the various C and C++ implementations but also common between XL C/C++ for Mac OS X and XL Fortran for Mac OS X. Mac OS X programmers who use XL C/C++ for Mac OS X will gain the benefit of the continuous quality improvements provided through usage of the equivalent IBM compilers since their initial introduction in 1989.

The C compiler supports the latest ISO C 1999 (International Standard ISO/IEC 9899:1999) standard. With representation from IBM's compiler development team on the ISO/ANSI C committee, IBM is in a position to understand the latest updates and clarifications to the 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.

You can now take advantage of the IBM compiler optimization technology that is contained in XL C/C++ Advanced Edition V6.0 for Mac OS X. 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.

XL C/C++ Advanced Edition V6.0 for Mac OS X brings with it IBM service and support. The IBM Service and Support organization is made up of teams of individuals working 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.

Trademarks

 
PowerPC Architecture and iSeries are trademarks of International Business Machines Corporation in the United States or other countries or both.
 
The e-business logo, PowerPC, z/OS, zSeries, OS/390, pSeries, AIX, OS/400, and VisualAge are registered trademarks of International Business Machines Corporation in the United States or other countries or both.
 
Java is a trademark of Sun Microsystems, Inc.
 
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.

 
Back to top
 
Offering information

Product information is available through the Offering Information Web site at:

and through the Passport Advantage® Web site at:


 
Back to top
 
Publications

No publications are shipped with this product.

The IBM Publications Center:

The Publications Center is a worldwide central repository for IBM product publications and marketing material with a catalog of 70,000 items. Extensive search facilities are provided. Payment options for orders are via credit card (in the USA). or customer number for 50 countries. A large number of publications are available online in various file formats, and they can all be downloaded by all countries free of charge.

The IBM Publications Notification System (PNS):

The PNS enables subscribers to set up profiles of interest by order number/product number. PNS subscribers automatically receive notifications by e-mail of all new publications defined in their profiles. These may then be ordered/downloaded via the Publications Center. The site is available in English and Canadian French.
 
Back to top
 

Technical information

Hardware requirements

  • Apple Power Mac G5 or Power Mac G4
  • Disk space, at least:
    • 80 MB for product packages
    • 512 MB for paging and temporary files. High levels of optimization may require more space for paging and temporary files.

Software requirements

  • Mac OS X 10.2 or Mac OS X 10.3
  • The Mac OS X Developer Tools package, which includes gcc V3.3
  • Viewers to access and display the documentation such as:
    • Frames-capable browser to access HTML-format online help
    • A Portable Document Format (PDF) viewer to view PDF files

Planning information

Web information

The VisualAge® C++ home page:

The IBM Application Development home page:

Customer responsibilities: 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.

For additional information, contact your IBM representative or IBM Business Partner, or refer to the IBM software support Web site at:

Packaging: XL C/C++ Advanced Edition V6.0 for Mac OS X Media Package:

  • One CD-ROM containing XL C/C++ Advanced Edition V6.0 for Mac OS X
  • Passport Advantage Customer Letter
  • Passport Advantage Media Pack Pointer Sheet
  • License Information Booklet
  • License Agreement Booklet

Security, auditability, and control

XL C/C++ Advanced Edition for Mac OS X uses the security and auditability features of the Mac OS X 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.
 
Back to top
 

Ordering information

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

Product information

Licensed
function                 Product                  Product
title                    group                    category
 
IBM XL C/C++             App Integration          App Integration
 Advanced                 Middleware Other         Middleware Other
 Edition

XL C/C++ Advanced Edition V6.0 is a server product that has one charge unit: Authorized user.

These are available in fixed order quantities of one user.

Note: This product 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 licensing

IBM XL C/C++ Advanced Edition

                                                       Part
Program name/description                               number
 
XL C/C++ Ad Ed for Mac OS X                            E012BLL
 Users SW Maintenance Annual
 Renewal
XL C/C++ Ad Ed for Mac OS X                            D5306LL
 Users License & SW Maintenance
 12 Months
XL C/C++ Ad Ed for Mac OS X                            D5307LL
 Users SW Maintenance
 Reinstatement 12 Months
 
Passport Advantage supply
 
XL C/C++ AD ED FOR Mac OS X V6.0.0
 
Media Pack English U.S. Apple                          BA0BQNA
 Macintosh Operating System
 CD-ROM Digital Disk --
 ISO 9660 Standard V6.0.0

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.

XL C/C++ Ad Ed for Mac OS X V6.0.0

Entitled maintenance          Media packs              Part
offerings description         description              number
 
XL C/C++ Advanced             XL C/C++ Ad Ed           BA0BQNA
 Edition for                   for Mac OS X
 Mac OS X                      English U.S.
                               Apple Macintosh
                               Operating System
                               CD-ROM Digital
                               Disk -- ISO 9660
                               Standard V6.0.0

 
Back to top
 
Terms and conditions

Agreement: 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: CT2J1NA

Limited warranty applies: Yes

Warranty: This program has warranty for a minimum of one year from acquisition from IBM or authorized Business Partner. The warranty provided to the customer, for at least one year from acquisition, is access to data bases (read Web sites) for program information, FAQs, including any known fixes to defects, which the customer can download or obtain otherwise and install at their leisure.

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:

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 one year of Software Maintenance with the initial license acquisition of each program acquired. The initial period of Software Maintenance can be extended by the purchase of a renewal option that is available.

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 Software Announcement 201-202 , dated July 10, 2001, or visit the Passport Advantage Web site at:

IBM operational support services — support line: No

iSeries™ software subscription applies: No
 
Back to top
 

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 information and charges, contact your IBM representative or authorized IBM Business Partner. For additional information about the Passport Advantage offering, visit the following Web site:

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

To identify your local IBM Business Partner or IBM representative, call 800-IBM-4YOU (426-4968).
 
Back to top
 

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 is comprised of 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 no-additional charge software that resides on your IBM eServer system. It is designed to proactively monitor events and transmit 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:


 
Back to top
 
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:      IBM Americas Call Centers
            Dept:  IBM CALL, 6th Floor
            105 Moatfield Drive
            North York, Ontario
            Canada M3B 3R1
 
 Reference: YE001

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

 
iSeries and Electronic Service Agent are trademarks of International Business Machines Corporation in the United States or other countries or both.
 
Passport Advantage, VisualAge, and eServer are registered trademarks of International Business Machines Corporation in the United States or other countries or both.
 
Other company, product, and service names may be trademarks or service marks of others.

Back to top
 

 
Printable version  

Share this page

Digg Linked In

Contact IBM

Feedback

-->