Index: include/clang/Driver/CC1Options.td =================================================================== --- include/clang/Driver/CC1Options.td +++ include/clang/Driver/CC1Options.td @@ -132,6 +132,8 @@ let Flags = [CC1Option, CC1AsOption, NoDriverOption] in { +def debug_info_kind_EQ : Joined<["-"], "di-kind=">; +def dwarf_version_EQ : Joined<["-"], "dwarf-version=">; def fdebug_compilation_dir : Separate<["-"], "fdebug-compilation-dir">, HelpText<"The compilation directory to embed in the debug info.">; def dwarf_debug_flags : Separate<["-"], "dwarf-debug-flags">, Index: include/clang/Driver/Options.td =================================================================== --- include/clang/Driver/Options.td +++ include/clang/Driver/Options.td @@ -985,9 +985,9 @@ HelpText<"Use a strong heuristic to apply stack protectors to functions">; def fstack_protector : Flag<["-"], "fstack-protector">, Group, HelpText<"Enable stack protectors for functions potentially vulnerable to stack smashing">; -def fstandalone_debug : Flag<["-"], "fstandalone-debug">, Group, Flags<[CC1Option]>, +def fstandalone_debug : Flag<["-"], "fstandalone-debug">, Group, HelpText<"Emit full debug info for all types used by the program">; -def fno_standalone_debug : Flag<["-"], "fno-standalone-debug">, Group, Flags<[CC1Option]>, +def fno_standalone_debug : Flag<["-"], "fno-standalone-debug">, Group, HelpText<"Limit debug information produced to reduce size of debug binary">; def flimit_debug_info : Flag<["-"], "flimit-debug-info">, Alias; def fno_limit_debug_info : Flag<["-"], "fno-limit-debug-info">, Alias; @@ -1104,9 +1104,9 @@ def fno_debug_types_section: Flag<["-"], "fno-debug-types-section">, Group, Flags<[CC1Option]>; def g_Flag : Flag<["-"], "g">, Group, - HelpText<"Generate source-level debug information">, Flags<[CC1Option,CC1AsOption]>; + HelpText<"Generate source-level debug information">; def gline_tables_only : Flag<["-"], "gline-tables-only">, Group, - HelpText<"Emit debug line number tables only">, Flags<[CC1Option]>; + HelpText<"Emit debug line number tables only">; def gmlt : Flag<["-"], "gmlt">, Alias; def g0 : Flag<["-"], "g0">, Group; def g1 : Flag<["-"], "g1">, Group; @@ -1118,11 +1118,11 @@ def ggdb2 : Flag<["-"], "ggdb2">, Group; def ggdb3 : Flag<["-"], "ggdb3">, Group; def gdwarf_2 : Flag<["-"], "gdwarf-2">, Group, - HelpText<"Generate source-level debug information with dwarf version 2">, Flags<[CC1Option,CC1AsOption]>; + HelpText<"Generate source-level debug information with dwarf version 2">; def gdwarf_3 : Flag<["-"], "gdwarf-3">, Group, - HelpText<"Generate source-level debug information with dwarf version 3">, Flags<[CC1Option,CC1AsOption]>; + HelpText<"Generate source-level debug information with dwarf version 3">; def gdwarf_4 : Flag<["-"], "gdwarf-4">, Group, - HelpText<"Generate source-level debug information with dwarf version 4">, Flags<[CC1Option,CC1AsOption]>; + HelpText<"Generate source-level debug information with dwarf version 4">; def gcodeview : Flag<["-"], "gcodeview">, HelpText<"Generate CodeView debug information">, Flags<[CC1Option, CC1AsOption, CoreOption]>; Index: include/clang/Driver/ToolChain.h =================================================================== --- include/clang/Driver/ToolChain.h +++ include/clang/Driver/ToolChain.h @@ -279,6 +279,16 @@ /// compile unit information. virtual bool UseDwarfDebugFlags() const { return false; } + // Return the DWARF version to emit, in the absence of arguments + // to the contrary. + virtual unsigned GetDefaultDwarfVersion() const { return 4; } + + // True if the driver should assume "-fstandalone-debug" + // in the absence of an option specifying otherwise, + // provided that debugging was requested in the first place. + // i.e. a value of 'true' does not imply that debugging is wanted. + virtual bool GetDefaultStandaloneDebug() const { return false; } + /// UseSjLjExceptions - Does this tool chain use SjLj exceptions. virtual bool UseSjLjExceptions() const { return false; } Index: lib/Driver/ToolChains.h =================================================================== --- lib/Driver/ToolChains.h +++ lib/Driver/ToolChains.h @@ -508,6 +508,12 @@ void AddLinkARCArgs(const llvm::opt::ArgList &Args, llvm::opt::ArgStringList &CmdArgs) const override; + + unsigned GetDefaultDwarfVersion() const override { return 2; } + // Until dtrace (via CTF) and LLDB can deal with distributed debug info, + // Darwin defaults to standalone/full debug info. + bool GetDefaultStandaloneDebug() const override { return true; } + /// } private: @@ -564,6 +570,8 @@ const llvm::opt::ArgList &DriverArgs, llvm::opt::ArgStringList &CC1Args) const override; + unsigned GetDefaultDwarfVersion() const override { return 2; } + protected: Tool *buildAssembler() const override; Tool *buildLinker() const override; @@ -615,6 +623,7 @@ unsigned GetDefaultStackProtectorLevel(bool KernelOrKext) const override { return 2; } + unsigned GetDefaultDwarfVersion() const override { return 2; } protected: Tool *buildAssembler() const override; @@ -661,6 +670,10 @@ bool UseSjLjExceptions() const override; bool isPIEDefault() const override; SanitizerMask getSupportedSanitizers() const override; + unsigned GetDefaultDwarfVersion() const override { return 2; } + // Until dtrace (via CTF) and LLDB can deal with distributed debug info, + // FreeBSD defaults to standalone/full debug info. + bool GetDefaultStandaloneDebug() const override { return true; } protected: Tool *buildAssembler() const override; Index: lib/Driver/Tools.h =================================================================== --- lib/Driver/Tools.h +++ lib/Driver/Tools.h @@ -14,6 +14,7 @@ #include "clang/Driver/Tool.h" #include "clang/Driver/Types.h" #include "clang/Driver/Util.h" +#include "clang/Frontend/CodeGenOptions.h" #include "llvm/ADT/Triple.h" #include "llvm/Option/Option.h" #include "llvm/Support/Compiler.h" @@ -88,7 +89,9 @@ RewriteKind rewrite) const; void AddClangCLArgs(const llvm::opt::ArgList &Args, - llvm::opt::ArgStringList &CmdArgs) const; + llvm::opt::ArgStringList &CmdArgs, + enum CodeGenOptions::DebugInfoKind *DebugInfoKind, + bool *EmitCodeView) const; visualstudio::Compiler *getCLFallback() const; Index: lib/Driver/Tools.cpp =================================================================== --- lib/Driver/Tools.cpp +++ lib/Driver/Tools.cpp @@ -3754,9 +3754,23 @@ break; } + // The 'g' groups options involve a somewhat intricate sequence of decisions + // about what to pass from the driver to the frontend, but by the time they + // reach cc1 they've been factored into two well-defined orthogonal choices: + // * what level of debug info to generate + // * what dwarf version to write + // This avoids having to monkey around further in cc1 other than to disable + // codeview if not running in a Windows environment. Perhaps even that + // decision should be made in the driver as well though. + enum CodeGenOptions::DebugInfoKind DebugInfoKind = + CodeGenOptions::NoDebugInfo; + // These two are potentially updated by AddClangCLArgs. + unsigned DwarfVersion = 0; + bool EmitCodeView = false; + // Add clang-cl arguments. if (getToolChain().getDriver().IsCLMode()) - AddClangCLArgs(Args, CmdArgs); + AddClangCLArgs(Args, CmdArgs, &DebugInfoKind, &EmitCodeView); // Pass the linker version in use. if (Arg *A = Args.getLastArg(options::OPT_mlinker_version_EQ)) { @@ -3797,43 +3811,60 @@ : "-"); } - // Use the last option from "-g" group. "-gline-tables-only" and "-gdwarf-x" - // are preserved, all other debug options are substituted with "-g". Args.ClaimAllArgs(options::OPT_g_Group); Arg *SplitDwarfArg = Args.getLastArg(options::OPT_gsplit_dwarf); if (Arg *A = Args.getLastArg(options::OPT_g_Group)) { + // 'g1' and 'line tables' are synonymous, but not specified as aliases + // in Options.td - perhaps they should be. if ((A->getOption().matches(options::OPT_gline_tables_only) || A->getOption().matches(options::OPT_g1)) && + // If you say "-gline-tables-only -gsplit-dwarf", split-dwarf wins, + // which mandates turning on "-g". But split-dwarf is not a g_group + // option, hence this extra precondition for using line-tables-only. (!SplitDwarfArg || A->getIndex() > SplitDwarfArg->getIndex())) { + DebugInfoKind = CodeGenOptions::DebugLineTablesOnly; // FIXME: we should support specifying dwarf version with // -gline-tables-only. - CmdArgs.push_back("-gline-tables-only"); - // Default is dwarf-2 for Darwin, OpenBSD, FreeBSD and Solaris. - const llvm::Triple &Triple = getToolChain().getTriple(); - if (Triple.isOSDarwin() || Triple.getOS() == llvm::Triple::OpenBSD || - Triple.getOS() == llvm::Triple::FreeBSD || - Triple.getOS() == llvm::Triple::Solaris) - CmdArgs.push_back("-gdwarf-2"); + // But: Does the preceding FIXME mean that only the option parser + // was busted, or that the emitter can't handle it? This is not clear. + // At any rate, the new logic should have a much better time + // at fixing this, if in fact it is fundamentally non-broken. + DwarfVersion = getToolChain().GetDefaultDwarfVersion(); SplitDwarfArg = nullptr; } else if (A->getOption().matches(options::OPT_gdwarf_2) || A->getOption().matches(options::OPT_gdwarf_3) || A->getOption().matches(options::OPT_gdwarf_4)) { - A->render(Args, CmdArgs); + DebugInfoKind = CodeGenOptions::LimitedDebugInfo; + switch (A->getOption().getID()) { + case options::OPT_gdwarf_2: + DwarfVersion = 2; + break; + case options::OPT_gdwarf_3: + DwarfVersion = 3; + break; + default: + DwarfVersion = 4; + break; + } } else if (!A->getOption().matches(options::OPT_g0) && !A->getOption().matches(options::OPT_ggdb0)) { - // Default is dwarf-2 for Darwin, OpenBSD, FreeBSD and Solaris. - const llvm::Triple &Triple = getToolChain().getTriple(); - if (Triple.isOSDarwin() || Triple.getOS() == llvm::Triple::OpenBSD || - Triple.getOS() == llvm::Triple::FreeBSD || - Triple.getOS() == llvm::Triple::Solaris) - CmdArgs.push_back("-gdwarf-2"); - else - CmdArgs.push_back("-g"); + // Some 'g' group option other than one expressly disabling debug info + // must have been the final (winning) one. They're all equivalent. + DebugInfoKind = CodeGenOptions::LimitedDebugInfo; + DwarfVersion = getToolChain().GetDefaultDwarfVersion(); } } // Forward -gcodeview. - Args.AddLastArg(CmdArgs, options::OPT_gcodeview); + // 'EmitCodeView could have been set by CL-compatibility argument parsing. + if (Args.hasArg(options::OPT_gcodeview) || EmitCodeView) { + CmdArgs.push_back("-gcodeview"); + // With codeview, if an explicit choice of gdwarf was not made, then + // DwarfVersion is reset to 0 so that both kinds of info are not emitted. + if (!Args.getLastArg(options::OPT_gdwarf_2, options::OPT_gdwarf_3, + options::OPT_gdwarf_4)) + DwarfVersion = 0; + } // We ignore flags -gstrict-dwarf and -grecord-gcc-switches for now. Args.ClaimAllArgs(options::OPT_g_flags_Group); @@ -3843,7 +3874,7 @@ // FIXME: Move backend command line options to the module. if (Args.hasArg(options::OPT_gmodules)) { - CmdArgs.push_back("-g"); + DebugInfoKind = CodeGenOptions::LimitedDebugInfo; CmdArgs.push_back("-dwarf-ext-refs"); CmdArgs.push_back("-fmodule-format=obj"); } @@ -3852,11 +3883,50 @@ // splitting and extraction. // FIXME: Currently only works on Linux. if (getToolChain().getTriple().isOSLinux() && SplitDwarfArg) { - CmdArgs.push_back("-g"); + DebugInfoKind = CodeGenOptions::LimitedDebugInfo; CmdArgs.push_back("-backend-option"); CmdArgs.push_back("-split-dwarf=Enable"); } + // After we've dealt with all combinations of things that could + // make DebugInfoKind be other than None or DebugLineTablesOnly, + // figure out if we need to "upgrade" it to standalone debug info. + // We parse these two '-f' options whether or not they will be used, + // to claim them even if you wrote "-fstandalone-debug -gline-tables-only" + bool NeedFullDebug = Args.hasFlag(options::OPT_fstandalone_debug, + options::OPT_fno_standalone_debug, + getToolChain().GetDefaultStandaloneDebug()); + if (DebugInfoKind == CodeGenOptions::LimitedDebugInfo && NeedFullDebug) + DebugInfoKind = CodeGenOptions::FullDebugInfo; + + // Now, if DebugInfoKind is not None, emit the CC1 option for it. + switch (DebugInfoKind) { + case CodeGenOptions::DebugLineTablesOnly: + CmdArgs.push_back("-di-kind=line-tables"); + break; + case CodeGenOptions::LimitedDebugInfo: + CmdArgs.push_back("-di-kind=limited"); + break; + case CodeGenOptions::FullDebugInfo: + CmdArgs.push_back("-di-kind=full"); + break; + default: + break; + } + switch (DwarfVersion) { + case 2: + CmdArgs.push_back("-dwarf-version=2"); + break; + case 3: + CmdArgs.push_back("-dwarf-version=3"); + break; + case 4: + CmdArgs.push_back("-dwarf-version=4"); + break; + default: + break; + } + // -ggnu-pubnames turns on gnu style pubnames in the backend. if (Args.hasArg(options::OPT_ggnu_pubnames)) { CmdArgs.push_back("-backend-option"); @@ -4219,8 +4289,6 @@ // Forward -f (flag) options which we can pass directly. Args.AddLastArg(CmdArgs, options::OPT_femit_all_decls); Args.AddLastArg(CmdArgs, options::OPT_fheinous_gnu_extensions); - Args.AddLastArg(CmdArgs, options::OPT_fstandalone_debug); - Args.AddLastArg(CmdArgs, options::OPT_fno_standalone_debug); Args.AddLastArg(CmdArgs, options::OPT_fno_operator_names); // Emulated TLS is enabled by default on Android, and can be enabled manually // with -femulated-tls. @@ -5375,7 +5443,9 @@ return EH; } -void Clang::AddClangCLArgs(const ArgList &Args, ArgStringList &CmdArgs) const { +void Clang::AddClangCLArgs(const ArgList &Args, ArgStringList &CmdArgs, + enum CodeGenOptions::DebugInfoKind *DebugInfoKind, + bool *EmitCodeView) const { unsigned RTOptionID = options::OPT__SLASH_MT; if (Args.hasArg(options::OPT__SLASH_LDd)) @@ -5439,13 +5509,13 @@ CmdArgs.push_back("-fno-rtti-data"); // Emit CodeView if -Z7 is present. - bool EmitCodeView = Args.hasArg(options::OPT__SLASH_Z7); + *EmitCodeView = Args.hasArg(options::OPT__SLASH_Z7); bool EmitDwarf = Args.hasArg(options::OPT_gdwarf); // If we are emitting CV but not DWARF, don't build information that LLVM // can't yet process. - if (EmitCodeView && !EmitDwarf) - CmdArgs.push_back("-gline-tables-only"); - if (EmitCodeView) + if (*EmitCodeView && !EmitDwarf) + *DebugInfoKind = CodeGenOptions::DebugLineTablesOnly; + if (*EmitCodeView) CmdArgs.push_back("-gcodeview"); const Driver &D = getToolChain().getDriver(); Index: lib/Frontend/CompilerInvocation.cpp =================================================================== --- lib/Frontend/CompilerInvocation.cpp +++ lib/Frontend/CompilerInvocation.cpp @@ -393,37 +393,23 @@ Diags.Report(diag::err_drv_invalid_value) << A->getAsString(Args) << Name; } - if (Args.hasArg(OPT_gline_tables_only)) { - Opts.setDebugInfo(CodeGenOptions::DebugLineTablesOnly); - } else if (Args.hasArg(OPT_g_Flag) || Args.hasArg(OPT_gdwarf_2) || - Args.hasArg(OPT_gdwarf_3) || Args.hasArg(OPT_gdwarf_4)) { - bool Default = false; - // Until dtrace (via CTF) and LLDB can deal with distributed debug info, - // Darwin and FreeBSD default to standalone/full debug info. - if (llvm::Triple(TargetOpts.Triple).isOSDarwin() || - llvm::Triple(TargetOpts.Triple).isOSFreeBSD()) - Default = true; - - if (Args.hasFlag(OPT_fstandalone_debug, OPT_fno_standalone_debug, Default)) - Opts.setDebugInfo(CodeGenOptions::FullDebugInfo); - else - Opts.setDebugInfo(CodeGenOptions::LimitedDebugInfo); + if (Arg *A = Args.getLastArg(OPT_debug_info_kind_EQ)) { + Opts.setDebugInfo( + llvm::StringSwitch(A->getValue()) + .Case("line-tables", CodeGenOptions::DebugLineTablesOnly) + .Case("limited", CodeGenOptions::LimitedDebugInfo) + .Case("full", CodeGenOptions::FullDebugInfo)); } - Opts.DebugColumnInfo = Args.hasArg(OPT_dwarf_column_info); - if (Args.hasArg(OPT_gcodeview)) { - Opts.EmitCodeView = true; - Opts.DwarfVersion = 0; - } else if (Opts.getDebugInfo() != CodeGenOptions::NoDebugInfo) { - // Default Dwarf version is 4 if we are generating debug information. - Opts.DwarfVersion = 4; + if (Arg *A = Args.getLastArg(OPT_dwarf_version_EQ)) { + Opts.DwarfVersion = llvm::StringSwitch(A->getValue()) + .Case("2", 2) + .Case("3", 3) + .Case("4", 4); } + + Opts.DebugColumnInfo = Args.hasArg(OPT_dwarf_column_info); + Opts.EmitCodeView = Args.hasArg(OPT_gcodeview); Opts.SplitDwarfFile = Args.getLastArgValue(OPT_split_dwarf_file); - if (Args.hasArg(OPT_gdwarf_2)) - Opts.DwarfVersion = 2; - else if (Args.hasArg(OPT_gdwarf_3)) - Opts.DwarfVersion = 3; - else if (Args.hasArg(OPT_gdwarf_4)) - Opts.DwarfVersion = 4; Opts.DebugTypeExtRefs = Args.hasArg(OPT_dwarf_ext_refs); if (const Arg *A = Index: test/CodeGen/2006-01-13-Includes.c =================================================================== --- test/CodeGen/2006-01-13-Includes.c +++ test/CodeGen/2006-01-13-Includes.c @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 %s -g -emit-llvm -o - | FileCheck %s +// RUN: %clang_cc1 %s -di-kind=limited -emit-llvm -o - | FileCheck %s // PR676 int printf(const char * restrict format, ...); Index: test/CodeGen/2007-05-11-str-const.c =================================================================== --- test/CodeGen/2007-05-11-str-const.c +++ test/CodeGen/2007-05-11-str-const.c @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -emit-llvm -g %s -o /dev/null +// RUN: %clang_cc1 -emit-llvm -di-kind=limited %s -o /dev/null static unsigned char out[]={0,1}; static const unsigned char str1[]="1"; Index: test/CodeGen/2009-01-21-InvalidIterator.c =================================================================== --- test/CodeGen/2009-01-21-InvalidIterator.c +++ test/CodeGen/2009-01-21-InvalidIterator.c @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 %s -emit-llvm -g -o /dev/null +// RUN: %clang_cc1 %s -emit-llvm -di-kind=limited -o /dev/null typedef long unsigned int size_t; typedef unsigned short int uint16_t; Index: test/CodeGen/2009-03-13-dbg.c =================================================================== --- test/CodeGen/2009-03-13-dbg.c +++ test/CodeGen/2009-03-13-dbg.c @@ -1,2 +1,2 @@ -// RUN: %clang_cc1 %s -emit-llvm -g -o /dev/null +// RUN: %clang_cc1 %s -emit-llvm -di-kind=limited -o /dev/null void foo() {} Index: test/CodeGen/2009-04-23-dbg.c =================================================================== --- test/CodeGen/2009-04-23-dbg.c +++ test/CodeGen/2009-04-23-dbg.c @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -S -g -o %t %s +// RUN: %clang_cc1 -S -di-kind=limited -o %t %s # 1 "a.c" # 1 "a.c" 1 # 1 "" 1 Index: test/CodeGen/2009-07-31-DbgDeclare.c =================================================================== --- test/CodeGen/2009-07-31-DbgDeclare.c +++ test/CodeGen/2009-07-31-DbgDeclare.c @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -S -g -o %t.s %s +// RUN: %clang_cc1 -S -di-kind=limited -o %t.s %s void foo() { int i = 0; i = 42; Index: test/CodeGen/2010-01-14-FnType-DebugInfo.c =================================================================== --- test/CodeGen/2010-01-14-FnType-DebugInfo.c +++ test/CodeGen/2010-01-14-FnType-DebugInfo.c @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 %s -emit-llvm -g -o /dev/null +// RUN: %clang_cc1 %s -emit-llvm -di-kind=limited -o /dev/null typedef void (*sigcatch_t)( struct sigcontext *); sigcatch_t sigcatch[50] = {(sigcatch_t) 0}; Index: test/CodeGen/2010-01-18-Inlined-Debug.c =================================================================== --- test/CodeGen/2010-01-18-Inlined-Debug.c +++ test/CodeGen/2010-01-18-Inlined-Debug.c @@ -1,5 +1,5 @@ // PR: 6058 -// RUN: %clang_cc1 -g -emit-llvm %s -o /dev/null +// RUN: %clang_cc1 -di-kind=limited -emit-llvm %s -o /dev/null static inline int foo(double) __attribute__ ((always_inline)); static inline int foo(double __x) { return __x; } Index: test/CodeGen/2010-02-10-PointerName.c =================================================================== --- test/CodeGen/2010-02-10-PointerName.c +++ test/CodeGen/2010-02-10-PointerName.c @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 %s -emit-llvm -g -o - | FileCheck %s +// RUN: %clang_cc1 %s -emit-llvm -di-kind=limited -o - | FileCheck %s // CHECK: DW_TAG_pointer_type // CHECK-NOT: {"char"} Index: test/CodeGen/2010-02-15-DbgStaticVar.c =================================================================== --- test/CodeGen/2010-02-15-DbgStaticVar.c +++ test/CodeGen/2010-02-15-DbgStaticVar.c @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -g -emit-llvm %s -o - | FileCheck %s +// RUN: %clang_cc1 -di-kind=limited -emit-llvm %s -o - | FileCheck %s // Test to check intentionally empty linkage name for a static variable. // Radar 7651244. static int foo(int a) Index: test/CodeGen/2010-02-16-DbgScopes.c =================================================================== --- test/CodeGen/2010-02-16-DbgScopes.c +++ test/CodeGen/2010-02-16-DbgScopes.c @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -emit-llvm -g < %s | FileCheck %s +// RUN: %clang_cc1 -emit-llvm -di-kind=limited < %s | FileCheck %s // Test to check number of lexical scope identified in debug info. // CHECK: !DILexicalBlock( // CHECK: !DILexicalBlock( Index: test/CodeGen/2010-03-5-LexicalScope.c =================================================================== --- test/CodeGen/2010-03-5-LexicalScope.c +++ test/CodeGen/2010-03-5-LexicalScope.c @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -emit-llvm -g %s -o - | FileCheck %s +// RUN: %clang_cc1 -emit-llvm -di-kind=limited %s -o - | FileCheck %s // CHECK: !DILexicalBlock( // CHECK: !DILexicalBlock( int foo(int i) { Index: test/CodeGen/2010-07-08-DeclDebugLineNo.c =================================================================== --- test/CodeGen/2010-07-08-DeclDebugLineNo.c +++ test/CodeGen/2010-07-08-DeclDebugLineNo.c @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -emit-llvm -g %s -o - | FileCheck %s +// RUN: %clang_cc1 -emit-llvm -di-kind=limited %s -o - | FileCheck %s // Insure that dbg.declare lines for locals refer to correct line number records. // Radar 8152866. void foo() { Index: test/CodeGen/2010-08-10-DbgConstant.c =================================================================== --- test/CodeGen/2010-08-10-DbgConstant.c +++ test/CodeGen/2010-08-10-DbgConstant.c @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -S -emit-llvm -g %s -o - | FileCheck %s +// RUN: %clang_cc1 -S -emit-llvm -di-kind=limited %s -o - | FileCheck %s // CHECK: !DIGlobalVariable( static const unsigned int ro = 201; Index: test/CodeGen/attr-nodebug.c =================================================================== --- test/CodeGen/attr-nodebug.c +++ test/CodeGen/attr-nodebug.c @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -g -emit-llvm -o - %s | FileCheck %s +// RUN: %clang_cc1 -di-kind=limited -emit-llvm -o - %s | FileCheck %s void t1() __attribute__((nodebug)); Index: test/CodeGen/attr-noinline.c =================================================================== --- test/CodeGen/attr-noinline.c +++ test/CodeGen/attr-noinline.c @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -g -emit-llvm -o %t %s +// RUN: %clang_cc1 -di-kind=limited -emit-llvm -o %t %s // RUN: grep 'noinline' %t void t1() __attribute__((noinline)); Index: test/CodeGen/cleanup-destslot-simple.c =================================================================== --- test/CodeGen/cleanup-destslot-simple.c +++ test/CodeGen/cleanup-destslot-simple.c @@ -1,8 +1,8 @@ -// RUN: %clang_cc1 -O1 -triple x86_64-none-linux-gnu -emit-llvm -gline-tables-only %s -o - | FileCheck %s --check-prefix=CHECK --check-prefix=LIFETIME +// RUN: %clang_cc1 -O1 -triple x86_64-none-linux-gnu -emit-llvm -di-kind=line-tables %s -o - | FileCheck %s --check-prefix=CHECK --check-prefix=LIFETIME // We shouldn't have markers at -O0 or with msan. -// RUN: %clang_cc1 -O0 -triple x86_64-none-linux-gnu -emit-llvm -gline-tables-only %s -o - | FileCheck %s --check-prefix=CHECK -// RUN: %clang_cc1 -O1 -triple x86_64-none-linux-gnu -emit-llvm -gline-tables-only %s -o - -fsanitize=memory | FileCheck %s --check-prefix=CHECK +// RUN: %clang_cc1 -O0 -triple x86_64-none-linux-gnu -emit-llvm -di-kind=line-tables %s -o - | FileCheck %s --check-prefix=CHECK +// RUN: %clang_cc1 -O1 -triple x86_64-none-linux-gnu -emit-llvm -di-kind=line-tables %s -o - -fsanitize=memory | FileCheck %s --check-prefix=CHECK // There is no exception to handle here, lifetime.end is not a destructor, // so there is no need have cleanup dest slot related code Index: test/CodeGen/debug-info-257-args.c =================================================================== --- test/CodeGen/debug-info-257-args.c +++ test/CodeGen/debug-info-257-args.c @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -x c++ -g -emit-llvm -triple x86_64-linux-gnu -o - %s | FileCheck %s +// RUN: %clang_cc1 -x c++ -di-kind=limited -emit-llvm -triple x86_64-linux-gnu -o - %s | FileCheck %s // PR23332 // CHECK: DILocalVariable(arg: 255 Index: test/CodeGen/debug-info-args.c =================================================================== --- test/CodeGen/debug-info-args.c +++ test/CodeGen/debug-info-args.c @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -triple x86_64-unk-unk -o - -emit-llvm -g %s | FileCheck %s +// RUN: %clang_cc1 -triple x86_64-unk-unk -o - -emit-llvm -di-kind=limited %s | FileCheck %s int somefunc(char *x, int y, double z) { Index: test/CodeGen/debug-info-block-decl.c =================================================================== --- test/CodeGen/debug-info-block-decl.c +++ test/CodeGen/debug-info-block-decl.c @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -triple x86_64-apple-darwin10 -g -fblocks -emit-llvm -o - %s | FileCheck %s +// RUN: %clang_cc1 -triple x86_64-apple-darwin10 -di-kind=limited -fblocks -emit-llvm -o - %s | FileCheck %s // Assignment and block entry should point to the same line. // rdar://problem/14039866 Index: test/CodeGen/debug-info-block-out-return.c =================================================================== --- test/CodeGen/debug-info-block-out-return.c +++ test/CodeGen/debug-info-block-out-return.c @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -triple x86_64-apple-darwin10 -g -fblocks -emit-llvm -o - %s | FileCheck %s +// RUN: %clang_cc1 -triple x86_64-apple-darwin10 -di-kind=limited -fblocks -emit-llvm -o - %s | FileCheck %s // Check that arg numbering is not affected by LLVM IR argument numbering - // since the latter is affected by return-by-out-parameter ABI requirements Index: test/CodeGen/debug-info-block.c =================================================================== --- test/CodeGen/debug-info-block.c +++ test/CodeGen/debug-info-block.c @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -fblocks -g -emit-llvm -o - %s | FileCheck %s +// RUN: %clang_cc1 -fblocks -di-kind=limited -emit-llvm -o - %s | FileCheck %s // Verify that the desired debugging type is generated for a structure // member that is a pointer to a block. Index: test/CodeGen/debug-info-compilation-dir.c =================================================================== --- test/CodeGen/debug-info-compilation-dir.c +++ test/CodeGen/debug-info-compilation-dir.c @@ -1,6 +1,6 @@ -// RUN: %clang_cc1 -fdebug-compilation-dir /nonsense -emit-llvm -g %s -o - | FileCheck -check-prefix=CHECK-NONSENSE %s +// RUN: %clang_cc1 -fdebug-compilation-dir /nonsense -emit-llvm -di-kind=limited %s -o - | FileCheck -check-prefix=CHECK-NONSENSE %s // CHECK-NONSENSE: nonsense -// RUN: %clang_cc1 -emit-llvm -g %s -o - | FileCheck -check-prefix=CHECK-DIR %s +// RUN: %clang_cc1 -emit-llvm -di-kind=limited %s -o - | FileCheck -check-prefix=CHECK-DIR %s // CHECK-DIR: CodeGen Index: test/CodeGen/debug-info-crash.c =================================================================== --- test/CodeGen/debug-info-crash.c +++ test/CodeGen/debug-info-crash.c @@ -1,5 +1,5 @@ // REQUIRES: x86-registered-target -// RUN: %clang_cc1 -triple i386-apple-darwin10 -fblocks -g -S %s -o - +// RUN: %clang_cc1 -triple i386-apple-darwin10 -fblocks -di-kind=limited -S %s -o - // rdar://7590323 typedef struct dispatch_queue_s *dispatch_queue_t; Index: test/CodeGen/debug-info-enum.c =================================================================== --- test/CodeGen/debug-info-enum.c +++ test/CodeGen/debug-info-enum.c @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -emit-llvm -g %s -o - | FileCheck %s +// RUN: %clang_cc1 -emit-llvm -di-kind=limited %s -o - | FileCheck %s // CHECK: !DICompositeType(tag: DW_TAG_enumeration_type, name: "e" // CHECK-SAME: elements: [[TEST3_ENUMS:![0-9]*]] Index: test/CodeGen/debug-info-gline-tables-only.c =================================================================== --- test/CodeGen/debug-info-gline-tables-only.c +++ test/CodeGen/debug-info-gline-tables-only.c @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 %s -gline-tables-only -S -emit-llvm -o - | FileCheck %s +// RUN: %clang_cc1 %s -di-kind=line-tables -S -emit-llvm -o - | FileCheck %s // Checks that clang with "-gline-tables-only" doesn't emit debug info // for variables and types. Index: test/CodeGen/debug-info-gline-tables-only2.c =================================================================== --- test/CodeGen/debug-info-gline-tables-only2.c +++ test/CodeGen/debug-info-gline-tables-only2.c @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 %s -gline-tables-only -S -emit-llvm -o - | FileCheck %s +// RUN: %clang_cc1 %s -di-kind=line-tables -S -emit-llvm -o - | FileCheck %s // Checks that clang with "-gline-tables-only" emits metadata for // compile unit, subprogram and file. Index: test/CodeGen/debug-info-line.c =================================================================== --- test/CodeGen/debug-info-line.c +++ test/CodeGen/debug-info-line.c @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -w -gline-tables-only -fexceptions -fcxx-exceptions -S -emit-llvm %s -o - | FileCheck %s +// RUN: %clang_cc1 -w -di-kind=line-tables -fexceptions -fcxx-exceptions -S -emit-llvm %s -o - | FileCheck %s int f1(int a, int b) { // CHECK: icmp {{.*}}, !dbg [[DBG_F1:!.*]] Index: test/CodeGen/debug-info-line2.c =================================================================== --- test/CodeGen/debug-info-line2.c +++ test/CodeGen/debug-info-line2.c @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -triple x86_64-darwin-apple -g -emit-llvm -o - %s | FileCheck %s +// RUN: %clang_cc1 -triple x86_64-darwin-apple -di-kind=limited -emit-llvm -o - %s | FileCheck %s // Radar 9199234 int bar(); Index: test/CodeGen/debug-info-line3.c =================================================================== --- test/CodeGen/debug-info-line3.c +++ test/CodeGen/debug-info-line3.c @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -g -S -emit-llvm %s -o - | FileCheck %s +// RUN: %clang_cc1 -di-kind=limited -S -emit-llvm %s -o - | FileCheck %s void func(char c, char* d) { Index: test/CodeGen/debug-info-member.c =================================================================== --- test/CodeGen/debug-info-member.c +++ test/CodeGen/debug-info-member.c @@ -1,3 +1,3 @@ -// RUN: %clang_cc1 -emit-llvm -g < %s | grep DW_TAG_member +// RUN: %clang_cc1 -emit-llvm -di-kind=limited < %s | grep DW_TAG_member struct A { int x; } a; Index: test/CodeGen/debug-info-packed-struct.c =================================================================== --- test/CodeGen/debug-info-packed-struct.c +++ test/CodeGen/debug-info-packed-struct.c @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -x c -g -emit-llvm -triple x86_64-apple-darwin -o - %s | FileCheck %s +// RUN: %clang_cc1 -x c -di-kind=limited -emit-llvm -triple x86_64-apple-darwin -o - %s | FileCheck %s // CHECK: %struct.layout0 = type { i8, %struct.size8, i8 } // CHECK: %struct.layout1 = type <{ i8, %struct.size8_anon, i8, [2 x i8] }> Index: test/CodeGen/debug-info-same-line.c =================================================================== --- test/CodeGen/debug-info-same-line.c +++ test/CodeGen/debug-info-same-line.c @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -triple x86_64-apple-darwin -emit-llvm %s -g -o - | FileCheck %s +// RUN: %clang_cc1 -triple x86_64-apple-darwin -emit-llvm %s -di-kind=limited -o - | FileCheck %s // Here two temporary nodes are identical (but should not get uniqued) while // building the full debug type. typedef struct { long x; } foo; typedef struct { foo *x; } bar; Index: test/CodeGen/debug-info-scope-file.c =================================================================== --- test/CodeGen/debug-info-scope-file.c +++ test/CodeGen/debug-info-scope-file.c @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -g -emit-llvm < %s | FileCheck %s +// RUN: %clang_cc1 -di-kind=limited -emit-llvm < %s | FileCheck %s // Check that, just because we emitted a function from a different file doesn't // mean we insert a file-change inside the next function. Index: test/CodeGen/debug-info-scope.c =================================================================== --- test/CodeGen/debug-info-scope.c +++ test/CodeGen/debug-info-scope.c @@ -1,5 +1,5 @@ -// RUN: %clang_cc1 -g -emit-llvm < %s | FileCheck %s -// RUN: %clang_cc1 -gline-tables-only -emit-llvm < %s | FileCheck --check-prefix=GMLT %s +// RUN: %clang_cc1 -dwarf-version=4 -di-kind=limited -emit-llvm < %s | FileCheck %s +// RUN: %clang_cc1 -dwarf-version=4 -di-kind=line-tables -emit-llvm < %s | FileCheck --check-prefix=GMLT %s // Two variables with same name in separate scope. // Radar 8330217. int main() { Index: test/CodeGen/debug-info-static.c =================================================================== --- test/CodeGen/debug-info-static.c +++ test/CodeGen/debug-info-static.c @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -g -emit-llvm -o - %s | FileCheck %s +// RUN: %clang_cc1 -di-kind=limited -emit-llvm -o - %s | FileCheck %s // CHECK: !DIGlobalVariable({{.*}}variable: i32* @f.xyzzy void f(void) Index: test/CodeGen/debug-info-typedef.c =================================================================== --- test/CodeGen/debug-info-typedef.c +++ test/CodeGen/debug-info-typedef.c @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -emit-llvm -g -I%p %s -o - | FileCheck %s +// RUN: %clang_cc1 -emit-llvm -di-kind=limited -I%p %s -o - | FileCheck %s // Test that the location of the typedef points to the header file. #line 1 "a.c" #line 2 "b.h" Index: test/CodeGen/debug-info-vector.c =================================================================== --- test/CodeGen/debug-info-vector.c +++ test/CodeGen/debug-info-vector.c @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -emit-llvm -g %s -o - | FileCheck %s +// RUN: %clang_cc1 -emit-llvm -di-kind=limited %s -o - | FileCheck %s typedef int v4si __attribute__((__vector_size__(16))); v4si a; Index: test/CodeGen/debug-info-vla.c =================================================================== --- test/CodeGen/debug-info-vla.c +++ test/CodeGen/debug-info-vla.c @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -emit-llvm -g -triple x86_64-apple-darwin %s -o - | FileCheck %s +// RUN: %clang_cc1 -emit-llvm -di-kind=limited -triple x86_64-apple-darwin %s -o - | FileCheck %s void testVLAwithSize(int s) { Index: test/CodeGen/debug-info.c =================================================================== --- test/CodeGen/debug-info.c +++ test/CodeGen/debug-info.c @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -triple x86_64-unk-unk -o - -emit-llvm -g %s | FileCheck %s +// RUN: %clang_cc1 -triple x86_64-unk-unk -o - -emit-llvm -di-kind=limited %s | FileCheck %s // PR3023 void convert(void) { Index: test/CodeGen/debug-line-1.c =================================================================== --- test/CodeGen/debug-line-1.c +++ test/CodeGen/debug-line-1.c @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -triple x86_64-apple-darwin -o - -emit-llvm -g %s | FileCheck %s +// RUN: %clang_cc1 -triple x86_64-apple-darwin -o - -emit-llvm -di-kind=limited %s | FileCheck %s // REQUIRES: asserts // PR9796 Index: test/CodeGen/enum2.c =================================================================== --- test/CodeGen/enum2.c +++ test/CodeGen/enum2.c @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -triple i386-unknown-unknown %s -g -emit-llvm -o /dev/null +// RUN: %clang_cc1 -triple i386-unknown-unknown %s -di-kind=limited -emit-llvm -o /dev/null int v; enum e { MAX }; Index: test/CodeGen/global-blocks-lines.c =================================================================== --- test/CodeGen/global-blocks-lines.c +++ test/CodeGen/global-blocks-lines.c @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -fblocks -g -emit-llvm %s -o - | FileCheck %s +// RUN: %clang_cc1 -fblocks -di-kind=limited -emit-llvm %s -o - | FileCheck %s // Make sure we do not generate line info for debugging-related frame setup. // CHECK: define {{.*}}block_invoke // CHECK-NOT: store {{.*}}%struct.__block_descriptor*{{.*}}dbg Index: test/CodeGen/lifetime-debuginfo-1.c =================================================================== --- test/CodeGen/lifetime-debuginfo-1.c +++ test/CodeGen/lifetime-debuginfo-1.c @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -O1 -triple x86_64-none-linux-gnu -emit-llvm -gline-tables-only %s -o - | FileCheck %s +// RUN: %clang_cc1 -O1 -triple x86_64-none-linux-gnu -emit-llvm -di-kind=line-tables %s -o - | FileCheck %s // Inserting lifetime markers should not affect debuginfo Index: test/CodeGen/lifetime-debuginfo-2.c =================================================================== --- test/CodeGen/lifetime-debuginfo-2.c +++ test/CodeGen/lifetime-debuginfo-2.c @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -O1 -triple x86_64-none-linux-gnu -emit-llvm -gline-tables-only %s -o - | FileCheck %s +// RUN: %clang_cc1 -O1 -triple x86_64-none-linux-gnu -emit-llvm -di-kind=line-tables %s -o - | FileCheck %s // Inserting lifetime markers should not affect debuginfo: lifetime.end is not // a destructor, but instrumentation for the compiler. Ensure the debug info for Index: test/CodeGen/lineno-dbginfo.c =================================================================== --- test/CodeGen/lineno-dbginfo.c +++ test/CodeGen/lineno-dbginfo.c @@ -1,5 +1,5 @@ // RUN: echo "#include " > %t.h -// RUN: %clang_cc1 -S -g -include %t.h %s -emit-llvm -o - | FileCheck %s +// RUN: %clang_cc1 -S -di-kind=limited -include %t.h %s -emit-llvm -o - | FileCheck %s // CHECK: !DIGlobalVariable(name: "outer", // CHECK-NOT: linkageName: Index: test/CodeGen/linetable-endscope.c =================================================================== --- test/CodeGen/linetable-endscope.c +++ test/CodeGen/linetable-endscope.c @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -emit-llvm -g -triple x86_64-apple-darwin10 %s -o - | FileCheck %s +// RUN: %clang_cc1 -emit-llvm -di-kind=limited -triple x86_64-apple-darwin10 %s -o - | FileCheck %s // Check the line numbers for the ret instruction. We expect it to be // at the closing of the lexical scope in this case. See the comments in Index: test/CodeGen/sse-builtins-dbg.c =================================================================== --- test/CodeGen/sse-builtins-dbg.c +++ test/CodeGen/sse-builtins-dbg.c @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -ffreestanding -triple x86_64-apple-macosx10.8.0 -target-feature +sse4.1 -g -emit-llvm %s -o - | FileCheck %s +// RUN: %clang_cc1 -ffreestanding -triple x86_64-apple-macosx10.8.0 -target-feature +sse4.1 -di-kind=limited -emit-llvm %s -o - | FileCheck %s // Test that intrinsic calls inlined from _mm_* wrappers have debug metadata. Index: test/CodeGen/vector.c =================================================================== --- test/CodeGen/vector.c +++ test/CodeGen/vector.c @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -triple i386-apple-darwin9 -O1 -target-cpu pentium4 -target-feature +sse4.1 -g -emit-llvm %s -o - | FileCheck %s +// RUN: %clang_cc1 -triple i386-apple-darwin9 -O1 -target-cpu pentium4 -target-feature +sse4.1 -di-kind=limited -emit-llvm %s -o - | FileCheck %s typedef short __v4hi __attribute__ ((__vector_size__ (8))); void test1() { Index: test/CodeGenCXX/2006-11-20-GlobalSymbols.cpp =================================================================== --- test/CodeGenCXX/2006-11-20-GlobalSymbols.cpp +++ test/CodeGenCXX/2006-11-20-GlobalSymbols.cpp @@ -1,7 +1,7 @@ // PR1013 // Check to make sure debug symbols use the correct name for globals and // functions. Will not assemble if it fails to. -// RUN: %clang_cc1 -emit-llvm -g -o - %s | FileCheck %s +// RUN: %clang_cc1 -emit-llvm -di-kind=limited -o - %s | FileCheck %s // CHECK: f\01oo" int foo __asm__("f\001oo"); Index: test/CodeGenCXX/2007-01-02-UnboundedArray.cpp =================================================================== --- test/CodeGenCXX/2007-01-02-UnboundedArray.cpp +++ test/CodeGenCXX/2007-01-02-UnboundedArray.cpp @@ -1,6 +1,6 @@ // Make sure unbounded arrays compile with debug information. // -// RUN: %clang_cc1 -emit-llvm -g %s -o - +// RUN: %clang_cc1 -emit-llvm -di-kind=limited %s -o - // PR1068 Index: test/CodeGenCXX/2009-03-17-dbg.cpp =================================================================== --- test/CodeGenCXX/2009-03-17-dbg.cpp +++ test/CodeGenCXX/2009-03-17-dbg.cpp @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -emit-llvm %s -o /dev/null -g +// RUN: %clang_cc1 -emit-llvm %s -o /dev/null -di-kind=limited template inline void f(const T1&,const T2&) { } Index: test/CodeGenCXX/2009-06-16-DebugInfoCrash.cpp =================================================================== --- test/CodeGenCXX/2009-06-16-DebugInfoCrash.cpp +++ test/CodeGenCXX/2009-06-16-DebugInfoCrash.cpp @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -emit-llvm %s -o /dev/null -g +// RUN: %clang_cc1 -emit-llvm %s -o /dev/null -di-kind=limited // This crashes if we try to emit debug info for TEMPLATE_DECL members. template class K2PtrVectorBase {}; template class K2Vector {}; Index: test/CodeGenCXX/2010-03-09-AnonAggregate.cpp =================================================================== --- test/CodeGenCXX/2010-03-09-AnonAggregate.cpp +++ test/CodeGenCXX/2010-03-09-AnonAggregate.cpp @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -g -S -o %t %s +// RUN: %clang_cc1 -di-kind=limited -S -o %t %s // PR: 6554 // More then one anonymous aggregates on one line creates chaos when MDNode uniquness is // combined with RAUW operation. Index: test/CodeGenCXX/2010-05-10-Var-DbgInfo.cpp =================================================================== --- test/CodeGenCXX/2010-05-10-Var-DbgInfo.cpp +++ test/CodeGenCXX/2010-05-10-Var-DbgInfo.cpp @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -emit-llvm -g %s -o /dev/null +// RUN: %clang_cc1 -emit-llvm -di-kind=limited %s -o /dev/null // PR 7104 struct A { Index: test/CodeGenCXX/2010-05-12-PtrToMember-Dbg.cpp =================================================================== --- test/CodeGenCXX/2010-05-12-PtrToMember-Dbg.cpp +++ test/CodeGenCXX/2010-05-12-PtrToMember-Dbg.cpp @@ -1,4 +1,4 @@ -//RUN: %clang_cc1 -emit-llvm -g -o - %s | FileCheck %s +//RUN: %clang_cc1 -emit-llvm -di-kind=limited -o - %s | FileCheck %s //CHECK: DILocalVariable( class Foo { Index: test/CodeGenCXX/2010-06-21-LocalVarDbg.cpp =================================================================== --- test/CodeGenCXX/2010-06-21-LocalVarDbg.cpp +++ test/CodeGenCXX/2010-06-21-LocalVarDbg.cpp @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -g -emit-llvm %s -o - | FileCheck %s +// RUN: %clang_cc1 -di-kind=limited -emit-llvm %s -o - | FileCheck %s // Do not use function name to create named metadata used to hold // local variable info. For example. llvm.dbg.lv.~A is an invalid name. Index: test/CodeGenCXX/2010-06-22-BitfieldInit.cpp =================================================================== --- test/CodeGenCXX/2010-06-22-BitfieldInit.cpp +++ test/CodeGenCXX/2010-06-22-BitfieldInit.cpp @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -emit-llvm -g %s -o - +// RUN: %clang_cc1 -emit-llvm -di-kind=limited %s -o - struct TEST2 { int subid:32; Index: test/CodeGenCXX/2010-06-22-ZeroBitfield.cpp =================================================================== --- test/CodeGenCXX/2010-06-22-ZeroBitfield.cpp +++ test/CodeGenCXX/2010-06-22-ZeroBitfield.cpp @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -emit-llvm -g %s -o - +// RUN: %clang_cc1 -emit-llvm -di-kind=limited %s -o - struct s8_0 { unsigned : 0; }; struct s8_1 { double x; }; struct s8 { s8_0 a; s8_1 b; }; Index: test/CodeGenCXX/2010-07-23-DeclLoc.cpp =================================================================== --- test/CodeGenCXX/2010-07-23-DeclLoc.cpp +++ test/CodeGenCXX/2010-07-23-DeclLoc.cpp @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -emit-llvm -g %s -o - | FileCheck %s +// RUN: %clang_cc1 -emit-llvm -di-kind=limited %s -o - | FileCheck %s // Require the template function declaration refer to the correct filename. // First, locate the function decl in metadata, and pluck out the file handle: // CHECK: !DISubprogram(name: "extract_dwarf_data_from_header Index: test/CodeGenCXX/PR20038.cpp =================================================================== --- test/CodeGenCXX/PR20038.cpp +++ test/CodeGenCXX/PR20038.cpp @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -triple %itanium_abi_triple -g -mllvm -no-discriminators -emit-llvm %s -o - | FileCheck %s +// RUN: %clang_cc1 -triple %itanium_abi_triple -di-kind=limited -mllvm -no-discriminators -emit-llvm %s -o - | FileCheck %s struct C { ~C(); Index: test/CodeGenCXX/cp-blocks-linetables.cpp =================================================================== --- test/CodeGenCXX/cp-blocks-linetables.cpp +++ test/CodeGenCXX/cp-blocks-linetables.cpp @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -fblocks -g -emit-llvm %s -o - | FileCheck %s +// RUN: %clang_cc1 -fblocks -di-kind=limited -emit-llvm %s -o - | FileCheck %s // Ensure that we generate a line table entry for the block cleanup. // CHECK: define {{.*}} @__main_block_invoke // CHECK: _NSConcreteStackBlock Index: test/CodeGenCXX/crash.cpp =================================================================== --- test/CodeGenCXX/crash.cpp +++ test/CodeGenCXX/crash.cpp @@ -1,6 +1,6 @@ // XFAIL: hexagon // RUN: %clang_cc1 %s -std=c++11 -emit-llvm-only -// RUN: %clang_cc1 -emit-obj -o %t -gline-tables-only -std=c++11 %s +// RUN: %clang_cc1 -emit-obj -o %t -di-kind=line-tables -std=c++11 %s // CHECK that we don't crash. // PR11676's example is ill-formed: Index: test/CodeGenCXX/debug-info-access.cpp =================================================================== --- test/CodeGenCXX/debug-info-access.cpp +++ test/CodeGenCXX/debug-info-access.cpp @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -emit-llvm -g -triple %itanium_abi_triple %s -o - | FileCheck %s +// RUN: %clang_cc1 -emit-llvm -di-kind=limited -triple %itanium_abi_triple %s -o - | FileCheck %s // Test the various accessibility flags in the debug info. struct A { // CHECK-DAG: !DISubprogram(name: "pub_default",{{.*}} line: [[@LINE+1]],{{.*}} flags: DIFlagPrototyped, Index: test/CodeGenCXX/debug-info-anon-union-vars.cpp =================================================================== --- test/CodeGenCXX/debug-info-anon-union-vars.cpp +++ test/CodeGenCXX/debug-info-anon-union-vars.cpp @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -emit-llvm -gdwarf-4 -triple x86_64-linux-gnu %s -o - | FileCheck %s +// RUN: %clang_cc1 -emit-llvm -di-kind=limited -triple x86_64-linux-gnu %s -o - | FileCheck %s // Make sure that we emit a global variable for each of the members of the // anonymous union. Index: test/CodeGenCXX/debug-info-artificial-arg.cpp =================================================================== --- test/CodeGenCXX/debug-info-artificial-arg.cpp +++ test/CodeGenCXX/debug-info-artificial-arg.cpp @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -emit-llvm -g -triple x86_64-apple-darwin %s -o - | FileCheck %s +// RUN: %clang_cc1 -emit-llvm -di-kind=limited -triple x86_64-apple-darwin %s -o - | FileCheck %s template class B { public: Index: test/CodeGenCXX/debug-info-blocks.cpp =================================================================== --- test/CodeGenCXX/debug-info-blocks.cpp +++ test/CodeGenCXX/debug-info-blocks.cpp @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 %s -gline-tables-only -fblocks -S -emit-llvm -o - | FileCheck %s +// RUN: %clang_cc1 %s -di-kind=line-tables -fblocks -S -emit-llvm -o - | FileCheck %s struct A { A(); Index: test/CodeGenCXX/debug-info-char16.cpp =================================================================== --- test/CodeGenCXX/debug-info-char16.cpp +++ test/CodeGenCXX/debug-info-char16.cpp @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -emit-llvm -triple %itanium_abi_triple -std=c++11 -g %s -o -| FileCheck %s +// RUN: %clang_cc1 -emit-llvm -triple %itanium_abi_triple -std=c++11 -di-kind=limited %s -o -| FileCheck %s // 16 is DW_ATE_UTF (0x10) encoding attribute. char16_t char_a = u'h'; Index: test/CodeGenCXX/debug-info-class-nolimit.cpp =================================================================== --- test/CodeGenCXX/debug-info-class-nolimit.cpp +++ test/CodeGenCXX/debug-info-class-nolimit.cpp @@ -1,6 +1,7 @@ -// RUN: %clang_cc1 -triple x86_64-unk-unk -fstandalone-debug -o - -emit-llvm -g %s | FileCheck %s -// On Darwin, this should be the default: -// RUN: %clang_cc1 -triple x86_64-apple-darwin -o - -emit-llvm -g %s | FileCheck %s +// RUN: %clang_cc1 -triple x86_64-unk-unk -di-kind=full -o - -emit-llvm %s | FileCheck %s +// On Darwin, "full" debug info is the default, so really these tests are +// identical, as cc1 no longer chooses the effective value of DebugInfoKind. +// RUN: %clang_cc1 -triple x86_64-apple-darwin -di-kind=full -o - -emit-llvm %s | FileCheck %s namespace rdar14101097_1 { // see also PR16214 // Check that we emit debug info for the definition of a struct if the @@ -33,4 +34,3 @@ struct foo { }; } - Index: test/CodeGenCXX/debug-info-context.cpp =================================================================== --- test/CodeGenCXX/debug-info-context.cpp +++ test/CodeGenCXX/debug-info-context.cpp @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -emit-llvm -g -triple x86_64-apple-darwin %s -o - | FileCheck %s +// RUN: %clang_cc1 -emit-llvm -di-kind=limited -triple x86_64-apple-darwin %s -o - | FileCheck %s // PR11345 class locale { Index: test/CodeGenCXX/debug-info-cxx0x.cpp =================================================================== --- test/CodeGenCXX/debug-info-cxx0x.cpp +++ test/CodeGenCXX/debug-info-cxx0x.cpp @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -emit-llvm-only -std=c++11 -g %s +// RUN: %clang_cc1 -emit-llvm-only -std=c++11 -di-kind=limited %s namespace PR9414 { int f() { Index: test/CodeGenCXX/debug-info-cxx1y.cpp =================================================================== --- test/CodeGenCXX/debug-info-cxx1y.cpp +++ test/CodeGenCXX/debug-info-cxx1y.cpp @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -triple %itanium_abi_triple -emit-llvm-only -std=c++14 -emit-llvm -g %s -o - | FileCheck %s +// RUN: %clang_cc1 -triple %itanium_abi_triple -emit-llvm-only -std=c++14 -emit-llvm -di-kind=limited %s -o - | FileCheck %s // CHECK: [[EMPTY:![0-9]*]] = !{} // CHECK: !DICompositeType(tag: DW_TAG_structure_type, name: "foo", Index: test/CodeGenCXX/debug-info-decl-nested.cpp =================================================================== --- test/CodeGenCXX/debug-info-decl-nested.cpp +++ test/CodeGenCXX/debug-info-decl-nested.cpp @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -std=c++11 -g -emit-llvm -g -triple x86_64-apple-darwin %s -o %t +// RUN: %clang_cc1 -std=c++11 -di-kind=full -emit-llvm -triple x86_64-apple-darwin %s -o %t // RUN: cat %t | FileCheck %s -check-prefix=CHECK0 // RUN: cat %t | FileCheck %s -check-prefix=CHECK1 // RUN: cat %t | FileCheck %s -check-prefix=CHECK2 Index: test/CodeGenCXX/debug-info-determinism.cpp =================================================================== --- test/CodeGenCXX/debug-info-determinism.cpp +++ test/CodeGenCXX/debug-info-determinism.cpp @@ -1,5 +1,5 @@ -// RUN: %clang_cc1 -S -emit-llvm -g -o %t1.ll %s -// RUN: %clang_cc1 -S -emit-llvm -g -o %t2.ll %s +// RUN: %clang_cc1 -S -emit-llvm -di-kind=limited -o %t1.ll %s +// RUN: %clang_cc1 -S -emit-llvm -di-kind=limited -o %t2.ll %s // RUN: diff %t1.ll %t2.ll template struct C { Index: test/CodeGenCXX/debug-info-dup-fwd-decl.cpp =================================================================== --- test/CodeGenCXX/debug-info-dup-fwd-decl.cpp +++ test/CodeGenCXX/debug-info-dup-fwd-decl.cpp @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -emit-llvm -g -triple x86_64-apple-darwin -fstandalone-debug %s -o - | FileCheck %s +// RUN: %clang_cc1 -emit-llvm -di-kind=full -triple x86_64-apple-darwin %s -o - | FileCheck %s class Test { Index: test/CodeGenCXX/debug-info-enum-class.cpp =================================================================== --- test/CodeGenCXX/debug-info-enum-class.cpp +++ test/CodeGenCXX/debug-info-enum-class.cpp @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -emit-llvm -g -triple x86_64-apple-darwin -std=c++11 %s -o - | FileCheck %s +// RUN: %clang_cc1 -emit-llvm -di-kind=limited -triple x86_64-apple-darwin -std=c++11 %s -o - | FileCheck %s enum class A { A1=1 }; // underlying type is int by default enum class B: unsigned long { B1=1 }; // underlying type is unsigned long Index: test/CodeGenCXX/debug-info-enum.cpp =================================================================== --- test/CodeGenCXX/debug-info-enum.cpp +++ test/CodeGenCXX/debug-info-enum.cpp @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -triple %itanium_abi_triple -emit-llvm -g %s -o - | FileCheck %s +// RUN: %clang_cc1 -triple %itanium_abi_triple -emit-llvm -di-kind=limited %s -o - | FileCheck %s // CHECK: !DICompileUnit( // CHECK-SAME: enums: [[ENUMS:![0-9]*]] Index: test/CodeGenCXX/debug-info-flex-member.cpp =================================================================== --- test/CodeGenCXX/debug-info-flex-member.cpp +++ test/CodeGenCXX/debug-info-flex-member.cpp @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -emit-llvm -g -triple x86_64-apple-darwin %s -o - | FileCheck %s +// RUN: %clang_cc1 -emit-llvm -di-kind=limited -triple x86_64-apple-darwin %s -o - | FileCheck %s // CHECK: !DISubrange(count: -1) Index: test/CodeGenCXX/debug-info-function-context.cpp =================================================================== --- test/CodeGenCXX/debug-info-function-context.cpp +++ test/CodeGenCXX/debug-info-function-context.cpp @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -emit-llvm -g -triple x86_64-pc-linux-gnu %s -o - | FileCheck %s +// RUN: %clang_cc1 -emit-llvm -di-kind=limited -triple x86_64-pc-linux-gnu %s -o - | FileCheck %s struct C { void member_function(); Index: test/CodeGenCXX/debug-info-fwd-ref.cpp =================================================================== --- test/CodeGenCXX/debug-info-fwd-ref.cpp +++ test/CodeGenCXX/debug-info-fwd-ref.cpp @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -emit-llvm -g -triple x86_64-apple-darwin %s -o - | FileCheck %s +// RUN: %clang_cc1 -emit-llvm -di-kind=limited -triple x86_64-apple-darwin %s -o - | FileCheck %s struct baz { int h; Index: test/CodeGenCXX/debug-info-gline-tables-only.cpp =================================================================== --- test/CodeGenCXX/debug-info-gline-tables-only.cpp +++ test/CodeGenCXX/debug-info-gline-tables-only.cpp @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 %s -fno-rtti -gline-tables-only -S -emit-llvm -o - | FileCheck %s +// RUN: %clang_cc1 %s -fno-rtti -di-kind=line-tables -S -emit-llvm -o - | FileCheck %s // Checks that clang with "-gline-tables-only" doesn't emit debug info // for variables and types. Index: test/CodeGenCXX/debug-info-global-ctor-dtor.cpp =================================================================== --- test/CodeGenCXX/debug-info-global-ctor-dtor.cpp +++ test/CodeGenCXX/debug-info-global-ctor-dtor.cpp @@ -1,6 +1,6 @@ -// RUN: %clang_cc1 %s -g -triple %itanium_abi_triple -fno-use-cxa-atexit -S -emit-llvm -o - \ +// RUN: %clang_cc1 %s -di-kind=limited -triple %itanium_abi_triple -fno-use-cxa-atexit -S -emit-llvm -o - \ // RUN: | FileCheck %s --check-prefix=CHECK-NOKEXT -// RUN: %clang_cc1 %s -g -triple %itanium_abi_triple -fno-use-cxa-atexit -fapple-kext -S -emit-llvm -o - \ +// RUN: %clang_cc1 %s -di-kind=limited -triple %itanium_abi_triple -fno-use-cxa-atexit -fapple-kext -S -emit-llvm -o - \ // RUN: | FileCheck %s --check-prefix=CHECK-KEXT class A { Index: test/CodeGenCXX/debug-info-global.cpp =================================================================== --- test/CodeGenCXX/debug-info-global.cpp +++ test/CodeGenCXX/debug-info-global.cpp @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -triple x86_64-none-linux-gnu -emit-llvm -g %s -o - | FileCheck %s +// RUN: %clang_cc1 -triple x86_64-none-linux-gnu -emit-llvm -di-kind=limited %s -o - | FileCheck %s // Multiple references to the same constant should result in only one entry in // the globals list. Index: test/CodeGenCXX/debug-info-globalinit.cpp =================================================================== --- test/CodeGenCXX/debug-info-globalinit.cpp +++ test/CodeGenCXX/debug-info-globalinit.cpp @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -triple x86_64-apple-darwin10.0.0 -emit-llvm -o - %s -std=c++11 -g | FileCheck %s +// RUN: %clang_cc1 -triple x86_64-apple-darwin10.0.0 -emit-llvm -o - %s -std=c++11 -di-kind=limited | FileCheck %s void crash() { volatile char *ptr = 0; Index: test/CodeGenCXX/debug-info-indirect-field-decl.cpp =================================================================== --- test/CodeGenCXX/debug-info-indirect-field-decl.cpp +++ test/CodeGenCXX/debug-info-indirect-field-decl.cpp @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -emit-llvm -g -triple x86_64-apple-darwin %s -o - | FileCheck %s +// RUN: %clang_cc1 -emit-llvm -di-kind=limited -triple x86_64-apple-darwin %s -o - | FileCheck %s // // Test that indirect field decls are handled gracefully. // rdar://problem/16348575 Index: test/CodeGenCXX/debug-info-large-constant.cpp =================================================================== --- test/CodeGenCXX/debug-info-large-constant.cpp +++ test/CodeGenCXX/debug-info-large-constant.cpp @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -g -triple=x86_64-apple-darwin %s -o /dev/null +// RUN: %clang_cc1 -di-kind=limited -triple=x86_64-apple-darwin %s -o /dev/null // PR 8913 typedef __uint128_t word128; Index: test/CodeGenCXX/debug-info-line-if.cpp =================================================================== --- test/CodeGenCXX/debug-info-line-if.cpp +++ test/CodeGenCXX/debug-info-line-if.cpp @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -g -std=c++11 -S -emit-llvm %s -o - | FileCheck %s +// RUN: %clang_cc1 -di-kind=limited -std=c++11 -S -emit-llvm %s -o - | FileCheck %s // PR19864 extern int v[2]; int a = 0, b = 0; Index: test/CodeGenCXX/debug-info-line.cpp =================================================================== --- test/CodeGenCXX/debug-info-line.cpp +++ test/CodeGenCXX/debug-info-line.cpp @@ -1,5 +1,5 @@ -// RUN: %clang_cc1 -w -gline-tables-only -std=c++11 -fexceptions -fcxx-exceptions -S -emit-llvm %s -o - | FileCheck %s -// RUN: %clang_cc1 -w -gline-tables-only -std=c++11 -fexceptions -fcxx-exceptions -S -emit-llvm %s -o - -triple i686-linux-gnu | FileCheck %s +// RUN: %clang_cc1 -w -di-kind=line-tables -std=c++11 -fexceptions -fcxx-exceptions -S -emit-llvm %s -o - | FileCheck %s +// RUN: %clang_cc1 -w -di-kind=line-tables -std=c++11 -fexceptions -fcxx-exceptions -S -emit-llvm %s -o - -triple i686-linux-gnu | FileCheck %s // XFAIL: win32 Index: test/CodeGenCXX/debug-info-method-nodebug.cpp =================================================================== --- test/CodeGenCXX/debug-info-method-nodebug.cpp +++ test/CodeGenCXX/debug-info-method-nodebug.cpp @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -emit-llvm -g %s -o - | FileCheck %s +// RUN: %clang_cc1 -emit-llvm -di-kind=limited %s -o - | FileCheck %s class C { void present(); Index: test/CodeGenCXX/debug-info-method.cpp =================================================================== --- test/CodeGenCXX/debug-info-method.cpp +++ test/CodeGenCXX/debug-info-method.cpp @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -emit-llvm -triple %itanium_abi_triple -std=c++11 -g %s -o - | FileCheck %s +// RUN: %clang_cc1 -emit-llvm -triple %itanium_abi_triple -std=c++11 -di-kind=limited %s -o - | FileCheck %s // CHECK: !DICompositeType(tag: DW_TAG_class_type, name: "A",{{.*}} identifier: "_ZTS1A") // CHECK: !DISubprogram(name: "foo", linkageName: "_ZN1A3fooEiS_3$_0" // CHECK-SAME: DIFlagProtected Index: test/CodeGenCXX/debug-info-method2.cpp =================================================================== --- test/CodeGenCXX/debug-info-method2.cpp +++ test/CodeGenCXX/debug-info-method2.cpp @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -fno-standalone-debug -x c++ -g -S -emit-llvm < %s | FileCheck %s +// RUN: %clang_cc1 -x c++ -di-kind=limited -S -emit-llvm < %s | FileCheck %s // rdar://10336845 // Preserve type qualifiers in -flimit-debug-info mode. Index: test/CodeGenCXX/debug-info-namespace.cpp =================================================================== --- test/CodeGenCXX/debug-info-namespace.cpp +++ test/CodeGenCXX/debug-info-namespace.cpp @@ -1,6 +1,6 @@ -// RUN: %clang_cc1 -g -fno-standalone-debug -S -emit-llvm %s -o - | FileCheck %s -// RUN: %clang_cc1 -g -gline-tables-only -S -emit-llvm %s -o - | FileCheck -check-prefix=CHECK-GMLT %s -// RUN: %clang_cc1 -g -fstandalone-debug -S -emit-llvm %s -o - | FileCheck -check-prefix=CHECK-NOLIMIT %s +// RUN: %clang_cc1 -di-kind=limited -S -emit-llvm %s -o - | FileCheck %s +// RUN: %clang_cc1 -di-kind=line-tables -S -emit-llvm %s -o - | FileCheck -check-prefix=CHECK-GMLT %s +// RUN: %clang_cc1 -di-kind=full -S -emit-llvm %s -o - | FileCheck -check-prefix=CHECK-NOLIMIT %s namespace A { #line 1 "foo.cpp" Index: test/CodeGenCXX/debug-info-nullptr.cpp =================================================================== --- test/CodeGenCXX/debug-info-nullptr.cpp +++ test/CodeGenCXX/debug-info-nullptr.cpp @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -emit-llvm -std=c++11 -g %s -o -| FileCheck %s +// RUN: %clang_cc1 -emit-llvm -std=c++11 -di-kind=limited %s -o -| FileCheck %s void foo() { decltype(nullptr) t = 0; Index: test/CodeGenCXX/debug-info-ptr-to-member-function.cpp =================================================================== --- test/CodeGenCXX/debug-info-ptr-to-member-function.cpp +++ test/CodeGenCXX/debug-info-ptr-to-member-function.cpp @@ -1,5 +1,5 @@ -// RUN: %clang_cc1 %s -triple x86_64-apple-darwin -g -emit-llvm -o - | FileCheck -check-prefix=CHECK -check-prefix=DARWIN-X64 %s -// RUN: %clang_cc1 %s -triple x86_64-pc-win32 -g -emit-llvm -o - | FileCheck -check-prefix=CHECK -check-prefix=WIN32-X64 %s +// RUN: %clang_cc1 %s -triple x86_64-apple-darwin -di-kind=limited -emit-llvm -o - | FileCheck -check-prefix=CHECK -check-prefix=DARWIN-X64 %s +// RUN: %clang_cc1 %s -triple x86_64-pc-win32 -di-kind=limited -emit-llvm -o - | FileCheck -check-prefix=CHECK -check-prefix=WIN32-X64 %s struct T { int method(); Index: test/CodeGenCXX/debug-info-qualifiers.cpp =================================================================== --- test/CodeGenCXX/debug-info-qualifiers.cpp +++ test/CodeGenCXX/debug-info-qualifiers.cpp @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -std=c++11 -emit-llvm -g -triple x86_64-apple-darwin %s -o - | FileCheck %s +// RUN: %clang_cc1 -std=c++11 -emit-llvm -di-kind=limited -triple x86_64-apple-darwin %s -o - | FileCheck %s // Test (r)value and CVR qualifiers on C++11 non-static member functions. class A { public: Index: test/CodeGenCXX/debug-info-rvalue-ref.cpp =================================================================== --- test/CodeGenCXX/debug-info-rvalue-ref.cpp +++ test/CodeGenCXX/debug-info-rvalue-ref.cpp @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -std=c++11 -emit-llvm -g -triple x86_64-apple-darwin %s -o - | FileCheck %s +// RUN: %clang_cc1 -std=c++11 -emit-llvm -di-kind=limited -triple x86_64-apple-darwin %s -o - | FileCheck %s extern "C" { extern int printf(const char * format, ...); Index: test/CodeGenCXX/debug-info-scope.cpp =================================================================== --- test/CodeGenCXX/debug-info-scope.cpp +++ test/CodeGenCXX/debug-info-scope.cpp @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -g -std=c++11 -emit-llvm %s -o -| FileCheck %s +// RUN: %clang_cc1 -di-kind=limited -std=c++11 -emit-llvm %s -o -| FileCheck %s // // Two variables with the same name in subsequent if staments need to be in separate scopes. // Index: test/CodeGenCXX/debug-info-static-fns.cpp =================================================================== --- test/CodeGenCXX/debug-info-static-fns.cpp +++ test/CodeGenCXX/debug-info-static-fns.cpp @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -emit-llvm -g -triple x86_64-apple-darwin %s -o - | FileCheck %s +// RUN: %clang_cc1 -emit-llvm -di-kind=limited -triple x86_64-apple-darwin %s -o - | FileCheck %s namespace A { static int a(int b) { return b + 4; } Index: test/CodeGenCXX/debug-info-template-explicit-specialization.cpp =================================================================== --- test/CodeGenCXX/debug-info-template-explicit-specialization.cpp +++ test/CodeGenCXX/debug-info-template-explicit-specialization.cpp @@ -1,8 +1,8 @@ -// RUN: %clang_cc1 -emit-llvm -triple %itanium_abi_triple -g %s -o - -fno-standalone-debug | FileCheck %s +// RUN: %clang_cc1 -emit-llvm -triple %itanium_abi_triple -di-kind=limited %s -o - | FileCheck %s // Run again with -gline-tables-only and verify we don't crash. We won't output // type info at all. -// RUN: %clang_cc1 -emit-llvm -triple %itanium_abi_triple -g %s -o - -gline-tables-only | FileCheck %s -check-prefix LINES-ONLY +// RUN: %clang_cc1 -emit-llvm -triple %itanium_abi_triple -di-kind=limited %s -o - -di-kind=line-tables | FileCheck %s -check-prefix LINES-ONLY // LINES-ONLY-NOT: !DICompositeType(tag: DW_TAG_structure_type Index: test/CodeGenCXX/debug-info-template-fwd.cpp =================================================================== --- test/CodeGenCXX/debug-info-template-fwd.cpp +++ test/CodeGenCXX/debug-info-template-fwd.cpp @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 %s -triple=x86_64-apple-darwin -g -emit-llvm -o - | FileCheck %s +// RUN: %clang_cc1 %s -triple=x86_64-apple-darwin -di-kind=limited -emit-llvm -o - | FileCheck %s // This test is for a crash when emitting debug info for not-yet-completed // types. // Test that we don't actually emit a forward decl for the offending class: Index: test/CodeGenCXX/debug-info-template-limit.cpp =================================================================== --- test/CodeGenCXX/debug-info-template-limit.cpp +++ test/CodeGenCXX/debug-info-template-limit.cpp @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -emit-llvm -fno-standalone-debug -triple %itanium_abi_triple -g %s -o - | FileCheck %s +// RUN: %clang_cc1 -emit-llvm -di-kind=limited -triple %itanium_abi_triple %s -o - | FileCheck %s // Check that this pointer type is TC // CHECK: ![[LINE:[0-9]+]] = !DICompositeType(tag: DW_TAG_class_type, name: "TC"{{.*}}, identifier: "_ZTS2TCIiE") Index: test/CodeGenCXX/debug-info-template-member.cpp =================================================================== --- test/CodeGenCXX/debug-info-template-member.cpp +++ test/CodeGenCXX/debug-info-template-member.cpp @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -emit-llvm -g -fno-standalone-debug -triple x86_64-apple-darwin %s -o - | FileCheck %s +// RUN: %clang_cc1 -emit-llvm -di-kind=limited -triple x86_64-apple-darwin %s -o - | FileCheck %s struct MyClass { template int add(int j) { @@ -98,4 +98,3 @@ void f2() { virt d; // emit 'virt' } - Index: test/CodeGenCXX/debug-info-template-partial-specialization.cpp =================================================================== --- test/CodeGenCXX/debug-info-template-partial-specialization.cpp +++ test/CodeGenCXX/debug-info-template-partial-specialization.cpp @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -emit-llvm -triple %itanium_abi_triple -g %s -o - -fstandalone-debug | FileCheck %s +// RUN: %clang_cc1 -emit-llvm -triple %itanium_abi_triple %s -o - -di-kind=full | FileCheck %s namespace __pointer_type_imp { template struct __pointer_type1 {}; Index: test/CodeGenCXX/debug-info-template-quals.cpp =================================================================== --- test/CodeGenCXX/debug-info-template-quals.cpp +++ test/CodeGenCXX/debug-info-template-quals.cpp @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -emit-llvm -g -triple x86_64-apple-darwin %s -o - | FileCheck %s +// RUN: %clang_cc1 -emit-llvm -di-kind=limited -triple x86_64-apple-darwin %s -o - | FileCheck %s template struct basic_string { Index: test/CodeGenCXX/debug-info-template-recursive.cpp =================================================================== --- test/CodeGenCXX/debug-info-template-recursive.cpp +++ test/CodeGenCXX/debug-info-template-recursive.cpp @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -emit-llvm -g -triple x86_64-apple-darwin %s -o - | FileCheck %s +// RUN: %clang_cc1 -emit-llvm -di-kind=limited -triple x86_64-apple-darwin %s -o - | FileCheck %s class base { }; Index: test/CodeGenCXX/debug-info-thunk.cpp =================================================================== --- test/CodeGenCXX/debug-info-thunk.cpp +++ test/CodeGenCXX/debug-info-thunk.cpp @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 %s -triple %itanium_abi_triple -g -S -emit-llvm -o - | FileCheck %s +// RUN: %clang_cc1 %s -triple %itanium_abi_triple -di-kind=limited -S -emit-llvm -o - | FileCheck %s struct A { virtual void f(); Index: test/CodeGenCXX/debug-info-union-template.cpp =================================================================== --- test/CodeGenCXX/debug-info-union-template.cpp +++ test/CodeGenCXX/debug-info-union-template.cpp @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -emit-llvm -g -triple x86_64-linux-gnu %s -o - | FileCheck %s +// RUN: %clang_cc1 -emit-llvm -di-kind=limited -triple x86_64-linux-gnu %s -o - | FileCheck %s // Make sure that the union type has template parameters. Index: test/CodeGenCXX/debug-info-union.cpp =================================================================== --- test/CodeGenCXX/debug-info-union.cpp +++ test/CodeGenCXX/debug-info-union.cpp @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -emit-llvm -g -triple x86_64-apple-darwin -std=c++11 %s -o - | FileCheck %s +// RUN: %clang_cc1 -emit-llvm -di-kind=limited -triple x86_64-apple-darwin -std=c++11 %s -o - | FileCheck %s union E { int a; Index: test/CodeGenCXX/debug-info-use-after-free.cpp =================================================================== --- test/CodeGenCXX/debug-info-use-after-free.cpp +++ test/CodeGenCXX/debug-info-use-after-free.cpp @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -g -triple %itanium_abi_triple -emit-llvm-only %s +// RUN: %clang_cc1 -di-kind=limited -triple %itanium_abi_triple -emit-llvm-only %s // Check that we don't crash. // PR12305, PR12315 Index: test/CodeGenCXX/debug-info-uuid.cpp =================================================================== --- test/CodeGenCXX/debug-info-uuid.cpp +++ test/CodeGenCXX/debug-info-uuid.cpp @@ -1,5 +1,5 @@ -// RUN: %clang_cc1 -emit-llvm -fms-extensions -triple=x86_64-pc-win32 -g %s -o - -std=c++11 | FileCheck %s -// RUN: %clang_cc1 -emit-llvm -fms-extensions -triple=x86_64-unknown-unknown -g %s -o - -std=c++11 2>&1 | FileCheck %s --check-prefix=CHECK-ITANIUM +// RUN: %clang_cc1 -emit-llvm -fms-extensions -triple=x86_64-pc-win32 -di-kind=limited %s -o - -std=c++11 | FileCheck %s +// RUN: %clang_cc1 -emit-llvm -fms-extensions -triple=x86_64-unknown-unknown -di-kind=limited %s -o - -std=c++11 2>&1 | FileCheck %s --check-prefix=CHECK-ITANIUM // CHECK: !DICompositeType(tag: DW_TAG_structure_type, name: "tmpl_guid<&__uuidof(uuid)>" // CHECK-SAME: templateParams: [[TGIARGS:![0-9]*]] Index: test/CodeGenCXX/debug-info-varargs.cpp =================================================================== --- test/CodeGenCXX/debug-info-varargs.cpp +++ test/CodeGenCXX/debug-info-varargs.cpp @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -triple %itanium_abi_triple -emit-llvm -g %s -o - | FileCheck %s +// RUN: %clang_cc1 -triple %itanium_abi_triple -emit-llvm -di-kind=limited %s -o - | FileCheck %s struct A { Index: test/CodeGenCXX/debug-info-vtable-optzn.cpp =================================================================== --- test/CodeGenCXX/debug-info-vtable-optzn.cpp +++ test/CodeGenCXX/debug-info-vtable-optzn.cpp @@ -1,5 +1,5 @@ -// RUN: %clang_cc1 -emit-llvm -g -triple x86_64-apple-darwin %s -o - | FileCheck %s -// RUN: %clang_cc1 -emit-llvm -g -triple amd64-unknown-freebsd %s -o - | FileCheck %s +// RUN: %clang_cc1 -emit-llvm -di-kind=full -triple x86_64-apple-darwin %s -o - | FileCheck %s +// RUN: %clang_cc1 -emit-llvm -di-kind=full -triple amd64-unknown-freebsd %s -o - | FileCheck %s // // This tests that the "emit debug info for a C++ class only in the // module that has its vtable" optimization is disabled by default on Index: test/CodeGenCXX/debug-info-wchar.cpp =================================================================== --- test/CodeGenCXX/debug-info-wchar.cpp +++ test/CodeGenCXX/debug-info-wchar.cpp @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -emit-llvm -g %s -o -| FileCheck %s +// RUN: %clang_cc1 -emit-llvm -di-kind=limited %s -o -| FileCheck %s void foo() { // CHECK: !DIBasicType(name: "wchar_t" const wchar_t w = L'x'; Index: test/CodeGenCXX/debug-info-windows-dtor.cpp =================================================================== --- test/CodeGenCXX/debug-info-windows-dtor.cpp +++ test/CodeGenCXX/debug-info-windows-dtor.cpp @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -triple i386-unknown-windows-msvc -std=c++11 -emit-llvm -gline-tables-only %s -o - | FileCheck %s +// RUN: %clang_cc1 -triple i386-unknown-windows-msvc -std=c++11 -emit-llvm -di-kind=line-tables %s -o - | FileCheck %s struct A { virtual ~A() {} Index: test/CodeGenCXX/debug-info.cpp =================================================================== --- test/CodeGenCXX/debug-info.cpp +++ test/CodeGenCXX/debug-info.cpp @@ -1,5 +1,5 @@ -// RUN: %clang_cc1 -triple x86_64-none-linux-gnu -emit-llvm -g %s -o - | FileCheck %s -// RUN: %clang_cc1 -triple i686-pc-windows-msvc -emit-llvm -g %s -o - | FileCheck %s --check-prefix=MSVC +// RUN: %clang_cc1 -triple x86_64-none-linux-gnu -emit-llvm -di-kind=limited %s -o - | FileCheck %s +// RUN: %clang_cc1 -triple i686-pc-windows-msvc -emit-llvm -di-kind=limited %s -o - | FileCheck %s --check-prefix=MSVC template struct Identity { typedef T Type; Index: test/CodeGenCXX/debug-lambda-expressions.cpp =================================================================== --- test/CodeGenCXX/debug-lambda-expressions.cpp +++ test/CodeGenCXX/debug-lambda-expressions.cpp @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -triple x86_64-apple-darwin10.0.0 -emit-llvm -o - %s -fexceptions -std=c++11 -g | FileCheck %s +// RUN: %clang_cc1 -triple x86_64-apple-darwin10.0.0 -emit-llvm -o - %s -fexceptions -std=c++11 -di-kind=limited | FileCheck %s auto var = [](int i) { return i+1; }; void *use = &var; Index: test/CodeGenCXX/debug-lambda-this.cpp =================================================================== --- test/CodeGenCXX/debug-lambda-this.cpp +++ test/CodeGenCXX/debug-lambda-this.cpp @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -triple x86_64-apple-darwin10.0.0 -emit-llvm -o - %s -fexceptions -std=c++11 -g | FileCheck %s +// RUN: %clang_cc1 -triple x86_64-apple-darwin10.0.0 -emit-llvm -o - %s -fexceptions -std=c++11 -di-kind=limited | FileCheck %s struct D { D(); Index: test/CodeGenCXX/destructor-debug-info.cpp =================================================================== --- test/CodeGenCXX/destructor-debug-info.cpp +++ test/CodeGenCXX/destructor-debug-info.cpp @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -g -S -emit-llvm %s -o - | FileCheck %s +// RUN: %clang_cc1 -di-kind=limited -S -emit-llvm %s -o - | FileCheck %s class A { int a; }; class B { Index: test/CodeGenCXX/globalinit-loc.cpp =================================================================== --- test/CodeGenCXX/globalinit-loc.cpp +++ test/CodeGenCXX/globalinit-loc.cpp @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -emit-llvm -g %s -o - | FileCheck %s +// RUN: %clang_cc1 -emit-llvm -di-kind=limited %s -o - | FileCheck %s // rdar://problem/14985269. // // Verify that the global init helper function does not get associated Index: test/CodeGenCXX/inline-dllexport-member.cpp =================================================================== --- test/CodeGenCXX/inline-dllexport-member.cpp +++ test/CodeGenCXX/inline-dllexport-member.cpp @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -triple i686-windows-gnu -fms-compatibility -g -emit-llvm %s -o - \ +// RUN: %clang_cc1 -triple i686-windows-gnu -fms-compatibility -di-kind=limited -emit-llvm %s -o - \ // RUN: | FileCheck %s struct __declspec(dllexport) s { Index: test/CodeGenCXX/linetable-cleanup.cpp =================================================================== --- test/CodeGenCXX/linetable-cleanup.cpp +++ test/CodeGenCXX/linetable-cleanup.cpp @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -emit-llvm -g -triple x86_64-apple-darwin10 %s -o - | FileCheck %s +// RUN: %clang_cc1 -emit-llvm -di-kind=limited -triple x86_64-apple-darwin10 %s -o - | FileCheck %s // Check the line numbers for cleanup code with EH in combination with // simple return expressions. Index: test/CodeGenCXX/linetable-eh.cpp =================================================================== --- test/CodeGenCXX/linetable-eh.cpp +++ test/CodeGenCXX/linetable-eh.cpp @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -emit-llvm -g -triple x86_64-apple-macosx10.9.0 -munwind-tables -std=c++11 -fcxx-exceptions -fexceptions %s -o - | FileCheck %s +// RUN: %clang_cc1 -emit-llvm -di-kind=limited -triple x86_64-apple-macosx10.9.0 -munwind-tables -std=c++11 -fcxx-exceptions -fexceptions %s -o - | FileCheck %s // Test that emitting a landing pad does not affect the line table // entries for the code that triggered it. Index: test/CodeGenCXX/linetable-fnbegin.cpp =================================================================== --- test/CodeGenCXX/linetable-fnbegin.cpp +++ test/CodeGenCXX/linetable-fnbegin.cpp @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -emit-llvm -g %s -o - | FileCheck %s +// RUN: %clang_cc1 -emit-llvm -di-kind=limited %s -o - | FileCheck %s // Test that the line table info for Foo::bar() is pointing to the // right header file. // CHECK: define{{.*}}bar Index: test/CodeGenCXX/linetable-virtual-variadic.cpp =================================================================== --- test/CodeGenCXX/linetable-virtual-variadic.cpp +++ test/CodeGenCXX/linetable-virtual-variadic.cpp @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -triple x86_64-apple-darwin -emit-llvm -gline-tables-only %s -o - | FileCheck %s +// RUN: %clang_cc1 -triple x86_64-apple-darwin -emit-llvm -di-kind=line-tables %s -o - | FileCheck %s // Crasher for PR22929. class Base { virtual void VariadicFunction(...); Index: test/CodeGenCXX/lpad-linetable.cpp =================================================================== --- test/CodeGenCXX/lpad-linetable.cpp +++ test/CodeGenCXX/lpad-linetable.cpp @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -fcxx-exceptions -fexceptions -emit-llvm -g -triple x86_64-apple-darwin10 %s -o - | FileCheck %s +// RUN: %clang_cc1 -fcxx-exceptions -fexceptions -emit-llvm -di-kind=limited -triple x86_64-apple-darwin10 %s -o - | FileCheck %s // The landing pad should have the line number of the closing brace of the function. // rdar://problem/13888152 // CHECK: ret i32 Index: test/CodeGenCXX/scoped-enums-debug-info.cpp =================================================================== --- test/CodeGenCXX/scoped-enums-debug-info.cpp +++ test/CodeGenCXX/scoped-enums-debug-info.cpp @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -std=c++11 -emit-llvm -g -o - %s | FileCheck %s +// RUN: %clang_cc1 -std=c++11 -emit-llvm -di-kind=limited -o - %s | FileCheck %s // Test that we are emitting debug info and base types for scoped enums. // CHECK: !DICompositeType(tag: DW_TAG_enumeration_type, name: "Color" Index: test/CodeGenCXX/vtable-holder-self-reference.cpp =================================================================== --- test/CodeGenCXX/vtable-holder-self-reference.cpp +++ test/CodeGenCXX/vtable-holder-self-reference.cpp @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -emit-llvm -gdwarf-2 -x c++ -o - %s | FileCheck %s +// RUN: %clang_cc1 -emit-llvm -dwarf-version=2 -di-kind=limited -x c++ -o - %s | FileCheck %s // // PR21941: crasher for self-referencing DW_TAG_structure_type node. If we get // rid of self-referenceing structure_types (PR21902), then it should be safe Index: test/CodeGenObjC/2009-01-21-invalid-debug-info.m =================================================================== --- test/CodeGenObjC/2009-01-21-invalid-debug-info.m +++ test/CodeGenObjC/2009-01-21-invalid-debug-info.m @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -S -g -o %t.s %s +// RUN: %clang_cc1 -S -di-kind=limited -o %t.s %s // FIXME: This test case can be removed at some point (since it will // no longer effectively test anything). The reason it was causing Index: test/CodeGenObjC/2010-02-09-DbgSelf.m =================================================================== --- test/CodeGenObjC/2010-02-09-DbgSelf.m +++ test/CodeGenObjC/2010-02-09-DbgSelf.m @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -x objective-c -emit-llvm -g < %s | FileCheck %s +// RUN: %clang_cc1 -x objective-c -emit-llvm -di-kind=limited < %s | FileCheck %s // Test to check that "self" argument is assigned a location. // CHECK: call void @llvm.dbg.declare(metadata %0** %{{[^,]+}}, metadata [[SELF:![0-9]*]], metadata !{{.*}}) // CHECK: [[SELF]] = !DILocalVariable(name: "self", arg: 1, Index: test/CodeGenObjC/2010-02-15-Dbg-MethodStart.m =================================================================== --- test/CodeGenObjC/2010-02-15-Dbg-MethodStart.m +++ test/CodeGenObjC/2010-02-15-Dbg-MethodStart.m @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -x objective-c -emit-llvm -g < %s | FileCheck "%s" +// RUN: %clang_cc1 -x objective-c -emit-llvm -di-kind=limited < %s | FileCheck "%s" // Test to check that subprogram start location. @interface Foo Index: test/CodeGenObjC/2010-02-23-DbgInheritance.m =================================================================== --- test/CodeGenObjC/2010-02-23-DbgInheritance.m +++ test/CodeGenObjC/2010-02-23-DbgInheritance.m @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -emit-llvm %s -g -o - | FileCheck %s +// RUN: %clang_cc1 -emit-llvm %s -di-kind=limited -o - | FileCheck %s // CHECK-NOT: DW_TAG_member // Interface P should not be a member of interface I in debug info. @interface P Index: test/CodeGenObjC/arc-linetable-autorelease.m =================================================================== --- test/CodeGenObjC/arc-linetable-autorelease.m +++ test/CodeGenObjC/arc-linetable-autorelease.m @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -emit-llvm -fobjc-arc -g -triple x86_64-apple-darwin10 %s -o - | FileCheck %s +// RUN: %clang_cc1 -emit-llvm -fobjc-arc -di-kind=limited -triple x86_64-apple-darwin10 %s -o - | FileCheck %s // Ensure that the line info is making sense: // ARC cleanups should be at the closing '}'. @protocol NSObject Index: test/CodeGenObjC/arc-linetable.m =================================================================== --- test/CodeGenObjC/arc-linetable.m +++ test/CodeGenObjC/arc-linetable.m @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -emit-llvm -fblocks -fobjc-arc -g -triple x86_64-apple-darwin10 %s -o - | FileCheck %s +// RUN: %clang_cc1 -emit-llvm -fblocks -fobjc-arc -di-kind=full -dwarf-version=4 -triple x86_64-apple-darwin10 %s -o - | FileCheck %s // Legend: EXP = Return expression, RET = ret instruction Index: test/CodeGenObjC/block-byref-debuginfo.m =================================================================== --- test/CodeGenObjC/block-byref-debuginfo.m +++ test/CodeGenObjC/block-byref-debuginfo.m @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -fblocks -fobjc-arc -fobjc-runtime-has-weak -g -triple x86_64-apple-darwin -emit-llvm %s -o - | FileCheck %s +// RUN: %clang_cc1 -fblocks -fobjc-arc -fobjc-runtime-has-weak -di-kind=limited -triple x86_64-apple-darwin -emit-llvm %s -o - | FileCheck %s // rdar://problem/14386148 // Test that the foo is aligned at an 8 byte boundary in the DWARF Index: test/CodeGenObjC/blocks-ivar-debug.m =================================================================== --- test/CodeGenObjC/blocks-ivar-debug.m +++ test/CodeGenObjC/blocks-ivar-debug.m @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -g %s -fblocks -S -o %t +// RUN: %clang_cc1 -di-kind=limited %s -fblocks -S -o %t // Radar 7959934 @interface NSObject { Index: test/CodeGenObjC/catch-lexical-block.m =================================================================== --- test/CodeGenObjC/catch-lexical-block.m +++ test/CodeGenObjC/catch-lexical-block.m @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -g -fobjc-exceptions -emit-llvm %s -o - | FileCheck %s +// RUN: %clang_cc1 -di-kind=limited -fobjc-exceptions -emit-llvm %s -o - | FileCheck %s @interface Foo @end void f0() { @try { Index: test/CodeGenObjC/debug-info-block-captured-self.m =================================================================== --- test/CodeGenObjC/debug-info-block-captured-self.m +++ test/CodeGenObjC/debug-info-block-captured-self.m @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -fblocks -g -emit-llvm -triple x86_64-apple-darwin -o - %s | FileCheck %s +// RUN: %clang_cc1 -fblocks -di-kind=limited -emit-llvm -triple x86_64-apple-darwin -o - %s | FileCheck %s // // Test that debug location is generated for a captured "self" inside // a block. Index: test/CodeGenObjC/debug-info-block-helper.m =================================================================== --- test/CodeGenObjC/debug-info-block-helper.m +++ test/CodeGenObjC/debug-info-block-helper.m @@ -1,5 +1,5 @@ // REQUIRES: x86-registered-target -// RUN: %clang_cc1 -emit-llvm -fblocks -g -triple x86_64-apple-darwin10 -fobjc-runtime=macosx-fragile-10.5 %s -o - | FileCheck %s +// RUN: %clang_cc1 -emit-llvm -fblocks -di-kind=limited -triple x86_64-apple-darwin10 -fobjc-runtime=macosx-fragile-10.5 %s -o - | FileCheck %s extern void foo(void(^)(void)); // CHECK: !DISubprogram(name: "__destroy_helper_block_" Index: test/CodeGenObjC/debug-info-block-line.m =================================================================== --- test/CodeGenObjC/debug-info-block-line.m +++ test/CodeGenObjC/debug-info-block-line.m @@ -1,5 +1,5 @@ // REQUIRES: x86-registered-target -// RUN: %clang_cc1 -emit-llvm -fblocks -fobjc-arc -g -triple x86_64-apple-darwin10 %s -o - | FileCheck %s +// RUN: %clang_cc1 -emit-llvm -fblocks -fobjc-arc -di-kind=limited -triple x86_64-apple-darwin10 %s -o - | FileCheck %s // rdar://11562117 typedef unsigned int NSUInteger; Index: test/CodeGenObjC/debug-info-block-type.m =================================================================== --- test/CodeGenObjC/debug-info-block-type.m +++ test/CodeGenObjC/debug-info-block-type.m @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -emit-llvm -fblocks -g -triple x86_64-apple-darwin14 -x objective-c < %s -o - | FileCheck %s +// RUN: %clang_cc1 -emit-llvm -fblocks -di-kind=limited -triple x86_64-apple-darwin14 -x objective-c < %s -o - | FileCheck %s #define nil ((void*) 0) typedef signed char BOOL; // CHECK: ![[BOOL:[0-9]+]] = !DIDerivedType(tag: DW_TAG_typedef, name: "BOOL" Index: test/CodeGenObjC/debug-info-blocks.m =================================================================== --- test/CodeGenObjC/debug-info-blocks.m +++ test/CodeGenObjC/debug-info-blocks.m @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -emit-llvm -fblocks -g -triple x86_64-apple-darwin10 -fobjc-dispatch-method=mixed -x objective-c < %s -o - | FileCheck %s +// RUN: %clang_cc1 -emit-llvm -fblocks -di-kind=limited -triple x86_64-apple-darwin10 -fobjc-dispatch-method=mixed -x objective-c < %s -o - | FileCheck %s // rdar://problem/9279956 // Test that we generate the proper debug location for a captured self. Index: test/CodeGenObjC/debug-info-class-extension.m =================================================================== --- test/CodeGenObjC/debug-info-class-extension.m +++ test/CodeGenObjC/debug-info-class-extension.m @@ -1,5 +1,5 @@ // FIXME: Check IR rather than asm, then triple is not needed. -// RUN: %clang_cc1 -triple %itanium_abi_triple -masm-verbose -S -g %s -o - | FileCheck %s +// RUN: %clang_cc1 -triple %itanium_abi_triple -masm-verbose -S -di-kind=limited %s -o - | FileCheck %s // CHECK: AT_APPLE_objc_complete_type Index: test/CodeGenObjC/debug-info-class-extension2.m =================================================================== --- test/CodeGenObjC/debug-info-class-extension2.m +++ test/CodeGenObjC/debug-info-class-extension2.m @@ -1,5 +1,5 @@ // FIXME: Check IR rather than asm, then triple is not needed. -// RUN: %clang_cc1 -triple %itanium_abi_triple -masm-verbose -S -g %s -o - | FileCheck %s +// RUN: %clang_cc1 -triple %itanium_abi_triple -masm-verbose -S -di-kind=limited %s -o - | FileCheck %s // CHECK: AT_APPLE_objc_complete_type @interface Foo {} @end Index: test/CodeGenObjC/debug-info-class-extension3.m =================================================================== --- test/CodeGenObjC/debug-info-class-extension3.m +++ test/CodeGenObjC/debug-info-class-extension3.m @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -masm-verbose -S -g %s -o - | FileCheck %s +// RUN: %clang_cc1 -masm-verbose -S -di-kind=limited %s -o - | FileCheck %s // CHECK-NOT: AT_APPLE_objc_complete_type Index: test/CodeGenObjC/debug-info-crash-2.m =================================================================== --- test/CodeGenObjC/debug-info-crash-2.m +++ test/CodeGenObjC/debug-info-crash-2.m @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -triple x86_64-apple-darwin11 -g -S %s -o - +// RUN: %clang_cc1 -triple x86_64-apple-darwin11 -di-kind=limited -S %s -o - // REQUIRES: x86-registered-target @class Bar; Index: test/CodeGenObjC/debug-info-crash.m =================================================================== --- test/CodeGenObjC/debug-info-crash.m +++ test/CodeGenObjC/debug-info-crash.m @@ -1,5 +1,5 @@ // REQUIRES: x86-registered-target -// RUN: %clang_cc1 -triple i386-apple-darwin10 -fobjc-runtime=macosx-fragile-10.5 -fblocks -g -S %s -o - +// RUN: %clang_cc1 -triple i386-apple-darwin10 -fobjc-runtime=macosx-fragile-10.5 -fblocks -di-kind=limited -S %s -o - // rdar://7556129 @implementation test Index: test/CodeGenObjC/debug-info-default-synth-ivar.m =================================================================== --- test/CodeGenObjC/debug-info-default-synth-ivar.m +++ test/CodeGenObjC/debug-info-default-synth-ivar.m @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -triple x86_64-apple-darwin10 -emit-llvm -g %s -o %t +// RUN: %clang_cc1 -triple x86_64-apple-darwin10 -emit-llvm -di-kind=limited %s -o %t // RUN: grep DW_TAG_member %t | count 5 // rdar://8493239 Index: test/CodeGenObjC/debug-info-getter-name.m =================================================================== --- test/CodeGenObjC/debug-info-getter-name.m +++ test/CodeGenObjC/debug-info-getter-name.m @@ -1,5 +1,5 @@ // REQUIRES: x86-registered-target -// RUN: %clang_cc1 -emit-llvm -triple x86_64-apple-darwin10 -fexceptions -fobjc-exceptions -g %s -o - | FileCheck %s +// RUN: %clang_cc1 -emit-llvm -triple x86_64-apple-darwin10 -fexceptions -fobjc-exceptions -di-kind=limited %s -o - | FileCheck %s // CHECK: !DISubprogram(name: "-[InstanceVariablesEverywhereButTheInterface someString]" Index: test/CodeGenObjC/debug-info-id-with-protocol.m =================================================================== --- test/CodeGenObjC/debug-info-id-with-protocol.m +++ test/CodeGenObjC/debug-info-id-with-protocol.m @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -triple x86_64-apple-darwin10 -emit-llvm -g %s -o - | FileCheck %s +// RUN: %clang_cc1 -triple x86_64-apple-darwin10 -emit-llvm -di-kind=limited %s -o - | FileCheck %s __attribute((objc_root_class)) @interface NSObject { id isa; } Index: test/CodeGenObjC/debug-info-impl.m =================================================================== --- test/CodeGenObjC/debug-info-impl.m +++ test/CodeGenObjC/debug-info-impl.m @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -triple x86_64-apple-darwin10 -g -S -emit-llvm %s -o - | FileCheck %s +// RUN: %clang_cc1 -triple x86_64-apple-darwin10 -di-kind=limited -S -emit-llvm %s -o - | FileCheck %s @interface NSObject { struct objc_object *isa; } Index: test/CodeGenObjC/debug-info-instancetype.m =================================================================== --- test/CodeGenObjC/debug-info-instancetype.m +++ test/CodeGenObjC/debug-info-instancetype.m @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -emit-llvm -g -triple x86_64-apple-darwin10 %s -o - | FileCheck %s +// RUN: %clang_cc1 -emit-llvm -di-kind=limited -triple x86_64-apple-darwin10 %s -o - | FileCheck %s // rdar://problem/13359718 // Substitute the actual type for a method returning instancetype. @interface NSObject Index: test/CodeGenObjC/debug-info-ivars-extension.m =================================================================== --- test/CodeGenObjC/debug-info-ivars-extension.m +++ test/CodeGenObjC/debug-info-ivars-extension.m @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -triple x86_64-apple-darwin10 -emit-llvm -g %s -o - | FileCheck %s +// RUN: %clang_cc1 -triple x86_64-apple-darwin10 -emit-llvm -di-kind=limited %s -o - | FileCheck %s // Make sure we generate debug symbols for ivars added by a class extension. Index: test/CodeGenObjC/debug-info-ivars-indirect.m =================================================================== --- test/CodeGenObjC/debug-info-ivars-indirect.m +++ test/CodeGenObjC/debug-info-ivars-indirect.m @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -triple x86_64-apple-darwin10 -emit-llvm -g %s -o - | FileCheck %s +// RUN: %clang_cc1 -triple x86_64-apple-darwin10 -emit-llvm -di-kind=limited %s -o - | FileCheck %s // Make sure we generate debug symbols for an indirectly referenced // extension to an interface. Index: test/CodeGenObjC/debug-info-ivars-private.m =================================================================== --- test/CodeGenObjC/debug-info-ivars-private.m +++ test/CodeGenObjC/debug-info-ivars-private.m @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -triple x86_64-apple-darwin10 -emit-llvm -g %s -o - | FileCheck %s +// RUN: %clang_cc1 -triple x86_64-apple-darwin10 -emit-llvm -di-kind=limited %s -o - | FileCheck %s // Debug symbols for private ivars. This test ensures that we are // generating debug info for ivars added by the implementation. Index: test/CodeGenObjC/debug-info-ivars.m =================================================================== --- test/CodeGenObjC/debug-info-ivars.m +++ test/CodeGenObjC/debug-info-ivars.m @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -triple x86_64-apple-darwin10 -emit-llvm -g %s -o - | FileCheck %s +// RUN: %clang_cc1 -triple x86_64-apple-darwin10 -emit-llvm -di-kind=limited %s -o - | FileCheck %s __attribute((objc_root_class)) @interface NSObject { id isa; Index: test/CodeGenObjC/debug-info-lifetime-crash.m =================================================================== --- test/CodeGenObjC/debug-info-lifetime-crash.m +++ test/CodeGenObjC/debug-info-lifetime-crash.m @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -triple arm-apple-ios -emit-llvm -g -fblocks -fobjc-runtime=ios-7.0.0 -fobjc-arc %s -o - | FileCheck %s +// RUN: %clang_cc1 -triple arm-apple-ios -emit-llvm -di-kind=limited -fblocks -fobjc-runtime=ios-7.0.0 -fobjc-arc %s -o - | FileCheck %s // rdar://problem/14990656 @protocol NSObject - (id)copy; Index: test/CodeGenObjC/debug-info-linkagename.m =================================================================== --- test/CodeGenObjC/debug-info-linkagename.m +++ test/CodeGenObjC/debug-info-linkagename.m @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -g -S -o %t %s +// RUN: %clang_cc1 -di-kind=limited -S -o %t %s // RUN: not grep "001-[F bar" %t // Linkage name should not use 001 prefix in debug info. Index: test/CodeGenObjC/debug-info-nested-blocks.m =================================================================== --- test/CodeGenObjC/debug-info-nested-blocks.m +++ test/CodeGenObjC/debug-info-nested-blocks.m @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -emit-llvm -gdwarf-2 -fblocks -o - -x objective-c %s| FileCheck %s +// RUN: %clang_cc1 -emit-llvm -dwarf-version=2 -di-kind=limited -fblocks -o - -x objective-c %s| FileCheck %s // This code triggered a bug where a dbg.declare intrinsic ended up with the // wrong parent and subsequently failed the Verifier. void baz(id b); Index: test/CodeGenObjC/debug-info-property-accessors.m =================================================================== --- test/CodeGenObjC/debug-info-property-accessors.m +++ test/CodeGenObjC/debug-info-property-accessors.m @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -emit-llvm -x objective-c -g -triple x86_64-apple-macosx10.8.0 %s -o - | FileCheck %s +// RUN: %clang_cc1 -emit-llvm -x objective-c -di-kind=limited -triple x86_64-apple-macosx10.8.0 %s -o - | FileCheck %s // // rdar://problem/14035789 // Index: test/CodeGenObjC/debug-info-property.m =================================================================== --- test/CodeGenObjC/debug-info-property.m +++ test/CodeGenObjC/debug-info-property.m @@ -1,5 +1,5 @@ // FIXME: Check IR rather than asm, then triple is not needed. -// RUN: %clang_cc1 -triple %itanium_abi_triple -masm-verbose -S -g %s -o - | FileCheck %s +// RUN: %clang_cc1 -triple %itanium_abi_triple -masm-verbose -S -di-kind=limited %s -o - | FileCheck %s // CHECK: AT_APPLE_property_name // CHECK: AT_APPLE_property_attribute Index: test/CodeGenObjC/debug-info-property2.m =================================================================== --- test/CodeGenObjC/debug-info-property2.m +++ test/CodeGenObjC/debug-info-property2.m @@ -1,5 +1,5 @@ // FIXME: Check IR rather than asm, then triple is not needed. -// RUN: %clang_cc1 -triple %itanium_abi_triple -masm-verbose -S -g %s -o - | FileCheck %s +// RUN: %clang_cc1 -triple %itanium_abi_triple -masm-verbose -S -di-kind=limited %s -o - | FileCheck %s // CHECK: AT_APPLE_property_name @interface C { Index: test/CodeGenObjC/debug-info-property3.m =================================================================== --- test/CodeGenObjC/debug-info-property3.m +++ test/CodeGenObjC/debug-info-property3.m @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -S -emit-llvm -g %s -o - | FileCheck %s +// RUN: %clang_cc1 -S -emit-llvm -di-kind=limited %s -o - | FileCheck %s @interface I1 // CHECK: !DIObjCProperty(name: "p1" Index: test/CodeGenObjC/debug-info-property4.m =================================================================== --- test/CodeGenObjC/debug-info-property4.m +++ test/CodeGenObjC/debug-info-property4.m @@ -1,5 +1,5 @@ // FIXME: Check IR rather than asm, then triple is not needed. -// RUN: %clang_cc1 -triple %itanium_abi_triple -masm-verbose -S -g %s -o - | FileCheck %s +// RUN: %clang_cc1 -triple %itanium_abi_triple -masm-verbose -S -di-kind=limited %s -o - | FileCheck %s // CHECK: AT_APPLE_property_name // CHECK-NOT: AT_APPLE_property_getter Index: test/CodeGenObjC/debug-info-property5.m =================================================================== --- test/CodeGenObjC/debug-info-property5.m +++ test/CodeGenObjC/debug-info-property5.m @@ -1,5 +1,5 @@ // FIXME: Check IR rather than asm, then triple is not needed. -// RUN: %clang_cc1 -triple %itanium_abi_triple -masm-verbose -S -g %s -o - | FileCheck %s +// RUN: %clang_cc1 -triple %itanium_abi_triple -masm-verbose -S -di-kind=limited %s -o - | FileCheck %s // CHECK: AT_APPLE_property_name // CHECK: AT_APPLE_property_getter Index: test/CodeGenObjC/debug-info-pubtypes.m =================================================================== --- test/CodeGenObjC/debug-info-pubtypes.m +++ test/CodeGenObjC/debug-info-pubtypes.m @@ -1,5 +1,5 @@ // REQUIRES: x86-registered-target -// RUN: %clang_cc1 -triple x86_64-apple-darwin10 -g -emit-llvm %s -o - | FileCheck %s +// RUN: %clang_cc1 -triple x86_64-apple-darwin10 -di-kind=limited -emit-llvm %s -o - | FileCheck %s // CHECK: !DICompositeType(tag: DW_TAG_structure_type, name: "H" // CHECK-SAME: line: [[@LINE+1]], Index: test/CodeGenObjC/debug-info-selector.m =================================================================== --- test/CodeGenObjC/debug-info-selector.m +++ test/CodeGenObjC/debug-info-selector.m @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -emit-llvm -g %s -o - | FileCheck %s +// RUN: %clang_cc1 -emit-llvm -di-kind=limited %s -o - | FileCheck %s // Radar 8494540 // CHECK: objc_selector Index: test/CodeGenObjC/debug-info-self.m =================================================================== --- test/CodeGenObjC/debug-info-self.m +++ test/CodeGenObjC/debug-info-self.m @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -emit-llvm -triple %itanium_abi_triple -g %s -o - | FileCheck %s +// RUN: %clang_cc1 -emit-llvm -triple %itanium_abi_triple -di-kind=limited %s -o - | FileCheck %s // self and _cmd are marked as DW_AT_artificial. // myarg is not marked as DW_AT_artificial. Index: test/CodeGenObjC/debug-info-static-var.m =================================================================== --- test/CodeGenObjC/debug-info-static-var.m +++ test/CodeGenObjC/debug-info-static-var.m @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -g -emit-llvm -o - %s | FileCheck %s +// RUN: %clang_cc1 -di-kind=limited -emit-llvm -o - %s | FileCheck %s // Radar 8801045 // Do not emit AT_MIPS_linkage_name for static variable i Index: test/CodeGenObjC/debug-info-synthesis.m =================================================================== --- test/CodeGenObjC/debug-info-synthesis.m +++ test/CodeGenObjC/debug-info-synthesis.m @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -emit-llvm -g -w -triple x86_64-apple-darwin10 %s -o - | FileCheck %s +// RUN: %clang_cc1 -emit-llvm -di-kind=limited -w -triple x86_64-apple-darwin10 %s -o - | FileCheck %s # 1 "foo.m" 1 # 1 "foo.m" 2 # 1 "./foo.h" 1 Index: test/CodeGenObjC/debug-info-variadic-method.m =================================================================== --- test/CodeGenObjC/debug-info-variadic-method.m +++ test/CodeGenObjC/debug-info-variadic-method.m @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -o - -emit-llvm -g %s | FileCheck %s +// RUN: %clang_cc1 -o - -emit-llvm -di-kind=limited %s | FileCheck %s // This test verifies that variadic ObjC methods get the // DW_TAG_unspecified_parameter marker. Index: test/CodeGenObjC/debug-property-synth.m =================================================================== --- test/CodeGenObjC/debug-property-synth.m +++ test/CodeGenObjC/debug-property-synth.m @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -triple %itanium_abi_triple -emit-llvm -g %s -o - | FileCheck %s +// RUN: %clang_cc1 -triple %itanium_abi_triple -emit-llvm -di-kind=limited %s -o - | FileCheck %s // rdar://problem/9468526 // // Setting a breakpoint on a property should create breakpoints in Index: test/CodeGenObjC/debuginfo-properties.m =================================================================== --- test/CodeGenObjC/debuginfo-properties.m +++ test/CodeGenObjC/debuginfo-properties.m @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -g -emit-llvm -triple x86_64-apple-darwin -o - %s | FileCheck %s +// RUN: %clang_cc1 -di-kind=limited -emit-llvm -triple x86_64-apple-darwin -o - %s | FileCheck %s // Check that we emit the correct method names for properties from a protocol. // rdar://problem/13798000 @protocol NSObject Index: test/CodeGenObjC/layout-bitfield-crash.m =================================================================== --- test/CodeGenObjC/layout-bitfield-crash.m +++ test/CodeGenObjC/layout-bitfield-crash.m @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -triple x86_64-apple-darwin11 -fobjc-gc -emit-llvm -g -o - %s +// RUN: %clang_cc1 -triple x86_64-apple-darwin11 -fobjc-gc -emit-llvm -di-kind=limited -o - %s // Check that this doesn't crash when compiled with debugging on. @class Foo; typedef struct Bar *BarRef; Index: test/CodeGenObjC/objc-fixed-enum.m =================================================================== --- test/CodeGenObjC/objc-fixed-enum.m +++ test/CodeGenObjC/objc-fixed-enum.m @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -g -emit-llvm -o - %s | FileCheck %s +// RUN: %clang_cc1 -di-kind=limited -emit-llvm -o - %s | FileCheck %s // The DWARF standard says the underlying data type of an enum may be // stored in an DW_AT_type entry in the enum DIE. This is useful to have // so the debugger knows about the signedness of the underlying type. Index: test/CodeGenObjC/objc2-weak-ivar-debug.m =================================================================== --- test/CodeGenObjC/objc2-weak-ivar-debug.m +++ test/CodeGenObjC/objc2-weak-ivar-debug.m @@ -1,7 +1,7 @@ -// RUN: %clang_cc1 -triple x86_64-apple-darwin9 -fobjc-runtime=macosx-fragile-10.5 -fobjc-gc -g -emit-llvm -o - %s -// RUN: %clang_cc1 -triple i386-apple-darwin9 -fobjc-runtime=macosx-fragile-10.5 -fobjc-gc -g -emit-llvm -o - %s -// RUN: %clang_cc1 -x objective-c++ -triple x86_64-apple-darwin9 -fobjc-runtime=macosx-fragile-10.5 -fobjc-gc -g -emit-llvm -o - %s -// RUN: %clang_cc1 -x objective-c++ -triple i386-apple-darwin9 -fobjc-runtime=macosx-fragile-10.5 -fobjc-gc -g -emit-llvm -o - %s +// RUN: %clang_cc1 -triple x86_64-apple-darwin9 -fobjc-runtime=macosx-fragile-10.5 -fobjc-gc -di-kind=limited -emit-llvm -o - %s +// RUN: %clang_cc1 -triple i386-apple-darwin9 -fobjc-runtime=macosx-fragile-10.5 -fobjc-gc -di-kind=limited -emit-llvm -o - %s +// RUN: %clang_cc1 -x objective-c++ -triple x86_64-apple-darwin9 -fobjc-runtime=macosx-fragile-10.5 -fobjc-gc -di-kind=limited -emit-llvm -o - %s +// RUN: %clang_cc1 -x objective-c++ -triple i386-apple-darwin9 -fobjc-runtime=macosx-fragile-10.5 -fobjc-gc -di-kind=limited -emit-llvm -o - %s // rdar://7252252 @interface Loop { Index: test/CodeGenObjC/property-dbg.m =================================================================== --- test/CodeGenObjC/property-dbg.m +++ test/CodeGenObjC/property-dbg.m @@ -1,5 +1,5 @@ // FIXME: Check IR rather than asm, then triple is not needed. -// RUN: %clang_cc1 -triple %itanium_abi_triple -S -g -masm-verbose -x objective-c < %s | grep DW_AT_name +// RUN: %clang_cc1 -triple %itanium_abi_triple -S -di-kind=limited -masm-verbose -x objective-c < %s | grep DW_AT_name @interface Foo { int i; } Index: test/CodeGenObjCXX/debug-info-cyclic.mm =================================================================== --- test/CodeGenObjCXX/debug-info-cyclic.mm +++ test/CodeGenObjCXX/debug-info-cyclic.mm @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -triple x86_64-apple-darwin -g -emit-llvm %s -o - | FileCheck %s +// RUN: %clang_cc1 -triple x86_64-apple-darwin -di-kind=full -emit-llvm %s -o - | FileCheck %s struct B { // CHECK: !DICompositeType(tag: DW_TAG_structure_type, name: "B" Index: test/CodeGenObjCXX/debug-info-line.mm =================================================================== --- test/CodeGenObjCXX/debug-info-line.mm +++ test/CodeGenObjCXX/debug-info-line.mm @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -fcxx-exceptions -fexceptions -gline-tables-only -fblocks -emit-llvm %s -o - | FileCheck %s +// RUN: %clang_cc1 -fcxx-exceptions -fexceptions -di-kind=line-tables -fblocks -emit-llvm %s -o - | FileCheck %s void fn(); Index: test/CodeGenObjCXX/debug-info.mm =================================================================== --- test/CodeGenObjCXX/debug-info.mm +++ test/CodeGenObjCXX/debug-info.mm @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -triple x86_64-apple-darwin10 -g -emit-llvm %s -o /dev/null +// RUN: %clang_cc1 -triple x86_64-apple-darwin10 -di-kind=limited -emit-llvm %s -o /dev/null // This test passes if clang doesn't crash. Index: test/CodeGenObjCXX/nested-ehlocation.mm =================================================================== --- test/CodeGenObjCXX/nested-ehlocation.mm +++ test/CodeGenObjCXX/nested-ehlocation.mm @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -triple x86_64-apple-macosx -emit-llvm -g -stdlib=libc++ -fblocks -fexceptions -x objective-c++ -o - %s | FileCheck %s +// RUN: %clang_cc1 -triple x86_64-apple-macosx -emit-llvm -di-kind=limited -stdlib=libc++ -fblocks -fexceptions -x objective-c++ -o - %s | FileCheck %s // Verify that all invoke instructions have a debug location. // Literally: There are no unwind lines that don't end with ", (!dbg 123)". Index: test/CodeGenObjCXX/pr14474-gline-tables-only.mm =================================================================== --- test/CodeGenObjCXX/pr14474-gline-tables-only.mm +++ test/CodeGenObjCXX/pr14474-gline-tables-only.mm @@ -1,6 +1,6 @@ // PR 14474 // RUN: %clang_cc1 -triple i386-apple-macosx10.6.0 -emit-llvm \ -// RUN: -gline-tables-only -x objective-c++ -o /dev/null %s +// RUN: -di-kind=line-tables -x objective-c++ -o /dev/null %s typedef signed char BOOL; @class NSInvocation, NSMethodSignature, NSCoder, NSString, NSEnumerator; Index: test/CodeGenObjCXX/property-objects.mm =================================================================== --- test/CodeGenObjCXX/property-objects.mm +++ test/CodeGenObjCXX/property-objects.mm @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 %s -triple=x86_64-apple-darwin10 -std=c++11 -emit-llvm -g -o - | FileCheck %s +// RUN: %clang_cc1 %s -triple=x86_64-apple-darwin10 -std=c++11 -emit-llvm -di-kind=limited -o - | FileCheck %s class S { public: Index: test/Coverage/codegen-next.m =================================================================== --- test/Coverage/codegen-next.m +++ test/Coverage/codegen-next.m @@ -1,5 +1,5 @@ // RUN: %clang_cc1 -emit-llvm -fobjc-exceptions -triple x86_64-apple-darwin -o %t %s -// RUN: %clang_cc1 -g -emit-llvm -fobjc-exceptions -triple x86_64-apple-darwin -o %t %s +// RUN: %clang_cc1 -di-kind=limited -emit-llvm -fobjc-exceptions -triple x86_64-apple-darwin -o %t %s // An error could be seen for targeting x86_64-win32; // Index: test/Coverage/codegen.c =================================================================== --- test/Coverage/codegen.c +++ test/Coverage/codegen.c @@ -1,7 +1,7 @@ // RUN: %clang_cc1 -triple i386-unknown-unknown -emit-llvm -o %t %s // RUN: %clang_cc1 -triple i386-unknown-unknown -emit-llvm-bc -o %t %s -// RUN: %clang_cc1 -triple i386-unknown-unknown -g -emit-llvm-bc -o %t %s +// RUN: %clang_cc1 -triple i386-unknown-unknown -di-kind=limited -emit-llvm-bc -o %t %s // RUN: %clang_cc1 -triple x86_64-unknown-unknown -emit-llvm-bc -o %t %s -// RUN: %clang_cc1 -triple x86_64-unknown-unknown -g -emit-llvm-bc -o %t %s +// RUN: %clang_cc1 -triple x86_64-unknown-unknown -di-kind=limited -emit-llvm-bc -o %t %s #include "c-language-features.inc" Index: test/Coverage/targets.c =================================================================== --- test/Coverage/targets.c +++ test/Coverage/targets.c @@ -1,19 +1,19 @@ -// RUN: %clang_cc1 -g -triple armv6-apple-darwin9 -emit-llvm -o %t %s -// RUN: %clang_cc1 -g -triple armv6-unknown-unknown -emit-llvm -o %t %s -// RUN: %clang_cc1 -g -triple i686-apple-darwin9 -emit-llvm -o %t %s -// RUN: %clang_cc1 -g -triple i686-pc-linux-gnu -emit-llvm -o %t %s -// RUN: %clang_cc1 -g -triple i686-unknown-dragonfly -emit-llvm -o %t %s -// RUN: %clang_cc1 -g -triple i686-unknown-unknown -emit-llvm -o %t %s -// RUN: %clang_cc1 -g -triple i686-unknown-win32 -emit-llvm -o %t %s -// RUN: %clang_cc1 -g -triple powerpc-apple-darwin9 -emit-llvm -o %t %s -// RUN: %clang_cc1 -g -triple powerpc-unknown-unknown -emit-llvm -o %t %s -// RUN: %clang_cc1 -g -triple powerpc64-apple-darwin9 -emit-llvm -o %t %s -// RUN: %clang_cc1 -g -triple powerpc64-unknown-unknown -emit-llvm -o %t %s -// RUN: %clang_cc1 -g -triple sparc-unknown-solaris -emit-llvm -o %t %s -// RUN: %clang_cc1 -g -triple sparc-unknown-unknown -emit-llvm -o %t %s -// RUN: %clang_cc1 -g -triple x86_64-apple-darwin9 -emit-llvm -o %t %s -// RUN: %clang_cc1 -g -triple x86_64-pc-linux-gnu -emit-llvm -o %t %s -// RUN: %clang_cc1 -g -triple x86_64-unknown-unknown -emit-llvm -o %t %s +// RUN: %clang_cc1 -di-kind=limited -triple armv6-apple-darwin9 -emit-llvm -o %t %s +// RUN: %clang_cc1 -di-kind=limited -triple armv6-unknown-unknown -emit-llvm -o %t %s +// RUN: %clang_cc1 -di-kind=limited -triple i686-apple-darwin9 -emit-llvm -o %t %s +// RUN: %clang_cc1 -di-kind=limited -triple i686-pc-linux-gnu -emit-llvm -o %t %s +// RUN: %clang_cc1 -di-kind=limited -triple i686-unknown-dragonfly -emit-llvm -o %t %s +// RUN: %clang_cc1 -di-kind=limited -triple i686-unknown-unknown -emit-llvm -o %t %s +// RUN: %clang_cc1 -di-kind=limited -triple i686-unknown-win32 -emit-llvm -o %t %s +// RUN: %clang_cc1 -di-kind=limited -triple powerpc-apple-darwin9 -emit-llvm -o %t %s +// RUN: %clang_cc1 -di-kind=limited -triple powerpc-unknown-unknown -emit-llvm -o %t %s +// RUN: %clang_cc1 -di-kind=limited -triple powerpc64-apple-darwin9 -emit-llvm -o %t %s +// RUN: %clang_cc1 -di-kind=limited -triple powerpc64-unknown-unknown -emit-llvm -o %t %s +// RUN: %clang_cc1 -di-kind=limited -triple sparc-unknown-solaris -emit-llvm -o %t %s +// RUN: %clang_cc1 -di-kind=limited -triple sparc-unknown-unknown -emit-llvm -o %t %s +// RUN: %clang_cc1 -di-kind=limited -triple x86_64-apple-darwin9 -emit-llvm -o %t %s +// RUN: %clang_cc1 -di-kind=limited -triple x86_64-pc-linux-gnu -emit-llvm -o %t %s +// RUN: %clang_cc1 -di-kind=limited -triple x86_64-unknown-unknown -emit-llvm -o %t %s // clang 1.0 fails to compile Python 2.6 // RUN: %clang -target x86_64-apple-darwin9 -### -S %s -mmacosx-version-min=10.4 Index: test/Driver/cl-options.c =================================================================== --- test/Driver/cl-options.c +++ test/Driver/cl-options.c @@ -362,17 +362,25 @@ // ThreadSafeStatics-NOT: "-fno-threadsafe-statics" // RUN: %clang_cl /Zi /c -### -- %s 2>&1 | FileCheck -check-prefix=Zi %s -// Zi: "-gline-tables-only" // Zi: "-gcodeview" +// Zi: "-di-kind=line-tables" // RUN: %clang_cl /Z7 /c -### -- %s 2>&1 | FileCheck -check-prefix=Z7 %s -// Z7: "-gline-tables-only" // Z7: "-gcodeview" - +// Z7: "-di-kind=line-tables" + +// This test was super sneaky: "/Z7" means "line-tables", but "-gdwarf" occurs +// later on the command line, so it should win. Interestingly the cc1 arguments +// came out right, but had wrong semantics, because an invariant assumed by +// CompilerInvocation was violated: it expects that at most one of {gdwarfN, +// line-tables-only} appear. If you assume that, then you can safely use +// Args.hasArg to test whether a boolean flag is present without caring +// where it appeared. And for this test, it appeared to the left of -gdwarf +// which made it "win". This test could not detect that bug. // RUN: %clang_cl /Z7 -gdwarf /c -### -- %s 2>&1 | FileCheck -check-prefix=Z7_gdwarf %s -// Z7_gdwarf: "-gline-tables-only" // Z7_gdwarf: "-gcodeview" -// Z7_gdwarf: "-gdwarf-4" +// Z7_gdwarf: "-di-kind=limited" +// Z7_gdwarf: "-dwarf-version=4" // RUN: %clang_cl -fmsc-version=1800 -TP -### -- %s 2>&1 | FileCheck -check-prefix=CXX11 %s // CXX11: -std=c++11 Index: test/Driver/clang-g-opts.c =================================================================== --- test/Driver/clang-g-opts.c +++ test/Driver/clang-g-opts.c @@ -1,14 +1,24 @@ // RUN: %clang -### -S %s 2>&1 | FileCheck --check-prefix=CHECK-WITHOUT-G %s // RUN: %clang -### -S %s -g -target x86_64-linux-gnu 2>&1 \ // RUN: | FileCheck --check-prefix=CHECK-WITH-G %s + +// Assert that the toolchains which should default to a lower Dwarf version do so. // RUN: %clang -### -S %s -g -target x86_64-apple-darwin 2>&1 \ // RUN: | FileCheck --check-prefix=CHECK-WITH-G-DWARF2 %s // RUN: %clang -### -S %s -g -target i686-pc-openbsd 2>&1 \ // RUN: | FileCheck --check-prefix=CHECK-WITH-G-DWARF2 %s // RUN: %clang -### -S %s -g -target x86_64-pc-freebsd10.0 2>&1 \ // RUN: | FileCheck --check-prefix=CHECK-WITH-G-DWARF2 %s + +// 'g0' is the default. Just sanity-test that it does nothing // RUN: %clang -### -S %s -g0 2>&1 | FileCheck --check-prefix=CHECK-WITHOUT-G %s + +// And check that the last of -g or -g0 wins. // RUN: %clang -### -S %s -g -g0 2>&1 | FileCheck --check-prefix=CHECK-WITHOUT-G %s + +// These should be semantically the same as not having given 'g0' +// as the last 'g' option wins. Nothing interesting to see here. +// // RUN: %clang -### -S %s -g0 -g -target x86_64-linux-gnu 2>&1 \ // RUN: | FileCheck --check-prefix=CHECK-WITH-G %s // RUN: %clang -### -S %s -g0 -g -target x86_64-apple-darwin 2>&1 \ @@ -20,7 +30,7 @@ // RUN: %clang -### -S %s -g0 -g -target i386-pc-solaris 2>&1 \ // RUN: | FileCheck --check-prefix=CHECK-WITH-G-DWARF2 %s -// CHECK-WITHOUT-G-NOT: "-g" -// CHECK-WITH-G: "-g" -// CHECK-WITH-G-DWARF2: "-gdwarf-2" - +// CHECK-WITHOUT-G-NOT: "-di-kind=" +// CHECK-WITH-G: "-di-kind=limited" +// CHECK-WITH-G: "-dwarf-version=4" +// CHECK-WITH-G-DWARF2: "-dwarf-version=2" Index: test/Driver/debug-options.c =================================================================== --- test/Driver/debug-options.c +++ test/Driver/debug-options.c @@ -81,40 +81,37 @@ // RUN: | FileCheck -check-prefix=GEXTREFS %s // // G: "-cc1" -// G: "-g" +// G: "-di-kind=limited" // // G_DARWIN: "-cc1" -// G_DARWIN: "-gdwarf-2" +// G_DARWIN: "-dwarf-version=2" // // G_D2: "-cc1" -// G_D2: "-gdwarf-2" +// G_D2: "-dwarf-version=2" // // G_NO: "-cc1" -// G_NO-NOT: "-g" +// G_NO-NOT: -di-kind= // // GLTO_ONLY: "-cc1" -// GLTO_ONLY-NOT: "-g" -// GLTO_ONLY: "-gline-tables-only" -// GLTO_ONLY-NOT: "-g" +// GLTO_ONLY: "-di-kind=line-tables" // // GLTO_ONLY_DWARF2: "-cc1" -// GLTO_ONLY_DWARF2-NOT: "-g" -// GLTO_ONLY_DWARF2: "-gline-tables-only" -// GLTO_ONLY_DWARF2: "-gdwarf-2" -// GLTO_ONLY_DWARF2-NOT: "-g" +// GLTO_ONLY_DWARF2: "-di-kind=line-tables" +// GLTO_ONLY_DWARF2: "-dwarf-version=2" // // G_ONLY: "-cc1" -// G_ONLY-NOT: "-gline-tables-only" -// G_ONLY: "-g" -// G_ONLY-NOT: "-gline-tables-only" +// G_ONLY: "-di-kind=limited" // +// These tests assert that "-gline-tables-only" "-g" uses the latter, +// but otherwise not caring about the DebugInfoKind (of which the BSD +// derivatives favor dwarf-2, with only Solaris using Dwarf-4). // G_ONLY_DWARF2: "-cc1" -// G_ONLY_DWARF2-NOT: "-gline-tables-only" -// G_ONLY_DWARF2: "-gdwarf-2" -// G_ONLY_DWARF2-NOT: "-gline-tables-only" +// G_ONLY_DWARF2: "-di-kind={{full|limited}}" +// G_ONLY_DWARF2: "-dwarf-version=2" // +// This tests asserts that "-gline-tables-only" "-g0" disables debug info. // GLTO_NO: "-cc1" -// GLTO_NO-NOT: "-gline-tables-only" +// GLTO_NO-NOT: -di-kind= // // GIGNORE-NOT: "argument unused during compilation" // @@ -130,4 +127,4 @@ // // NOCI-NOT: "-dwarf-column-info" // -// GEXTREFS: "-g" "-dwarf-ext-refs" "-fmodule-format=obj" +// GEXTREFS: "-dwarf-ext-refs" "-fmodule-format=obj" "-di-kind=limited" Index: test/Driver/split-debug.c =================================================================== --- test/Driver/split-debug.c +++ test/Driver/split-debug.c @@ -36,16 +36,12 @@ // RUN: %clang -target x86_64-unknown-linux-gnu -gsplit-dwarf -gmlt -S -### %s 2> %t // RUN: FileCheck -check-prefix=CHECK-GMLT-OVER-SPLIT < %t %s // -// CHECK-GMLT-OVER-SPLIT: "-gline-tables-only" -// CHECK-GMLT-OVER-SPLIT-NOT: "-g" +// CHECK-GMLT-OVER-SPLIT: "-di-kind=line-tables" // CHECK-GMLT-OVER-SPLIT-NOT: "-split-dwarf=Enable" // CHECK-GMLT-OVER-SPLIT-NOT: "-split-dwarf-file" // RUN: %clang -target x86_64-unknown-linux-gnu -gmlt -gsplit-dwarf -S -### %s 2> %t // RUN: FileCheck -check-prefix=CHECK-SPLIT-OVER-GMLT < %t %s // -// CHECK-SPLIT-OVER-GMLT-NOT: "-gline-tables-only" -// CHECK-SPLIT-OVER-GMLT: "-g" -// CHECK-SPLIT-OVER-GMLT: "-split-dwarf=Enable" +// CHECK-SPLIT-OVER-GMLT: "-split-dwarf=Enable" "-di-kind=limited" // CHECK-SPLIT-OVER-GMLT: "-split-dwarf-file" -// CHECK-SPLIT-OVER-GMLT-NOT: "-gline-tables-only" Index: test/Frontend/optimization-remark-line-directive.c =================================================================== --- test/Frontend/optimization-remark-line-directive.c +++ test/Frontend/optimization-remark-line-directive.c @@ -2,7 +2,7 @@ // directives. We cannot map #line directives back to // a SourceLocation. -// RUN: %clang_cc1 %s -Rpass=inline -gline-tables-only -dwarf-column-info -emit-llvm-only -verify +// RUN: %clang_cc1 %s -Rpass=inline -di-kind=line-tables -dwarf-column-info -emit-llvm-only -verify int foo(int x, int y) __attribute__((always_inline)); int foo(int x, int y) { return x + y; } Index: test/Frontend/optimization-remark.c =================================================================== --- test/Frontend/optimization-remark.c +++ test/Frontend/optimization-remark.c @@ -4,7 +4,7 @@ // optimization level. // RUN: %clang_cc1 %s -Rpass=inline -Rpass-analysis=inline -Rpass-missed=inline -O0 -emit-llvm-only -verify -// RUN: %clang_cc1 %s -Rpass=inline -Rpass-analysis=inline -Rpass-missed=inline -O0 -emit-llvm-only -gline-tables-only -verify +// RUN: %clang_cc1 %s -Rpass=inline -Rpass-analysis=inline -Rpass-missed=inline -O0 -emit-llvm-only -di-kind=line-tables -verify // RUN: %clang_cc1 %s -Rpass=inline -emit-llvm -o - 2>/dev/null | FileCheck %s // // Check that we can override -Rpass= with -Rno-pass. Index: test/Misc/backend-optimization-failure.cpp =================================================================== --- test/Misc/backend-optimization-failure.cpp +++ test/Misc/backend-optimization-failure.cpp @@ -1,4 +1,4 @@ -// RUN: %clang_cc1 -triple x86_64-unknown-unknown %s -O3 -emit-llvm -gline-tables-only -S -verify -o /dev/null +// RUN: %clang_cc1 -triple x86_64-unknown-unknown %s -O3 -emit-llvm -di-kind=line-tables -S -verify -o /dev/null // REQUIRES: x86-registered-target // Test verifies optimization failures generated by the backend are handled Index: test/Modules/DebugInfoSubmoduleImport.c =================================================================== --- test/Modules/DebugInfoSubmoduleImport.c +++ test/Modules/DebugInfoSubmoduleImport.c @@ -1,5 +1,5 @@ // RUN: rm -rf %t -// RUN: %clang_cc1 -fmodules -fmodule-format=obj -g -dwarf-ext-refs \ +// RUN: %clang_cc1 -fmodules -fmodule-format=obj -di-kind=limited -dwarf-ext-refs \ // RUN: -fimplicit-module-maps -x c -fmodules-cache-path=%t -I %S/Inputs \ // RUN: %s -emit-llvm -o - | FileCheck %s #include "DebugSubmoduleA.h" Index: test/Modules/DebugInfoSubmodules.c =================================================================== --- test/Modules/DebugInfoSubmodules.c +++ test/Modules/DebugInfoSubmodules.c @@ -1,5 +1,5 @@ // RUN: rm -rf %t -// RUN: %clang_cc1 -fmodules -fmodule-format=obj -g -dwarf-ext-refs \ +// RUN: %clang_cc1 -fmodules -fmodule-format=obj -di-kind=limited -dwarf-ext-refs \ // RUN: -fimplicit-module-maps -x c -fmodules-cache-path=%t -I %S/Inputs \ // RUN: %s -mllvm -debug-only=pchcontainer -emit-llvm -o %t.ll \ // RUN: 2>&1 | FileCheck %s Index: test/Modules/DebugInfoTransitiveImport.m =================================================================== --- test/Modules/DebugInfoTransitiveImport.m +++ test/Modules/DebugInfoTransitiveImport.m @@ -1,5 +1,5 @@ // RUN: rm -rf %t -// RUN: %clang_cc1 -fmodules -fmodule-format=obj -g -dwarf-ext-refs \ +// RUN: %clang_cc1 -fmodules -fmodule-format=obj -di-kind=limited -dwarf-ext-refs \ // RUN: -fimplicit-module-maps -fmodules-cache-path=%t -I %S/Inputs \ // RUN: %s -mllvm -debug-only=pchcontainer 2>&1 | FileCheck %s // REQUIRES: asserts Index: test/Modules/ExtDebugInfo.cpp =================================================================== --- test/Modules/ExtDebugInfo.cpp +++ test/Modules/ExtDebugInfo.cpp @@ -2,7 +2,7 @@ // Test that only forward declarations are emitted for types dfined in modules. // Modules: -// RUN: %clang_cc1 -x objective-c++ -std=c++11 -g -dwarf-ext-refs -fmodules \ +// RUN: %clang_cc1 -x objective-c++ -std=c++11 -di-kind=limited -dwarf-ext-refs -fmodules \ // RUN: -fmodule-format=obj -fimplicit-module-maps -DMODULES \ // RUN: -triple %itanium_abi_triple \ // RUN: -fmodules-cache-path=%t %s -I %S/Inputs -I %t -emit-llvm -o %t-mod.ll @@ -12,7 +12,7 @@ // RUN: %clang_cc1 -x c++ -std=c++11 -fmodule-format=obj -emit-pch -I%S/Inputs \ // RUN: -triple %itanium_abi_triple \ // RUN: -o %t.pch %S/Inputs/DebugCXX.h -// RUN: %clang_cc1 -std=c++11 -g -dwarf-ext-refs -fmodule-format=obj \ +// RUN: %clang_cc1 -std=c++11 -di-kind=limited -dwarf-ext-refs -fmodule-format=obj \ // RUN: -triple %itanium_abi_triple \ // RUN: -include-pch %t.pch %s -emit-llvm -o %t-pch.ll %s // RUN: cat %t-pch.ll | FileCheck %s Index: test/Modules/ExtDebugInfo.m =================================================================== --- test/Modules/ExtDebugInfo.m +++ test/Modules/ExtDebugInfo.m @@ -2,7 +2,7 @@ // Test that only forward declarations are emitted for types defined in modules. // Modules: -// RUN: %clang_cc1 -x objective-c -g -dwarf-ext-refs -fmodules \ +// RUN: %clang_cc1 -x objective-c -di-kind=limited -dwarf-ext-refs -fmodules \ // RUN: -fmodule-format=obj -fimplicit-module-maps -DMODULES \ // RUN: -fmodules-cache-path=%t %s -I %S/Inputs -I %t -emit-llvm -o %t-mod.ll // RUN: cat %t-mod.ll | FileCheck %s @@ -10,7 +10,7 @@ // PCH: // RUN: %clang_cc1 -x objective-c -fmodule-format=obj -emit-pch -I%S/Inputs \ // RUN: -o %t.pch %S/Inputs/DebugObjC.h -// RUN: %clang_cc1 -x objective-c -g -dwarf-ext-refs -fmodule-format=obj \ +// RUN: %clang_cc1 -x objective-c -di-kind=limited -dwarf-ext-refs -fmodule-format=obj \ // RUN: -include-pch %t.pch %s -emit-llvm -o %t-pch.ll %s // RUN: cat %t-pch.ll | FileCheck %s Index: test/Modules/ModuleDebugInfo.cpp =================================================================== --- test/Modules/ModuleDebugInfo.cpp +++ test/Modules/ModuleDebugInfo.cpp @@ -5,7 +5,7 @@ // Modules: // RUN: rm -rf %t -// RUN: %clang_cc1 -triple %itanium_abi_triple -x objective-c++ -std=c++11 -g -fmodules -fmodule-format=obj -fimplicit-module-maps -DMODULES -fmodules-cache-path=%t %s -I %S/Inputs -I %t -emit-llvm -o %t.ll -mllvm -debug-only=pchcontainer &>%t-mod.ll +// RUN: %clang_cc1 -triple %itanium_abi_triple -x objective-c++ -std=c++11 -di-kind=limited -fmodules -fmodule-format=obj -fimplicit-module-maps -DMODULES -fmodules-cache-path=%t %s -I %S/Inputs -I %t -emit-llvm -o %t.ll -mllvm -debug-only=pchcontainer &>%t-mod.ll // RUN: cat %t-mod.ll | FileCheck %s // RUN: cat %t-mod.ll | FileCheck --check-prefix=CHECK-NEG %s // RUN: cat %t-mod.ll | FileCheck --check-prefix=CHECK-DWO %s Index: test/Modules/cxx-irgen.cpp =================================================================== --- test/Modules/cxx-irgen.cpp +++ test/Modules/cxx-irgen.cpp @@ -1,6 +1,6 @@ // RUN: rm -rf %t // RUN: %clang_cc1 -fmodules -fimplicit-module-maps -x objective-c++ -std=c++11 -fmodules-cache-path=%t -I %S/Inputs -triple %itanium_abi_triple -disable-llvm-optzns -emit-llvm -o - %s | FileCheck %s -// RUN: %clang_cc1 -fmodules -fimplicit-module-maps -x objective-c++ -std=c++11 -fmodules-cache-path=%t -I %S/Inputs -triple %itanium_abi_triple -disable-llvm-optzns -emit-llvm -g -o - %s | FileCheck %s +// RUN: %clang_cc1 -fmodules -fimplicit-module-maps -x objective-c++ -std=c++11 -fmodules-cache-path=%t -I %S/Inputs -triple %itanium_abi_triple -disable-llvm-optzns -emit-llvm -di-kind=limited -o - %s | FileCheck %s // FIXME: When we have a syntax for modules in C++, use that. @import cxx_irgen_top; Index: test/Modules/debug-info-moduleimport.m =================================================================== --- test/Modules/debug-info-moduleimport.m +++ test/Modules/debug-info-moduleimport.m @@ -1,5 +1,5 @@ // RUN: rm -rf %t -// RUN: %clang_cc1 -g -fmodules -DGREETING="Hello World" -UNDEBUG -fimplicit-module-maps -fmodules-cache-path=%t %s -I %S/Inputs -isysroot /tmp/.. -I %t -emit-llvm -o - | FileCheck %s +// RUN: %clang_cc1 -di-kind=limited -fmodules -DGREETING="Hello World" -UNDEBUG -fimplicit-module-maps -fmodules-cache-path=%t %s -I %S/Inputs -isysroot /tmp/.. -I %t -emit-llvm -o - | FileCheck %s // CHECK: ![[CU:.*]] = distinct !DICompileUnit @import DebugObjC; @@ -11,13 +11,13 @@ // CHECK-SAME: isysroot: "/tmp/..") -// RUN: %clang_cc1 -g -fmodules -fimplicit-module-maps -fmodules-cache-path=%t \ +// RUN: %clang_cc1 -di-kind=limited -fmodules -fimplicit-module-maps -fmodules-cache-path=%t \ // RUN: %s -I %S/Inputs -isysroot /tmp/.. -I %t -emit-llvm -o - \ // RUN: | FileCheck %s --check-prefix=NO-SKEL-CHECK // NO-SKEL-CHECK: distinct !DICompileUnit // NO-SKEL-CHECK-NOT: distinct !DICompileUnit -// RUN: %clang_cc1 -g -fmodules -fimplicit-module-maps -fmodules-cache-path=%t \ +// RUN: %clang_cc1 -di-kind=limited -fmodules -fimplicit-module-maps -fmodules-cache-path=%t \ // RUN: -fmodule-format=obj -dwarf-ext-refs \ // RUN: %s -I %S/Inputs -isysroot /tmp/.. -I %t -emit-llvm -o - \ // RUN: | FileCheck %s --check-prefix=SKEL-CHECK Index: test/OpenMP/atomic_codegen.cpp =================================================================== --- test/OpenMP/atomic_codegen.cpp +++ test/OpenMP/atomic_codegen.cpp @@ -1,5 +1,5 @@ // RUN: %clang_cc1 -verify -triple x86_64-apple-darwin10 -fopenmp -fexceptions -fcxx-exceptions -x c++ -emit-llvm %s -o - | FileCheck %s -// RUN: %clang_cc1 -verify -triple x86_64-apple-darwin10 -fopenmp -fexceptions -fcxx-exceptions -gline-tables-only -x c++ -emit-llvm %s -o - | FileCheck %s --check-prefix=TERM_DEBUG +// RUN: %clang_cc1 -verify -triple x86_64-apple-darwin10 -fopenmp -fexceptions -fcxx-exceptions -di-kind=line-tables -x c++ -emit-llvm %s -o - | FileCheck %s --check-prefix=TERM_DEBUG // expected-no-diagnostics int a; Index: test/OpenMP/critical_codegen.cpp =================================================================== --- test/OpenMP/critical_codegen.cpp +++ test/OpenMP/critical_codegen.cpp @@ -1,7 +1,7 @@ // RUN: %clang_cc1 -verify -fopenmp -x c++ -emit-llvm %s -fexceptions -fcxx-exceptions -o - | FileCheck %s // RUN: %clang_cc1 -fopenmp -x c++ -std=c++11 -triple x86_64-unknown-unknown -fexceptions -fcxx-exceptions -emit-pch -o %t %s // RUN: %clang_cc1 -fopenmp -x c++ -triple x86_64-unknown-unknown -fexceptions -fcxx-exceptions -std=c++11 -include-pch %t -verify %s -emit-llvm -o - | FileCheck %s -// RUN: %clang_cc1 -verify -triple x86_64-apple-darwin10 -fopenmp -fexceptions -fcxx-exceptions -gline-tables-only -x c++ -emit-llvm %s -o - | FileCheck %s --check-prefix=TERM_DEBUG +// RUN: %clang_cc1 -verify -triple x86_64-apple-darwin10 -fopenmp -fexceptions -fcxx-exceptions -di-kind=line-tables -x c++ -emit-llvm %s -o - | FileCheck %s --check-prefix=TERM_DEBUG // expected-no-diagnostics // REQUIRES: x86-registered-target #ifndef HEADER Index: test/OpenMP/flush_codegen.cpp =================================================================== --- test/OpenMP/flush_codegen.cpp +++ test/OpenMP/flush_codegen.cpp @@ -1,6 +1,6 @@ // RUN: %clang_cc1 -verify -fopenmp -x c++ -emit-llvm %s -fexceptions -fcxx-exceptions -o - | FileCheck %s // RUN: %clang_cc1 -fopenmp -x c++ -std=c++11 -triple x86_64-unknown-unknown -fexceptions -fcxx-exceptions -emit-pch -o %t %s -// RUN: %clang_cc1 -fopenmp -x c++ -triple x86_64-unknown-unknown -fexceptions -fcxx-exceptions -g -std=c++11 -include-pch %t -verify %s -emit-llvm -o - | FileCheck %s +// RUN: %clang_cc1 -fopenmp -x c++ -triple x86_64-unknown-unknown -fexceptions -fcxx-exceptions -di-kind=limited -std=c++11 -include-pch %t -verify %s -emit-llvm -o - | FileCheck %s // expected-no-diagnostics // REQUIRES: x86-registered-target #ifndef HEADER Index: test/OpenMP/for_codegen.cpp =================================================================== --- test/OpenMP/for_codegen.cpp +++ test/OpenMP/for_codegen.cpp @@ -1,7 +1,7 @@ // RUN: %clang_cc1 -verify -fopenmp -x c++ -triple x86_64-unknown-unknown -emit-llvm %s -fexceptions -fcxx-exceptions -o - | FileCheck %s // RUN: %clang_cc1 -fopenmp -x c++ -std=c++11 -triple x86_64-unknown-unknown -fexceptions -fcxx-exceptions -emit-pch -o %t %s // RUN: %clang_cc1 -fopenmp -x c++ -triple x86_64-unknown-unknown -fexceptions -fcxx-exceptions -std=c++11 -include-pch %t -verify %s -emit-llvm -o - | FileCheck %s -// RUN: %clang_cc1 -verify -triple x86_64-apple-darwin10 -fopenmp -fexceptions -fcxx-exceptions -gline-tables-only -x c++ -emit-llvm %s -o - | FileCheck %s --check-prefix=TERM_DEBUG +// RUN: %clang_cc1 -verify -triple x86_64-apple-darwin10 -fopenmp -fexceptions -fcxx-exceptions -di-kind=line-tables -x c++ -emit-llvm %s -o - | FileCheck %s --check-prefix=TERM_DEBUG // // expected-no-diagnostics // REQUIRES: x86-registered-target Index: test/OpenMP/for_simd_codegen.cpp =================================================================== --- test/OpenMP/for_simd_codegen.cpp +++ test/OpenMP/for_simd_codegen.cpp @@ -1,7 +1,7 @@ // RUN: %clang_cc1 -verify -fopenmp -x c++ -triple x86_64-unknown-unknown -emit-llvm %s -fexceptions -fcxx-exceptions -o - | FileCheck %s // RUN: %clang_cc1 -fopenmp -x c++ -std=c++11 -triple x86_64-unknown-unknown -fexceptions -fcxx-exceptions -emit-pch -o %t %s -// RUN: %clang_cc1 -fopenmp -x c++ -triple x86_64-unknown-unknown -fexceptions -fcxx-exceptions -g -std=c++11 -include-pch %t -verify %s -emit-llvm -o - | FileCheck %s -// RUN: %clang_cc1 -verify -triple x86_64-apple-darwin10 -fopenmp -fexceptions -fcxx-exceptions -gline-tables-only -x c++ -emit-llvm %s -o - | FileCheck %s --check-prefix=TERM_DEBUG +// RUN: %clang_cc1 -fopenmp -x c++ -triple x86_64-unknown-unknown -fexceptions -fcxx-exceptions -di-kind=limited -std=c++11 -include-pch %t -verify %s -emit-llvm -o - | FileCheck %s +// RUN: %clang_cc1 -verify -triple x86_64-apple-darwin10 -fopenmp -fexceptions -fcxx-exceptions -di-kind=line-tables -x c++ -emit-llvm %s -o - | FileCheck %s --check-prefix=TERM_DEBUG // REQUIRES: x86-registered-target // expected-no-diagnostics #ifndef HEADER Index: test/OpenMP/master_codegen.cpp =================================================================== --- test/OpenMP/master_codegen.cpp +++ test/OpenMP/master_codegen.cpp @@ -1,7 +1,7 @@ // RUN: %clang_cc1 -verify -fopenmp -x c++ -emit-llvm %s -fexceptions -fcxx-exceptions -o - | FileCheck %s // RUN: %clang_cc1 -fopenmp -x c++ -std=c++11 -triple x86_64-unknown-unknown -fexceptions -fcxx-exceptions -emit-pch -o %t %s // RUN: %clang_cc1 -fopenmp -x c++ -triple x86_64-unknown-unknown -fexceptions -fcxx-exceptions -std=c++11 -include-pch %t -verify %s -emit-llvm -o - | FileCheck %s -// RUN: %clang_cc1 -verify -triple x86_64-apple-darwin10 -fopenmp -fexceptions -fcxx-exceptions -gline-tables-only -x c++ -emit-llvm %s -o - | FileCheck %s --check-prefix=TERM_DEBUG +// RUN: %clang_cc1 -verify -triple x86_64-apple-darwin10 -fopenmp -fexceptions -fcxx-exceptions -di-kind=line-tables -x c++ -emit-llvm %s -o - | FileCheck %s --check-prefix=TERM_DEBUG // expected-no-diagnostics // REQUIRES: x86-registered-target #ifndef HEADER Index: test/OpenMP/parallel_codegen.cpp =================================================================== --- test/OpenMP/parallel_codegen.cpp +++ test/OpenMP/parallel_codegen.cpp @@ -1,6 +1,6 @@ // RUN: %clang_cc1 -verify -fopenmp -x c++ -emit-llvm %s -fexceptions -fcxx-exceptions -o - | FileCheck %s // RUN: %clang_cc1 -fopenmp -x c++ -std=c++11 -triple x86_64-unknown-unknown -fexceptions -fcxx-exceptions -emit-pch -o %t %s -// RUN: %clang_cc1 -fopenmp -x c++ -triple x86_64-unknown-unknown -fexceptions -fcxx-exceptions -g -std=c++11 -include-pch %t -verify %s -emit-llvm -o - | FileCheck --check-prefix=CHECK-DEBUG %s +// RUN: %clang_cc1 -fopenmp -x c++ -triple x86_64-unknown-unknown -fexceptions -fcxx-exceptions -di-kind=limited -std=c++11 -include-pch %t -verify %s -emit-llvm -o - | FileCheck --check-prefix=CHECK-DEBUG %s // expected-no-diagnostics // REQUIRES: x86-registered-target #ifndef HEADER Index: test/OpenMP/parallel_for_codegen.cpp =================================================================== --- test/OpenMP/parallel_for_codegen.cpp +++ test/OpenMP/parallel_for_codegen.cpp @@ -1,7 +1,7 @@ // RUN: %clang_cc1 -verify -fopenmp -x c++ -triple x86_64-unknown-unknown -emit-llvm %s -fexceptions -fcxx-exceptions -o - | FileCheck %s // RUN: %clang_cc1 -fopenmp -x c++ -std=c++11 -triple x86_64-unknown-unknown -fexceptions -fcxx-exceptions -emit-pch -o %t %s // RUN: %clang_cc1 -fopenmp -x c++ -triple x86_64-unknown-unknown -fexceptions -fcxx-exceptions -std=c++11 -include-pch %t -verify %s -emit-llvm -o - | FileCheck %s -// RUN: %clang_cc1 -verify -triple x86_64-apple-darwin10 -fopenmp -fexceptions -fcxx-exceptions -gline-tables-only -x c++ -emit-llvm %s -o - | FileCheck %s --check-prefix=TERM_DEBUG +// RUN: %clang_cc1 -verify -triple x86_64-apple-darwin10 -fopenmp -fexceptions -fcxx-exceptions -di-kind=line-tables -x c++ -emit-llvm %s -o - | FileCheck %s --check-prefix=TERM_DEBUG // RUN: %clang_cc1 -verify -triple x86_64-apple-darwin10 -O1 -fopenmp -emit-llvm %s -o - | FileCheck %s --check-prefix=CLEANUP // REQUIRES: x86-registered-target // expected-no-diagnostics Index: test/OpenMP/parallel_for_simd_codegen.cpp =================================================================== --- test/OpenMP/parallel_for_simd_codegen.cpp +++ test/OpenMP/parallel_for_simd_codegen.cpp @@ -1,7 +1,7 @@ // RUN: %clang_cc1 -verify -fopenmp -x c++ -triple x86_64-unknown-unknown -emit-llvm %s -fexceptions -fcxx-exceptions -o - | FileCheck %s // RUN: %clang_cc1 -fopenmp -x c++ -std=c++11 -triple x86_64-unknown-unknown -fexceptions -fcxx-exceptions -emit-pch -o %t %s -// RUN: %clang_cc1 -fopenmp -x c++ -triple x86_64-unknown-unknown -fexceptions -fcxx-exceptions -g -std=c++11 -include-pch %t -verify %s -emit-llvm -o - | FileCheck %s -// RUN: %clang_cc1 -verify -triple x86_64-apple-darwin10 -fopenmp -fexceptions -fcxx-exceptions -gline-tables-only -x c++ -emit-llvm %s -o - | FileCheck %s --check-prefix=TERM_DEBUG +// RUN: %clang_cc1 -fopenmp -x c++ -triple x86_64-unknown-unknown -fexceptions -fcxx-exceptions -di-kind=limited -std=c++11 -include-pch %t -verify %s -emit-llvm -o - | FileCheck %s +// RUN: %clang_cc1 -verify -triple x86_64-apple-darwin10 -fopenmp -fexceptions -fcxx-exceptions -di-kind=line-tables -x c++ -emit-llvm %s -o - | FileCheck %s --check-prefix=TERM_DEBUG // REQUIRES: x86-registered-target // expected-no-diagnostics #ifndef HEADER Index: test/OpenMP/simd_codegen.cpp =================================================================== --- test/OpenMP/simd_codegen.cpp +++ test/OpenMP/simd_codegen.cpp @@ -1,7 +1,7 @@ // RUN: %clang_cc1 -verify -fopenmp -x c++ -triple x86_64-unknown-unknown -emit-llvm %s -fexceptions -fcxx-exceptions -o - | FileCheck %s // RUN: %clang_cc1 -fopenmp -x c++ -std=c++11 -triple x86_64-unknown-unknown -fexceptions -fcxx-exceptions -emit-pch -o %t %s -// RUN: %clang_cc1 -fopenmp -x c++ -triple x86_64-unknown-unknown -fexceptions -fcxx-exceptions -g -std=c++11 -include-pch %t -verify %s -emit-llvm -o - | FileCheck %s -// RUN: %clang_cc1 -verify -triple x86_64-apple-darwin10 -fopenmp -fexceptions -fcxx-exceptions -gline-tables-only -x c++ -emit-llvm %s -o - | FileCheck %s --check-prefix=TERM_DEBUG +// RUN: %clang_cc1 -fopenmp -x c++ -triple x86_64-unknown-unknown -fexceptions -fcxx-exceptions -di-kind=limited -std=c++11 -include-pch %t -verify %s -emit-llvm -o - | FileCheck %s +// RUN: %clang_cc1 -verify -triple x86_64-apple-darwin10 -fopenmp -fexceptions -fcxx-exceptions -di-kind=line-tables -x c++ -emit-llvm %s -o - | FileCheck %s --check-prefix=TERM_DEBUG // REQUIRES: x86-registered-target // expected-no-diagnostics #ifndef HEADER Index: test/OpenMP/single_codegen.cpp =================================================================== --- test/OpenMP/single_codegen.cpp +++ test/OpenMP/single_codegen.cpp @@ -1,7 +1,7 @@ // RUN: %clang_cc1 -verify -fopenmp -fnoopenmp-use-tls -x c++ -triple x86_64-unknown-unknown -emit-llvm %s -fexceptions -fcxx-exceptions -o - | FileCheck %s // RUN: %clang_cc1 -fopenmp -fnoopenmp-use-tls -x c++ -std=c++11 -triple x86_64-unknown-unknown -fexceptions -fcxx-exceptions -emit-pch -o %t %s // RUN: %clang_cc1 -fopenmp -fnoopenmp-use-tls -x c++ -triple x86_64-unknown-unknown -fexceptions -fcxx-exceptions -std=c++11 -include-pch %t -verify %s -emit-llvm -o - | FileCheck %s -// RUN: %clang_cc1 -verify -triple x86_64-apple-darwin10 -fopenmp -fnoopenmp-use-tls -fexceptions -fcxx-exceptions -gline-tables-only -x c++ -emit-llvm %s -o - | FileCheck %s --check-prefix=TERM_DEBUG +// RUN: %clang_cc1 -verify -triple x86_64-apple-darwin10 -fopenmp -fnoopenmp-use-tls -fexceptions -fcxx-exceptions -di-kind=line-tables -x c++ -emit-llvm %s -o - | FileCheck %s --check-prefix=TERM_DEBUG // RUN: %clang_cc1 -verify -fopenmp -fnoopenmp-use-tls -x c++ -std=c++11 -DARRAY -triple x86_64-apple-darwin10 -emit-llvm %s -o - | FileCheck -check-prefix=ARRAY %s // expected-no-diagnostics // REQUIRES: x86-registered-target Index: test/OpenMP/taskgroup_codegen.cpp =================================================================== --- test/OpenMP/taskgroup_codegen.cpp +++ test/OpenMP/taskgroup_codegen.cpp @@ -1,7 +1,7 @@ // RUN: %clang_cc1 -verify -fopenmp -x c++ -emit-llvm %s -fexceptions -fcxx-exceptions -o - | FileCheck %s // RUN: %clang_cc1 -fopenmp -x c++ -std=c++11 -triple x86_64-unknown-unknown -fexceptions -fcxx-exceptions -emit-pch -o %t %s // RUN: %clang_cc1 -fopenmp -x c++ -triple x86_64-unknown-unknown -fexceptions -fcxx-exceptions -std=c++11 -include-pch %t -verify %s -emit-llvm -o - | FileCheck %s -// RUN: %clang_cc1 -verify -triple x86_64-apple-darwin10 -fopenmp -fexceptions -fcxx-exceptions -gline-tables-only -x c++ -emit-llvm %s -o - | FileCheck %s --check-prefix=TERM_DEBUG +// RUN: %clang_cc1 -verify -triple x86_64-apple-darwin10 -fopenmp -fexceptions -fcxx-exceptions -di-kind=line-tables -x c++ -emit-llvm %s -o - | FileCheck %s --check-prefix=TERM_DEBUG // expected-no-diagnostics // REQUIRES: x86-registered-target #ifndef HEADER Index: test/OpenMP/threadprivate_codegen.cpp =================================================================== --- test/OpenMP/threadprivate_codegen.cpp +++ test/OpenMP/threadprivate_codegen.cpp @@ -1,10 +1,10 @@ // RUN: %clang_cc1 -verify -fopenmp -fnoopenmp-use-tls -DBODY -triple x86_64-unknown-unknown -x c++ -emit-llvm %s -fexceptions -fcxx-exceptions -o - | FileCheck %s // RUN: %clang_cc1 -fopenmp -fnoopenmp-use-tls -x c++ -std=c++11 -triple x86_64-unknown-unknown -fexceptions -fcxx-exceptions -emit-pch -o %t %s -// RUN: %clang_cc1 -fopenmp -fnoopenmp-use-tls -DBODY -x c++ -triple x86_64-unknown-unknown -fexceptions -fcxx-exceptions -g -std=c++11 -include-pch %t -verify %s -emit-llvm -o - | FileCheck --check-prefix=CHECK-DEBUG %s +// RUN: %clang_cc1 -fopenmp -fnoopenmp-use-tls -DBODY -x c++ -triple x86_64-unknown-unknown -fexceptions -fcxx-exceptions -di-kind=limited -std=c++11 -include-pch %t -verify %s -emit-llvm -o - | FileCheck --check-prefix=CHECK-DEBUG %s // RUN: %clang_cc1 -verify -fopenmp -DBODY -triple x86_64-unknown-unknown -x c++ -emit-llvm %s -fexceptions -fcxx-exceptions -o - | FileCheck %s --check-prefix=CHECK-TLS // RUN: %clang_cc1 -fopenmp -x c++ -std=c++11 -triple x86_64-unknown-unknown -fexceptions -fcxx-exceptions -emit-pch -o %t %s -// RUN: %clang_cc1 -fopenmp -DBODY -x c++ -triple x86_64-unknown-unknown -fexceptions -fcxx-exceptions -g -std=c++11 -include-pch %t -verify %s -emit-llvm -o - | FileCheck --check-prefix=CHECK-TLS %s +// RUN: %clang_cc1 -fopenmp -DBODY -x c++ -triple x86_64-unknown-unknown -fexceptions -fcxx-exceptions -di-kind=limited -std=c++11 -include-pch %t -verify %s -emit-llvm -o - | FileCheck --check-prefix=CHECK-TLS %s // expected-no-diagnostics // REQUIRES: x86-registered-target Index: test/PCH/debug-info-limited-struct.c =================================================================== --- test/PCH/debug-info-limited-struct.c +++ test/PCH/debug-info-limited-struct.c @@ -1,5 +1,5 @@ // RUN: %clang_cc1 -emit-pch -o %t %S/debug-info-limited-struct.h -// RUN: %clang_cc1 -include-pch %t -emit-llvm %s -g -o - | FileCheck %s +// RUN: %clang_cc1 -include-pch %t -emit-llvm %s -di-kind=limited -o - | FileCheck %s // CHECK: !DICompositeType(tag: DW_TAG_structure_type, name: "foo" // CHECK-NOT: flags: {{[^,]*}}FlagFwdDecl Index: test/PCH/pending-ids.m =================================================================== --- test/PCH/pending-ids.m +++ test/PCH/pending-ids.m @@ -5,7 +5,7 @@ // With PCH // RUN: %clang_cc1 %s -emit-pch -o %t -// RUN: %clang_cc1 -emit-llvm-only -verify %s -include-pch %t -g +// RUN: %clang_cc1 -emit-llvm-only -verify %s -include-pch %t -di-kind=limited // expected-no-diagnostics Index: test/Rewriter/line-generation-test.m =================================================================== --- test/Rewriter/line-generation-test.m +++ test/Rewriter/line-generation-test.m @@ -1,5 +1,5 @@ // RUN: %clang_cc1 -E %s -o %t.mm -// RUN: %clang_cc1 -fms-extensions -rewrite-objc -g %t.mm -o %t-rw.cpp +// RUN: %clang_cc1 -fms-extensions -rewrite-objc -di-kind=limited %t.mm -o %t-rw.cpp // RUN: FileCheck -check-prefix CHECK-LINE --input-file=%t-rw.cpp %s // RUN: %clang_cc1 -fms-extensions -rewrite-objc %t.mm -o %t-rwnog.cpp // RUN: FileCheck -check-prefix CHECK-NOLINE --input-file=%t-rwnog.cpp %s Index: test/VFS/external-names.c =================================================================== --- test/VFS/external-names.c +++ test/VFS/external-names.c @@ -27,9 +27,9 @@ //// // Debug info -// RUN: %clang_cc1 -I %t -ivfsoverlay %t.external.yaml -triple %itanium_abi_triple -g -emit-llvm %s -o - | FileCheck -check-prefix=CHECK-DEBUG-EXTERNAL %s +// RUN: %clang_cc1 -I %t -ivfsoverlay %t.external.yaml -triple %itanium_abi_triple -di-kind=limited -emit-llvm %s -o - | FileCheck -check-prefix=CHECK-DEBUG-EXTERNAL %s // CHECK-DEBUG-EXTERNAL: !DISubprogram({{.*}}file: ![[Num:[0-9]+]] // CHECK-DEBUG-EXTERNAL: ![[Num]] = !DIFile(filename: "{{[^"]*}}Inputs{{.}}external-names.h" -// RUN: %clang_cc1 -I %t -ivfsoverlay %t.yaml -triple %itanium_abi_triple -g -emit-llvm %s -o - | FileCheck -check-prefix=CHECK-DEBUG %s +// RUN: %clang_cc1 -I %t -ivfsoverlay %t.yaml -triple %itanium_abi_triple -di-kind=limited -emit-llvm %s -o - | FileCheck -check-prefix=CHECK-DEBUG %s // CHECK-DEBUG-NOT: Inputs