Index

_DELTA
declaration
DCC Enhancements

accessible base, converting a pointer to a class to
Implicitly Converting a Pointer to a Pointer to a Different Class

adding base classes
Adding New Base Classes

adding member functions parameters
Adding or Removing Member Function Parameters

adding members to a class
Adding Members to a Class

adding overloaded functions to a class
Adding Overloaded Functions to a Class

base classes, adding
Adding New Base Classes

C compiler
Compilation

C functions
C Function Declarations in C++ Programs

C linkage
Using C++ Libraries From C Programs

C linkage, problems with
Problems Involving C Linkage

C++ compilers
5.2 and later versions
IRIS 5.3 Compilers
6.0 versions
MIPSpro 6.0 Compilers
64 vs. 32 bit
64- Versus 32-Bit Compilation
using
Using the Compilers

C++ environment
Silicon Graphics C++ Environment

C++ libraries
in C programs
Using C++ Libraries From C Programs

c++patch
Compilation

CC -64
command line
CC Command Line
template instantiation
CC -64 Template Instantiation

CC command, options
Translator Options

Cfront
compatibility examples
cfront Compatibility Examples
compatibility with Delta/C++
cfront Compatibility
incompatibilities
cfront Incompatibilities
porting to Delta/C++
Porting Your Code to Delta/C++
unsupported incompatibilities
Compatibility Restrictions

cfront template transition
How to Transition From cfront

Cfront, improvements over
Improving cfront-Compiled Code

changes, delta-compatible
Delta-Compatible Changes Examples
Delta-Compatible Changes

changes, incompatible
Delta-Incompatible Changes Examples

changing enumeration constant values
Changing the Values of Enumeration Constants

changing member declarations
Changing Member Declarations

changing member function default parameters
Changing Member Function Default Parameters

char and long, disambiguating
Disambiguating Between a char* and a long

class extension
Delta-Compatible Changes

class libraries
class extension
Delta-Compatible Changes
delta-compatible changes
Delta-Compatible Changes
incompatible changes
Delta-Incompatible Changes
member extension
Delta-Compatible Changes
member promotion
Delta-Compatible Changes
member reordering
Delta-Compatible Changes
modification
Class Library Modification Compatibility
override changing
Delta-Compatible Changes

class members, adding
Adding Members to a Class

classes, local
Local Classes

classes, nested
Nested Classes

command lines
CC -64
CC Command Line
OCC
OCC Command Line
samples
Sample Command Lines

comment lines, terminating
Terminating Comment Lines With a Backslash

compiler
Compilation

compilers
64 vs. 32 bit
64- Versus 32-Bit Compilation
using
Using the Compilers

compiling
Translators and Drivers
Compilation

complex arithmetic library
C++ Libraries

constant, deleting a pointer to
Deleting a Pointer to a const

contents of guide
What This Guide Contains

conventions, font, for manual
Conventions Used in This Guide

DCC
command line
DCC Command Line
enhancements over standard C++ compilers
DCC Enhancements
examples
Code Examples
limitations
DCC Limitations
DCC Limitations
program development
Program Development
Smart Build with
Smart Build and DCC
support for new C++ shared libraries
Support for New Versions of C++ Shared Libraries
warnings, added
Added DCC Warnings

debugging
Debugging

delta-compatible changes
Delta-Compatible Changes

delta-compatible changes examples
Delta-Compatible Changes Examples

Delta/C++
Cfront compatibility with
cfront Compatibility
Cfront unsupported incompatibilities
Compatibility Restrictions
comparing to other environments
Comparing CC to cfront
native compiling
Native Compiling
Native Compiling
porting from Cfront
Porting Your Code to Delta/C++
running the tutorial
Running the Delta/C++ Compiler Tutorial
template implementation
CC -32 Template Instantiation

Delta/C++ examples
Code Examples

documentation, recommended reading
What You Should Know Before Reading This Guide

dynamic classes
DCC Command Line
definition of
Dynamic Classes
disabling
Disabling Dynamic Classes
error messages
Dynamic Class Error Messages
setting
Setting Classes to Be Dynamic
using
Using Dynamic Classes

enumeration constants, changing values
Changing the Values of Enumeration Constants

examples
Cfront compatibility
cfront Compatibility Examples
delta-compatible changes
Delta-Compatible Changes Examples
incompatible changes
Delta-Incompatible Changes Examples

explicitly declaring member functions
Explicitly Declaring Member Functions

extern C
C Function Declarations in C++ Programs

fast malloc
Problems With Order of Specification of Libraries

font conventions, for manual
Conventions Used in This Guide

functions, overriding
Overriding Functions
Overriding Functions

global constructors
Compilation

guide contents
What This Guide Contains

header files
Using Other Language Libraries from C++ Programs

header files, pre-compiled
Precompiled Header File Mechanism

implicit inclusion
Implicit Inclusion

include files
Using Other Language Libraries from C++ Programs

inclusion, implicit
Implicit Inclusion

incompatible changes
Delta-Incompatible Changes

incompatible changes examples
Delta-Incompatible Changes Examples

instantiation
automatic method of
Automatic Instantiation Method
automatic, details of
Details of Automatic Instantiation
requirements
Meeting Instantiation Requirements

instantiation, command-line options
Command Line Options for Template Instantiation

instantiation, simplifying
Simplifying Template Instantiation

instantiation, template
Explicit Instantiation

iostream library
C++ Libraries

iostreams
Problems With Order of Specification of Libraries

ld
Compilation

libraries
Multi-Language Programs
C++ Libraries
in C programs
Using C++ Libraries From C Programs

libraries, problems with order of specification
Problems With Order of Specification of Libraries

limitations, DCC
DCC Limitations

link editor
Compilation

link libraries
Multi-Language Programs

linkage
Using C++ Libraries From C Programs
problems with
Problems Involving C Linkage

linkage, problems with C
Problems Involving C Linkage

linking
Translators and Drivers
Multi-Language Programs
resolving object references
Resolving Object References at Link Time
to other languages
Using Other Language Libraries from C++ Programs

loader
Compilation

local classes
Local Classes

long and char, disambiguating
Disambiguating Between a char* and a long

makefiles, changing
Changing Your Makefiles

malloc
Problems With Order of Specification of Libraries

mangling
C Function Declarations in C++ Programs

member declarations, changing
Changing Member Declarations

member extension
Delta-Compatible Changes

member function parameters
adding
Adding or Removing Member Function Parameters
changing defaults
Changing Member Function Default Parameters
removing
Adding or Removing Member Function Parameters

member functions
explicitly declaring
Explicitly Declaring Member Functions

member promotion
Delta-Compatible Changes

member reordering
Delta-Compatible Changes

members, promoting
Promoting Members

members, reordering
Reordering Members

multi-language programs
Multi-Language Programs

native compiler
Native Compiling
Native Compiling

NCC
DCC Enhancements
mapping template options from cfront
Mapping Template Options From cfront to CC -32
Smart Build with
Smart Build and NCC

nested classes
Nested Classes

object files
Translators and Drivers
C
Using Other Language Libraries from C++ Programs
linking
Multi-Language Programs
tools
Object File Tools

object references, resolving
Resolving Object References at Link Time

OCC
command line
OCC Command Line

options, translator
Translator Options

overloaded functions, adding to a class
Adding Overloaded Functions to a Class

override changing
Delta-Compatible Changes

overriding functions
Overriding Functions
Overriding Functions
derived class, with a
Base Class/Derived Class
global objects
Base Class/Global Object

pointer to a class, converting to accessible base
Implicitly Converting a Pointer to a Pointer to a Different Class

pointer to a constant, deleting
Deleting a Pointer to a const

pointer, assigning 0 to
Assigning a Comma Expression Ending in 0 to a Pointer

pointer, passing to volatile data
Passing a Pointer to Volatile Data

pragmas
for template instantiation
Pragmas for Template Instantiation

pre-compiled header files
Precompiled Header File Mechanism
known problems
Known Problems in the Precompiled Header Mechanism

pre-compiled header files, inefficiencies in
Causes of Inefficiencies in the Precompiled Header Mechanism

pre-compiled header files, not building
Conditions for Not Building Precompiled Headers

promoting members
Promoting Members

ptrepository, object files in
What to Do If You Use Object Files From cfront's Repository

rejecting redundant type specifiers
Rejecting Redundant Type Specifiers

related information
Related Information

removing member function parameters
Adding or Removing Member Function Parameters

reordering members
Reordering Members

repositories, multiple template
What to Do If You Use Multiple Repositories

shared libraries, building
Building Shared Libraries and Archives

shared libraries, support for new
Support for New Versions of C++ Shared Libraries

Smart Build
Smart Build
DCC with
Smart Build and DCC
invoking
Invoking the Smart Build Facility
known problems
Smart Build Known Problems
NCC with
Smart Build and NCC
pre-compiled header files
Precompiled Header File Mechanism
understanding
Understanding Smart Build

source file, suffix
Compilation

source files, correcting
Correcting Your Source Files

specialization
Specialization

standard header files
Using Other Language Libraries from C++ Programs

stdio
Problems With Order of Specification of Libraries

symbols unexpected undefined
Problems Involving C Linkage

template instantiation
archives
Building Shared Libraries and Archives
shared libraries
Building Shared Libraries and Archives
simplifying
Simplifying Template Instantiation

templates
CC -32 Template Instantiation
automatic instantiation
Automatic Instantiation
CC -64 instations
CC -64 Template Instantiation
command-line instantiation
Command Line Options for Template Instantiation
instantiation
Explicit Instantiation
Pragmas for Template Instantiation
instantiation examples
Command Line Instantiation Examples
language support
Template Language Support
mapping cfront to NCC options
Mapping Template Options From cfront to CC -32
multiple repositories
What to Do If You Use Multiple Repositories
object files in cfronts ptrepository
What to Do If You Use Object Files From cfront's Repository
restrictions
Limitations
specialization
Specialization
transitioning from cfront
How to Transition From cfront

terminating comment lines
Terminating Comment Lines With a Backslash

tools, object files
Object File Tools

translator options
Translator Options

troubleshooting
Problems Involving C Linkage

type specifiers, rejecting redundant
Rejecting Redundant Type Specifiers

unexpected undefined symbols
Problems Involving C Linkage

volatile data, passing a pointer to
Passing a Pointer to Volatile Data