Are you debugging the driver process or the -cc1 process? To get the -cc1 process, unfortunately you have to go through the dance of passing -### to get the -cc1 line and then run that in gdb (or write one manually). Alternatively in gdb you can say “set follow-fork child” (or something, check the docs) to automatically follow into the -cc1 child.
I can put a breakpoint but it never stops when I say "run ...."
This is usually because clang forks off a process to do the actual
work. Try executing "set follow-fork-mode child" in gdb before running
clang.
I vaguely remember that running gdb against the "clang -cc1" command
works too (sometimes), but it's so rare that something is only
clang-debuggable that I've forgotten the details.