From patchwork Fri Nov 10 21:42:43 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: David Malcolm X-Patchwork-Id: 16470 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b129:0:b0:403:3b70:6f57 with SMTP id q9csp1401474vqs; Fri, 10 Nov 2023 13:43:27 -0800 (PST) X-Google-Smtp-Source: AGHT+IH4t23a8yXRuTDxCQjweSi/oHaBOVfrPEuNzHiBQ0kD7sxWzQpoI7d8tqHzEYNOVrKhqv/o X-Received: by 2002:a05:6870:a103:b0:1e9:bf07:783d with SMTP id m3-20020a056870a10300b001e9bf07783dmr500503oae.33.1699652606887; Fri, 10 Nov 2023 13:43:26 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1699652606; cv=pass; d=google.com; s=arc-20160816; b=w0/jxmxf90vBoXXVl3CVOmPCNA/sDUp4i7rh2/vbt2VWpO1Bcj6pBB9w40eI4gqTS1 t5tiF5CJXK4KIx81SYfaYSr3P6rn9GCdy25tbFwJ6guU6+nG297lVKs1t6yAHmafEtLn bpVfqoDADUATj9BLyQnZdFRNMA1J7kdQdPynT/17IgFSOW58ghKfFZ1a0D9K1DA6TVH+ eNvT3C9ORivw8t1gCMN6MCI2nV9CiTJEBnGotRSKOZena3trRI2+Xwez5VBIVU/VS0XR WayPfWk49xvuBT1NKOx3RQgvDmx/ZIz+aHKP0dzgfh1Y57s7KPDR1YoQffKsaftb0x/L PNLg== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:message-id:date:subject:cc:to:from:dkim-signature :arc-filter:dmarc-filter:delivered-to; bh=IsNLjTUg+uiXhM5M2Ohs7zS2vigWJ7LlvP3I06FLCP8=; fh=NgEiY5VICCnHZiKJSlAZdX8HfRj+qOLY86uwkD5VwQo=; b=bsqPC363w9x/S4XaBUEOor2Y8FgvDi2myq8pB9uH9y6HT+Z4g77NW5Yw/458r8NWR3 t/xmISczJONfZWUVrbvzFsN3KTQ2jNJixrX72tfR34sM7lrJ6GfvHi0zM2KEFTuE2oBy pJRvVj6t4iz+hJmMOOAPfsQDF/z1fgxsKfLHGVnPXki+eltECgzf9MViJ6hsXPtVGt3a 1InVi/M6OMdVqn/vVCQ+EjaeyrRlXDJTMKzKcCoROuDyMRgTf/Xy1o/SGvshsdON5td0 T9UVNbX2ryoHV8S9DjepkUUxJA+xFgPBe7bFW35XzoTWOkc3mORxjmD+S4Zj5GIDV59g R63Q== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b=BqBibPZK; arc=pass (i=1); spf=pass (google.com: domain of gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) smtp.mailfrom="gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=redhat.com Received: from server2.sourceware.org (server2.sourceware.org. [2620:52:3:1:0:246e:9693:128c]) by mx.google.com with ESMTPS id u2-20020a05620a454200b00767fd0121f4si312419qkp.236.2023.11.10.13.43.26 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 10 Nov 2023 13:43:26 -0800 (PST) Received-SPF: pass (google.com: domain of gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) client-ip=2620:52:3:1:0:246e:9693:128c; Authentication-Results: mx.google.com; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b=BqBibPZK; arc=pass (i=1); spf=pass (google.com: domain of gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) smtp.mailfrom="gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=redhat.com Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 708E13857C43 for ; Fri, 10 Nov 2023 21:43:26 +0000 (GMT) X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by sourceware.org (Postfix) with ESMTPS id AFBD23858D1E for ; Fri, 10 Nov 2023 21:42:59 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org AFBD23858D1E Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=redhat.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=redhat.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org AFBD23858D1E Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=170.10.133.124 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1699652582; cv=none; b=J8qn/DaPi47XzSR0Qf/mvAqcKUZhAunl4PFrnpl3Bp2Vr40t0DWqWwZjLLESxNbCmas1N86hrzhBZH1nfubfdqn/OzopP0q4h9P+Dy/+3GZIvg4vBQTdKN27YSH09E+NI+iCjDV7qmwyQCCvjNakf+46g2jJuVa7sxRNiGg3VlY= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1699652582; c=relaxed/simple; bh=JwbZxx/+UrrTrBKGRmVZTdvH1zbbw11/3Ms4iiOP+Os=; h=DKIM-Signature:From:To:Subject:Date:Message-Id:MIME-Version; b=GD+lj9JDXU2bYxZu0BmIh0ZROtuMj4Jsdt09isXfSS4cfjxhBLnN+LNGUS39NTFB8QBW0GR4mccz6hdbm/G8H+co8+Dyru8Cwj8n5DZax3smqEwNhstYLza2Rsu7rbRiScSJg23C7VNxNe20ditdvhcmtgK32BuhFg9jBo/9ESM= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1699652579; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=IsNLjTUg+uiXhM5M2Ohs7zS2vigWJ7LlvP3I06FLCP8=; b=BqBibPZKYEQFmfjQBZGLhakcMWIxFOxGLHfWJ6IKxzUbg9kwzZPFGKM1MOIcLa2nsvUzNs 4zPkgzNirsztmYE8ak2DpapKrUzTl0BcLYjmRIpGz4YF9+ySQCzPOJAzdxRSYKIMgb8V0q JRqbCgc29ZZxJ5UusRsF7BiRoZI9K8w= Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-694-Df3YISFvNC2Dk6VBWU4UJw-1; Fri, 10 Nov 2023 16:42:56 -0500 X-MC-Unique: Df3YISFvNC2Dk6VBWU4UJw-1 Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.rdu2.redhat.com [10.11.54.2]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id DE56A83FC2C; Fri, 10 Nov 2023 21:42:55 +0000 (UTC) Received: from t14s.localdomain.com (unknown [10.22.8.62]) by smtp.corp.redhat.com (Postfix) with ESMTP id 88D4340C6EB9; Fri, 10 Nov 2023 21:42:55 +0000 (UTC) From: David Malcolm To: gcc-patches@gcc.gnu.org, Joseph Myers Cc: David Malcolm Subject: [PATCH 0/3] Option handling: add documentation URLs Date: Fri, 10 Nov 2023 16:42:43 -0500 Message-Id: <20231110214246.3087291-1-dmalcolm@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.4.1 on 10.11.54.2 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com X-Spam-Status: No, score=-5.4 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, KAM_SHORT, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, SPF_HELO_NONE, SPF_NONE, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1782214931550684762 X-GMAIL-MSGID: 1782214931550684762 In r14-5118-gc5db4d8ba5f3de I added a mechanism to automatically add URLs to quoted strings in diagnostics. This was based on a data table mapping strings to URLs, with placeholder data covering various pragmas and a couple of options. The following patches add automatic URLification in our diagnostic messages to mentions of *all* of our options in quoted strings, linking to our HTML documentation. For example, with these patches, given: ./xgcc -B. -S t.c -Wctad-maybe-unsupported cc1: warning: command-line option ‘-Wctad-maybe-unsupported’ is valid for C++/ObjC++ but not for C the quoted string '-Wctad-maybe-unsupported' gets automatically URLified in a sufficiently modern terminal to: https://gcc.gnu.org/onlinedocs/gcc/C_002b_002b-Dialect-Options.html#index-Wctad-maybe-unsupported Objectives: - integrate with DOCUMENTATION_ROOT_URL - integrate with the existing .opt mechanisms - automate keeping the URLs up-to-date - work with target-specific options based on current configuration - work with lang-specific options based on current configuration - keep autogenerated material separate from the human-maintained .opt files - no new build-time requirements (by using awk at build time) - be maintainable The approach is a new regenerate-opt-urls.py which: - scrapes the generated HTML documentation finding anchors for options, - reads all the .opt files in the source tree - for each .opt file, generates a .opt.urls file; for each option in the .opt file it has either a UrlSuffix directives giving the final part of the URL of that option's documentation (relative to DOCUMENTATION_ROOT_URL), or a comment describing the problem. regenerate-opt-urls.py is written in Python 3, and has unit tests. I tested it with Python 3.8, and it probably works with earlier releases of Python 3. The .opt.urls files it generates become part of the source tree, and would be regenerated by maintainers whenever new options are added. Forgetting to update the files (or not having Python 3 handy) merely means that URLs might be missing or out of date until someone else regenerates them. At build time, the .opt.urls are added to .opt files when regenerating the optionslist file. A new "options-urls-cc-gen.awk" is run at build time on the optionslist to generate a "options-urls.cc" file containing a big array of strings for all of the options present in the configuration: const char * const opt_url_suffixes[] = { [...snip...] /* [563] (OPT_Wclass_memaccess) = */ "gcc/C_002b_002b-Dialect-Options.html#index-Wclass-memaccess", /* [564] (OPT_Wclobbered) = */ "gcc/Warning-Options.html#index-Wclobbered", [...snip...] }; and this is then used by the gcc_urlifier class when emitting diagnostics. Successfully bootstrapped & regrtested on x86_64-pc-linux-gnu. OK for trunk? David Malcolm (3): options: add gcc/regenerate-opt-urls.py Add generated .opt.urls files diagnostics: use the .opt.urls files to urlify quoted text gcc/Makefile.in | 18 +- gcc/ada/gcc-interface/lang.opt.urls | 28 + gcc/analyzer/analyzer.opt.urls | 206 ++ gcc/c-family/c.opt.urls | 1404 ++++++++++++++ gcc/common.opt.urls | 1823 ++++++++++++++++++ gcc/config/aarch64/aarch64.opt.urls | 84 + gcc/config/alpha/alpha.opt.urls | 76 + gcc/config/alpha/elf.opt.urls | 2 + gcc/config/arc/arc-tables.opt.urls | 2 + gcc/config/arc/arc.opt.urls | 260 +++ gcc/config/arm/arm-tables.opt.urls | 2 + gcc/config/arm/arm.opt.urls | 149 ++ gcc/config/arm/vxworks.opt.urls | 2 + gcc/config/avr/avr.opt.urls | 71 + gcc/config/bfin/bfin.opt.urls | 61 + gcc/config/bpf/bpf.opt.urls | 35 + gcc/config/c6x/c6x-tables.opt.urls | 2 + gcc/config/c6x/c6x.opt.urls | 18 + gcc/config/cris/cris.opt.urls | 65 + gcc/config/cris/elf.opt.urls | 8 + gcc/config/csky/csky.opt.urls | 104 + gcc/config/csky/csky_tables.opt.urls | 2 + gcc/config/darwin.opt.urls | 221 +++ gcc/config/dragonfly.opt.urls | 9 + gcc/config/epiphany/epiphany.opt.urls | 52 + gcc/config/fr30/fr30.opt.urls | 8 + gcc/config/freebsd.opt.urls | 9 + gcc/config/frv/frv.opt.urls | 111 ++ gcc/config/ft32/ft32.opt.urls | 20 + gcc/config/fused-madd.opt.urls | 4 + gcc/config/g.opt.urls | 5 + gcc/config/gcn/gcn.opt.urls | 23 + gcc/config/gnu-user.opt.urls | 9 + gcc/config/h8300/h8300.opt.urls | 29 + gcc/config/hpux11.opt.urls | 6 + gcc/config/i386/cygming.opt.urls | 30 + gcc/config/i386/cygwin.opt.urls | 6 + gcc/config/i386/djgpp.opt.urls | 2 + gcc/config/i386/i386.opt.urls | 602 ++++++ gcc/config/i386/mingw-w64.opt.urls | 5 + gcc/config/i386/mingw.opt.urls | 12 + gcc/config/i386/nto.opt.urls | 5 + gcc/config/ia64/ia64.opt.urls | 122 ++ gcc/config/ia64/ilp32.opt.urls | 8 + gcc/config/ia64/vms.opt.urls | 2 + gcc/config/iq2000/iq2000.opt.urls | 14 + gcc/config/linux-android.opt.urls | 11 + gcc/config/linux.opt.urls | 14 + gcc/config/lm32/lm32.opt.urls | 14 + gcc/config/loongarch/loongarch.opt.urls | 60 + gcc/config/lynx.opt.urls | 5 + gcc/config/m32c/m32c.opt.urls | 8 + gcc/config/m32r/m32r.opt.urls | 27 + gcc/config/m68k/ieee.opt.urls | 4 + gcc/config/m68k/m68k-tables.opt.urls | 2 + gcc/config/m68k/m68k.opt.urls | 107 + gcc/config/m68k/uclinux.opt.urls | 2 + gcc/config/mcore/mcore.opt.urls | 38 + gcc/config/microblaze/microblaze.opt.urls | 59 + gcc/config/mips/mips-tables.opt.urls | 2 + gcc/config/mips/mips.opt.urls | 269 +++ gcc/config/mips/sde.opt.urls | 2 + gcc/config/mmix/mmix.opt.urls | 44 + gcc/config/mn10300/mn10300.opt.urls | 32 + gcc/config/moxie/moxie.opt.urls | 14 + gcc/config/msp430/msp430.opt.urls | 53 + gcc/config/nds32/nds32-elf.opt.urls | 5 + gcc/config/nds32/nds32-linux.opt.urls | 5 + gcc/config/nds32/nds32.opt.urls | 57 + gcc/config/netbsd-elf.opt.urls | 5 + gcc/config/netbsd.opt.urls | 6 + gcc/config/nios2/elf.opt.urls | 14 + gcc/config/nios2/nios2.opt.urls | 50 + gcc/config/nvptx/nvptx-gen.opt.urls | 2 + gcc/config/nvptx/nvptx.opt.urls | 29 + gcc/config/openbsd.opt.urls | 6 + gcc/config/or1k/elf.opt.urls | 8 + gcc/config/or1k/or1k.opt.urls | 46 + gcc/config/pa/pa-hpux.opt.urls | 11 + gcc/config/pa/pa-hpux1010.opt.urls | 2 + gcc/config/pa/pa-hpux1111.opt.urls | 2 + gcc/config/pa/pa-hpux1131.opt.urls | 2 + gcc/config/pa/pa.opt.urls | 71 + gcc/config/pa/pa64-hpux.opt.urls | 8 + gcc/config/pdp11/pdp11.opt.urls | 41 + gcc/config/pru/pru.opt.urls | 17 + gcc/config/riscv/riscv.opt.urls | 88 + gcc/config/rl78/rl78.opt.urls | 31 + gcc/config/rpath.opt.urls | 2 + gcc/config/rs6000/476.opt.urls | 2 + gcc/config/rs6000/aix64.opt.urls | 23 + gcc/config/rs6000/darwin.opt.urls | 14 + gcc/config/rs6000/linux64.opt.urls | 4 + gcc/config/rs6000/rs6000-tables.opt.urls | 2 + gcc/config/rs6000/rs6000.opt.urls | 214 ++ gcc/config/rs6000/sysv4.opt.urls | 87 + gcc/config/rtems.opt.urls | 6 + gcc/config/rx/elf.opt.urls | 14 + gcc/config/rx/rx.opt.urls | 54 + gcc/config/s390/s390.opt.urls | 92 + gcc/config/s390/tpf.opt.urls | 8 + gcc/config/sh/sh.opt.urls | 174 ++ gcc/config/sh/superh.opt.urls | 4 + gcc/config/sol2.opt.urls | 21 + gcc/config/sparc/long-double-switch.opt.urls | 6 + gcc/config/sparc/sparc.opt.urls | 108 ++ gcc/config/stormy16/stormy16.opt.urls | 5 + gcc/config/v850/v850.opt.urls | 60 + gcc/config/vax/elf.opt.urls | 2 + gcc/config/vax/vax.opt.urls | 10 + gcc/config/visium/visium.opt.urls | 29 + gcc/config/vms/vms.opt.urls | 8 + gcc/config/vxworks-smp.opt.urls | 5 + gcc/config/vxworks.opt.urls | 20 + gcc/config/xtensa/elf.opt.urls | 5 + gcc/config/xtensa/uclinux.opt.urls | 2 + gcc/config/xtensa/xtensa.opt.urls | 37 + gcc/d/lang.opt.urls | 95 + gcc/doc/options.texi | 17 + gcc/fortran/lang.opt.urls | 153 ++ gcc/gcc-urlifier.cc | 106 +- gcc/gcc-urlifier.def | 2 - gcc/gcc-urlifier.h | 2 +- gcc/gcc.cc | 2 +- gcc/go/lang.opt.urls | 15 + gcc/lto/lang.opt.urls | 8 + gcc/m2/lang.opt.urls | 110 ++ gcc/opt-functions.awk | 7 + gcc/options-urls-cc-gen.awk | 79 + gcc/opts.cc | 75 +- gcc/opts.h | 4 + gcc/params.opt.urls | 2 + gcc/regenerate-opt-urls.py | 366 ++++ gcc/rust/lang.opt.urls | 27 + gcc/testsuite/lib/gcc-dg.exp | 6 + gcc/toplev.cc | 2 +- 136 files changed, 9044 insertions(+), 61 deletions(-) create mode 100644 gcc/ada/gcc-interface/lang.opt.urls create mode 100644 gcc/analyzer/analyzer.opt.urls create mode 100644 gcc/c-family/c.opt.urls create mode 100644 gcc/common.opt.urls create mode 100644 gcc/config/aarch64/aarch64.opt.urls create mode 100644 gcc/config/alpha/alpha.opt.urls create mode 100644 gcc/config/alpha/elf.opt.urls create mode 100644 gcc/config/arc/arc-tables.opt.urls create mode 100644 gcc/config/arc/arc.opt.urls create mode 100644 gcc/config/arm/arm-tables.opt.urls create mode 100644 gcc/config/arm/arm.opt.urls create mode 100644 gcc/config/arm/vxworks.opt.urls create mode 100644 gcc/config/avr/avr.opt.urls create mode 100644 gcc/config/bfin/bfin.opt.urls create mode 100644 gcc/config/bpf/bpf.opt.urls create mode 100644 gcc/config/c6x/c6x-tables.opt.urls create mode 100644 gcc/config/c6x/c6x.opt.urls create mode 100644 gcc/config/cris/cris.opt.urls create mode 100644 gcc/config/cris/elf.opt.urls create mode 100644 gcc/config/csky/csky.opt.urls create mode 100644 gcc/config/csky/csky_tables.opt.urls create mode 100644 gcc/config/darwin.opt.urls create mode 100644 gcc/config/dragonfly.opt.urls create mode 100644 gcc/config/epiphany/epiphany.opt.urls create mode 100644 gcc/config/fr30/fr30.opt.urls create mode 100644 gcc/config/freebsd.opt.urls create mode 100644 gcc/config/frv/frv.opt.urls create mode 100644 gcc/config/ft32/ft32.opt.urls create mode 100644 gcc/config/fused-madd.opt.urls create mode 100644 gcc/config/g.opt.urls create mode 100644 gcc/config/gcn/gcn.opt.urls create mode 100644 gcc/config/gnu-user.opt.urls create mode 100644 gcc/config/h8300/h8300.opt.urls create mode 100644 gcc/config/hpux11.opt.urls create mode 100644 gcc/config/i386/cygming.opt.urls create mode 100644 gcc/config/i386/cygwin.opt.urls create mode 100644 gcc/config/i386/djgpp.opt.urls create mode 100644 gcc/config/i386/i386.opt.urls create mode 100644 gcc/config/i386/mingw-w64.opt.urls create mode 100644 gcc/config/i386/mingw.opt.urls create mode 100644 gcc/config/i386/nto.opt.urls create mode 100644 gcc/config/ia64/ia64.opt.urls create mode 100644 gcc/config/ia64/ilp32.opt.urls create mode 100644 gcc/config/ia64/vms.opt.urls create mode 100644 gcc/config/iq2000/iq2000.opt.urls create mode 100644 gcc/config/linux-android.opt.urls create mode 100644 gcc/config/linux.opt.urls create mode 100644 gcc/config/lm32/lm32.opt.urls create mode 100644 gcc/config/loongarch/loongarch.opt.urls create mode 100644 gcc/config/lynx.opt.urls create mode 100644 gcc/config/m32c/m32c.opt.urls create mode 100644 gcc/config/m32r/m32r.opt.urls create mode 100644 gcc/config/m68k/ieee.opt.urls create mode 100644 gcc/config/m68k/m68k-tables.opt.urls create mode 100644 gcc/config/m68k/m68k.opt.urls create mode 100644 gcc/config/m68k/uclinux.opt.urls create mode 100644 gcc/config/mcore/mcore.opt.urls create mode 100644 gcc/config/microblaze/microblaze.opt.urls create mode 100644 gcc/config/mips/mips-tables.opt.urls create mode 100644 gcc/config/mips/mips.opt.urls create mode 100644 gcc/config/mips/sde.opt.urls create mode 100644 gcc/config/mmix/mmix.opt.urls create mode 100644 gcc/config/mn10300/mn10300.opt.urls create mode 100644 gcc/config/moxie/moxie.opt.urls create mode 100644 gcc/config/msp430/msp430.opt.urls create mode 100644 gcc/config/nds32/nds32-elf.opt.urls create mode 100644 gcc/config/nds32/nds32-linux.opt.urls create mode 100644 gcc/config/nds32/nds32.opt.urls create mode 100644 gcc/config/netbsd-elf.opt.urls create mode 100644 gcc/config/netbsd.opt.urls create mode 100644 gcc/config/nios2/elf.opt.urls create mode 100644 gcc/config/nios2/nios2.opt.urls create mode 100644 gcc/config/nvptx/nvptx-gen.opt.urls create mode 100644 gcc/config/nvptx/nvptx.opt.urls create mode 100644 gcc/config/openbsd.opt.urls create mode 100644 gcc/config/or1k/elf.opt.urls create mode 100644 gcc/config/or1k/or1k.opt.urls create mode 100644 gcc/config/pa/pa-hpux.opt.urls create mode 100644 gcc/config/pa/pa-hpux1010.opt.urls create mode 100644 gcc/config/pa/pa-hpux1111.opt.urls create mode 100644 gcc/config/pa/pa-hpux1131.opt.urls create mode 100644 gcc/config/pa/pa.opt.urls create mode 100644 gcc/config/pa/pa64-hpux.opt.urls create mode 100644 gcc/config/pdp11/pdp11.opt.urls create mode 100644 gcc/config/pru/pru.opt.urls create mode 100644 gcc/config/riscv/riscv.opt.urls create mode 100644 gcc/config/rl78/rl78.opt.urls create mode 100644 gcc/config/rpath.opt.urls create mode 100644 gcc/config/rs6000/476.opt.urls create mode 100644 gcc/config/rs6000/aix64.opt.urls create mode 100644 gcc/config/rs6000/darwin.opt.urls create mode 100644 gcc/config/rs6000/linux64.opt.urls create mode 100644 gcc/config/rs6000/rs6000-tables.opt.urls create mode 100644 gcc/config/rs6000/rs6000.opt.urls create mode 100644 gcc/config/rs6000/sysv4.opt.urls create mode 100644 gcc/config/rtems.opt.urls create mode 100644 gcc/config/rx/elf.opt.urls create mode 100644 gcc/config/rx/rx.opt.urls create mode 100644 gcc/config/s390/s390.opt.urls create mode 100644 gcc/config/s390/tpf.opt.urls create mode 100644 gcc/config/sh/sh.opt.urls create mode 100644 gcc/config/sh/superh.opt.urls create mode 100644 gcc/config/sol2.opt.urls create mode 100644 gcc/config/sparc/long-double-switch.opt.urls create mode 100644 gcc/config/sparc/sparc.opt.urls create mode 100644 gcc/config/stormy16/stormy16.opt.urls create mode 100644 gcc/config/v850/v850.opt.urls create mode 100644 gcc/config/vax/elf.opt.urls create mode 100644 gcc/config/vax/vax.opt.urls create mode 100644 gcc/config/visium/visium.opt.urls create mode 100644 gcc/config/vms/vms.opt.urls create mode 100644 gcc/config/vxworks-smp.opt.urls create mode 100644 gcc/config/vxworks.opt.urls create mode 100644 gcc/config/xtensa/elf.opt.urls create mode 100644 gcc/config/xtensa/uclinux.opt.urls create mode 100644 gcc/config/xtensa/xtensa.opt.urls create mode 100644 gcc/d/lang.opt.urls create mode 100644 gcc/fortran/lang.opt.urls create mode 100644 gcc/go/lang.opt.urls create mode 100644 gcc/lto/lang.opt.urls create mode 100644 gcc/m2/lang.opt.urls create mode 100644 gcc/options-urls-cc-gen.awk create mode 100644 gcc/params.opt.urls create mode 100755 gcc/regenerate-opt-urls.py create mode 100644 gcc/rust/lang.opt.urls