Conversion notes:

Widget foo = parent::child = function()
will break G++ (i.e. a crash_

if you have an enumerated class

enum {
 foo1,
 foo2,
 foo3
};

C++ will issue a warning if you try to pass something that isn't on the list.
G++ will exit

G++ will allow you to pass a const object into a non const procedure
C++ won't unless you cast it explicitly

----
G++ will let you do this
CmFigureResources *foo = void_pointer

C++ requires you to explicitly cast it
CmFigureResources *foo = (CmFigureResources *) void_pointer
----
C++ doesn't allow intializers in class declarations
C++ requires that the "const" declarations in the source file declarations 
    follow those in the header

---
On the decmips CC sees //* is interpreted as / followed by a comment
The decmips CC can't take the suffix .cc

Another annoying thing about the decmips C++

Suppose you do

#define CR_RANGE 7 // This is a comment
if (k > CR_RANGE)
  foo();

Now the sun CC and g++ removes the comment before doing the substitution
But the decmips doesn't so you get
if (k > 7 // This is a comment )
  foo();

----
extern "C" means something different in g++ and CC
for CC it says don't mangle the function names
g++ says don't mangle the function name and don't worry about prototyping
CC will not take a c header file that has not been prototyped
  use -DXTFUNCPROTO so that the X11 headers are prototyped
------
This breaks the ATT C++ for the RT
static const CmRegex foo = "bar";

replace with

remove either the static or the const
