Question about llvm::dbg()

Maybe I miss something but I think there is a problem with this code in Support/Debug.cpp when compiling in Release build (NDEBUG defined):

namespace llvm {
  /// dbgs - Return dbgs().
  raw_ostream &dbgs() {
    return dbgs();
  }
}

I though it would crash with a stack overflow due to infinite recursion, but llvm-gcc is smart enough to compile it as a jmp and create an infinite loop instead

otool -tv Debug.o

llvm::dbgs():
0000000000000000 pushq %rbp
0000000000000001 movq %rsp,%rbp
0000000000000004 jmp 0x00000004

Anyway, I think neither crash nor infinite loop is the expected behavior, isn't it ?

-- Jean-Daniel

I'll fix this.

                              -Dave