>>6 bash-2.0.5aの
examples/complete/complete* を眺めた感じでは

complete -f -X '!*.c' gcc

だと思う。誰か試してくれ