]> granicus.if.org Git - clang/commitdiff
Driver: support -fno-debug-types-section to override -fdebug-types-section
authorDavid Blaikie <dblaikie@gmail.com>
Mon, 27 Jan 2014 18:52:43 +0000 (18:52 +0000)
committerDavid Blaikie <dblaikie@gmail.com>
Mon, 27 Jan 2014 18:52:43 +0000 (18:52 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@200236 91177308-0d34-0410-b5e6-96231b3b80d8

include/clang/Driver/Options.td
lib/Driver/Tools.cpp
test/Driver/debug-options.c

index 25a1d12848a14375967215649b79cadc07ebf8c2..6b7e198d0bf3897c1fa5f626da50d2e5399e95d6 100644 (file)
@@ -873,6 +873,8 @@ def fno_data_sections : Flag <["-"], "fno-data-sections">, Group<f_Group>,
   Flags<[CC1Option]>;
 def fdebug_types_section: Flag <["-"], "fdebug-types-section">, Group<f_Group>,
   Flags<[CC1Option]>, HelpText<"Place debug types in their own section (ELF Only)">;
+def fno_debug_types_section: Flag<["-"], "fno-debug-types-section">, Group<f_Group>,
+  Flags<[CC1Option]>;
 def g_Flag : Flag<["-"], "g">, Group<g_Group>,
   HelpText<"Generate source level debug information">, Flags<[CC1Option]>;
 def gline_tables_only : Flag<["-"], "gline-tables-only">, Group<g_Group>,
index 3176f1f3c40bc0716ec76865d75e0a43da9670db..615c3758d6df765420722bb7d683e802908c9913 100644 (file)
@@ -2606,7 +2606,8 @@ void Clang::ConstructJob(Compilation &C, const JobAction &JA,
     CmdArgs.push_back("-generate-gnu-dwarf-pub-sections");
   }
 
-  if (Args.hasArg(options::OPT_fdebug_types_section)) {
+  if (Args.hasFlag(options::OPT_fdebug_types_section,
+                   options::OPT_fno_debug_types_section, false)) {
     CmdArgs.push_back("-backend-option");
     CmdArgs.push_back("-generate-type-units");
   }
index 65350a67f972a3d9ececa78706dda0425725cd89..e17cc01d6001ff214f0c4d50637660405268325a 100644 (file)
 // RUN: %clang -### -fdebug-types-section %s 2>&1 \
 // RUN:        | FileCheck -check-prefix=FDTS %s
 //
+// RUN: %clang -### -fdebug-types-section -fno-debug-types-section %s 2>&1 \
+// RUN:        | FileCheck -check-prefix=NOFDTS %s
+//
+//
 // G: "-cc1"
 // G: "-g"
 //
@@ -94,3 +98,5 @@
 // GOPT: -generate-gnu-dwarf-pub-sections
 //
 // FDTS: "-backend-option" "-generate-type-units"
+//
+// NOFDTS-NOT: "-backend-option" "-generate-type-units"