Index: cfe/trunk/lib/Driver/ToolChains/MSVC.h =================================================================== --- cfe/trunk/lib/Driver/ToolChains/MSVC.h +++ cfe/trunk/lib/Driver/ToolChains/MSVC.h @@ -78,10 +78,12 @@ bool isPIEDefault() const override; bool isPICDefaultForced() const override; - /// Set CodeView as the default debug info format. Users can use -gcodeview - /// and -gdwarf to override the default. + /// Set CodeView as the default debug info format for non-MachO binary + /// formats, and to DWARF otherwise. Users can use -gcodeview and -gdwarf to + /// override the default. codegenoptions::DebugInfoFormat getDefaultDebugFormat() const override { - return codegenoptions::DIF_CodeView; + return getTriple().isOSBinFormatMachO() ? codegenoptions::DIF_DWARF + : codegenoptions::DIF_CodeView; } /// Set the debugger tuning to "default", since we're definitely not tuning Index: cfe/trunk/test/Misc/win32-macho.c =================================================================== --- cfe/trunk/test/Misc/win32-macho.c +++ cfe/trunk/test/Misc/win32-macho.c @@ -1,2 +1,5 @@ // Check that basic use of win32-macho targets works. // RUN: %clang -fsyntax-only -target x86_64-pc-win32-macho %s + +// RUN: %clang -fsyntax-only -target x86_64-pc-win32-macho -g %s -### 2>&1 | FileCheck %s -check-prefix=DEBUG-INFO +// DEBUG-INFO: -dwarf-version={{.*}}