Running 'gcc' on C++ source file on Linux gives "cc1plus: out of memory allocating ..." error message
It turns out I had saved the C++ source file as a UTF-16 Unicode-encoded file, complete with leading Unicode Byte Order Mark (BOM) bytes at the beginning of the file. The file was saved as UTF-16 on a Windows system, committed to a version control system, then checked out to Linux. gcc does support Unicode encoded as UTF-8, but not Unicode encoded as UTF-16.
The solution was to convert the source file back to a standard, non-Unicode encoding.