No, nvcc doesn't behave like a C/C++ compiler for host code. What it does is the following:
- separate device from host code into two separate files
- compile device code (with nvcc, cudafe, ptxas)
- invoke gcc for host code
If no device code exists, nothing is done in steps 1) and 2). So nvcc is actually no compiler, it is a compiler driver which invokes the right compilers for every part in the right order. To answer your question, if you use nvcc to compile host code only, you still use gcc.