Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/2195324/?format=api
{ "id": 2195324, "url": "http://patchwork.ozlabs.org/api/patches/2195324/?format=api", "web_url": "http://patchwork.ozlabs.org/project/gcc/patch/470d3bcc-0f98-41ef-ae07-8aa41763cb73@gmail.com/", "project": { "id": 17, "url": "http://patchwork.ozlabs.org/api/projects/17/?format=api", "name": "GNU Compiler Collection", "link_name": "gcc", "list_id": "gcc-patches.gcc.gnu.org", "list_email": "gcc-patches@gcc.gnu.org", "web_url": null, "scm_url": null, "webscm_url": null, "list_archive_url": "", "list_archive_url_format": "", "commit_url_format": "" }, "msgid": "<470d3bcc-0f98-41ef-ae07-8aa41763cb73@gmail.com>", "list_archive_url": null, "date": "2026-02-10T18:31:08", "name": "[13/13] Coarray shared memory library", "commit_ref": null, "pull_url": null, "state": "new", "archived": false, "hash": "bbfe2a9127c379e7a85831254c2b1930bf7ff8ba", "submitter": { "id": 78264, "url": "http://patchwork.ozlabs.org/api/people/78264/?format=api", "name": "Jerry D", "email": "jvdelisle2@gmail.com" }, "delegate": null, "mbox": "http://patchwork.ozlabs.org/project/gcc/patch/470d3bcc-0f98-41ef-ae07-8aa41763cb73@gmail.com/mbox/", "series": [ { "id": 491723, "url": "http://patchwork.ozlabs.org/api/series/491723/?format=api", "web_url": "http://patchwork.ozlabs.org/project/gcc/list/?series=491723", "date": "2026-02-10T18:17:09", "name": null, "version": 1, "mbox": "http://patchwork.ozlabs.org/series/491723/mbox/" } ], "comments": "http://patchwork.ozlabs.org/api/patches/2195324/comments/", "check": "pending", "checks": "http://patchwork.ozlabs.org/api/patches/2195324/checks/", "tags": {}, "related": [], "headers": { "Return-Path": "<gcc-patches-bounces~incoming=patchwork.ozlabs.org@gcc.gnu.org>", "X-Original-To": [ "incoming@patchwork.ozlabs.org", "gcc-patches@gcc.gnu.org" ], "Delivered-To": [ "patchwork-incoming@legolas.ozlabs.org", "gcc-patches@gcc.gnu.org" ], "Authentication-Results": [ "legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256\n header.s=20230601 header.b=CuxZCXKD;\n\tdkim-atps=neutral", "legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=gcc.gnu.org\n (client-ip=2620:52:6:3111::32; helo=vm01.sourceware.org;\n envelope-from=gcc-patches-bounces~incoming=patchwork.ozlabs.org@gcc.gnu.org;\n receiver=patchwork.ozlabs.org)", "sourceware.org;\n\tdkim=pass (2048-bit key,\n unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256\n header.s=20230601 header.b=CuxZCXKD", "sourceware.org;\n dmarc=pass (p=none dis=none) header.from=gmail.com", "sourceware.org; spf=pass smtp.mailfrom=gmail.com", "server2.sourceware.org;\n arc=none smtp.remote-ip=209.85.216.50" ], "Received": [ "from vm01.sourceware.org (vm01.sourceware.org\n [IPv6:2620:52:6:3111::32])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature ECDSA (secp384r1) server-digest SHA384)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4f9VXs0SXPz1xvb\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 11 Feb 2026 05:32:29 +1100 (AEDT)", "from vm01.sourceware.org (localhost [127.0.0.1])\n\tby sourceware.org (Postfix) with ESMTP id 1FFE64BA2E13\n\tfor <incoming@patchwork.ozlabs.org>; Tue, 10 Feb 2026 18:32:27 +0000 (GMT)", "from mail-pj1-f50.google.com (mail-pj1-f50.google.com\n [209.85.216.50])\n by sourceware.org (Postfix) with ESMTPS id E5CAF4BA2E11\n for <gcc-patches@gcc.gnu.org>; Tue, 10 Feb 2026 18:31:10 +0000 (GMT)", "by mail-pj1-f50.google.com with SMTP id\n 98e67ed59e1d1-3530e7b3dc2so975071a91.3\n for <gcc-patches@gcc.gnu.org>; Tue, 10 Feb 2026 10:31:10 -0800 (PST)", "from [10.168.168.23] ([50.37.179.80])\n by smtp.gmail.com with ESMTPSA id\n 98e67ed59e1d1-35662e6ada4sm3529870a91.5.2026.02.10.10.31.08\n (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);\n Tue, 10 Feb 2026 10:31:09 -0800 (PST)" ], "DKIM-Filter": [ "OpenDKIM Filter v2.11.0 sourceware.org 1FFE64BA2E13", "OpenDKIM Filter v2.11.0 sourceware.org E5CAF4BA2E11" ], "DMARC-Filter": "OpenDMARC Filter v1.4.2 sourceware.org E5CAF4BA2E11", "ARC-Filter": "OpenARC Filter v1.0.0 sourceware.org E5CAF4BA2E11", "ARC-Seal": "i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1770748271; cv=none;\n b=yAp/6z7fUBvpiNAiZgUnPVjauZ5/ydYr66OSp2ClG4f8HeVS1/D2JZ79y3cTROKTmnrmJx46SKZ2DAOfi+78T97tCUUqlnIg+wJqjwxAuo731BGEh9BL+g21Ehe6KwYTlYZD+kNhltOKYBgRCRJLJ4tAtdLsx9IBjk7FJdpthHM=", "ARC-Message-Signature": "i=1; a=rsa-sha256; d=sourceware.org; s=key;\n t=1770748271; c=relaxed/simple;\n bh=mcK+uR6bX4TFTBjxaAJJ5Vi8Yg4Yy8rvRoWXh5HVmzw=;\n h=DKIM-Signature:Message-ID:Date:MIME-Version:To:From:Subject;\n b=hTBWRcLsw2kukqLLmrdHqtUYtlFG/ecmylxaqGvBCd142fLpCLM2ECgiIy8pHlb98/0EEvDcDrc7BkaDv2QmzV/inrwki9KSy6f0x6bbY6B7PoVFFNWzW8ynbuYJ80mVa36ZlIn1g2QTiR3XCo61dbK9SGDzXcM65P+StIttMLw=", "ARC-Authentication-Results": "i=1; server2.sourceware.org", "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=gmail.com; s=20230601; t=1770748270; x=1771353070; darn=gcc.gnu.org;\n h=autocrypt:subject:from:cc:to:content-language:user-agent\n :mime-version:date:message-id:from:to:cc:subject:date:message-id\n :reply-to; bh=mcK+uR6bX4TFTBjxaAJJ5Vi8Yg4Yy8rvRoWXh5HVmzw=;\n b=CuxZCXKDsh8WSOZ0SBv6/DwpPpUitjRopvNeeAI1CR8S8nJKdUpxYZ1rb8L9Zpfgcy\n XHJxW0Dw0Nz9dcC8FARbI2NYmlAKUVWVvvvzIVFbCeuLpIv3N60/+VKJFe4VuhoGcvaT\n RaKGT2mTw/35jzakR4Ev4hHcabO4yHC0gNeQCIvA3lXzoe8HvwYknDzuQKHZa/kYaa08\n xqA7dhG3gL8EfXRIrT9SJ3HECWB6qjlN0HYN+O2hzGed9qUMycPNM/Q9aLcDwt47SjcM\n Qlk9VsekIr2lY45sJeI87tMJcS813GmHRpck7yKbjOMt4N/Sc3twfa22RwtEJ4FFsjO9\n GDCQ==", "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20230601; t=1770748270; x=1771353070;\n h=autocrypt:subject:from:cc:to:content-language:user-agent\n :mime-version:date:message-id:x-gm-gg:x-gm-message-state:from:to:cc\n :subject:date:message-id:reply-to;\n bh=mcK+uR6bX4TFTBjxaAJJ5Vi8Yg4Yy8rvRoWXh5HVmzw=;\n b=SlDbtGodiVtCjptHsEOz+PAvSdUU0pdyxzgXgJJPK4qvcQckgw+MkX/ZFPNOTjsF2h\n VtsL6t080ZlQyfYUNpTEmDB11432G1Km5URo6SBihZldsKf2g3tz4WB2bLdHtld+/Z8f\n /7LjgNcE0oal1qnfJUSDmDMx0AKcgO3vJCGRw9X1aOVsa2jr97TF2mM3yu0T/07b3rF7\n hUTLDZWtnAAcnw+jlc72MVD5k8UnMcBZa0alxcM0euEEz30t1lpp+gFMccN2jmFpH0jW\n 0ryuzbphqDfG3DZvSDY588ixjlfOxX6gyKq0xZ7wK4XUGasGSK4nsF8p/JaTl/MYTUeD\n Ndlg==", "X-Forwarded-Encrypted": "i=1;\n AJvYcCUiuJi8kUNY2U/mWPYwMkNVsW3AjcbPxZxgF/6R1GCahIk/rwCkhMIShHGHZ3XhBsyHrICNqdj/LtawMw==@gcc.gnu.org", "X-Gm-Message-State": "AOJu0Yzh/Nk2bN696i7JP2LMzc7ZIUEFSv79YCiGVdfLviyU3RVcbeLM\n 35VfeI5KipHjDch+uqF/Neik+5zrm6NQyB1rL8I9JtNuC3C0If4exRNk", "X-Gm-Gg": "AZuq6aIC1UgN4BXEb5kPy4Mjp44J+FR2sSYBr2Ep14DKwFUAGhNh19jlXovgPGxAKwV\n XmSJBfGlRsqMnL26QAgNrGPrOON8FuTLbvtp5jwfG82yRJ93f0P47ly12ybHPwEkreEsQhJ6lc3\n W0zjfXeWIx89rfLa69NNdxxeCVOu1zTFwVAfe5z/JFYT3pUUqJG5v0ddJAxSK5IuAWyY4iy57yP\n e4j3FfphdUnyfjG/WeUjugWRLKqpv3s4Fw5gL4eKdhxNL6etfrbmF4rBOKfKncpvn1QPig5JyxT\n FhJ30DPtA1oNbTzFcuQzyhaep8q7NEpYxVcx2WsTSsuumleHBXvsKpPfKMtDzLdOqE9bK5UFRZX\n 1ygWsdD/c+jsT98yVMFSM978AQdG92UIJCF74mZiPh6SkeTEnggjmT6IN8uFAuEpPJuGJU3oP2r\n BFjgIAPu99T3nfJFHGQ/v420tVduE=", "X-Received": "by 2002:a17:90b:2785:b0:356:3032:1d5e with SMTP id\n 98e67ed59e1d1-356303224c0mr7039014a91.22.1770748269893;\n Tue, 10 Feb 2026 10:31:09 -0800 (PST)", "Content-Type": "multipart/mixed; boundary=\"------------XAh4VlhQkJ1DEyeiH5ieoREF\"", "Message-ID": "<470d3bcc-0f98-41ef-ae07-8aa41763cb73@gmail.com>", "Date": "Tue, 10 Feb 2026 10:31:08 -0800", "MIME-Version": "1.0", "User-Agent": "Mozilla Thunderbird", "Content-Language": "en-US", "To": "gfortran <fortran@gcc.gnu.org>, gcc-patches <gcc-patches@gcc.gnu.org>", "Cc": "Tobias Burnus <tburnus@baylibre.com>, Richard Biener <rguenther@suse.de>,\n Andre Vehreschild <vehre@gmx.de>, Jakub Jelinek <jakub@redhat.com>,\n Paul Richard Thomas <paul.richard.thomas@gmail.com>,\n FX Coudert <fxcoudert@gmail.com>, Toon Moene <toon@moene.org>", "From": "Jerry D <jvdelisle2@gmail.com>", "Subject": "[PATCH 13/13] Coarray shared memory library", "Autocrypt": "addr=jvdelisle2@gmail.com; keydata=\n xjMEY5TlkxYJKwYBBAHaRw8BAQdAyrkRDhmJhSTTlV/50gJLlvliU6/Lm5C9ViKV8T9y1GnN\n HkplcnJ5IEQgPGp2ZGVsaXNsZTJAZ21haWwuY29tPsKJBBMWCAAxFiEEOFR0TS0390uh8dRV\n uWXAJaWpwWoFAmOU5ZMCGwMECwkIBwUVCAkKCwUWAgMBAAAKCRC5ZcAlpanBalsJAP4wdCiH\n 2Of9oZv1QWgZ/AVdbWFM3Fv47/WZQHOXfoZ9HgD6AkXrKeJ+6usST7PEaDJjptaViT1fLiYY\n V/6XaOKSsgLOOARjlOWTEgorBgEEAZdVAQUBAQdAdA7PczYnl07vnOT9oP/wvvMDd4HP09Zl\n g3LzwXQJWT8DAQgHwngEGBYIACAWIQQ4VHRNLTf3S6Hx1FW5ZcAlpanBagUCY5TlkwIbDAAK\n CRC5ZcAlpanBasF/AQCa5WjlsVpLsEiggZyT18MOJNAdeRd7wkGDUrwedHrvawD/cE1H+/Ms\n L1ZwvQiLfGdx8crigQqWTQyos4kH8Wx82wc=", "X-BeenThere": "gcc-patches@gcc.gnu.org", "X-Mailman-Version": "2.1.30", "Precedence": "list", "List-Id": "Gcc-patches mailing list <gcc-patches.gcc.gnu.org>", "List-Unsubscribe": "<https://gcc.gnu.org/mailman/options/gcc-patches>,\n <mailto:gcc-patches-request@gcc.gnu.org?subject=unsubscribe>", "List-Archive": "<https://gcc.gnu.org/pipermail/gcc-patches/>", "List-Post": "<mailto:gcc-patches@gcc.gnu.org>", "List-Help": "<mailto:gcc-patches-request@gcc.gnu.org?subject=help>", "List-Subscribe": "<https://gcc.gnu.org/mailman/listinfo/gcc-patches>,\n <mailto:gcc-patches-request@gcc.gnu.org?subject=subscribe>", "Errors-To": "gcc-patches-bounces~incoming=patchwork.ozlabs.org@gcc.gnu.org" }, "content": "Dear all, as requested,\n\nSee attached patch 13 of 13\n\nBest Regards,\n\nJerry", "diff": "commit c3cb9fc78324e3b99c63f178b2bbe97502aa363b\nAuthor: Andre Vehreschild <vehre@gcc.gnu.org>\nDate: Mon Feb 9 14:43:29 2026 -0800\n\n Fortran: Add a shared memory coarray implementation [PR88076]\n \n Add caf_shmem, a shared memory multi process coarray implementation.\n The library adheres to the existing coarray ABI and is controlled by\n environment variables for selecting the number of images and virtual\n memory size.\n \n Co-authored by: Thomas Koenig <tkoenig@gcc.gnu.org>\n Nicolas Koenig <koenigni@gcc.gnu.org>\n \n PR fortran/88076\n \n libgfortran/ChangeLog:\n \n * Makefile.am: Add new library.\n * Makefile.in: Regenerated.\n * config.h.in: Regenerate.\n * configure: Regenerate.\n * configure.ac: Call clzl check.\n\ndiff --git a/libgfortran/Makefile.am b/libgfortran/Makefile.am\nindex 46e7df5e728..c5c0fa5717c 100644\n--- a/libgfortran/Makefile.am\n+++ b/libgfortran/Makefile.am\n@@ -58,13 +58,30 @@ libgfortran_la_LDFLAGS = -version-info `grep -v '^\\#' $(srcdir)/libtool-version`\n \t$(version_arg) -Wc,-shared-libgcc\n libgfortran_la_DEPENDENCIES = $(version_dep) libgfortran.spec $(LIBQUADLIB_DEP)\n \n-cafexeclib_LTLIBRARIES = libcaf_single.la\n+libcaf_shared_DEPS = caf/libcaf.h caf/caf_error.h\n+libcaf_shared_SRCS = caf/caf_error.c\n+\n+cafexeclib_LTLIBRARIES = libcaf_single.la libcaf_shmem.la\n cafexeclibdir = $(libdir)/gcc/$(target_alias)/$(gcc_version)$(MULTISUBDIR)\n-libcaf_single_la_SOURCES = caf/single.c\n+libcaf_single_la_SOURCES = caf/single.c $(libcaf_shared_SRCS)\n libcaf_single_la_LDFLAGS = -static\n-libcaf_single_la_DEPENDENCIES = caf/libcaf.h\n+libcaf_single_la_DEPENDENCIES = $(libcaf_shared_DEPS)\n libcaf_single_la_LINK = $(LINK) $(libcaf_single_la_LDFLAGS)\n \n+libcaf_shmem_la_SOURCES = $(libcaf_shared_SRCS) \\\n+\tcaf/shmem.c caf/shmem/alloc.c caf/shmem/allocator.c \\\n+\tcaf/shmem/collective_subroutine.c caf/shmem/counter_barrier.c \\\n+\tcaf/shmem/hashmap.c caf/shmem/shared_memory.c caf/shmem/supervisor.c \\\n+\tcaf/shmem/sync.c caf/shmem/teams_mgmt.c caf/shmem/thread_support.c\n+\n+libcaf_shmem_la_LDFLAGS = -static\n+libcaf_shmem_la_DEPENDENCIES = $(libcaf_shared_DEPS) caf/shmem/alloc.h \\\n+\tcaf/shmem/allocator.h caf/shmem/collective_subroutine.h \\\n+\tcaf/shmem/counter_barrier.h caf/shmem/hashmap.h \\\n+\tcaf/shmem/shared_memory.h caf/shmem/supervisor.h caf/shmem/sync.h \\\n+\tcaf/shmem/teams_mgmt.h caf/shmem/thread_support.h\n+libcaf_shmem_la_LINK = $(LINK) $(libcaf_shmem_la_LDFLAGS)\n+\n if IEEE_SUPPORT\n fincludedir = $(libdir)/gcc/$(target_alias)/$(gcc_version)$(MULTISUBDIR)/finclude\n nodist_finclude_HEADERS = ieee_arithmetic.mod ieee_exceptions.mod ieee_features.mod\ndiff --git a/libgfortran/Makefile.in b/libgfortran/Makefile.in\nindex 63c880cddcb..9272fa86741 100644\n--- a/libgfortran/Makefile.in\n+++ b/libgfortran/Makefile.in\n@@ -219,21 +219,31 @@ am__installdirs = \"$(DESTDIR)$(cafexeclibdir)\" \\\n \t\"$(DESTDIR)$(toolexeclibdir)\" \"$(DESTDIR)$(toolexeclibdir)\" \\\n \t\"$(DESTDIR)$(gfor_cdir)\" \"$(DESTDIR)$(fincludedir)\"\n LTLIBRARIES = $(cafexeclib_LTLIBRARIES) $(toolexeclib_LTLIBRARIES)\n-libcaf_single_la_LIBADD =\n+libcaf_shmem_la_LIBADD =\n am__dirstamp = $(am__leading_dot)dirstamp\n-am_libcaf_single_la_OBJECTS = caf/single.lo\n+am__objects_1 = caf/caf_error.lo\n+am_libcaf_shmem_la_OBJECTS = $(am__objects_1) caf/shmem.lo \\\n+\tcaf/shmem/alloc.lo caf/shmem/allocator.lo \\\n+\tcaf/shmem/collective_subroutine.lo \\\n+\tcaf/shmem/counter_barrier.lo caf/shmem/hashmap.lo \\\n+\tcaf/shmem/shared_memory.lo caf/shmem/supervisor.lo \\\n+\tcaf/shmem/sync.lo caf/shmem/teams_mgmt.lo \\\n+\tcaf/shmem/thread_support.lo\n+libcaf_shmem_la_OBJECTS = $(am_libcaf_shmem_la_OBJECTS)\n+libcaf_single_la_LIBADD =\n+am_libcaf_single_la_OBJECTS = caf/single.lo $(am__objects_1)\n libcaf_single_la_OBJECTS = $(am_libcaf_single_la_OBJECTS)\n libgfortran_la_LIBADD =\n-@LIBGFOR_MINIMAL_TRUE@am__objects_1 = runtime/minimal.lo\n-@LIBGFOR_MINIMAL_FALSE@am__objects_2 = runtime/backtrace.lo \\\n+@LIBGFOR_MINIMAL_TRUE@am__objects_2 = runtime/minimal.lo\n+@LIBGFOR_MINIMAL_FALSE@am__objects_3 = runtime/backtrace.lo \\\n @LIBGFOR_MINIMAL_FALSE@\truntime/convert_char.lo \\\n @LIBGFOR_MINIMAL_FALSE@\truntime/environ.lo runtime/error.lo \\\n @LIBGFOR_MINIMAL_FALSE@\truntime/fpu.lo runtime/main.lo \\\n @LIBGFOR_MINIMAL_FALSE@\truntime/pause.lo runtime/stop.lo\n-am__objects_3 = runtime/bounds.lo runtime/compile_options.lo \\\n+am__objects_4 = runtime/bounds.lo runtime/compile_options.lo \\\n \truntime/deep_copy.lo runtime/memory.lo runtime/string.lo \\\n-\truntime/select.lo $(am__objects_1) $(am__objects_2)\n-am__objects_4 = generated/matmul_i1.lo generated/matmul_i2.lo \\\n+\truntime/select.lo $(am__objects_2) $(am__objects_3)\n+am__objects_5 = generated/matmul_i1.lo generated/matmul_i2.lo \\\n \tgenerated/matmul_i4.lo generated/matmul_i8.lo \\\n \tgenerated/matmul_i16.lo generated/matmul_r4.lo \\\n \tgenerated/matmul_r8.lo generated/matmul_r10.lo \\\n@@ -241,9 +251,9 @@ am__objects_4 = generated/matmul_i1.lo generated/matmul_i2.lo \\\n \tgenerated/matmul_c4.lo generated/matmul_c8.lo \\\n \tgenerated/matmul_c10.lo generated/matmul_c16.lo \\\n \tgenerated/matmul_c17.lo\n-am__objects_5 = generated/matmul_l4.lo generated/matmul_l8.lo \\\n+am__objects_6 = generated/matmul_l4.lo generated/matmul_l8.lo \\\n \tgenerated/matmul_l16.lo\n-am__objects_6 = generated/matmulavx128_i1.lo \\\n+am__objects_7 = generated/matmulavx128_i1.lo \\\n \tgenerated/matmulavx128_i2.lo generated/matmulavx128_i4.lo \\\n \tgenerated/matmulavx128_i8.lo generated/matmulavx128_i16.lo \\\n \tgenerated/matmulavx128_r4.lo generated/matmulavx128_r8.lo \\\n@@ -251,7 +261,7 @@ am__objects_6 = generated/matmulavx128_i1.lo \\\n \tgenerated/matmulavx128_r17.lo generated/matmulavx128_c4.lo \\\n \tgenerated/matmulavx128_c8.lo generated/matmulavx128_c10.lo \\\n \tgenerated/matmulavx128_c16.lo generated/matmulavx128_c17.lo\n-am__objects_7 = generated/all_l1.lo generated/all_l2.lo \\\n+am__objects_8 = generated/all_l1.lo generated/all_l2.lo \\\n \tgenerated/all_l4.lo generated/all_l8.lo generated/all_l16.lo \\\n \tgenerated/any_l1.lo generated/any_l2.lo generated/any_l4.lo \\\n \tgenerated/any_l8.lo generated/any_l16.lo \\\n@@ -540,17 +550,17 @@ am__objects_7 = generated/all_l1.lo generated/all_l2.lo \\\n \tgenerated/pow_m8_m16.lo generated/pow_m16_m1.lo \\\n \tgenerated/pow_m16_m2.lo generated/pow_m16_m4.lo \\\n \tgenerated/pow_m16_m8.lo generated/pow_m16_m16.lo \\\n-\t$(am__objects_4) $(am__objects_5) $(am__objects_6) \\\n+\t$(am__objects_5) $(am__objects_6) $(am__objects_7) \\\n \truntime/ISO_Fortran_binding.lo\n-@LIBGFOR_MINIMAL_FALSE@am__objects_8 = io/close.lo io/file_pos.lo \\\n+@LIBGFOR_MINIMAL_FALSE@am__objects_9 = io/close.lo io/file_pos.lo \\\n @LIBGFOR_MINIMAL_FALSE@\tio/format.lo io/inquire.lo \\\n @LIBGFOR_MINIMAL_FALSE@\tio/intrinsics.lo io/list_read.lo \\\n @LIBGFOR_MINIMAL_FALSE@\tio/lock.lo io/open.lo io/read.lo \\\n @LIBGFOR_MINIMAL_FALSE@\tio/transfer.lo io/transfer128.lo \\\n @LIBGFOR_MINIMAL_FALSE@\tio/unit.lo io/unix.lo io/write.lo \\\n @LIBGFOR_MINIMAL_FALSE@\tio/fbuf.lo io/async.lo\n-am__objects_9 = io/size_from_kind.lo $(am__objects_8)\n-@LIBGFOR_MINIMAL_FALSE@am__objects_10 = intrinsics/access.lo \\\n+am__objects_10 = io/size_from_kind.lo $(am__objects_9)\n+@LIBGFOR_MINIMAL_FALSE@am__objects_11 = intrinsics/access.lo \\\n @LIBGFOR_MINIMAL_FALSE@\tintrinsics/c99_functions.lo \\\n @LIBGFOR_MINIMAL_FALSE@\tintrinsics/chdir.lo intrinsics/chmod.lo \\\n @LIBGFOR_MINIMAL_FALSE@\tintrinsics/clock.lo \\\n@@ -574,8 +584,8 @@ am__objects_9 = io/size_from_kind.lo $(am__objects_8)\n @LIBGFOR_MINIMAL_FALSE@\tintrinsics/system_clock.lo \\\n @LIBGFOR_MINIMAL_FALSE@\tintrinsics/time.lo intrinsics/umask.lo \\\n @LIBGFOR_MINIMAL_FALSE@\tintrinsics/unlink.lo\n-@IEEE_SUPPORT_TRUE@am__objects_11 = ieee/ieee_helper.lo\n-am__objects_12 = intrinsics/associated.lo intrinsics/abort.lo \\\n+@IEEE_SUPPORT_TRUE@am__objects_12 = ieee/ieee_helper.lo\n+am__objects_13 = intrinsics/associated.lo intrinsics/abort.lo \\\n \tintrinsics/args.lo intrinsics/cshift0.lo \\\n \tintrinsics/eoshift0.lo intrinsics/eoshift2.lo \\\n \tintrinsics/erfc_scaled.lo intrinsics/extends_type_of.lo \\\n@@ -590,12 +600,12 @@ am__objects_12 = intrinsics/associated.lo intrinsics/abort.lo \\\n \tintrinsics/selected_real_kind.lo intrinsics/trigd.lo \\\n \tintrinsics/unpack_generic.lo runtime/in_pack_generic.lo \\\n \truntime/in_unpack_generic.lo runtime/in_pack_class.lo \\\n-\truntime/in_unpack_class.lo $(am__objects_10) $(am__objects_11)\n-@IEEE_SUPPORT_TRUE@am__objects_13 = ieee/ieee_arithmetic.lo \\\n+\truntime/in_unpack_class.lo $(am__objects_11) $(am__objects_12)\n+@IEEE_SUPPORT_TRUE@am__objects_14 = ieee/ieee_arithmetic.lo \\\n @IEEE_SUPPORT_TRUE@\tieee/ieee_exceptions.lo \\\n @IEEE_SUPPORT_TRUE@\tieee/ieee_features.lo\n-am__objects_14 =\n-am__objects_15 = generated/_abs_c4.lo generated/_abs_c8.lo \\\n+am__objects_15 =\n+am__objects_16 = generated/_abs_c4.lo generated/_abs_c8.lo \\\n \tgenerated/_abs_c10.lo generated/_abs_c16.lo \\\n \tgenerated/_abs_c17.lo generated/_abs_i4.lo \\\n \tgenerated/_abs_i8.lo generated/_abs_i16.lo \\\n@@ -681,9 +691,9 @@ am__objects_15 = generated/_abs_c4.lo generated/_abs_c8.lo \\\n \tgenerated/_mod_r17.lo generated/misc_specifics.lo \\\n \tintrinsics/dprod_r8.lo intrinsics/f2c_specifics.lo \\\n \tintrinsics/random_init.lo\n-am_libgfortran_la_OBJECTS = $(am__objects_3) $(am__objects_7) \\\n-\t$(am__objects_9) $(am__objects_12) $(am__objects_13) \\\n-\t$(am__objects_14) $(am__objects_15)\n+am_libgfortran_la_OBJECTS = $(am__objects_4) $(am__objects_8) \\\n+\t$(am__objects_10) $(am__objects_13) $(am__objects_14) \\\n+\t$(am__objects_15) $(am__objects_16)\n libgfortran_la_OBJECTS = $(am_libgfortran_la_OBJECTS)\n AM_V_P = $(am__v_P_@AM_V@)\n am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)\n@@ -748,7 +758,8 @@ AM_V_FC = $(am__v_FC_@AM_V@)\n am__v_FC_ = $(am__v_FC_@AM_DEFAULT_V@)\n am__v_FC_0 = @echo \" FC \" $@;\n am__v_FC_1 = \n-SOURCES = $(libcaf_single_la_SOURCES) $(libgfortran_la_SOURCES)\n+SOURCES = $(libcaf_shmem_la_SOURCES) $(libcaf_single_la_SOURCES) \\\n+\t$(libgfortran_la_SOURCES)\n am__can_run_installinfo = \\\n case $$AM_UPDATE_INFO_DIR in \\\n n|no|NO) false;; \\\n@@ -965,12 +976,28 @@ libgfortran_la_LDFLAGS = -version-info `grep -v '^\\#' $(srcdir)/libtool-version`\n \t$(version_arg) -Wc,-shared-libgcc\n \n libgfortran_la_DEPENDENCIES = $(version_dep) libgfortran.spec $(LIBQUADLIB_DEP)\n-cafexeclib_LTLIBRARIES = libcaf_single.la\n+libcaf_shared_DEPS = caf/libcaf.h caf/caf_error.h\n+libcaf_shared_SRCS = caf/caf_error.c\n+cafexeclib_LTLIBRARIES = libcaf_single.la libcaf_shmem.la\n cafexeclibdir = $(libdir)/gcc/$(target_alias)/$(gcc_version)$(MULTISUBDIR)\n-libcaf_single_la_SOURCES = caf/single.c\n+libcaf_single_la_SOURCES = caf/single.c $(libcaf_shared_SRCS)\n libcaf_single_la_LDFLAGS = -static\n-libcaf_single_la_DEPENDENCIES = caf/libcaf.h\n+libcaf_single_la_DEPENDENCIES = $(libcaf_shared_DEPS)\n libcaf_single_la_LINK = $(LINK) $(libcaf_single_la_LDFLAGS)\n+libcaf_shmem_la_SOURCES = $(libcaf_shared_SRCS) \\\n+\tcaf/shmem.c caf/shmem/alloc.c caf/shmem/allocator.c \\\n+\tcaf/shmem/collective_subroutine.c caf/shmem/counter_barrier.c \\\n+\tcaf/shmem/hashmap.c caf/shmem/shared_memory.c caf/shmem/supervisor.c \\\n+\tcaf/shmem/sync.c caf/shmem/teams_mgmt.c caf/shmem/thread_support.c\n+\n+libcaf_shmem_la_LDFLAGS = -static\n+libcaf_shmem_la_DEPENDENCIES = $(libcaf_shared_DEPS) caf/shmem/alloc.h \\\n+\tcaf/shmem/allocator.h caf/shmem/collective_subroutine.h \\\n+\tcaf/shmem/counter_barrier.h caf/shmem/hashmap.h \\\n+\tcaf/shmem/shared_memory.h caf/shmem/supervisor.h caf/shmem/sync.h \\\n+\tcaf/shmem/teams_mgmt.h caf/shmem/thread_support.h\n+\n+libcaf_shmem_la_LINK = $(LINK) $(libcaf_shmem_la_LDFLAGS)\n @IEEE_SUPPORT_TRUE@fincludedir = $(libdir)/gcc/$(target_alias)/$(gcc_version)$(MULTISUBDIR)/finclude\n @IEEE_SUPPORT_TRUE@nodist_finclude_HEADERS = ieee_arithmetic.mod ieee_exceptions.mod ieee_features.mod\n AM_CPPFLAGS = -iquote$(srcdir)/io -I$(srcdir)/$(MULTISRCTOP)../gcc \\\n@@ -1967,6 +1994,37 @@ caf/$(am__dirstamp):\n caf/$(DEPDIR)/$(am__dirstamp):\n \t@$(MKDIR_P) caf/$(DEPDIR)\n \t@: > caf/$(DEPDIR)/$(am__dirstamp)\n+caf/caf_error.lo: caf/$(am__dirstamp) caf/$(DEPDIR)/$(am__dirstamp)\n+caf/shmem.lo: caf/$(am__dirstamp) caf/$(DEPDIR)/$(am__dirstamp)\n+caf/shmem/$(am__dirstamp):\n+\t@$(MKDIR_P) caf/shmem\n+\t@: > caf/shmem/$(am__dirstamp)\n+caf/shmem/$(DEPDIR)/$(am__dirstamp):\n+\t@$(MKDIR_P) caf/shmem/$(DEPDIR)\n+\t@: > caf/shmem/$(DEPDIR)/$(am__dirstamp)\n+caf/shmem/alloc.lo: caf/shmem/$(am__dirstamp) \\\n+\tcaf/shmem/$(DEPDIR)/$(am__dirstamp)\n+caf/shmem/allocator.lo: caf/shmem/$(am__dirstamp) \\\n+\tcaf/shmem/$(DEPDIR)/$(am__dirstamp)\n+caf/shmem/collective_subroutine.lo: caf/shmem/$(am__dirstamp) \\\n+\tcaf/shmem/$(DEPDIR)/$(am__dirstamp)\n+caf/shmem/counter_barrier.lo: caf/shmem/$(am__dirstamp) \\\n+\tcaf/shmem/$(DEPDIR)/$(am__dirstamp)\n+caf/shmem/hashmap.lo: caf/shmem/$(am__dirstamp) \\\n+\tcaf/shmem/$(DEPDIR)/$(am__dirstamp)\n+caf/shmem/shared_memory.lo: caf/shmem/$(am__dirstamp) \\\n+\tcaf/shmem/$(DEPDIR)/$(am__dirstamp)\n+caf/shmem/supervisor.lo: caf/shmem/$(am__dirstamp) \\\n+\tcaf/shmem/$(DEPDIR)/$(am__dirstamp)\n+caf/shmem/sync.lo: caf/shmem/$(am__dirstamp) \\\n+\tcaf/shmem/$(DEPDIR)/$(am__dirstamp)\n+caf/shmem/teams_mgmt.lo: caf/shmem/$(am__dirstamp) \\\n+\tcaf/shmem/$(DEPDIR)/$(am__dirstamp)\n+caf/shmem/thread_support.lo: caf/shmem/$(am__dirstamp) \\\n+\tcaf/shmem/$(DEPDIR)/$(am__dirstamp)\n+\n+libcaf_shmem.la: $(libcaf_shmem_la_OBJECTS) $(libcaf_shmem_la_DEPENDENCIES) $(EXTRA_libcaf_shmem_la_DEPENDENCIES)\n+\t$(AM_V_GEN)$(libcaf_shmem_la_LINK) -rpath $(cafexeclibdir) $(libcaf_shmem_la_OBJECTS) $(libcaf_shmem_la_LIBADD) $(LIBS)\n caf/single.lo: caf/$(am__dirstamp) caf/$(DEPDIR)/$(am__dirstamp)\n \n libcaf_single.la: $(libcaf_single_la_OBJECTS) $(libcaf_single_la_DEPENDENCIES) $(EXTRA_libcaf_single_la_DEPENDENCIES) \n@@ -3776,6 +3834,8 @@ mostlyclean-compile:\n \t-rm -f *.$(OBJEXT)\n \t-rm -f caf/*.$(OBJEXT)\n \t-rm -f caf/*.lo\n+\t-rm -f caf/shmem/*.$(OBJEXT)\n+\t-rm -f caf/shmem/*.lo\n \t-rm -f generated/*.$(OBJEXT)\n \t-rm -f generated/*.lo\n \t-rm -f ieee/*.$(OBJEXT)\n@@ -3790,7 +3850,19 @@ mostlyclean-compile:\n distclean-compile:\n \t-rm -f *.tab.c\n \n+@AMDEP_TRUE@@am__include@ @am__quote@caf/$(DEPDIR)/caf_error.Plo@am__quote@\n+@AMDEP_TRUE@@am__include@ @am__quote@caf/$(DEPDIR)/shmem.Plo@am__quote@\n @AMDEP_TRUE@@am__include@ @am__quote@caf/$(DEPDIR)/single.Plo@am__quote@\n+@AMDEP_TRUE@@am__include@ @am__quote@caf/shmem/$(DEPDIR)/alloc.Plo@am__quote@\n+@AMDEP_TRUE@@am__include@ @am__quote@caf/shmem/$(DEPDIR)/allocator.Plo@am__quote@\n+@AMDEP_TRUE@@am__include@ @am__quote@caf/shmem/$(DEPDIR)/collective_subroutine.Plo@am__quote@\n+@AMDEP_TRUE@@am__include@ @am__quote@caf/shmem/$(DEPDIR)/counter_barrier.Plo@am__quote@\n+@AMDEP_TRUE@@am__include@ @am__quote@caf/shmem/$(DEPDIR)/hashmap.Plo@am__quote@\n+@AMDEP_TRUE@@am__include@ @am__quote@caf/shmem/$(DEPDIR)/shared_memory.Plo@am__quote@\n+@AMDEP_TRUE@@am__include@ @am__quote@caf/shmem/$(DEPDIR)/supervisor.Plo@am__quote@\n+@AMDEP_TRUE@@am__include@ @am__quote@caf/shmem/$(DEPDIR)/sync.Plo@am__quote@\n+@AMDEP_TRUE@@am__include@ @am__quote@caf/shmem/$(DEPDIR)/teams_mgmt.Plo@am__quote@\n+@AMDEP_TRUE@@am__include@ @am__quote@caf/shmem/$(DEPDIR)/thread_support.Plo@am__quote@\n @AMDEP_TRUE@@am__include@ @am__quote@generated/$(DEPDIR)/all_l1.Plo@am__quote@\n @AMDEP_TRUE@@am__include@ @am__quote@generated/$(DEPDIR)/all_l16.Plo@am__quote@\n @AMDEP_TRUE@@am__include@ @am__quote@generated/$(DEPDIR)/all_l2.Plo@am__quote@\n@@ -4556,6 +4628,7 @@ mostlyclean-libtool:\n clean-libtool:\n \t-rm -rf .libs _libs\n \t-rm -rf caf/.libs caf/_libs\n+\t-rm -rf caf/shmem/.libs caf/shmem/_libs\n \t-rm -rf generated/.libs generated/_libs\n \t-rm -rf ieee/.libs ieee/_libs\n \t-rm -rf intrinsics/.libs intrinsics/_libs\n@@ -4723,6 +4796,8 @@ distclean-generic:\n \t-test . = \"$(srcdir)\" || test -z \"$(CONFIG_CLEAN_VPATH_FILES)\" || rm -f $(CONFIG_CLEAN_VPATH_FILES)\n \t-rm -f caf/$(DEPDIR)/$(am__dirstamp)\n \t-rm -f caf/$(am__dirstamp)\n+\t-rm -f caf/shmem/$(DEPDIR)/$(am__dirstamp)\n+\t-rm -f caf/shmem/$(am__dirstamp)\n \t-rm -f generated/$(DEPDIR)/$(am__dirstamp)\n \t-rm -f generated/$(am__dirstamp)\n \t-rm -f ieee/$(DEPDIR)/$(am__dirstamp)\n@@ -4745,7 +4820,7 @@ clean-am: clean-cafexeclibLTLIBRARIES clean-generic clean-libtool \\\n \n distclean: distclean-am\n \t-rm -f $(am__CONFIG_DISTCLEAN_FILES)\n-\t-rm -rf caf/$(DEPDIR) generated/$(DEPDIR) ieee/$(DEPDIR) intrinsics/$(DEPDIR) io/$(DEPDIR) runtime/$(DEPDIR)\n+\t-rm -rf caf/$(DEPDIR) caf/shmem/$(DEPDIR) generated/$(DEPDIR) ieee/$(DEPDIR) intrinsics/$(DEPDIR) io/$(DEPDIR) runtime/$(DEPDIR)\n \t-rm -f Makefile\n distclean-am: clean-am distclean-compile distclean-generic \\\n \tdistclean-hdr distclean-libtool distclean-local distclean-tags\n@@ -4794,7 +4869,7 @@ installcheck-am:\n maintainer-clean: maintainer-clean-am\n \t-rm -f $(am__CONFIG_DISTCLEAN_FILES)\n \t-rm -rf $(top_srcdir)/autom4te.cache\n-\t-rm -rf caf/$(DEPDIR) generated/$(DEPDIR) ieee/$(DEPDIR) intrinsics/$(DEPDIR) io/$(DEPDIR) runtime/$(DEPDIR)\n+\t-rm -rf caf/$(DEPDIR) caf/shmem/$(DEPDIR) generated/$(DEPDIR) ieee/$(DEPDIR) intrinsics/$(DEPDIR) io/$(DEPDIR) runtime/$(DEPDIR)\n \t-rm -f Makefile\n maintainer-clean-am: distclean-am maintainer-clean-generic \\\n \tmaintainer-clean-local\ndiff --git a/libgfortran/acinclude.m4 b/libgfortran/acinclude.m4\nindex 23fd621e518..13097b4ab92 100644\n--- a/libgfortran/acinclude.m4\n+++ b/libgfortran/acinclude.m4\n@@ -578,3 +578,15 @@ main ()\n [Define to 1 if you have the `$1' function.])\n fi\n ])\n+\n+AC_DEFUN([LIBGFOR_CHECK_SANE_BUILTIN_CLZL], [\n+ AC_RUN_IFELSE([AC_LANG_PROGRAM([[\n+ int main()\n+ {\n+\treturn __builtin_clzl(256) != 8;\n+ }]], [[]])],\n+ AC_DEFINE(HAVE_SANE_BUILTIN_CLZL, 1,\n+ [Define if __builtin_clzl behaves as expected.])\n+ AM_CONDITIONAL([HAVE_SANE_BUILTIN_CLZL],true),\n+ [AM_CONDITIONAL([HAVE_SANE_BUILTIN_CLZL],false)])\n+])\ndiff --git a/libgfortran/config.h.in b/libgfortran/config.h.in\nindex da2c44c1af1..1a66ee7e513 100644\n--- a/libgfortran/config.h.in\n+++ b/libgfortran/config.h.in\n@@ -777,6 +777,9 @@\n /* Define to 1 if you have the `mkstemp' function. */\n #undef HAVE_MKSTEMP\n \n+/* Define to 1 if you have the `mmap' function. */\n+#undef HAVE_MMAP\n+\n /* Define to 1 if you have the `newlocale' function. */\n #undef HAVE_NEWLOCALE\n \n@@ -828,6 +831,9 @@\n /* Define to 1 if you have the `roundl' function. */\n #undef HAVE_ROUNDL\n \n+/* Define if __builtin_clzl behaves as expected. */\n+#undef HAVE_SANE_BUILTIN_CLZL\n+\n /* Define to 1 if you have the `scalbn' function. */\n #undef HAVE_SCALBN\n \n@@ -843,6 +849,9 @@\n /* Define to 1 if you have the `secure_getenv' function. */\n #undef HAVE_SECURE_GETENV\n \n+/* Define to 1 if you have the `setenv' function. */\n+#undef HAVE_SETENV\n+\n /* Define to 1 if you have the `setmode' function. */\n #undef HAVE_SETMODE\n \n@@ -945,6 +954,9 @@\n /* Define to 1 if you have the `symlink' function. */\n #undef HAVE_SYMLINK\n \n+/* Define to 1 if you have the <sys/mman.h> header file. */\n+#undef HAVE_SYS_MMAN_H\n+\n /* Define to 1 if you have the <sys/random.h> header file. */\n #undef HAVE_SYS_RANDOM_H\n \ndiff --git a/libgfortran/configure b/libgfortran/configure\nindex 38d6c3cf3a0..6227e5bee74 100755\n--- a/libgfortran/configure\n+++ b/libgfortran/configure\n@@ -637,6 +637,8 @@ am__EXEEXT_TRUE\n LTLIBOBJS\n LIBOBJS\n get_gcc_base_ver\n+HAVE_SANE_BUILTIN_CLZL_FALSE\n+HAVE_SANE_BUILTIN_CLZL_TRUE\n HAVE_AVX128_FALSE\n HAVE_AVX128_TRUE\n tmake_file\n@@ -2620,6 +2622,7 @@ as_fn_append ac_header_list \" fpxcp.h\"\n as_fn_append ac_header_list \" pwd.h\"\n as_fn_append ac_header_list \" complex.h\"\n as_fn_append ac_header_list \" xlocale.h\"\n+as_fn_append ac_header_list \" sys/mman.h\"\n as_fn_append ac_func_list \" getrusage\"\n as_fn_append ac_func_list \" times\"\n as_fn_append ac_func_list \" mkstemp\"\n@@ -2639,6 +2642,8 @@ as_fn_append ac_func_list \" sleep\"\n as_fn_append ac_func_list \" ttyname\"\n as_fn_append ac_func_list \" sigaction\"\n as_fn_append ac_func_list \" waitpid\"\n+as_fn_append ac_func_list \" mmap\"\n+as_fn_append ac_func_list \" setenv\"\n as_fn_append ac_func_list \" alarm\"\n as_fn_append ac_func_list \" access\"\n as_fn_append ac_func_list \" fork\"\n@@ -13236,7 +13241,7 @@ else\n lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2\n lt_status=$lt_dlunknown\n cat > conftest.$ac_ext <<_LT_EOF\n-#line 13239 \"configure\"\n+#line 13244 \"configure\"\n #include \"confdefs.h\"\n \n #if HAVE_DLFCN_H\n@@ -13342,7 +13347,7 @@ else\n lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2\n lt_status=$lt_dlunknown\n cat > conftest.$ac_ext <<_LT_EOF\n-#line 13345 \"configure\"\n+#line 13350 \"configure\"\n #include \"confdefs.h\"\n \n #if HAVE_DLFCN_H\n@@ -17127,6 +17132,8 @@ done\n \n \n \n+\n+\n \n \n \n@@ -17728,6 +17735,10 @@ done\n \n \n \n+\n+\n+\n+\n \n \n \n@@ -31827,6 +31838,57 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext\n CFLAGS=\"$ac_save_CFLAGS\"\n \n \n+# Check if __builtin_clzl behaves (it doesn't on Msys2/ucrt64).\n+\n+ if test \"$cross_compiling\" = yes; then :\n+ { { $as_echo \"$as_me:${as_lineno-$LINENO}: error: in \\`$ac_pwd':\" >&5\n+$as_echo \"$as_me: error: in \\`$ac_pwd':\" >&2;}\n+as_fn_error $? \"cannot run test program while cross compiling\n+See \\`config.log' for more details\" \"$LINENO\" 5; }\n+else\n+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext\n+/* end confdefs.h. */\n+\n+ int main()\n+ {\n+\treturn __builtin_clzl(256) != 8;\n+ }\n+int\n+main ()\n+{\n+\n+ ;\n+ return 0;\n+}\n+_ACEOF\n+if ac_fn_c_try_run \"$LINENO\"; then :\n+\n+$as_echo \"#define HAVE_SANE_BUILTIN_CLZL 1\" >>confdefs.h\n+\n+ if true; then\n+ HAVE_SANE_BUILTIN_CLZL_TRUE=\n+ HAVE_SANE_BUILTIN_CLZL_FALSE='#'\n+else\n+ HAVE_SANE_BUILTIN_CLZL_TRUE='#'\n+ HAVE_SANE_BUILTIN_CLZL_FALSE=\n+fi\n+\n+else\n+ if false; then\n+ HAVE_SANE_BUILTIN_CLZL_TRUE=\n+ HAVE_SANE_BUILTIN_CLZL_FALSE='#'\n+else\n+ HAVE_SANE_BUILTIN_CLZL_TRUE='#'\n+ HAVE_SANE_BUILTIN_CLZL_FALSE=\n+fi\n+\n+fi\n+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \\\n+ conftest.$ac_objext conftest.beam conftest.$ac_ext\n+fi\n+\n+\n+\n # Determine what GCC version number to use in filesystem paths.\n \n get_gcc_base_ver=\"cat\"\n@@ -32118,6 +32180,14 @@ if test -z \"${HAVE_AVX128_TRUE}\" && test -z \"${HAVE_AVX128_FALSE}\"; then\n as_fn_error $? \"conditional \\\"HAVE_AVX128\\\" was never defined.\n Usually this means the macro was only invoked conditionally.\" \"$LINENO\" 5\n fi\n+if test -z \"${HAVE_SANE_BUILTIN_CLZL_TRUE}\" && test -z \"${HAVE_SANE_BUILTIN_CLZL_FALSE}\"; then\n+ as_fn_error $? \"conditional \\\"HAVE_SANE_BUILTIN_CLZL\\\" was never defined.\n+Usually this means the macro was only invoked conditionally.\" \"$LINENO\" 5\n+fi\n+if test -z \"${HAVE_SANE_BUILTIN_CLZL_TRUE}\" && test -z \"${HAVE_SANE_BUILTIN_CLZL_FALSE}\"; then\n+ as_fn_error $? \"conditional \\\"HAVE_SANE_BUILTIN_CLZL\\\" was never defined.\n+Usually this means the macro was only invoked conditionally.\" \"$LINENO\" 5\n+fi\n \n : \"${CONFIG_STATUS=./config.status}\"\n ac_write_fail=0\ndiff --git a/libgfortran/configure.ac b/libgfortran/configure.ac\nindex cca1ea0ea97..b165dff1e05 100644\n--- a/libgfortran/configure.ac\n+++ b/libgfortran/configure.ac\n@@ -298,7 +298,7 @@ AC_CHECK_TYPES([ptrdiff_t])\n AC_CHECK_HEADERS_ONCE(unistd.h sys/random.h sys/time.h sys/times.h \\\n sys/resource.h sys/types.h sys/stat.h sys/uio.h sys/wait.h \\\n floatingpoint.h ieeefp.h fenv.h fptrap.h \\\n-fpxcp.h pwd.h complex.h xlocale.h)\n+fpxcp.h pwd.h complex.h xlocale.h sys/mman.h)\n \n GCC_HEADER_STDINT(gstdint.h)\n \n@@ -334,7 +334,7 @@ if test \"${hardwire_newlib:-0}\" -eq 1; then\n else\n AC_CHECK_FUNCS_ONCE(getrusage times mkstemp strtof strtold snprintf \\\n ftruncate chsize chdir getentropy getlogin gethostname kill link symlink \\\n- sleep ttyname sigaction waitpid \\\n+ sleep ttyname sigaction waitpid mmap setenv\\\n alarm access fork posix_spawn setmode fcntl writev \\\n gettimeofday stat fstat lstat getpwuid vsnprintf dup \\\n getcwd localtime_r gmtime_r getpwuid_r ttyname_r clock_gettime \\\n@@ -789,6 +789,9 @@ LIBGFOR_CHECK_FMA4\n # Check if AVX128 works\n LIBGFOR_CHECK_AVX128\n \n+# Check if __builtin_clzl behaves (it doesn't on Msys2/ucrt64).\n+LIBGFOR_CHECK_SANE_BUILTIN_CLZL\n+\n # Determine what GCC version number to use in filesystem paths.\n GCC_BASE_VER\n \n", "prefixes": [ "13/13" ] }