Revert of Un-nest configs in GN files. (patchset #3 id:40001 of https://codereview.chromium.org/1318823008/ )

Reason for revert:
This breaks why these configs exist in the first place and seriously breaks the clang/win gn build (which is what these configs exist for).

Original issue's description:
> Un-nest configs in GN files.
>
> People sometimes nest targets or configs, usually with the assumption that this limits the visibility of a config to within a target. But this nesting provides no visibility restrictions over declaring it outside of a block.
>
> Un-nest for clarity.
>
> Committed: https://crrev.com/4af2eac8e84692d94f88504ab6e0b244b88dddcb
> Cr-Commit-Position: refs/heads/master@{#346461}

TBR=dpranke@chromium.org,brettw@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Review URL: https://codereview.chromium.org/1316843006

Cr-Original-Commit-Position: refs/heads/master@{#346695}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 0cb5abbf230f3c30e3499d4e787f059ed723dd3c
diff --git a/BUILD.gn b/BUILD.gn
index b301a10..fcb779a 100644
--- a/BUILD.gn
+++ b/BUILD.gn
@@ -135,20 +135,6 @@
     ]
   }
 
-  config("re2c_warnings") {
-    # re2c is missing CLOSEVOP from one switch.
-    if (is_clang) {
-      cflags = [
-        # re2c is missing CLOSEVOP from one switch.
-        "-Wno-switch",
-
-        # re2c contains many static functions in headers (because it's
-        # a C library predating C99.)
-        "-Wno-unused-function",
-      ]
-    }
-  }
-
   executable("re2c") {
     sources = [
       "source/patched-yasm/tools/re2c/actions.c",
@@ -162,26 +148,30 @@
       "source/patched-yasm/tools/re2c/translate.c",
     ]
 
+    config("re2c_warnings") {
+      # re2c is missing CLOSEVOP from one switch.
+      if (is_clang) {
+        cflags = [
+          # re2c is missing CLOSEVOP from one switch.
+          "-Wno-switch",
+
+          # re2c contains many static functions in headers (because it's
+          # a C library predating C99.)
+          "-Wno-unused-function",
+        ]
+      }
+    }
     configs -= [ "//build/config/compiler:chromium_code" ]
     configs += [
-      ":re2c_warnings",
       ":yasm_config",
       "//build/config/compiler:no_chromium_code",
+      ":re2c_warnings",
     ]
     deps = [
       "//build/config/sanitizers:deps",
     ]
   }
 
-  config("yasm_warnings") {
-    if (is_clang) {
-      cflags = [
-        # reg3264type in x86expr.c is unused.
-        "-Wno-unused-local-typedef",
-      ]
-    }
-  }
-
   executable("yasm") {
     sources = [
       "source/patched-yasm/frontends/yasm/yasm-options.c",
@@ -268,11 +258,20 @@
     configs -= [ "//build/config/compiler:chromium_code" ]
     configs += [
       ":yasm_config",
-      ":yasm_warnings",
       "//build/config/compiler:no_chromium_code",
       "//build/config/compiler:no_incompatible_pointer_warnings",
     ]
 
+    config("yasm_warnings") {
+      if (is_clang) {
+        cflags = [
+          # reg3264type in x86expr.c is unused.
+          "-Wno-unused-local-typedef",
+        ]
+      }
+    }
+    configs += [ ":yasm_warnings" ]
+
     # Yasm generates a bunch of .c files which its source file #include.
     # Add the |target_gen_dir| into the include path so it can find them.
     # Ideally, these generated .c files would be placed into a separate