The only differences between gcc and g++ are that:
- when the driver is used to invoke the linker, g++ causes libstdc++ to be linked as part of "stdlibs", while gcc will link only libc.
 
- g++ will compile .c, .h and .i files as C++ unless the 
-x option is specified. 
Both drivers will compile C or C++ depending on either the filename extension, or command-line switches.  If you invoke the compiler-driver for compilation only and invoke the linker (ld) directly, using gcc or g++ -x, it makes no difference which you use.  
Equally, if you invoke the gcc driver for C++ code and explicitly link stdlibc++ it also makes no difference - so long as your crt0.o is not C-only - a C++ runtime start-up must invoke global static constructors before main()) - this is likely to already be the case.
The definitive word from the documentation:
3.3 Compiling C++ Programs 
C++ source files conventionally use one of the suffixes ‘.C’, ‘.cc’, ‘.cpp’, ‘.CPP’, ‘.c++’, ‘.cp’, or ‘.cxx’;
  C++ header files often use ‘.hh’, ‘.hpp’, ‘.H’, or (for shared
  template code) ‘.tcc’; and preprocessed C++ files use the suffix
  ‘.ii’. GCC recognizes files with these names and compiles them as C++
  programs even if you call the compiler the same way as for compiling C
  programs (usually with the name gcc).
However, the use of gcc does not add the C++ library. g++ is a program
  that calls GCC and automatically specifies linking against the C++
  library. It treats ‘.c’, ‘.h’ and ‘.i’ files as C++ source files
  instead of C source files unless -x is used. This program is also
  useful when precompiling a C header file with a ‘.h’ extension for use
  in C++ compilations. On many systems, g++ is also installed with the
  name c++.
When you compile C++ programs, you may specify many of the same
  command-line options that you use for compiling programs in any
  language; or command-line options meaningful for C and related
  languages; or options that are meaningful only for C++ programs. See
  Options Controlling C Dialect, for explanations of options for
  languages related to C. See Options Controlling C++ Dialect, for
  explanations of options that are meaningful only for C++ programs.
If you want to use just one, I suggest you use gcc and separately invoke the linker or explicitly link -libstdc++.  That way the compilation mode will be dependent on the filename extension.  Using g++ -x to compile C code is just going to cause confusion.