title: What issues can I expect compiling C code with a C++ compiler?
body: <p>If you take an existing C code base and compile it with a C++ compiler, what sort of issues can you expect to crop up? For example, I think that assigning an integer to an value with an enumerated type will fail in C++, whereas it's legal (if a bit nasty) in C.</p>
  
  <p>If I don't wrap all my C files in <code>extern C { ... }</code>, am I going to get name-mangling where I least expect it? Is there some reason why I really shouldn't do this?</p>
  
  <p>For background, we have a very large code-base written in C. For a few years we've been jumping through hoops to do things that would come naturally via C++ ( homebrewe inheritance, for example). We'd like to start moving towards C++, but in a gradual fashion; getting our CORBA-like framework to support it, and refactoring modules as we go along to take advantage of the more natural approach C++ would provide.</p>