Currently, clang does not emit debuginfo for the switch stmt
case value if it is an enum value. For example,
$ cat test.c enum { AA = 1, BB = 2 }; int func1(int a) { switch(a) { case AA: return 10; case BB: return 11; default: break; } return 0; } $ llvm-dwarfdump test.o | grep AA $
Note that gcc does emit debuginfo for the same test case.
This patch added such a support with similar implementation
to CodeGenFunction::EmitDeclRefExprDbgValue(). With this patch,
$ clang -g -c test.c $ llvm-dwarfdump test.o | grep AA DW_AT_name ("AA") $