Skip to content

[libcxx] Re-include <osreldate.h> in __config for FreeBSD #77242

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed

Conversation

DimitryAndric
Copy link
Collaborator

In 0a97720 some changes were made to __config for assuming that __BYTE_ORDER__ is always present.

However, this deleted a <osreldate.h> include for FreeBSD, which is required to get the value of __FreeBSD_version, and that is used later in the file to determine whether _LIBCPP_C_HAS_NO_GETS needs to be enabled.

Include <osreldate.h> just after the other includes used for feature detection, to fix this.

Note that when FreeBSD 13 is EOLed, this can be removed, as then all supported FreeBSD versions will no longer have gets().

In 0a97720 some changes were made to `__config` for assuming that
`__BYTE_ORDER__` is always present.

However, this deleted a `<osreldate.h>` include for FreeBSD, which is
required to get the value of `__FreeBSD_version`, and that is used later
in the file to determine whether `_LIBCPP_C_HAS_NO_GETS` needs to be
enabled.

Include `<osreldate.h>` just after the other includes used for feature
detection, to fix this.

Note that when FreeBSD 13 is EOLed, this can be removed, as then all
supported FreeBSD versions will no longer have `gets()`.
@DimitryAndric DimitryAndric requested a review from emaste January 7, 2024 16:01
@DimitryAndric DimitryAndric requested a review from a team as a code owner January 7, 2024 16:01
@llvmbot llvmbot added the libc++ libc++ C++ Standard Library. Not GNU libstdc++. Not libc++abi. label Jan 7, 2024
@llvmbot
Copy link
Member

llvmbot commented Jan 7, 2024

@llvm/pr-subscribers-libcxx

Author: Dimitry Andric (DimitryAndric)

Changes

In 0a97720 some changes were made to __config for assuming that __BYTE_ORDER__ is always present.

However, this deleted a &lt;osreldate.h&gt; include for FreeBSD, which is required to get the value of __FreeBSD_version, and that is used later in the file to determine whether _LIBCPP_C_HAS_NO_GETS needs to be enabled.

Include &lt;osreldate.h&gt; just after the other includes used for feature detection, to fix this.

Note that when FreeBSD 13 is EOLed, this can be removed, as then all supported FreeBSD versions will no longer have gets().


Full diff: https://github.com/llvm/llvm-project/pull/77242.diff

1 Files Affected:

  • (modified) libcxx/include/__config (+4)
diff --git a/libcxx/include/__config b/libcxx/include/__config
index 082c73e672c749..359f4141146d62 100644
--- a/libcxx/include/__config
+++ b/libcxx/include/__config
@@ -484,6 +484,10 @@ _LIBCPP_HARDENING_MODE_DEBUG
 #    include <features.h> // for __NATIVE_ASCII_F
 #  endif
 
+#  ifdef __FreeBSD__
+#    include <osreldate.h> // for __FreeBSD_version
+#  endif
+
 #  ifndef __BYTE_ORDER__
 #    error                                                                                                             \
         "Your compiler doesn't seem to define __BYTE_ORDER__, which is required by libc++ to know the endianness of your target platform"

DimitryAndric added a commit to DimitryAndric/freebsd-src that referenced this pull request Jan 7, 2024
  [libcxx] Re-include <osreldate.h> in __config for FreeBSD

  In 0a97720d0197 some changes were made to `__config` for assuming that
  `__BYTE_ORDER__` is always present.

  However, this deleted a `<osreldate.h>` include for FreeBSD, which is
  required to get the value of `__FreeBSD_version`, and that is used later
  in the file to determine whether `_LIBCPP_C_HAS_NO_GETS` needs to be
  enabled.

  Include `<osreldate.h>` just after the other includes used for feature
  detection, to fix this.

  Note that when FreeBSD 13 is EOLed, this can be removed, as then all
  supported FreeBSD versions will no longer have `gets()`.
Copy link
Member

@mordante mordante left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks! LGTM!

@philnik777
Copy link
Contributor

How long is it until FreeBSD 13 is EOL? If it's still a while, I'd really like to see a test for this.

@emaste
Copy link
Member

emaste commented Jan 7, 2024

How long is it until FreeBSD 13 is EOL? If it's still a while, I'd really like to see a test for this.

FreeBSD 13 is supported until at least Jan 31 2026 so it is a while, yes.

@ldionne
Copy link
Member

ldionne commented Jan 8, 2024

Actually, _LIBCPP_C_HAS_NO_GETS shouldn't be necessary anymore, since its only usage is in:

#if _LIBCPP_STD_VER <= 11 && !defined(_LIBCPP_C_HAS_NO_GETS)
using ::gets _LIBCPP_USING_IF_EXISTS;
#endif

Since ::gets is marked as _LIBCPP_USING_IF_EXISTS, it should be possible to replace this by

#if _LIBCPP_STD_VER <= 11
using ::gets _LIBCPP_USING_IF_EXISTS;
#endif

What issue were you seeing on FreeBSD that prompted this change?

@DimitryAndric
Copy link
Collaborator Author

What issue were you seeing on FreeBSD that prompted this change?

I was building a bunch of FreeBSD ports against llvm-18 (including libcxx-18), and for example openjdk11 failed with:

In file included from /wrkdirs/usr/ports/java/openjdk11/work/jdk11u-jdk-11.0.21-9-1/src/hotspot/share/adlc/adlparse.cpp:27:
In file included from /wrkdirs/usr/ports/java/openjdk11/work/jdk11u-jdk-11.0.21-9-1/src/hotspot/share/adlc/adlc.hpp:33:
In file included from /usr/include/c++/v1/iostream:43:
In file included from /usr/include/c++/v1/ios:223:
In file included from /usr/include/c++/v1/__locale:23:
In file included from /usr/include/c++/v1/string:600:
In file included from /usr/include/c++/v1/__string/char_traits.h:26:
/usr/include/c++/v1/cstdio:163:9: error: no member named 'gets' in the global namespace
using ::gets _LIBCPP_USING_IF_EXISTS;
      ~~^
1 error generated.
gmake[4]: *** [gensrc/GensrcAdlc.gmk:73: /wrkdirs/usr/ports/java/openjdk11/work/jdk11u-jdk-11.0.21-9-1/build/bsd-x86_64-normal-server-release/hotspot/variant-server/tools/adlc/objs/adlparse.o] Error 1

While investigating I found that _LIBCPP_C_HAS_NO_GETS wasn't being defined anymore, so it still encountered this declaration, and failed on it.

Now that you have remarked this, I think I will look into it a bit more, since I never fully understood the "using_if_exists" stuff. As far as I remember, it never worked for us, in that the header will still produce an error if the _LIBCPP_C_HAS_NO_GETS check is removed.

@DimitryAndric
Copy link
Collaborator Author

Ah I think I know what happened there, for various reasons the openjdk11 port gets compiled with llvm12, which doesn't support the __using_if_exists__ attribute yet. I am aware that it is an unsupported configuration, but still I would like to at least put back the osreldate.h include, as it was there in the past, and was accidentally deleted.

An alternative would be to remove the whole _LIBCPP_C_HAS_NO_GETS stuff, and then we would have to carry a local patch to work around this problem. But I would prefer not to have to do so, at least until it is no longer necessary.

@ldionne
Copy link
Member

ldionne commented Jan 8, 2024

Is it not an option to instead compile openjdk11 with a supported version of Clang? Or, alternatively, you could compile openjdk11 with Clang 12, but also with libc++ 12 which would be a supported configuration. The current situation of using Clang 12 with libc++ 17 is actually prone to a lot more issues than this [[using_if_exists]] attribute lacking, I would expect a bunch more stuff to start failing in the future and I am a bit surprised you haven't run into other issues yet.

Because this is generally a non-supported configuration and this issue is likely just the tip of the iceberg, I would rather not move forward with this patch and instead remove _LIBCPP_C_HAS_NO_GETS.

ldionne added a commit to ldionne/llvm-project that referenced this pull request Jan 8, 2024
Since we use _LIBCPP_USING_IF_EXISTS to handle missing C library functions
now, _LIBCPP_C_HAS_NO_GETS shouldn't be necessary anymore. See discussion
thread in llvm#77242 for more details.
@DimitryAndric
Copy link
Collaborator Author

Is it not an option to instead compile openjdk11 with a supported version of Clang?

For various reasons, it is not. (There is a long history there, but suffice to say that openjdk11 code is also pretty old by now, and contains constructs that don't fare well with more recent versions of clang.)

Or, alternatively, you could compile openjdk11 with Clang 12, but also with libc++ 12 which would be a supported configuration.

Unfortunately that is something we haven't yet implemented. At least, nobody stepped up to make that work with the FreeBSD ports system, although various attempts have been made. They always end up failing due to the many tricky details that have to be worked out.

A similar situation exists with the various gcc ports available in the ports system, where if I recall correctly, gcc 4.8 only very recently got dropped (as some older software or architecture still required it). All these gcc ports come with their own copy of libstdc++, and there is no end to trouble when applications mix different versions of libstdc++.so, and even sometimes attempt to mix libc++ and libstdc++...

The current situation of using Clang 12 with libc++ 17 is actually prone to a lot more issues than this [[using_if_exists]] attribute lacking, I would expect a bunch more stuff to start failing in the future and I am a bit surprised you haven't run into other issues yet.

I have applied a few local workarounds, and most things seem to work fine. Though I recognize that this will become a bigger problem in the future. For now I will kick the can down the road.

Because this is generally a non-supported configuration and this issue is likely just the tip of the iceberg, I would rather not move forward with this patch and instead remove _LIBCPP_C_HAS_NO_GETS.

That's also fine, and we'll probably carry a local patch to work around this.

@DimitryAndric DimitryAndric deleted the users/DimitryAndric/libcxx-freebsd-osreldate branch January 8, 2024 18:55
ldionne added a commit that referenced this pull request Jan 10, 2024
Since we use _LIBCPP_USING_IF_EXISTS to handle missing C library functions
now, _LIBCPP_C_HAS_NO_GETS shouldn't be necessary anymore.
See the discussion thread in #77242 for more details.
DimitryAndric added a commit to DimitryAndric/freebsd-src that referenced this pull request Jan 11, 2024
  [libcxx] Re-include <osreldate.h> in __config for FreeBSD

  In 0a97720d0197 some changes were made to `__config` for assuming that
  `__BYTE_ORDER__` is always present.

  However, this deleted a `<osreldate.h>` include for FreeBSD, which is
  required to get the value of `__FreeBSD_version`, and that is used later
  in the file to determine whether `_LIBCPP_C_HAS_NO_GETS` needs to be
  enabled.

  Include `<osreldate.h>` just after the other includes used for feature
  detection, to fix this.

  Note that when FreeBSD 13 is EOLed, this can be removed, as then all
  supported FreeBSD versions will no longer have `gets()`.
DimitryAndric added a commit to DimitryAndric/freebsd-src that referenced this pull request Jan 11, 2024
  [libcxx] Re-include <osreldate.h> in __config for FreeBSD

  In 0a97720d0197 some changes were made to `__config` for assuming that
  `__BYTE_ORDER__` is always present.

  However, this deleted a `<osreldate.h>` include for FreeBSD, which is
  required to get the value of `__FreeBSD_version`, and that is used later
  in the file to determine whether `_LIBCPP_C_HAS_NO_GETS` needs to be
  enabled.

  Include `<osreldate.h>` just after the other includes used for feature
  detection, to fix this.

  Note that when FreeBSD 13 is EOLed, this can be removed, as then all
  supported FreeBSD versions will no longer have `gets()`.
DimitryAndric added a commit to DimitryAndric/freebsd-src that referenced this pull request Jan 22, 2024
  [libcxx] Re-include <osreldate.h> in __config for FreeBSD

  In 0a97720d0197 some changes were made to `__config` for assuming that
  `__BYTE_ORDER__` is always present.

  However, this deleted a `<osreldate.h>` include for FreeBSD, which is
  required to get the value of `__FreeBSD_version`, and that is used later
  in the file to determine whether `_LIBCPP_C_HAS_NO_GETS` needs to be
  enabled.

  Include `<osreldate.h>` just after the other includes used for feature
  detection, to fix this.

  Note that when FreeBSD 13 is EOLed, this can be removed, as then all
  supported FreeBSD versions will no longer have `gets()`.
DimitryAndric added a commit to DimitryAndric/freebsd-src that referenced this pull request Jan 24, 2024
  [libcxx] Re-include <osreldate.h> in __config for FreeBSD

  In 0a97720d0197 some changes were made to `__config` for assuming that
  `__BYTE_ORDER__` is always present.

  However, this deleted a `<osreldate.h>` include for FreeBSD, which is
  required to get the value of `__FreeBSD_version`, and that is used later
  in the file to determine whether `_LIBCPP_C_HAS_NO_GETS` needs to be
  enabled.

  Include `<osreldate.h>` just after the other includes used for feature
  detection, to fix this.

  Note that when FreeBSD 13 is EOLed, this can be removed, as then all
  supported FreeBSD versions will no longer have `gets()`.
DimitryAndric added a commit to DimitryAndric/freebsd-src that referenced this pull request Jan 24, 2024
  [libcxx] Re-include <osreldate.h> in __config for FreeBSD

  In 0a97720d0197 some changes were made to `__config` for assuming that
  `__BYTE_ORDER__` is always present.

  However, this deleted a `<osreldate.h>` include for FreeBSD, which is
  required to get the value of `__FreeBSD_version`, and that is used later
  in the file to determine whether `_LIBCPP_C_HAS_NO_GETS` needs to be
  enabled.

  Include `<osreldate.h>` just after the other includes used for feature
  detection, to fix this.

  Note that when FreeBSD 13 is EOLed, this can be removed, as then all
  supported FreeBSD versions will no longer have `gets()`.
DimitryAndric added a commit to DimitryAndric/freebsd-src that referenced this pull request Jan 25, 2024
  [libcxx] Re-include <osreldate.h> in __config for FreeBSD

  In 0a97720d0197 some changes were made to `__config` for assuming that
  `__BYTE_ORDER__` is always present.

  However, this deleted a `<osreldate.h>` include for FreeBSD, which is
  required to get the value of `__FreeBSD_version`, and that is used later
  in the file to determine whether `_LIBCPP_C_HAS_NO_GETS` needs to be
  enabled.

  Include `<osreldate.h>` just after the other includes used for feature
  detection, to fix this.

  Note that when FreeBSD 13 is EOLed, this can be removed, as then all
  supported FreeBSD versions will no longer have `gets()`.
DimitryAndric added a commit to DimitryAndric/freebsd-src that referenced this pull request Jan 27, 2024
  [libcxx] Re-include <osreldate.h> in __config for FreeBSD

  In 0a97720d0197 some changes were made to `__config` for assuming that
  `__BYTE_ORDER__` is always present.

  However, this deleted a `<osreldate.h>` include for FreeBSD, which is
  required to get the value of `__FreeBSD_version`, and that is used later
  in the file to determine whether `_LIBCPP_C_HAS_NO_GETS` needs to be
  enabled.

  Include `<osreldate.h>` just after the other includes used for feature
  detection, to fix this.

  Note that when FreeBSD 13 is EOLed, this can be removed, as then all
  supported FreeBSD versions will no longer have `gets()`.
DimitryAndric added a commit to DimitryAndric/freebsd-src that referenced this pull request Feb 9, 2024
  [libcxx] Re-include <osreldate.h> in __config for FreeBSD

  In 0a97720d0197 some changes were made to `__config` for assuming that
  `__BYTE_ORDER__` is always present.

  However, this deleted a `<osreldate.h>` include for FreeBSD, which is
  required to get the value of `__FreeBSD_version`, and that is used later
  in the file to determine whether `_LIBCPP_C_HAS_NO_GETS` needs to be
  enabled.

  Include `<osreldate.h>` just after the other includes used for feature
  detection, to fix this.

  Note that when FreeBSD 13 is EOLed, this can be removed, as then all
  supported FreeBSD versions will no longer have `gets()`.
emaste added a commit to emaste/freebsd that referenced this pull request Feb 9, 2024
commit a7fb520
Author: Dimitry Andric <[email protected]>
Date:   Wed Feb 7 22:50:52 2024 +0100

    Update libllvm for new RISCVGenMacroFusion.inc tblgen header.

commit 92e38d7
Author: Dimitry Andric <[email protected]>
Date:   Wed Feb 7 19:01:09 2024 +0100

    Update libllvm for removed file.

commit 1f05b14
Author: Dimitry Andric <[email protected]>
Date:   Wed Feb 7 16:59:11 2024 +0100

    Bump llvm-project version numbers to llvmorg-18.1.0-rc2-0-gc6c86965d967.

commit dd2f072
Merge: 024a010 4fdf604
Author: Dimitry Andric <[email protected]>
Date:   Wed Feb 7 15:58:02 2024 +0100

    Merge llvm-project release/18.x llvmorg-18.1.0-rc2-0-gc6c86965d967

    This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
    openmp to llvm-project release/18.x llvmorg-18.1.0-rc2-0-gc6c86965d967.

    PR:		276104
    MFC after:	1 month

commit 024a010
Author: Dimitry Andric <[email protected]>
Date:   Mon Feb 5 12:41:51 2024 +0100

    [libc++] Rename __bit_reference template parameter to avoid conflict

    As of 4d20cfcf4eb08217ed37c4d4c38dc395d7a66d26, `__bit_reference`
    contains a template `__fill_n` with a bool `_FillValue` parameter.

    Unfortunately there is a relatively widely used piece of scientific
    software called NetCDF, which exposes a (C) macro `_FillValue` in its
    public headers.

    When building the NetCDF C++ bindings, this quickly leads to compilation
    errors when the macro interferes with the template in `__bit_reference`.

    Rename the parameter to `_FillVal` to avoid the conflict.

commit 4721947
Author: Dimitry Andric <[email protected]>
Date:   Mon Feb 5 10:16:17 2024 +0100

    Merge commit 5f4ee5a2dfa9 from llvm-project (by Shanzhi):

      [Clang][AST] Fix a crash on attaching doc comments (#78716)

      This crash is basically caused by calling
      `ASTContext::getRawCommentForDeclNoCacheImp` with its input arguments
      `RepresentativeLocForDecl` and `CommentsInTheFile` refering to different
      files. A reduced reproducer is provided in this patch.

      After the source locations for instantiations of funtion template are
      corrected in the commit 256a0b298c68b89688b80350b034daf2f7785b67, the
      variable `CommitsInThisFile` in the function
      `ASTContext::attachCommentsToJustParsedDecls` would refer to the source
      file rather than the header file for implicit function template
      instantiation. Therefore, in the first loop in
      `ASTContext::attachCommentsToJustParsedDecls`, `D` should also be
      adjusted for relevant scenarios like the second loop.

      Fixes #67979
      Fixes #68524
      Fixes #70550

    This should fix a segfault when compiling graphics/gdal.

commit d4389cf
Author: Dimitry Andric <[email protected]>
Date:   Sun Jan 28 21:34:42 2024 +0100

    Merge commit 6e4930c67508 from llvm-project (by Alexander Kornienko):

      Revert "[SemaCXX] Implement CWG2137 (list-initialization from objects of the same type) (#77768)"

      This reverts commit 924701311aa79180e86ad8ce43d253f27d25ec7d. Causes compilation
      errors on valid code, see
      llvm/llvm-project#77768 (comment).

commit 638a121
Author: Dimitry Andric <[email protected]>
Date:   Fri Jan 26 16:21:16 2024 +0100

    Bump llvm-project version numbers to llvmorg-18-init-18361-g22683463740e (and 18.1.0).

commit fb7b27d
Merge: 2ed68de 2d835ae
Author: Dimitry Andric <[email protected]>
Date:   Fri Jan 26 16:04:14 2024 +0100

    Merge llvm-project release/18.x llvmorg-18-init-18361-g22683463740e

    This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
    openmp to llvm-project release/18.x llvmorg-18-init-18361-g22683463740e.

    PR:		276104
    MFC after:	1 month

commit 2ed68de
Author: Dimitry Andric <[email protected]>
Date:   Fri Jan 26 16:03:20 2024 +0100

    Tentatively apply libcxxrt/libcxxrt#27.

commit a0cf20a
Author: Dimitry Andric <[email protected]>
Date:   Fri Jan 26 16:02:51 2024 +0100

    libc++: use build defines and flags similar to upstream.

commit 66f3903
Author: Dimitry Andric <[email protected]>
Date:   Thu Jan 25 09:27:12 2024 +0100

    Add one more header to libc++.

commit ddf7238
Author: Dimitry Andric <[email protected]>
Date:   Thu Jan 25 00:39:43 2024 +0100

    Update libclang, libllvm, llc and lli Makefiles.

commit e025714
Author: Dimitry Andric <[email protected]>
Date:   Wed Jan 24 20:35:46 2024 +0100

    Update libc++ generated files, and add __assertion_handler.

commit e7cb0e2
Author: Dimitry Andric <[email protected]>
Date:   Wed Jan 24 20:31:39 2024 +0100

    Bump llvm-project version numbers to llvmorg-18-init-18359-g93248729cfae.

commit efd9603
Author: Dimitry Andric <[email protected]>
Date:   Wed Jan 24 20:23:36 2024 +0100

    Update contrib/llvm-project/FREEBSD-Xlist.

commit 550d813
Merge: 74464e8 4df029c
Author: Dimitry Andric <[email protected]>
Date:   Wed Jan 24 20:17:23 2024 +0100

    Merge llvm-project main llvmorg-18-init-18359-g93248729cfae

    This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
    openmp to llvm-project main llvmorg-18-init-18359-g93248729cfae, the
    last commit before the upstream release/18.x branch was created.

    PR:		276104
    MFC after:	1 month

commit 74464e8
Author: Dimitry Andric <[email protected]>
Date:   Mon Jan 15 00:18:22 2024 +0100

    Tabify libc++ Makefile.

commit 1fbb16e
Author: Dimitry Andric <[email protected]>
Date:   Sun Jan 14 14:20:42 2024 +0100

    Redo libc++ customizations:
    * Remove osreldate include because _LIBCPP_HAS_NO_GETS has disappeared
    * Instead, add direct major __FreeBSD__ check for using ::gets declaration
    * Mark EINTEGRITY values as FreeBSD customization
    * Reformat _LIBCPP_TYPE_VISIBILITY_DEFAULT customization

commit f6cfebe
Author: Dimitry Andric <[email protected]>
Date:   Fri Jan 12 14:47:52 2024 +0100

    Update libc++ module.modulemap.

commit 2c45cec
Author: Dimitry Andric <[email protected]>
Date:   Fri Jan 12 10:57:07 2024 +0100

    Fixup libllvm Makefile for DWARFLinker stuff being moved around.

commit 1f35f87
Author: Dimitry Andric <[email protected]>
Date:   Thu Jan 11 19:30:38 2024 +0100

    Bump llvm-project version numbers to llvmorg-18-init-16864-g3b3ee1f53424.

commit 7b02ddb
Merge: 6ec4eed 950076c
Author: Dimitry Andric <[email protected]>
Date:   Thu Jan 11 19:29:01 2024 +0100

    Merge llvm-project main llvmorg-18-init-16864-g3b3ee1f53424

    This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
    openmp to llvm-project main llvmorg-18-init-16864-g3b3ee1f53424.

    PR:		276104
    MFC after:	1 month

commit 6ec4eed
Author: Dimitry Andric <[email protected]>
Date:   Thu Jan 11 14:49:11 2024 +0100

    Update libllvm and llvm-tblgen Makefiles.

commit b861bf2
Author: Dimitry Andric <[email protected]>
Date:   Thu Jan 11 14:48:50 2024 +0100

    Bump llvm-project version numbers to llvmorg-18-init-16595-g7c00a5be5cde.

commit 42aaf55
Merge: c8faa43 aca2e42
Author: Dimitry Andric <[email protected]>
Date:   Tue Jan 9 21:00:28 2024 +0100

    Merge llvm-project main llvmorg-18-init-16595-g7c00a5be5cde

    This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
    openmp to llvm-project main llvmorg-18-init-16595-g7c00a5be5cde.

    PR:		276104
    MFC after:	1 month

commit c8faa43
Author: Dimitry Andric <[email protected]>
Date:   Sun Jan 7 17:03:13 2024 +0100

    Tentatively merge llvm/llvm-project#77242:

      [libcxx] Re-include <osreldate.h> in __config for FreeBSD

      In 0a97720d0197 some changes were made to `__config` for assuming that
      `__BYTE_ORDER__` is always present.

      However, this deleted a `<osreldate.h>` include for FreeBSD, which is
      required to get the value of `__FreeBSD_version`, and that is used later
      in the file to determine whether `_LIBCPP_C_HAS_NO_GETS` needs to be
      enabled.

      Include `<osreldate.h>` just after the other includes used for feature
      detection, to fix this.

      Note that when FreeBSD 13 is EOLed, this can be removed, as then all
      supported FreeBSD versions will no longer have `gets()`.

commit 9db148e
Author: Dimitry Andric <[email protected]>
Date:   Sun Jan 7 12:32:29 2024 +0100

    Add two FreeBSD customizations to libc++, to better support ports usage
    of older clang versions:
    * Add _LIBCPP_ENABLE_COMPILER_VERSION_CHECKS block around compiler
      version checks, to avoid any warnings about support. This makes some
      ports that use -Werror fall over.
    * When using clang < 15.0, avoid using a type visibility attribute on
      the std namespace, as older versions of clang do not support this.

commit ab1dc4a
Author: Dimitry Andric <[email protected]>
Date:   Sun Jan 7 12:28:35 2024 +0100

    Fix up ObsoleteFiles entries for libc++.

commit 626eed6
Author: Dimitry Andric <[email protected]>
Date:   Sat Jan 6 20:55:41 2024 +0100

    Add more clang 17 ObsoleteFiles entries.

commit d23764d
Author: Dimitry Andric <[email protected]>
Date:   Wed Jan 3 20:35:30 2024 +0100

    Add files needed for lldb FreeBSD-Kernel DynamicLoader.

commit 7656fbd
Author: Dimitry Andric <[email protected]>
Date:   Wed Jan 3 19:22:03 2024 +0100

    Bump llvm-project version numbers to llvmorg-18-init-16003-gfc5f51cf5af4.

commit 9739ebd
Merge: b8840b4 77dbea0
Author: Dimitry Andric <[email protected]>
Date:   Wed Jan 3 19:04:11 2024 +0100

    Merge llvm-project main llvmorg-18-init-16003-gfc5f51cf5af4

    This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
    openmp to llvm-project main llvmorg-18-init-16003-gfc5f51cf5af4.

    PR:		276104
    MFC after:	1 month

commit b8840b4
Author: Dimitry Andric <[email protected]>
Date:   Tue Jan 2 17:09:41 2024 +0100

    compiler-rt builtins: move 80-bit long double functions into their own
    block, only enabling it for x86, and add more 128-bit quad functions.

commit b3086e6
Author: Dimitry Andric <[email protected]>
Date:   Tue Jan 2 17:07:31 2024 +0100

    Revert upstream commit 0e46b49de433:

      Reapply "RegisterCoalescer: Add implicit-def of super register when coalescing SUBREG_TO_REG"

      This reverts commit c398fa009a47eb24f88383d5e911e59e70f8db86.

      PPC backend was fixed in 2f82662ce901c6666fceb9c6c5e0de216a1c9667

    Since it causes an assertion failure building /sys/dev/fb/vga.c:
    llvm/llvm-project#76416

commit c71a0fe
Author: Dimitry Andric <[email protected]>
Date:   Mon Jan 1 18:58:15 2024 +0100

    Apply llvmorg-18-init-15846-g953ae94149f0.

commit fab14fd
Author: Dimitry Andric <[email protected]>
Date:   Mon Dec 25 19:20:33 2023 +0100

    Add new files and remove deleted files from various Makefiles.

commit 5d05e48
Author: Dimitry Andric <[email protected]>
Date:   Mon Dec 25 18:50:08 2023 +0100

    Bump llvm-project version numbers to llvmorg-18-init-15692-g007ed0dccd6a.

commit 678f56a
Merge: 5f710e3 99aabd7
Author: Dimitry Andric <[email protected]>
Date:   Mon Dec 25 18:35:41 2023 +0100

    Merge llvm-project main llvmorg-18-init-15692-g007ed0dccd6a

    This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
    openmp to llvm-project main llvmorg-18-init-15692-g007ed0dccd6a.

    PR:		276104
    MFC after:	1 month

commit 5f710e3
Author: Dimitry Andric <[email protected]>
Date:   Thu Dec 21 23:30:02 2023 +0100

    Tentatively apply llvm/llvm-project#76175, to
    fix libsa including compiler-rt builtins.

commit bfd4f0d
Author: Dimitry Andric <[email protected]>
Date:   Thu Dec 21 16:56:34 2023 +0100

    Add several new builtins to compiler-rt, and enable quad support for amd64.

commit 60b6608
Author: Dimitry Andric <[email protected]>
Date:   Thu Dec 21 14:47:43 2023 +0100

    Use -Wno-vla-cxx-extension for libomp, since clang 18 complains.

commit b051bbb
Author: Dimitry Andric <[email protected]>
Date:   Wed Dec 20 23:05:48 2023 +0100

    Update libomp generated headers.

commit 98d0e7c
Author: Dimitry Andric <[email protected]>
Date:   Wed Dec 20 23:00:26 2023 +0100

    Update libclang_rt makefiles.

commit a08a308
Author: Dimitry Andric <[email protected]>
Date:   Wed Dec 20 21:41:18 2023 +0100

    Update build glue for libc++.

commit 326d983
Author: Dimitry Andric <[email protected]>
Date:   Wed Dec 20 19:47:22 2023 +0100

    Fix up clang version in lib/libclang_rt/compiler-rt-vars.mk.

commit 325ba5b
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 23:43:32 2023 +0100

    Update build glue to build lldb.

commit 612cd33
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 21:54:32 2023 +0100

    Regenerate lib/clang/liblldb/LLDBWrapLua.cpp.

commit 12d2341
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 21:48:16 2023 +0100

    Update build glue to build llvm extra tools.

commit bd80bb1
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 20:10:38 2023 +0100

    Update build glue to build full clang (with static analyzer).

commit 0e60a9e
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 19:30:46 2023 +0100

    Update build glue to build default llvm tools for world.

commit 1e1229d
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 17:40:08 2023 +0100

    Add new files to libclang, and re-sort.

commit 80bc357
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 17:40:00 2023 +0100

    Add new files to libllvm, and re-sort.

commit 220597d
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 15:37:31 2023 +0100

    Add newly introduced .inc files to libclang.

commit daeeb74
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 15:37:11 2023 +0100

    Cleanup removed files from libclang.

commit 69a6c58
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 12:34:00 2023 +0100

    After llvm/llvm-project@ac182deee8287 RISCV's
    global isel td file got split off to RISCVGISel.td, so handle that in
    libllvm's Makefile.

commit e27e76b
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 12:27:35 2023 +0100

    Cleanup removed files from libllvm.

commit fa84ac3
Author: Dimitry Andric <[email protected]>
Date:   Mon Dec 18 22:52:45 2023 +0100

    Update Makefile for llvm-tblgen.

commit d43e62d
Author: Dimitry Andric <[email protected]>
Date:   Mon Dec 18 22:40:01 2023 +0100

    Update FREEBSD-Xlist for llvm 18.

commit a3780ea
Author: Dimitry Andric <[email protected]>
Date:   Mon Dec 18 22:38:45 2023 +0100

    Bump llvm-project numbers from 17.0.6 to 18.0.0.

commit 5d469ef
Merge: 8758bf0 312c0ed
Author: Dimitry Andric <[email protected]>
Date:   Mon Dec 18 21:30:12 2023 +0100

    Merge llvm-project main llvmorg-18-init-15088-gd14ee76181fb

    This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
    openmp to llvm-project main llvmorg-18-init-15088-gd14ee76181fb.

    PR:		276104
    MFC after:	1 month

commit 4fdf604
Author: Dimitry Andric <[email protected]>
Date:   Wed Feb 7 15:37:28 2024 +0100

    Vendor import of llvm-project branch release/18.x llvmorg-18.1.0-rc2-0-gc6c86965d967.

commit 2d835ae
Author: Dimitry Andric <[email protected]>
Date:   Thu Jan 25 19:03:34 2024 +0100

    Vendor import of llvm-project branch release/18.x llvmorg-18-init-18361-g22683463740e.

commit 4df029c
Author: Dimitry Andric <[email protected]>
Date:   Wed Jan 24 20:11:41 2024 +0100

    Vendor import of llvm-project main llvmorg-18-init-18359-g93248729cfae,
    the last commit before the upstream release/18.x branch was created.

commit 950076c
Author: Dimitry Andric <[email protected]>
Date:   Thu Jan 11 19:24:21 2024 +0100

    Vendor import of llvm-project main llvmorg-18-init-16864-g3b3ee1f53424.

commit aca2e42
Author: Dimitry Andric <[email protected]>
Date:   Tue Jan 9 20:58:18 2024 +0100

    Vendor import of llvm-project main llvmorg-18-init-16595-g7c00a5be5cde.

commit 77dbea0
Author: Dimitry Andric <[email protected]>
Date:   Wed Jan 3 17:57:07 2024 +0100

    Vendor import of llvm-project main llvmorg-18-init-16003-gfc5f51cf5af4.

commit 99aabd7
Author: Dimitry Andric <[email protected]>
Date:   Mon Dec 25 14:49:57 2023 +0100

    Vendor import of llvm-project main llvmorg-18-init-15692-g007ed0dccd6a.

commit 312c0ed
Author: Dimitry Andric <[email protected]>
Date:   Sun Dec 17 21:41:09 2023 +0100

    Vendor import of llvm-project main llvmorg-18-init-15088-gd14ee76181fb.

commit b1c7353
Author: Dimitry Andric <[email protected]>
Date:   Sat Dec 9 14:28:42 2023 +0100

    Vendor import of llvm-project main llvmorg-18-init-14265-ga17671084db1.
emaste added a commit to emaste/freebsd that referenced this pull request Feb 14, 2024
commit a7fb520
Author: Dimitry Andric <[email protected]>
Date:   Wed Feb 7 22:50:52 2024 +0100

    Update libllvm for new RISCVGenMacroFusion.inc tblgen header.

commit 92e38d7
Author: Dimitry Andric <[email protected]>
Date:   Wed Feb 7 19:01:09 2024 +0100

    Update libllvm for removed file.

commit 1f05b14
Author: Dimitry Andric <[email protected]>
Date:   Wed Feb 7 16:59:11 2024 +0100

    Bump llvm-project version numbers to llvmorg-18.1.0-rc2-0-gc6c86965d967.

commit dd2f072
Merge: 024a010 4fdf604
Author: Dimitry Andric <[email protected]>
Date:   Wed Feb 7 15:58:02 2024 +0100

    Merge llvm-project release/18.x llvmorg-18.1.0-rc2-0-gc6c86965d967

    This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
    openmp to llvm-project release/18.x llvmorg-18.1.0-rc2-0-gc6c86965d967.

    PR:		276104
    MFC after:	1 month

commit 024a010
Author: Dimitry Andric <[email protected]>
Date:   Mon Feb 5 12:41:51 2024 +0100

    [libc++] Rename __bit_reference template parameter to avoid conflict

    As of 4d20cfcf4eb08217ed37c4d4c38dc395d7a66d26, `__bit_reference`
    contains a template `__fill_n` with a bool `_FillValue` parameter.

    Unfortunately there is a relatively widely used piece of scientific
    software called NetCDF, which exposes a (C) macro `_FillValue` in its
    public headers.

    When building the NetCDF C++ bindings, this quickly leads to compilation
    errors when the macro interferes with the template in `__bit_reference`.

    Rename the parameter to `_FillVal` to avoid the conflict.

commit 4721947
Author: Dimitry Andric <[email protected]>
Date:   Mon Feb 5 10:16:17 2024 +0100

    Merge commit 5f4ee5a2dfa9 from llvm-project (by Shanzhi):

      [Clang][AST] Fix a crash on attaching doc comments (#78716)

      This crash is basically caused by calling
      `ASTContext::getRawCommentForDeclNoCacheImp` with its input arguments
      `RepresentativeLocForDecl` and `CommentsInTheFile` refering to different
      files. A reduced reproducer is provided in this patch.

      After the source locations for instantiations of funtion template are
      corrected in the commit 256a0b298c68b89688b80350b034daf2f7785b67, the
      variable `CommitsInThisFile` in the function
      `ASTContext::attachCommentsToJustParsedDecls` would refer to the source
      file rather than the header file for implicit function template
      instantiation. Therefore, in the first loop in
      `ASTContext::attachCommentsToJustParsedDecls`, `D` should also be
      adjusted for relevant scenarios like the second loop.

      Fixes #67979
      Fixes #68524
      Fixes #70550

    This should fix a segfault when compiling graphics/gdal.

commit d4389cf
Author: Dimitry Andric <[email protected]>
Date:   Sun Jan 28 21:34:42 2024 +0100

    Merge commit 6e4930c67508 from llvm-project (by Alexander Kornienko):

      Revert "[SemaCXX] Implement CWG2137 (list-initialization from objects of the same type) (#77768)"

      This reverts commit 924701311aa79180e86ad8ce43d253f27d25ec7d. Causes compilation
      errors on valid code, see
      llvm/llvm-project#77768 (comment).

commit 638a121
Author: Dimitry Andric <[email protected]>
Date:   Fri Jan 26 16:21:16 2024 +0100

    Bump llvm-project version numbers to llvmorg-18-init-18361-g22683463740e (and 18.1.0).

commit fb7b27d
Merge: 2ed68de 2d835ae
Author: Dimitry Andric <[email protected]>
Date:   Fri Jan 26 16:04:14 2024 +0100

    Merge llvm-project release/18.x llvmorg-18-init-18361-g22683463740e

    This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
    openmp to llvm-project release/18.x llvmorg-18-init-18361-g22683463740e.

    PR:		276104
    MFC after:	1 month

commit 2ed68de
Author: Dimitry Andric <[email protected]>
Date:   Fri Jan 26 16:03:20 2024 +0100

    Tentatively apply libcxxrt/libcxxrt#27.

commit a0cf20a
Author: Dimitry Andric <[email protected]>
Date:   Fri Jan 26 16:02:51 2024 +0100

    libc++: use build defines and flags similar to upstream.

commit 66f3903
Author: Dimitry Andric <[email protected]>
Date:   Thu Jan 25 09:27:12 2024 +0100

    Add one more header to libc++.

commit ddf7238
Author: Dimitry Andric <[email protected]>
Date:   Thu Jan 25 00:39:43 2024 +0100

    Update libclang, libllvm, llc and lli Makefiles.

commit e025714
Author: Dimitry Andric <[email protected]>
Date:   Wed Jan 24 20:35:46 2024 +0100

    Update libc++ generated files, and add __assertion_handler.

commit e7cb0e2
Author: Dimitry Andric <[email protected]>
Date:   Wed Jan 24 20:31:39 2024 +0100

    Bump llvm-project version numbers to llvmorg-18-init-18359-g93248729cfae.

commit efd9603
Author: Dimitry Andric <[email protected]>
Date:   Wed Jan 24 20:23:36 2024 +0100

    Update contrib/llvm-project/FREEBSD-Xlist.

commit 550d813
Merge: 74464e8 4df029c
Author: Dimitry Andric <[email protected]>
Date:   Wed Jan 24 20:17:23 2024 +0100

    Merge llvm-project main llvmorg-18-init-18359-g93248729cfae

    This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
    openmp to llvm-project main llvmorg-18-init-18359-g93248729cfae, the
    last commit before the upstream release/18.x branch was created.

    PR:		276104
    MFC after:	1 month

commit 74464e8
Author: Dimitry Andric <[email protected]>
Date:   Mon Jan 15 00:18:22 2024 +0100

    Tabify libc++ Makefile.

commit 1fbb16e
Author: Dimitry Andric <[email protected]>
Date:   Sun Jan 14 14:20:42 2024 +0100

    Redo libc++ customizations:
    * Remove osreldate include because _LIBCPP_HAS_NO_GETS has disappeared
    * Instead, add direct major __FreeBSD__ check for using ::gets declaration
    * Mark EINTEGRITY values as FreeBSD customization
    * Reformat _LIBCPP_TYPE_VISIBILITY_DEFAULT customization

commit f6cfebe
Author: Dimitry Andric <[email protected]>
Date:   Fri Jan 12 14:47:52 2024 +0100

    Update libc++ module.modulemap.

commit 2c45cec
Author: Dimitry Andric <[email protected]>
Date:   Fri Jan 12 10:57:07 2024 +0100

    Fixup libllvm Makefile for DWARFLinker stuff being moved around.

commit 1f35f87
Author: Dimitry Andric <[email protected]>
Date:   Thu Jan 11 19:30:38 2024 +0100

    Bump llvm-project version numbers to llvmorg-18-init-16864-g3b3ee1f53424.

commit 7b02ddb
Merge: 6ec4eed 950076c
Author: Dimitry Andric <[email protected]>
Date:   Thu Jan 11 19:29:01 2024 +0100

    Merge llvm-project main llvmorg-18-init-16864-g3b3ee1f53424

    This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
    openmp to llvm-project main llvmorg-18-init-16864-g3b3ee1f53424.

    PR:		276104
    MFC after:	1 month

commit 6ec4eed
Author: Dimitry Andric <[email protected]>
Date:   Thu Jan 11 14:49:11 2024 +0100

    Update libllvm and llvm-tblgen Makefiles.

commit b861bf2
Author: Dimitry Andric <[email protected]>
Date:   Thu Jan 11 14:48:50 2024 +0100

    Bump llvm-project version numbers to llvmorg-18-init-16595-g7c00a5be5cde.

commit 42aaf55
Merge: c8faa43 aca2e42
Author: Dimitry Andric <[email protected]>
Date:   Tue Jan 9 21:00:28 2024 +0100

    Merge llvm-project main llvmorg-18-init-16595-g7c00a5be5cde

    This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
    openmp to llvm-project main llvmorg-18-init-16595-g7c00a5be5cde.

    PR:		276104
    MFC after:	1 month

commit c8faa43
Author: Dimitry Andric <[email protected]>
Date:   Sun Jan 7 17:03:13 2024 +0100

    Tentatively merge llvm/llvm-project#77242:

      [libcxx] Re-include <osreldate.h> in __config for FreeBSD

      In 0a97720d0197 some changes were made to `__config` for assuming that
      `__BYTE_ORDER__` is always present.

      However, this deleted a `<osreldate.h>` include for FreeBSD, which is
      required to get the value of `__FreeBSD_version`, and that is used later
      in the file to determine whether `_LIBCPP_C_HAS_NO_GETS` needs to be
      enabled.

      Include `<osreldate.h>` just after the other includes used for feature
      detection, to fix this.

      Note that when FreeBSD 13 is EOLed, this can be removed, as then all
      supported FreeBSD versions will no longer have `gets()`.

commit 9db148e
Author: Dimitry Andric <[email protected]>
Date:   Sun Jan 7 12:32:29 2024 +0100

    Add two FreeBSD customizations to libc++, to better support ports usage
    of older clang versions:
    * Add _LIBCPP_ENABLE_COMPILER_VERSION_CHECKS block around compiler
      version checks, to avoid any warnings about support. This makes some
      ports that use -Werror fall over.
    * When using clang < 15.0, avoid using a type visibility attribute on
      the std namespace, as older versions of clang do not support this.

commit ab1dc4a
Author: Dimitry Andric <[email protected]>
Date:   Sun Jan 7 12:28:35 2024 +0100

    Fix up ObsoleteFiles entries for libc++.

commit 626eed6
Author: Dimitry Andric <[email protected]>
Date:   Sat Jan 6 20:55:41 2024 +0100

    Add more clang 17 ObsoleteFiles entries.

commit d23764d
Author: Dimitry Andric <[email protected]>
Date:   Wed Jan 3 20:35:30 2024 +0100

    Add files needed for lldb FreeBSD-Kernel DynamicLoader.

commit 7656fbd
Author: Dimitry Andric <[email protected]>
Date:   Wed Jan 3 19:22:03 2024 +0100

    Bump llvm-project version numbers to llvmorg-18-init-16003-gfc5f51cf5af4.

commit 9739ebd
Merge: b8840b4 77dbea0
Author: Dimitry Andric <[email protected]>
Date:   Wed Jan 3 19:04:11 2024 +0100

    Merge llvm-project main llvmorg-18-init-16003-gfc5f51cf5af4

    This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
    openmp to llvm-project main llvmorg-18-init-16003-gfc5f51cf5af4.

    PR:		276104
    MFC after:	1 month

commit b8840b4
Author: Dimitry Andric <[email protected]>
Date:   Tue Jan 2 17:09:41 2024 +0100

    compiler-rt builtins: move 80-bit long double functions into their own
    block, only enabling it for x86, and add more 128-bit quad functions.

commit b3086e6
Author: Dimitry Andric <[email protected]>
Date:   Tue Jan 2 17:07:31 2024 +0100

    Revert upstream commit 0e46b49de433:

      Reapply "RegisterCoalescer: Add implicit-def of super register when coalescing SUBREG_TO_REG"

      This reverts commit c398fa009a47eb24f88383d5e911e59e70f8db86.

      PPC backend was fixed in 2f82662ce901c6666fceb9c6c5e0de216a1c9667

    Since it causes an assertion failure building /sys/dev/fb/vga.c:
    llvm/llvm-project#76416

commit c71a0fe
Author: Dimitry Andric <[email protected]>
Date:   Mon Jan 1 18:58:15 2024 +0100

    Apply llvmorg-18-init-15846-g953ae94149f0.

commit fab14fd
Author: Dimitry Andric <[email protected]>
Date:   Mon Dec 25 19:20:33 2023 +0100

    Add new files and remove deleted files from various Makefiles.

commit 5d05e48
Author: Dimitry Andric <[email protected]>
Date:   Mon Dec 25 18:50:08 2023 +0100

    Bump llvm-project version numbers to llvmorg-18-init-15692-g007ed0dccd6a.

commit 678f56a
Merge: 5f710e3 99aabd7
Author: Dimitry Andric <[email protected]>
Date:   Mon Dec 25 18:35:41 2023 +0100

    Merge llvm-project main llvmorg-18-init-15692-g007ed0dccd6a

    This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
    openmp to llvm-project main llvmorg-18-init-15692-g007ed0dccd6a.

    PR:		276104
    MFC after:	1 month

commit 5f710e3
Author: Dimitry Andric <[email protected]>
Date:   Thu Dec 21 23:30:02 2023 +0100

    Tentatively apply llvm/llvm-project#76175, to
    fix libsa including compiler-rt builtins.

commit bfd4f0d
Author: Dimitry Andric <[email protected]>
Date:   Thu Dec 21 16:56:34 2023 +0100

    Add several new builtins to compiler-rt, and enable quad support for amd64.

commit 60b6608
Author: Dimitry Andric <[email protected]>
Date:   Thu Dec 21 14:47:43 2023 +0100

    Use -Wno-vla-cxx-extension for libomp, since clang 18 complains.

commit b051bbb
Author: Dimitry Andric <[email protected]>
Date:   Wed Dec 20 23:05:48 2023 +0100

    Update libomp generated headers.

commit 98d0e7c
Author: Dimitry Andric <[email protected]>
Date:   Wed Dec 20 23:00:26 2023 +0100

    Update libclang_rt makefiles.

commit a08a308
Author: Dimitry Andric <[email protected]>
Date:   Wed Dec 20 21:41:18 2023 +0100

    Update build glue for libc++.

commit 326d983
Author: Dimitry Andric <[email protected]>
Date:   Wed Dec 20 19:47:22 2023 +0100

    Fix up clang version in lib/libclang_rt/compiler-rt-vars.mk.

commit 325ba5b
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 23:43:32 2023 +0100

    Update build glue to build lldb.

commit 612cd33
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 21:54:32 2023 +0100

    Regenerate lib/clang/liblldb/LLDBWrapLua.cpp.

commit 12d2341
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 21:48:16 2023 +0100

    Update build glue to build llvm extra tools.

commit bd80bb1
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 20:10:38 2023 +0100

    Update build glue to build full clang (with static analyzer).

commit 0e60a9e
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 19:30:46 2023 +0100

    Update build glue to build default llvm tools for world.

commit 1e1229d
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 17:40:08 2023 +0100

    Add new files to libclang, and re-sort.

commit 80bc357
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 17:40:00 2023 +0100

    Add new files to libllvm, and re-sort.

commit 220597d
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 15:37:31 2023 +0100

    Add newly introduced .inc files to libclang.

commit daeeb74
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 15:37:11 2023 +0100

    Cleanup removed files from libclang.

commit 69a6c58
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 12:34:00 2023 +0100

    After llvm/llvm-project@ac182deee8287 RISCV's
    global isel td file got split off to RISCVGISel.td, so handle that in
    libllvm's Makefile.

commit e27e76b
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 12:27:35 2023 +0100

    Cleanup removed files from libllvm.

commit fa84ac3
Author: Dimitry Andric <[email protected]>
Date:   Mon Dec 18 22:52:45 2023 +0100

    Update Makefile for llvm-tblgen.

commit d43e62d
Author: Dimitry Andric <[email protected]>
Date:   Mon Dec 18 22:40:01 2023 +0100

    Update FREEBSD-Xlist for llvm 18.

commit a3780ea
Author: Dimitry Andric <[email protected]>
Date:   Mon Dec 18 22:38:45 2023 +0100

    Bump llvm-project numbers from 17.0.6 to 18.0.0.

commit 5d469ef
Merge: 8758bf0 312c0ed
Author: Dimitry Andric <[email protected]>
Date:   Mon Dec 18 21:30:12 2023 +0100

    Merge llvm-project main llvmorg-18-init-15088-gd14ee76181fb

    This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
    openmp to llvm-project main llvmorg-18-init-15088-gd14ee76181fb.

    PR:		276104
    MFC after:	1 month

commit 4fdf604
Author: Dimitry Andric <[email protected]>
Date:   Wed Feb 7 15:37:28 2024 +0100

    Vendor import of llvm-project branch release/18.x llvmorg-18.1.0-rc2-0-gc6c86965d967.

commit 2d835ae
Author: Dimitry Andric <[email protected]>
Date:   Thu Jan 25 19:03:34 2024 +0100

    Vendor import of llvm-project branch release/18.x llvmorg-18-init-18361-g22683463740e.

commit 4df029c
Author: Dimitry Andric <[email protected]>
Date:   Wed Jan 24 20:11:41 2024 +0100

    Vendor import of llvm-project main llvmorg-18-init-18359-g93248729cfae,
    the last commit before the upstream release/18.x branch was created.

commit 950076c
Author: Dimitry Andric <[email protected]>
Date:   Thu Jan 11 19:24:21 2024 +0100

    Vendor import of llvm-project main llvmorg-18-init-16864-g3b3ee1f53424.

commit aca2e42
Author: Dimitry Andric <[email protected]>
Date:   Tue Jan 9 20:58:18 2024 +0100

    Vendor import of llvm-project main llvmorg-18-init-16595-g7c00a5be5cde.

commit 77dbea0
Author: Dimitry Andric <[email protected]>
Date:   Wed Jan 3 17:57:07 2024 +0100

    Vendor import of llvm-project main llvmorg-18-init-16003-gfc5f51cf5af4.

commit 99aabd7
Author: Dimitry Andric <[email protected]>
Date:   Mon Dec 25 14:49:57 2023 +0100

    Vendor import of llvm-project main llvmorg-18-init-15692-g007ed0dccd6a.

commit 312c0ed
Author: Dimitry Andric <[email protected]>
Date:   Sun Dec 17 21:41:09 2023 +0100

    Vendor import of llvm-project main llvmorg-18-init-15088-gd14ee76181fb.

commit b1c7353
Author: Dimitry Andric <[email protected]>
Date:   Sat Dec 9 14:28:42 2023 +0100

    Vendor import of llvm-project main llvmorg-18-init-14265-ga17671084db1.
emaste added a commit to emaste/freebsd that referenced this pull request Feb 14, 2024
commit a7fb520
Author: Dimitry Andric <[email protected]>
Date:   Wed Feb 7 22:50:52 2024 +0100

    Update libllvm for new RISCVGenMacroFusion.inc tblgen header.

commit 92e38d7
Author: Dimitry Andric <[email protected]>
Date:   Wed Feb 7 19:01:09 2024 +0100

    Update libllvm for removed file.

commit 1f05b14
Author: Dimitry Andric <[email protected]>
Date:   Wed Feb 7 16:59:11 2024 +0100

    Bump llvm-project version numbers to llvmorg-18.1.0-rc2-0-gc6c86965d967.

commit dd2f072
Merge: 024a010 4fdf604
Author: Dimitry Andric <[email protected]>
Date:   Wed Feb 7 15:58:02 2024 +0100

    Merge llvm-project release/18.x llvmorg-18.1.0-rc2-0-gc6c86965d967

    This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
    openmp to llvm-project release/18.x llvmorg-18.1.0-rc2-0-gc6c86965d967.

    PR:		276104
    MFC after:	1 month

commit 024a010
Author: Dimitry Andric <[email protected]>
Date:   Mon Feb 5 12:41:51 2024 +0100

    [libc++] Rename __bit_reference template parameter to avoid conflict

    As of 4d20cfcf4eb08217ed37c4d4c38dc395d7a66d26, `__bit_reference`
    contains a template `__fill_n` with a bool `_FillValue` parameter.

    Unfortunately there is a relatively widely used piece of scientific
    software called NetCDF, which exposes a (C) macro `_FillValue` in its
    public headers.

    When building the NetCDF C++ bindings, this quickly leads to compilation
    errors when the macro interferes with the template in `__bit_reference`.

    Rename the parameter to `_FillVal` to avoid the conflict.

commit 4721947
Author: Dimitry Andric <[email protected]>
Date:   Mon Feb 5 10:16:17 2024 +0100

    Merge commit 5f4ee5a2dfa9 from llvm-project (by Shanzhi):

      [Clang][AST] Fix a crash on attaching doc comments (#78716)

      This crash is basically caused by calling
      `ASTContext::getRawCommentForDeclNoCacheImp` with its input arguments
      `RepresentativeLocForDecl` and `CommentsInTheFile` refering to different
      files. A reduced reproducer is provided in this patch.

      After the source locations for instantiations of funtion template are
      corrected in the commit 256a0b298c68b89688b80350b034daf2f7785b67, the
      variable `CommitsInThisFile` in the function
      `ASTContext::attachCommentsToJustParsedDecls` would refer to the source
      file rather than the header file for implicit function template
      instantiation. Therefore, in the first loop in
      `ASTContext::attachCommentsToJustParsedDecls`, `D` should also be
      adjusted for relevant scenarios like the second loop.

      Fixes #67979
      Fixes #68524
      Fixes #70550

    This should fix a segfault when compiling graphics/gdal.

commit d4389cf
Author: Dimitry Andric <[email protected]>
Date:   Sun Jan 28 21:34:42 2024 +0100

    Merge commit 6e4930c67508 from llvm-project (by Alexander Kornienko):

      Revert "[SemaCXX] Implement CWG2137 (list-initialization from objects of the same type) (#77768)"

      This reverts commit 924701311aa79180e86ad8ce43d253f27d25ec7d. Causes compilation
      errors on valid code, see
      llvm/llvm-project#77768 (comment).

commit 638a121
Author: Dimitry Andric <[email protected]>
Date:   Fri Jan 26 16:21:16 2024 +0100

    Bump llvm-project version numbers to llvmorg-18-init-18361-g22683463740e (and 18.1.0).

commit fb7b27d
Merge: 2ed68de 2d835ae
Author: Dimitry Andric <[email protected]>
Date:   Fri Jan 26 16:04:14 2024 +0100

    Merge llvm-project release/18.x llvmorg-18-init-18361-g22683463740e

    This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
    openmp to llvm-project release/18.x llvmorg-18-init-18361-g22683463740e.

    PR:		276104
    MFC after:	1 month

commit 2ed68de
Author: Dimitry Andric <[email protected]>
Date:   Fri Jan 26 16:03:20 2024 +0100

    Tentatively apply libcxxrt/libcxxrt#27.

commit a0cf20a
Author: Dimitry Andric <[email protected]>
Date:   Fri Jan 26 16:02:51 2024 +0100

    libc++: use build defines and flags similar to upstream.

commit 66f3903
Author: Dimitry Andric <[email protected]>
Date:   Thu Jan 25 09:27:12 2024 +0100

    Add one more header to libc++.

commit ddf7238
Author: Dimitry Andric <[email protected]>
Date:   Thu Jan 25 00:39:43 2024 +0100

    Update libclang, libllvm, llc and lli Makefiles.

commit e025714
Author: Dimitry Andric <[email protected]>
Date:   Wed Jan 24 20:35:46 2024 +0100

    Update libc++ generated files, and add __assertion_handler.

commit e7cb0e2
Author: Dimitry Andric <[email protected]>
Date:   Wed Jan 24 20:31:39 2024 +0100

    Bump llvm-project version numbers to llvmorg-18-init-18359-g93248729cfae.

commit efd9603
Author: Dimitry Andric <[email protected]>
Date:   Wed Jan 24 20:23:36 2024 +0100

    Update contrib/llvm-project/FREEBSD-Xlist.

commit 550d813
Merge: 74464e8 4df029c
Author: Dimitry Andric <[email protected]>
Date:   Wed Jan 24 20:17:23 2024 +0100

    Merge llvm-project main llvmorg-18-init-18359-g93248729cfae

    This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
    openmp to llvm-project main llvmorg-18-init-18359-g93248729cfae, the
    last commit before the upstream release/18.x branch was created.

    PR:		276104
    MFC after:	1 month

commit 74464e8
Author: Dimitry Andric <[email protected]>
Date:   Mon Jan 15 00:18:22 2024 +0100

    Tabify libc++ Makefile.

commit 1fbb16e
Author: Dimitry Andric <[email protected]>
Date:   Sun Jan 14 14:20:42 2024 +0100

    Redo libc++ customizations:
    * Remove osreldate include because _LIBCPP_HAS_NO_GETS has disappeared
    * Instead, add direct major __FreeBSD__ check for using ::gets declaration
    * Mark EINTEGRITY values as FreeBSD customization
    * Reformat _LIBCPP_TYPE_VISIBILITY_DEFAULT customization

commit f6cfebe
Author: Dimitry Andric <[email protected]>
Date:   Fri Jan 12 14:47:52 2024 +0100

    Update libc++ module.modulemap.

commit 2c45cec
Author: Dimitry Andric <[email protected]>
Date:   Fri Jan 12 10:57:07 2024 +0100

    Fixup libllvm Makefile for DWARFLinker stuff being moved around.

commit 1f35f87
Author: Dimitry Andric <[email protected]>
Date:   Thu Jan 11 19:30:38 2024 +0100

    Bump llvm-project version numbers to llvmorg-18-init-16864-g3b3ee1f53424.

commit 7b02ddb
Merge: 6ec4eed 950076c
Author: Dimitry Andric <[email protected]>
Date:   Thu Jan 11 19:29:01 2024 +0100

    Merge llvm-project main llvmorg-18-init-16864-g3b3ee1f53424

    This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
    openmp to llvm-project main llvmorg-18-init-16864-g3b3ee1f53424.

    PR:		276104
    MFC after:	1 month

commit 6ec4eed
Author: Dimitry Andric <[email protected]>
Date:   Thu Jan 11 14:49:11 2024 +0100

    Update libllvm and llvm-tblgen Makefiles.

commit b861bf2
Author: Dimitry Andric <[email protected]>
Date:   Thu Jan 11 14:48:50 2024 +0100

    Bump llvm-project version numbers to llvmorg-18-init-16595-g7c00a5be5cde.

commit 42aaf55
Merge: c8faa43 aca2e42
Author: Dimitry Andric <[email protected]>
Date:   Tue Jan 9 21:00:28 2024 +0100

    Merge llvm-project main llvmorg-18-init-16595-g7c00a5be5cde

    This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
    openmp to llvm-project main llvmorg-18-init-16595-g7c00a5be5cde.

    PR:		276104
    MFC after:	1 month

commit c8faa43
Author: Dimitry Andric <[email protected]>
Date:   Sun Jan 7 17:03:13 2024 +0100

    Tentatively merge llvm/llvm-project#77242:

      [libcxx] Re-include <osreldate.h> in __config for FreeBSD

      In 0a97720d0197 some changes were made to `__config` for assuming that
      `__BYTE_ORDER__` is always present.

      However, this deleted a `<osreldate.h>` include for FreeBSD, which is
      required to get the value of `__FreeBSD_version`, and that is used later
      in the file to determine whether `_LIBCPP_C_HAS_NO_GETS` needs to be
      enabled.

      Include `<osreldate.h>` just after the other includes used for feature
      detection, to fix this.

      Note that when FreeBSD 13 is EOLed, this can be removed, as then all
      supported FreeBSD versions will no longer have `gets()`.

commit 9db148e
Author: Dimitry Andric <[email protected]>
Date:   Sun Jan 7 12:32:29 2024 +0100

    Add two FreeBSD customizations to libc++, to better support ports usage
    of older clang versions:
    * Add _LIBCPP_ENABLE_COMPILER_VERSION_CHECKS block around compiler
      version checks, to avoid any warnings about support. This makes some
      ports that use -Werror fall over.
    * When using clang < 15.0, avoid using a type visibility attribute on
      the std namespace, as older versions of clang do not support this.

commit ab1dc4a
Author: Dimitry Andric <[email protected]>
Date:   Sun Jan 7 12:28:35 2024 +0100

    Fix up ObsoleteFiles entries for libc++.

commit 626eed6
Author: Dimitry Andric <[email protected]>
Date:   Sat Jan 6 20:55:41 2024 +0100

    Add more clang 17 ObsoleteFiles entries.

commit d23764d
Author: Dimitry Andric <[email protected]>
Date:   Wed Jan 3 20:35:30 2024 +0100

    Add files needed for lldb FreeBSD-Kernel DynamicLoader.

commit 7656fbd
Author: Dimitry Andric <[email protected]>
Date:   Wed Jan 3 19:22:03 2024 +0100

    Bump llvm-project version numbers to llvmorg-18-init-16003-gfc5f51cf5af4.

commit 9739ebd
Merge: b8840b4 77dbea0
Author: Dimitry Andric <[email protected]>
Date:   Wed Jan 3 19:04:11 2024 +0100

    Merge llvm-project main llvmorg-18-init-16003-gfc5f51cf5af4

    This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
    openmp to llvm-project main llvmorg-18-init-16003-gfc5f51cf5af4.

    PR:		276104
    MFC after:	1 month

commit b8840b4
Author: Dimitry Andric <[email protected]>
Date:   Tue Jan 2 17:09:41 2024 +0100

    compiler-rt builtins: move 80-bit long double functions into their own
    block, only enabling it for x86, and add more 128-bit quad functions.

commit b3086e6
Author: Dimitry Andric <[email protected]>
Date:   Tue Jan 2 17:07:31 2024 +0100

    Revert upstream commit 0e46b49de433:

      Reapply "RegisterCoalescer: Add implicit-def of super register when coalescing SUBREG_TO_REG"

      This reverts commit c398fa009a47eb24f88383d5e911e59e70f8db86.

      PPC backend was fixed in 2f82662ce901c6666fceb9c6c5e0de216a1c9667

    Since it causes an assertion failure building /sys/dev/fb/vga.c:
    llvm/llvm-project#76416

commit c71a0fe
Author: Dimitry Andric <[email protected]>
Date:   Mon Jan 1 18:58:15 2024 +0100

    Apply llvmorg-18-init-15846-g953ae94149f0.

commit fab14fd
Author: Dimitry Andric <[email protected]>
Date:   Mon Dec 25 19:20:33 2023 +0100

    Add new files and remove deleted files from various Makefiles.

commit 5d05e48
Author: Dimitry Andric <[email protected]>
Date:   Mon Dec 25 18:50:08 2023 +0100

    Bump llvm-project version numbers to llvmorg-18-init-15692-g007ed0dccd6a.

commit 678f56a
Merge: 5f710e3 99aabd7
Author: Dimitry Andric <[email protected]>
Date:   Mon Dec 25 18:35:41 2023 +0100

    Merge llvm-project main llvmorg-18-init-15692-g007ed0dccd6a

    This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
    openmp to llvm-project main llvmorg-18-init-15692-g007ed0dccd6a.

    PR:		276104
    MFC after:	1 month

commit 5f710e3
Author: Dimitry Andric <[email protected]>
Date:   Thu Dec 21 23:30:02 2023 +0100

    Tentatively apply llvm/llvm-project#76175, to
    fix libsa including compiler-rt builtins.

commit bfd4f0d
Author: Dimitry Andric <[email protected]>
Date:   Thu Dec 21 16:56:34 2023 +0100

    Add several new builtins to compiler-rt, and enable quad support for amd64.

commit 60b6608
Author: Dimitry Andric <[email protected]>
Date:   Thu Dec 21 14:47:43 2023 +0100

    Use -Wno-vla-cxx-extension for libomp, since clang 18 complains.

commit b051bbb
Author: Dimitry Andric <[email protected]>
Date:   Wed Dec 20 23:05:48 2023 +0100

    Update libomp generated headers.

commit 98d0e7c
Author: Dimitry Andric <[email protected]>
Date:   Wed Dec 20 23:00:26 2023 +0100

    Update libclang_rt makefiles.

commit a08a308
Author: Dimitry Andric <[email protected]>
Date:   Wed Dec 20 21:41:18 2023 +0100

    Update build glue for libc++.

commit 326d983
Author: Dimitry Andric <[email protected]>
Date:   Wed Dec 20 19:47:22 2023 +0100

    Fix up clang version in lib/libclang_rt/compiler-rt-vars.mk.

commit 325ba5b
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 23:43:32 2023 +0100

    Update build glue to build lldb.

commit 612cd33
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 21:54:32 2023 +0100

    Regenerate lib/clang/liblldb/LLDBWrapLua.cpp.

commit 12d2341
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 21:48:16 2023 +0100

    Update build glue to build llvm extra tools.

commit bd80bb1
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 20:10:38 2023 +0100

    Update build glue to build full clang (with static analyzer).

commit 0e60a9e
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 19:30:46 2023 +0100

    Update build glue to build default llvm tools for world.

commit 1e1229d
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 17:40:08 2023 +0100

    Add new files to libclang, and re-sort.

commit 80bc357
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 17:40:00 2023 +0100

    Add new files to libllvm, and re-sort.

commit 220597d
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 15:37:31 2023 +0100

    Add newly introduced .inc files to libclang.

commit daeeb74
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 15:37:11 2023 +0100

    Cleanup removed files from libclang.

commit 69a6c58
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 12:34:00 2023 +0100

    After llvm/llvm-project@ac182deee8287 RISCV's
    global isel td file got split off to RISCVGISel.td, so handle that in
    libllvm's Makefile.

commit e27e76b
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 12:27:35 2023 +0100

    Cleanup removed files from libllvm.

commit fa84ac3
Author: Dimitry Andric <[email protected]>
Date:   Mon Dec 18 22:52:45 2023 +0100

    Update Makefile for llvm-tblgen.

commit d43e62d
Author: Dimitry Andric <[email protected]>
Date:   Mon Dec 18 22:40:01 2023 +0100

    Update FREEBSD-Xlist for llvm 18.

commit a3780ea
Author: Dimitry Andric <[email protected]>
Date:   Mon Dec 18 22:38:45 2023 +0100

    Bump llvm-project numbers from 17.0.6 to 18.0.0.

commit 5d469ef
Merge: 8758bf0 312c0ed
Author: Dimitry Andric <[email protected]>
Date:   Mon Dec 18 21:30:12 2023 +0100

    Merge llvm-project main llvmorg-18-init-15088-gd14ee76181fb

    This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
    openmp to llvm-project main llvmorg-18-init-15088-gd14ee76181fb.

    PR:		276104
    MFC after:	1 month

commit 4fdf604
Author: Dimitry Andric <[email protected]>
Date:   Wed Feb 7 15:37:28 2024 +0100

    Vendor import of llvm-project branch release/18.x llvmorg-18.1.0-rc2-0-gc6c86965d967.

commit 2d835ae
Author: Dimitry Andric <[email protected]>
Date:   Thu Jan 25 19:03:34 2024 +0100

    Vendor import of llvm-project branch release/18.x llvmorg-18-init-18361-g22683463740e.

commit 4df029c
Author: Dimitry Andric <[email protected]>
Date:   Wed Jan 24 20:11:41 2024 +0100

    Vendor import of llvm-project main llvmorg-18-init-18359-g93248729cfae,
    the last commit before the upstream release/18.x branch was created.

commit 950076c
Author: Dimitry Andric <[email protected]>
Date:   Thu Jan 11 19:24:21 2024 +0100

    Vendor import of llvm-project main llvmorg-18-init-16864-g3b3ee1f53424.

commit aca2e42
Author: Dimitry Andric <[email protected]>
Date:   Tue Jan 9 20:58:18 2024 +0100

    Vendor import of llvm-project main llvmorg-18-init-16595-g7c00a5be5cde.

commit 77dbea0
Author: Dimitry Andric <[email protected]>
Date:   Wed Jan 3 17:57:07 2024 +0100

    Vendor import of llvm-project main llvmorg-18-init-16003-gfc5f51cf5af4.

commit 99aabd7
Author: Dimitry Andric <[email protected]>
Date:   Mon Dec 25 14:49:57 2023 +0100

    Vendor import of llvm-project main llvmorg-18-init-15692-g007ed0dccd6a.

commit 312c0ed
Author: Dimitry Andric <[email protected]>
Date:   Sun Dec 17 21:41:09 2023 +0100

    Vendor import of llvm-project main llvmorg-18-init-15088-gd14ee76181fb.

commit b1c7353
Author: Dimitry Andric <[email protected]>
Date:   Sat Dec 9 14:28:42 2023 +0100

    Vendor import of llvm-project main llvmorg-18-init-14265-ga17671084db1.
emaste added a commit to emaste/freebsd that referenced this pull request Feb 15, 2024
commit a7fb520
Author: Dimitry Andric <[email protected]>
Date:   Wed Feb 7 22:50:52 2024 +0100

    Update libllvm for new RISCVGenMacroFusion.inc tblgen header.

commit 92e38d7
Author: Dimitry Andric <[email protected]>
Date:   Wed Feb 7 19:01:09 2024 +0100

    Update libllvm for removed file.

commit 1f05b14
Author: Dimitry Andric <[email protected]>
Date:   Wed Feb 7 16:59:11 2024 +0100

    Bump llvm-project version numbers to llvmorg-18.1.0-rc2-0-gc6c86965d967.

commit dd2f072
Merge: 024a010 4fdf604
Author: Dimitry Andric <[email protected]>
Date:   Wed Feb 7 15:58:02 2024 +0100

    Merge llvm-project release/18.x llvmorg-18.1.0-rc2-0-gc6c86965d967

    This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
    openmp to llvm-project release/18.x llvmorg-18.1.0-rc2-0-gc6c86965d967.

    PR:		276104
    MFC after:	1 month

commit 024a010
Author: Dimitry Andric <[email protected]>
Date:   Mon Feb 5 12:41:51 2024 +0100

    [libc++] Rename __bit_reference template parameter to avoid conflict

    As of 4d20cfcf4eb08217ed37c4d4c38dc395d7a66d26, `__bit_reference`
    contains a template `__fill_n` with a bool `_FillValue` parameter.

    Unfortunately there is a relatively widely used piece of scientific
    software called NetCDF, which exposes a (C) macro `_FillValue` in its
    public headers.

    When building the NetCDF C++ bindings, this quickly leads to compilation
    errors when the macro interferes with the template in `__bit_reference`.

    Rename the parameter to `_FillVal` to avoid the conflict.

commit 4721947
Author: Dimitry Andric <[email protected]>
Date:   Mon Feb 5 10:16:17 2024 +0100

    Merge commit 5f4ee5a2dfa9 from llvm-project (by Shanzhi):

      [Clang][AST] Fix a crash on attaching doc comments (#78716)

      This crash is basically caused by calling
      `ASTContext::getRawCommentForDeclNoCacheImp` with its input arguments
      `RepresentativeLocForDecl` and `CommentsInTheFile` refering to different
      files. A reduced reproducer is provided in this patch.

      After the source locations for instantiations of funtion template are
      corrected in the commit 256a0b298c68b89688b80350b034daf2f7785b67, the
      variable `CommitsInThisFile` in the function
      `ASTContext::attachCommentsToJustParsedDecls` would refer to the source
      file rather than the header file for implicit function template
      instantiation. Therefore, in the first loop in
      `ASTContext::attachCommentsToJustParsedDecls`, `D` should also be
      adjusted for relevant scenarios like the second loop.

      Fixes #67979
      Fixes #68524
      Fixes #70550

    This should fix a segfault when compiling graphics/gdal.

commit d4389cf
Author: Dimitry Andric <[email protected]>
Date:   Sun Jan 28 21:34:42 2024 +0100

    Merge commit 6e4930c67508 from llvm-project (by Alexander Kornienko):

      Revert "[SemaCXX] Implement CWG2137 (list-initialization from objects of the same type) (#77768)"

      This reverts commit 924701311aa79180e86ad8ce43d253f27d25ec7d. Causes compilation
      errors on valid code, see
      llvm/llvm-project#77768 (comment).

commit 638a121
Author: Dimitry Andric <[email protected]>
Date:   Fri Jan 26 16:21:16 2024 +0100

    Bump llvm-project version numbers to llvmorg-18-init-18361-g22683463740e (and 18.1.0).

commit fb7b27d
Merge: 2ed68de 2d835ae
Author: Dimitry Andric <[email protected]>
Date:   Fri Jan 26 16:04:14 2024 +0100

    Merge llvm-project release/18.x llvmorg-18-init-18361-g22683463740e

    This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
    openmp to llvm-project release/18.x llvmorg-18-init-18361-g22683463740e.

    PR:		276104
    MFC after:	1 month

commit 2ed68de
Author: Dimitry Andric <[email protected]>
Date:   Fri Jan 26 16:03:20 2024 +0100

    Tentatively apply libcxxrt/libcxxrt#27.

commit a0cf20a
Author: Dimitry Andric <[email protected]>
Date:   Fri Jan 26 16:02:51 2024 +0100

    libc++: use build defines and flags similar to upstream.

commit 66f3903
Author: Dimitry Andric <[email protected]>
Date:   Thu Jan 25 09:27:12 2024 +0100

    Add one more header to libc++.

commit ddf7238
Author: Dimitry Andric <[email protected]>
Date:   Thu Jan 25 00:39:43 2024 +0100

    Update libclang, libllvm, llc and lli Makefiles.

commit e025714
Author: Dimitry Andric <[email protected]>
Date:   Wed Jan 24 20:35:46 2024 +0100

    Update libc++ generated files, and add __assertion_handler.

commit e7cb0e2
Author: Dimitry Andric <[email protected]>
Date:   Wed Jan 24 20:31:39 2024 +0100

    Bump llvm-project version numbers to llvmorg-18-init-18359-g93248729cfae.

commit efd9603
Author: Dimitry Andric <[email protected]>
Date:   Wed Jan 24 20:23:36 2024 +0100

    Update contrib/llvm-project/FREEBSD-Xlist.

commit 550d813
Merge: 74464e8 4df029c
Author: Dimitry Andric <[email protected]>
Date:   Wed Jan 24 20:17:23 2024 +0100

    Merge llvm-project main llvmorg-18-init-18359-g93248729cfae

    This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
    openmp to llvm-project main llvmorg-18-init-18359-g93248729cfae, the
    last commit before the upstream release/18.x branch was created.

    PR:		276104
    MFC after:	1 month

commit 74464e8
Author: Dimitry Andric <[email protected]>
Date:   Mon Jan 15 00:18:22 2024 +0100

    Tabify libc++ Makefile.

commit 1fbb16e
Author: Dimitry Andric <[email protected]>
Date:   Sun Jan 14 14:20:42 2024 +0100

    Redo libc++ customizations:
    * Remove osreldate include because _LIBCPP_HAS_NO_GETS has disappeared
    * Instead, add direct major __FreeBSD__ check for using ::gets declaration
    * Mark EINTEGRITY values as FreeBSD customization
    * Reformat _LIBCPP_TYPE_VISIBILITY_DEFAULT customization

commit f6cfebe
Author: Dimitry Andric <[email protected]>
Date:   Fri Jan 12 14:47:52 2024 +0100

    Update libc++ module.modulemap.

commit 2c45cec
Author: Dimitry Andric <[email protected]>
Date:   Fri Jan 12 10:57:07 2024 +0100

    Fixup libllvm Makefile for DWARFLinker stuff being moved around.

commit 1f35f87
Author: Dimitry Andric <[email protected]>
Date:   Thu Jan 11 19:30:38 2024 +0100

    Bump llvm-project version numbers to llvmorg-18-init-16864-g3b3ee1f53424.

commit 7b02ddb
Merge: 6ec4eed 950076c
Author: Dimitry Andric <[email protected]>
Date:   Thu Jan 11 19:29:01 2024 +0100

    Merge llvm-project main llvmorg-18-init-16864-g3b3ee1f53424

    This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
    openmp to llvm-project main llvmorg-18-init-16864-g3b3ee1f53424.

    PR:		276104
    MFC after:	1 month

commit 6ec4eed
Author: Dimitry Andric <[email protected]>
Date:   Thu Jan 11 14:49:11 2024 +0100

    Update libllvm and llvm-tblgen Makefiles.

commit b861bf2
Author: Dimitry Andric <[email protected]>
Date:   Thu Jan 11 14:48:50 2024 +0100

    Bump llvm-project version numbers to llvmorg-18-init-16595-g7c00a5be5cde.

commit 42aaf55
Merge: c8faa43 aca2e42
Author: Dimitry Andric <[email protected]>
Date:   Tue Jan 9 21:00:28 2024 +0100

    Merge llvm-project main llvmorg-18-init-16595-g7c00a5be5cde

    This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
    openmp to llvm-project main llvmorg-18-init-16595-g7c00a5be5cde.

    PR:		276104
    MFC after:	1 month

commit c8faa43
Author: Dimitry Andric <[email protected]>
Date:   Sun Jan 7 17:03:13 2024 +0100

    Tentatively merge llvm/llvm-project#77242:

      [libcxx] Re-include <osreldate.h> in __config for FreeBSD

      In 0a97720d0197 some changes were made to `__config` for assuming that
      `__BYTE_ORDER__` is always present.

      However, this deleted a `<osreldate.h>` include for FreeBSD, which is
      required to get the value of `__FreeBSD_version`, and that is used later
      in the file to determine whether `_LIBCPP_C_HAS_NO_GETS` needs to be
      enabled.

      Include `<osreldate.h>` just after the other includes used for feature
      detection, to fix this.

      Note that when FreeBSD 13 is EOLed, this can be removed, as then all
      supported FreeBSD versions will no longer have `gets()`.

commit 9db148e
Author: Dimitry Andric <[email protected]>
Date:   Sun Jan 7 12:32:29 2024 +0100

    Add two FreeBSD customizations to libc++, to better support ports usage
    of older clang versions:
    * Add _LIBCPP_ENABLE_COMPILER_VERSION_CHECKS block around compiler
      version checks, to avoid any warnings about support. This makes some
      ports that use -Werror fall over.
    * When using clang < 15.0, avoid using a type visibility attribute on
      the std namespace, as older versions of clang do not support this.

commit ab1dc4a
Author: Dimitry Andric <[email protected]>
Date:   Sun Jan 7 12:28:35 2024 +0100

    Fix up ObsoleteFiles entries for libc++.

commit 626eed6
Author: Dimitry Andric <[email protected]>
Date:   Sat Jan 6 20:55:41 2024 +0100

    Add more clang 17 ObsoleteFiles entries.

commit d23764d
Author: Dimitry Andric <[email protected]>
Date:   Wed Jan 3 20:35:30 2024 +0100

    Add files needed for lldb FreeBSD-Kernel DynamicLoader.

commit 7656fbd
Author: Dimitry Andric <[email protected]>
Date:   Wed Jan 3 19:22:03 2024 +0100

    Bump llvm-project version numbers to llvmorg-18-init-16003-gfc5f51cf5af4.

commit 9739ebd
Merge: b8840b4 77dbea0
Author: Dimitry Andric <[email protected]>
Date:   Wed Jan 3 19:04:11 2024 +0100

    Merge llvm-project main llvmorg-18-init-16003-gfc5f51cf5af4

    This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
    openmp to llvm-project main llvmorg-18-init-16003-gfc5f51cf5af4.

    PR:		276104
    MFC after:	1 month

commit b8840b4
Author: Dimitry Andric <[email protected]>
Date:   Tue Jan 2 17:09:41 2024 +0100

    compiler-rt builtins: move 80-bit long double functions into their own
    block, only enabling it for x86, and add more 128-bit quad functions.

commit b3086e6
Author: Dimitry Andric <[email protected]>
Date:   Tue Jan 2 17:07:31 2024 +0100

    Revert upstream commit 0e46b49de433:

      Reapply "RegisterCoalescer: Add implicit-def of super register when coalescing SUBREG_TO_REG"

      This reverts commit c398fa009a47eb24f88383d5e911e59e70f8db86.

      PPC backend was fixed in 2f82662ce901c6666fceb9c6c5e0de216a1c9667

    Since it causes an assertion failure building /sys/dev/fb/vga.c:
    llvm/llvm-project#76416

commit c71a0fe
Author: Dimitry Andric <[email protected]>
Date:   Mon Jan 1 18:58:15 2024 +0100

    Apply llvmorg-18-init-15846-g953ae94149f0.

commit fab14fd
Author: Dimitry Andric <[email protected]>
Date:   Mon Dec 25 19:20:33 2023 +0100

    Add new files and remove deleted files from various Makefiles.

commit 5d05e48
Author: Dimitry Andric <[email protected]>
Date:   Mon Dec 25 18:50:08 2023 +0100

    Bump llvm-project version numbers to llvmorg-18-init-15692-g007ed0dccd6a.

commit 678f56a
Merge: 5f710e3 99aabd7
Author: Dimitry Andric <[email protected]>
Date:   Mon Dec 25 18:35:41 2023 +0100

    Merge llvm-project main llvmorg-18-init-15692-g007ed0dccd6a

    This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
    openmp to llvm-project main llvmorg-18-init-15692-g007ed0dccd6a.

    PR:		276104
    MFC after:	1 month

commit 5f710e3
Author: Dimitry Andric <[email protected]>
Date:   Thu Dec 21 23:30:02 2023 +0100

    Tentatively apply llvm/llvm-project#76175, to
    fix libsa including compiler-rt builtins.

commit bfd4f0d
Author: Dimitry Andric <[email protected]>
Date:   Thu Dec 21 16:56:34 2023 +0100

    Add several new builtins to compiler-rt, and enable quad support for amd64.

commit 60b6608
Author: Dimitry Andric <[email protected]>
Date:   Thu Dec 21 14:47:43 2023 +0100

    Use -Wno-vla-cxx-extension for libomp, since clang 18 complains.

commit b051bbb
Author: Dimitry Andric <[email protected]>
Date:   Wed Dec 20 23:05:48 2023 +0100

    Update libomp generated headers.

commit 98d0e7c
Author: Dimitry Andric <[email protected]>
Date:   Wed Dec 20 23:00:26 2023 +0100

    Update libclang_rt makefiles.

commit a08a308
Author: Dimitry Andric <[email protected]>
Date:   Wed Dec 20 21:41:18 2023 +0100

    Update build glue for libc++.

commit 326d983
Author: Dimitry Andric <[email protected]>
Date:   Wed Dec 20 19:47:22 2023 +0100

    Fix up clang version in lib/libclang_rt/compiler-rt-vars.mk.

commit 325ba5b
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 23:43:32 2023 +0100

    Update build glue to build lldb.

commit 612cd33
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 21:54:32 2023 +0100

    Regenerate lib/clang/liblldb/LLDBWrapLua.cpp.

commit 12d2341
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 21:48:16 2023 +0100

    Update build glue to build llvm extra tools.

commit bd80bb1
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 20:10:38 2023 +0100

    Update build glue to build full clang (with static analyzer).

commit 0e60a9e
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 19:30:46 2023 +0100

    Update build glue to build default llvm tools for world.

commit 1e1229d
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 17:40:08 2023 +0100

    Add new files to libclang, and re-sort.

commit 80bc357
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 17:40:00 2023 +0100

    Add new files to libllvm, and re-sort.

commit 220597d
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 15:37:31 2023 +0100

    Add newly introduced .inc files to libclang.

commit daeeb74
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 15:37:11 2023 +0100

    Cleanup removed files from libclang.

commit 69a6c58
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 12:34:00 2023 +0100

    After llvm/llvm-project@ac182deee8287 RISCV's
    global isel td file got split off to RISCVGISel.td, so handle that in
    libllvm's Makefile.

commit e27e76b
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 12:27:35 2023 +0100

    Cleanup removed files from libllvm.

commit fa84ac3
Author: Dimitry Andric <[email protected]>
Date:   Mon Dec 18 22:52:45 2023 +0100

    Update Makefile for llvm-tblgen.

commit d43e62d
Author: Dimitry Andric <[email protected]>
Date:   Mon Dec 18 22:40:01 2023 +0100

    Update FREEBSD-Xlist for llvm 18.

commit a3780ea
Author: Dimitry Andric <[email protected]>
Date:   Mon Dec 18 22:38:45 2023 +0100

    Bump llvm-project numbers from 17.0.6 to 18.0.0.

commit 5d469ef
Merge: 8758bf0 312c0ed
Author: Dimitry Andric <[email protected]>
Date:   Mon Dec 18 21:30:12 2023 +0100

    Merge llvm-project main llvmorg-18-init-15088-gd14ee76181fb

    This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
    openmp to llvm-project main llvmorg-18-init-15088-gd14ee76181fb.

    PR:		276104
    MFC after:	1 month

commit 4fdf604
Author: Dimitry Andric <[email protected]>
Date:   Wed Feb 7 15:37:28 2024 +0100

    Vendor import of llvm-project branch release/18.x llvmorg-18.1.0-rc2-0-gc6c86965d967.

commit 2d835ae
Author: Dimitry Andric <[email protected]>
Date:   Thu Jan 25 19:03:34 2024 +0100

    Vendor import of llvm-project branch release/18.x llvmorg-18-init-18361-g22683463740e.

commit 4df029c
Author: Dimitry Andric <[email protected]>
Date:   Wed Jan 24 20:11:41 2024 +0100

    Vendor import of llvm-project main llvmorg-18-init-18359-g93248729cfae,
    the last commit before the upstream release/18.x branch was created.

commit 950076c
Author: Dimitry Andric <[email protected]>
Date:   Thu Jan 11 19:24:21 2024 +0100

    Vendor import of llvm-project main llvmorg-18-init-16864-g3b3ee1f53424.

commit aca2e42
Author: Dimitry Andric <[email protected]>
Date:   Tue Jan 9 20:58:18 2024 +0100

    Vendor import of llvm-project main llvmorg-18-init-16595-g7c00a5be5cde.

commit 77dbea0
Author: Dimitry Andric <[email protected]>
Date:   Wed Jan 3 17:57:07 2024 +0100

    Vendor import of llvm-project main llvmorg-18-init-16003-gfc5f51cf5af4.

commit 99aabd7
Author: Dimitry Andric <[email protected]>
Date:   Mon Dec 25 14:49:57 2023 +0100

    Vendor import of llvm-project main llvmorg-18-init-15692-g007ed0dccd6a.

commit 312c0ed
Author: Dimitry Andric <[email protected]>
Date:   Sun Dec 17 21:41:09 2023 +0100

    Vendor import of llvm-project main llvmorg-18-init-15088-gd14ee76181fb.

commit b1c7353
Author: Dimitry Andric <[email protected]>
Date:   Sat Dec 9 14:28:42 2023 +0100

    Vendor import of llvm-project main llvmorg-18-init-14265-ga17671084db1.
emaste added a commit to emaste/freebsd that referenced this pull request Feb 15, 2024
commit a7fb520
Author: Dimitry Andric <[email protected]>
Date:   Wed Feb 7 22:50:52 2024 +0100

    Update libllvm for new RISCVGenMacroFusion.inc tblgen header.

commit 92e38d7
Author: Dimitry Andric <[email protected]>
Date:   Wed Feb 7 19:01:09 2024 +0100

    Update libllvm for removed file.

commit 1f05b14
Author: Dimitry Andric <[email protected]>
Date:   Wed Feb 7 16:59:11 2024 +0100

    Bump llvm-project version numbers to llvmorg-18.1.0-rc2-0-gc6c86965d967.

commit dd2f072
Merge: 024a010 4fdf604
Author: Dimitry Andric <[email protected]>
Date:   Wed Feb 7 15:58:02 2024 +0100

    Merge llvm-project release/18.x llvmorg-18.1.0-rc2-0-gc6c86965d967

    This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
    openmp to llvm-project release/18.x llvmorg-18.1.0-rc2-0-gc6c86965d967.

    PR:		276104
    MFC after:	1 month

commit 024a010
Author: Dimitry Andric <[email protected]>
Date:   Mon Feb 5 12:41:51 2024 +0100

    [libc++] Rename __bit_reference template parameter to avoid conflict

    As of 4d20cfcf4eb08217ed37c4d4c38dc395d7a66d26, `__bit_reference`
    contains a template `__fill_n` with a bool `_FillValue` parameter.

    Unfortunately there is a relatively widely used piece of scientific
    software called NetCDF, which exposes a (C) macro `_FillValue` in its
    public headers.

    When building the NetCDF C++ bindings, this quickly leads to compilation
    errors when the macro interferes with the template in `__bit_reference`.

    Rename the parameter to `_FillVal` to avoid the conflict.

commit 4721947
Author: Dimitry Andric <[email protected]>
Date:   Mon Feb 5 10:16:17 2024 +0100

    Merge commit 5f4ee5a2dfa9 from llvm-project (by Shanzhi):

      [Clang][AST] Fix a crash on attaching doc comments (#78716)

      This crash is basically caused by calling
      `ASTContext::getRawCommentForDeclNoCacheImp` with its input arguments
      `RepresentativeLocForDecl` and `CommentsInTheFile` refering to different
      files. A reduced reproducer is provided in this patch.

      After the source locations for instantiations of funtion template are
      corrected in the commit 256a0b298c68b89688b80350b034daf2f7785b67, the
      variable `CommitsInThisFile` in the function
      `ASTContext::attachCommentsToJustParsedDecls` would refer to the source
      file rather than the header file for implicit function template
      instantiation. Therefore, in the first loop in
      `ASTContext::attachCommentsToJustParsedDecls`, `D` should also be
      adjusted for relevant scenarios like the second loop.

      Fixes #67979
      Fixes #68524
      Fixes #70550

    This should fix a segfault when compiling graphics/gdal.

commit d4389cf
Author: Dimitry Andric <[email protected]>
Date:   Sun Jan 28 21:34:42 2024 +0100

    Merge commit 6e4930c67508 from llvm-project (by Alexander Kornienko):

      Revert "[SemaCXX] Implement CWG2137 (list-initialization from objects of the same type) (#77768)"

      This reverts commit 924701311aa79180e86ad8ce43d253f27d25ec7d. Causes compilation
      errors on valid code, see
      llvm/llvm-project#77768 (comment).

commit 638a121
Author: Dimitry Andric <[email protected]>
Date:   Fri Jan 26 16:21:16 2024 +0100

    Bump llvm-project version numbers to llvmorg-18-init-18361-g22683463740e (and 18.1.0).

commit fb7b27d
Merge: 2ed68de 2d835ae
Author: Dimitry Andric <[email protected]>
Date:   Fri Jan 26 16:04:14 2024 +0100

    Merge llvm-project release/18.x llvmorg-18-init-18361-g22683463740e

    This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
    openmp to llvm-project release/18.x llvmorg-18-init-18361-g22683463740e.

    PR:		276104
    MFC after:	1 month

commit 2ed68de
Author: Dimitry Andric <[email protected]>
Date:   Fri Jan 26 16:03:20 2024 +0100

    Tentatively apply libcxxrt/libcxxrt#27.

commit a0cf20a
Author: Dimitry Andric <[email protected]>
Date:   Fri Jan 26 16:02:51 2024 +0100

    libc++: use build defines and flags similar to upstream.

commit 66f3903
Author: Dimitry Andric <[email protected]>
Date:   Thu Jan 25 09:27:12 2024 +0100

    Add one more header to libc++.

commit ddf7238
Author: Dimitry Andric <[email protected]>
Date:   Thu Jan 25 00:39:43 2024 +0100

    Update libclang, libllvm, llc and lli Makefiles.

commit e025714
Author: Dimitry Andric <[email protected]>
Date:   Wed Jan 24 20:35:46 2024 +0100

    Update libc++ generated files, and add __assertion_handler.

commit e7cb0e2
Author: Dimitry Andric <[email protected]>
Date:   Wed Jan 24 20:31:39 2024 +0100

    Bump llvm-project version numbers to llvmorg-18-init-18359-g93248729cfae.

commit efd9603
Author: Dimitry Andric <[email protected]>
Date:   Wed Jan 24 20:23:36 2024 +0100

    Update contrib/llvm-project/FREEBSD-Xlist.

commit 550d813
Merge: 74464e8 4df029c
Author: Dimitry Andric <[email protected]>
Date:   Wed Jan 24 20:17:23 2024 +0100

    Merge llvm-project main llvmorg-18-init-18359-g93248729cfae

    This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
    openmp to llvm-project main llvmorg-18-init-18359-g93248729cfae, the
    last commit before the upstream release/18.x branch was created.

    PR:		276104
    MFC after:	1 month

commit 74464e8
Author: Dimitry Andric <[email protected]>
Date:   Mon Jan 15 00:18:22 2024 +0100

    Tabify libc++ Makefile.

commit 1fbb16e
Author: Dimitry Andric <[email protected]>
Date:   Sun Jan 14 14:20:42 2024 +0100

    Redo libc++ customizations:
    * Remove osreldate include because _LIBCPP_HAS_NO_GETS has disappeared
    * Instead, add direct major __FreeBSD__ check for using ::gets declaration
    * Mark EINTEGRITY values as FreeBSD customization
    * Reformat _LIBCPP_TYPE_VISIBILITY_DEFAULT customization

commit f6cfebe
Author: Dimitry Andric <[email protected]>
Date:   Fri Jan 12 14:47:52 2024 +0100

    Update libc++ module.modulemap.

commit 2c45cec
Author: Dimitry Andric <[email protected]>
Date:   Fri Jan 12 10:57:07 2024 +0100

    Fixup libllvm Makefile for DWARFLinker stuff being moved around.

commit 1f35f87
Author: Dimitry Andric <[email protected]>
Date:   Thu Jan 11 19:30:38 2024 +0100

    Bump llvm-project version numbers to llvmorg-18-init-16864-g3b3ee1f53424.

commit 7b02ddb
Merge: 6ec4eed 950076c
Author: Dimitry Andric <[email protected]>
Date:   Thu Jan 11 19:29:01 2024 +0100

    Merge llvm-project main llvmorg-18-init-16864-g3b3ee1f53424

    This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
    openmp to llvm-project main llvmorg-18-init-16864-g3b3ee1f53424.

    PR:		276104
    MFC after:	1 month

commit 6ec4eed
Author: Dimitry Andric <[email protected]>
Date:   Thu Jan 11 14:49:11 2024 +0100

    Update libllvm and llvm-tblgen Makefiles.

commit b861bf2
Author: Dimitry Andric <[email protected]>
Date:   Thu Jan 11 14:48:50 2024 +0100

    Bump llvm-project version numbers to llvmorg-18-init-16595-g7c00a5be5cde.

commit 42aaf55
Merge: c8faa43 aca2e42
Author: Dimitry Andric <[email protected]>
Date:   Tue Jan 9 21:00:28 2024 +0100

    Merge llvm-project main llvmorg-18-init-16595-g7c00a5be5cde

    This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
    openmp to llvm-project main llvmorg-18-init-16595-g7c00a5be5cde.

    PR:		276104
    MFC after:	1 month

commit c8faa43
Author: Dimitry Andric <[email protected]>
Date:   Sun Jan 7 17:03:13 2024 +0100

    Tentatively merge llvm/llvm-project#77242:

      [libcxx] Re-include <osreldate.h> in __config for FreeBSD

      In 0a97720d0197 some changes were made to `__config` for assuming that
      `__BYTE_ORDER__` is always present.

      However, this deleted a `<osreldate.h>` include for FreeBSD, which is
      required to get the value of `__FreeBSD_version`, and that is used later
      in the file to determine whether `_LIBCPP_C_HAS_NO_GETS` needs to be
      enabled.

      Include `<osreldate.h>` just after the other includes used for feature
      detection, to fix this.

      Note that when FreeBSD 13 is EOLed, this can be removed, as then all
      supported FreeBSD versions will no longer have `gets()`.

commit 9db148e
Author: Dimitry Andric <[email protected]>
Date:   Sun Jan 7 12:32:29 2024 +0100

    Add two FreeBSD customizations to libc++, to better support ports usage
    of older clang versions:
    * Add _LIBCPP_ENABLE_COMPILER_VERSION_CHECKS block around compiler
      version checks, to avoid any warnings about support. This makes some
      ports that use -Werror fall over.
    * When using clang < 15.0, avoid using a type visibility attribute on
      the std namespace, as older versions of clang do not support this.

commit ab1dc4a
Author: Dimitry Andric <[email protected]>
Date:   Sun Jan 7 12:28:35 2024 +0100

    Fix up ObsoleteFiles entries for libc++.

commit 626eed6
Author: Dimitry Andric <[email protected]>
Date:   Sat Jan 6 20:55:41 2024 +0100

    Add more clang 17 ObsoleteFiles entries.

commit d23764d
Author: Dimitry Andric <[email protected]>
Date:   Wed Jan 3 20:35:30 2024 +0100

    Add files needed for lldb FreeBSD-Kernel DynamicLoader.

commit 7656fbd
Author: Dimitry Andric <[email protected]>
Date:   Wed Jan 3 19:22:03 2024 +0100

    Bump llvm-project version numbers to llvmorg-18-init-16003-gfc5f51cf5af4.

commit 9739ebd
Merge: b8840b4 77dbea0
Author: Dimitry Andric <[email protected]>
Date:   Wed Jan 3 19:04:11 2024 +0100

    Merge llvm-project main llvmorg-18-init-16003-gfc5f51cf5af4

    This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
    openmp to llvm-project main llvmorg-18-init-16003-gfc5f51cf5af4.

    PR:		276104
    MFC after:	1 month

commit b8840b4
Author: Dimitry Andric <[email protected]>
Date:   Tue Jan 2 17:09:41 2024 +0100

    compiler-rt builtins: move 80-bit long double functions into their own
    block, only enabling it for x86, and add more 128-bit quad functions.

commit b3086e6
Author: Dimitry Andric <[email protected]>
Date:   Tue Jan 2 17:07:31 2024 +0100

    Revert upstream commit 0e46b49de433:

      Reapply "RegisterCoalescer: Add implicit-def of super register when coalescing SUBREG_TO_REG"

      This reverts commit c398fa009a47eb24f88383d5e911e59e70f8db86.

      PPC backend was fixed in 2f82662ce901c6666fceb9c6c5e0de216a1c9667

    Since it causes an assertion failure building /sys/dev/fb/vga.c:
    llvm/llvm-project#76416

commit c71a0fe
Author: Dimitry Andric <[email protected]>
Date:   Mon Jan 1 18:58:15 2024 +0100

    Apply llvmorg-18-init-15846-g953ae94149f0.

commit fab14fd
Author: Dimitry Andric <[email protected]>
Date:   Mon Dec 25 19:20:33 2023 +0100

    Add new files and remove deleted files from various Makefiles.

commit 5d05e48
Author: Dimitry Andric <[email protected]>
Date:   Mon Dec 25 18:50:08 2023 +0100

    Bump llvm-project version numbers to llvmorg-18-init-15692-g007ed0dccd6a.

commit 678f56a
Merge: 5f710e3 99aabd7
Author: Dimitry Andric <[email protected]>
Date:   Mon Dec 25 18:35:41 2023 +0100

    Merge llvm-project main llvmorg-18-init-15692-g007ed0dccd6a

    This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
    openmp to llvm-project main llvmorg-18-init-15692-g007ed0dccd6a.

    PR:		276104
    MFC after:	1 month

commit 5f710e3
Author: Dimitry Andric <[email protected]>
Date:   Thu Dec 21 23:30:02 2023 +0100

    Tentatively apply llvm/llvm-project#76175, to
    fix libsa including compiler-rt builtins.

commit bfd4f0d
Author: Dimitry Andric <[email protected]>
Date:   Thu Dec 21 16:56:34 2023 +0100

    Add several new builtins to compiler-rt, and enable quad support for amd64.

commit 60b6608
Author: Dimitry Andric <[email protected]>
Date:   Thu Dec 21 14:47:43 2023 +0100

    Use -Wno-vla-cxx-extension for libomp, since clang 18 complains.

commit b051bbb
Author: Dimitry Andric <[email protected]>
Date:   Wed Dec 20 23:05:48 2023 +0100

    Update libomp generated headers.

commit 98d0e7c
Author: Dimitry Andric <[email protected]>
Date:   Wed Dec 20 23:00:26 2023 +0100

    Update libclang_rt makefiles.

commit a08a308
Author: Dimitry Andric <[email protected]>
Date:   Wed Dec 20 21:41:18 2023 +0100

    Update build glue for libc++.

commit 326d983
Author: Dimitry Andric <[email protected]>
Date:   Wed Dec 20 19:47:22 2023 +0100

    Fix up clang version in lib/libclang_rt/compiler-rt-vars.mk.

commit 325ba5b
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 23:43:32 2023 +0100

    Update build glue to build lldb.

commit 612cd33
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 21:54:32 2023 +0100

    Regenerate lib/clang/liblldb/LLDBWrapLua.cpp.

commit 12d2341
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 21:48:16 2023 +0100

    Update build glue to build llvm extra tools.

commit bd80bb1
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 20:10:38 2023 +0100

    Update build glue to build full clang (with static analyzer).

commit 0e60a9e
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 19:30:46 2023 +0100

    Update build glue to build default llvm tools for world.

commit 1e1229d
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 17:40:08 2023 +0100

    Add new files to libclang, and re-sort.

commit 80bc357
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 17:40:00 2023 +0100

    Add new files to libllvm, and re-sort.

commit 220597d
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 15:37:31 2023 +0100

    Add newly introduced .inc files to libclang.

commit daeeb74
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 15:37:11 2023 +0100

    Cleanup removed files from libclang.

commit 69a6c58
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 12:34:00 2023 +0100

    After llvm/llvm-project@ac182deee8287 RISCV's
    global isel td file got split off to RISCVGISel.td, so handle that in
    libllvm's Makefile.

commit e27e76b
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 12:27:35 2023 +0100

    Cleanup removed files from libllvm.

commit fa84ac3
Author: Dimitry Andric <[email protected]>
Date:   Mon Dec 18 22:52:45 2023 +0100

    Update Makefile for llvm-tblgen.

commit d43e62d
Author: Dimitry Andric <[email protected]>
Date:   Mon Dec 18 22:40:01 2023 +0100

    Update FREEBSD-Xlist for llvm 18.

commit a3780ea
Author: Dimitry Andric <[email protected]>
Date:   Mon Dec 18 22:38:45 2023 +0100

    Bump llvm-project numbers from 17.0.6 to 18.0.0.

commit 5d469ef
Merge: 8758bf0 312c0ed
Author: Dimitry Andric <[email protected]>
Date:   Mon Dec 18 21:30:12 2023 +0100

    Merge llvm-project main llvmorg-18-init-15088-gd14ee76181fb

    This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
    openmp to llvm-project main llvmorg-18-init-15088-gd14ee76181fb.

    PR:		276104
    MFC after:	1 month

commit 4fdf604
Author: Dimitry Andric <[email protected]>
Date:   Wed Feb 7 15:37:28 2024 +0100

    Vendor import of llvm-project branch release/18.x llvmorg-18.1.0-rc2-0-gc6c86965d967.

commit 2d835ae
Author: Dimitry Andric <[email protected]>
Date:   Thu Jan 25 19:03:34 2024 +0100

    Vendor import of llvm-project branch release/18.x llvmorg-18-init-18361-g22683463740e.

commit 4df029c
Author: Dimitry Andric <[email protected]>
Date:   Wed Jan 24 20:11:41 2024 +0100

    Vendor import of llvm-project main llvmorg-18-init-18359-g93248729cfae,
    the last commit before the upstream release/18.x branch was created.

commit 950076c
Author: Dimitry Andric <[email protected]>
Date:   Thu Jan 11 19:24:21 2024 +0100

    Vendor import of llvm-project main llvmorg-18-init-16864-g3b3ee1f53424.

commit aca2e42
Author: Dimitry Andric <[email protected]>
Date:   Tue Jan 9 20:58:18 2024 +0100

    Vendor import of llvm-project main llvmorg-18-init-16595-g7c00a5be5cde.

commit 77dbea0
Author: Dimitry Andric <[email protected]>
Date:   Wed Jan 3 17:57:07 2024 +0100

    Vendor import of llvm-project main llvmorg-18-init-16003-gfc5f51cf5af4.

commit 99aabd7
Author: Dimitry Andric <[email protected]>
Date:   Mon Dec 25 14:49:57 2023 +0100

    Vendor import of llvm-project main llvmorg-18-init-15692-g007ed0dccd6a.

commit 312c0ed
Author: Dimitry Andric <[email protected]>
Date:   Sun Dec 17 21:41:09 2023 +0100

    Vendor import of llvm-project main llvmorg-18-init-15088-gd14ee76181fb.

commit b1c7353
Author: Dimitry Andric <[email protected]>
Date:   Sat Dec 9 14:28:42 2023 +0100

    Vendor import of llvm-project main llvmorg-18-init-14265-ga17671084db1.
emaste added a commit to emaste/freebsd that referenced this pull request Feb 15, 2024
commit a7fb520
Author: Dimitry Andric <[email protected]>
Date:   Wed Feb 7 22:50:52 2024 +0100

    Update libllvm for new RISCVGenMacroFusion.inc tblgen header.

commit 92e38d7
Author: Dimitry Andric <[email protected]>
Date:   Wed Feb 7 19:01:09 2024 +0100

    Update libllvm for removed file.

commit 1f05b14
Author: Dimitry Andric <[email protected]>
Date:   Wed Feb 7 16:59:11 2024 +0100

    Bump llvm-project version numbers to llvmorg-18.1.0-rc2-0-gc6c86965d967.

commit dd2f072
Merge: 024a010 4fdf604
Author: Dimitry Andric <[email protected]>
Date:   Wed Feb 7 15:58:02 2024 +0100

    Merge llvm-project release/18.x llvmorg-18.1.0-rc2-0-gc6c86965d967

    This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
    openmp to llvm-project release/18.x llvmorg-18.1.0-rc2-0-gc6c86965d967.

    PR:		276104
    MFC after:	1 month

commit 024a010
Author: Dimitry Andric <[email protected]>
Date:   Mon Feb 5 12:41:51 2024 +0100

    [libc++] Rename __bit_reference template parameter to avoid conflict

    As of 4d20cfcf4eb08217ed37c4d4c38dc395d7a66d26, `__bit_reference`
    contains a template `__fill_n` with a bool `_FillValue` parameter.

    Unfortunately there is a relatively widely used piece of scientific
    software called NetCDF, which exposes a (C) macro `_FillValue` in its
    public headers.

    When building the NetCDF C++ bindings, this quickly leads to compilation
    errors when the macro interferes with the template in `__bit_reference`.

    Rename the parameter to `_FillVal` to avoid the conflict.

commit 4721947
Author: Dimitry Andric <[email protected]>
Date:   Mon Feb 5 10:16:17 2024 +0100

    Merge commit 5f4ee5a2dfa9 from llvm-project (by Shanzhi):

      [Clang][AST] Fix a crash on attaching doc comments (#78716)

      This crash is basically caused by calling
      `ASTContext::getRawCommentForDeclNoCacheImp` with its input arguments
      `RepresentativeLocForDecl` and `CommentsInTheFile` refering to different
      files. A reduced reproducer is provided in this patch.

      After the source locations for instantiations of funtion template are
      corrected in the commit 256a0b298c68b89688b80350b034daf2f7785b67, the
      variable `CommitsInThisFile` in the function
      `ASTContext::attachCommentsToJustParsedDecls` would refer to the source
      file rather than the header file for implicit function template
      instantiation. Therefore, in the first loop in
      `ASTContext::attachCommentsToJustParsedDecls`, `D` should also be
      adjusted for relevant scenarios like the second loop.

      Fixes #67979
      Fixes #68524
      Fixes #70550

    This should fix a segfault when compiling graphics/gdal.

commit d4389cf
Author: Dimitry Andric <[email protected]>
Date:   Sun Jan 28 21:34:42 2024 +0100

    Merge commit 6e4930c67508 from llvm-project (by Alexander Kornienko):

      Revert "[SemaCXX] Implement CWG2137 (list-initialization from objects of the same type) (#77768)"

      This reverts commit 924701311aa79180e86ad8ce43d253f27d25ec7d. Causes compilation
      errors on valid code, see
      llvm/llvm-project#77768 (comment).

commit 638a121
Author: Dimitry Andric <[email protected]>
Date:   Fri Jan 26 16:21:16 2024 +0100

    Bump llvm-project version numbers to llvmorg-18-init-18361-g22683463740e (and 18.1.0).

commit fb7b27d
Merge: 2ed68de 2d835ae
Author: Dimitry Andric <[email protected]>
Date:   Fri Jan 26 16:04:14 2024 +0100

    Merge llvm-project release/18.x llvmorg-18-init-18361-g22683463740e

    This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
    openmp to llvm-project release/18.x llvmorg-18-init-18361-g22683463740e.

    PR:		276104
    MFC after:	1 month

commit 2ed68de
Author: Dimitry Andric <[email protected]>
Date:   Fri Jan 26 16:03:20 2024 +0100

    Tentatively apply libcxxrt/libcxxrt#27.

commit a0cf20a
Author: Dimitry Andric <[email protected]>
Date:   Fri Jan 26 16:02:51 2024 +0100

    libc++: use build defines and flags similar to upstream.

commit 66f3903
Author: Dimitry Andric <[email protected]>
Date:   Thu Jan 25 09:27:12 2024 +0100

    Add one more header to libc++.

commit ddf7238
Author: Dimitry Andric <[email protected]>
Date:   Thu Jan 25 00:39:43 2024 +0100

    Update libclang, libllvm, llc and lli Makefiles.

commit e025714
Author: Dimitry Andric <[email protected]>
Date:   Wed Jan 24 20:35:46 2024 +0100

    Update libc++ generated files, and add __assertion_handler.

commit e7cb0e2
Author: Dimitry Andric <[email protected]>
Date:   Wed Jan 24 20:31:39 2024 +0100

    Bump llvm-project version numbers to llvmorg-18-init-18359-g93248729cfae.

commit efd9603
Author: Dimitry Andric <[email protected]>
Date:   Wed Jan 24 20:23:36 2024 +0100

    Update contrib/llvm-project/FREEBSD-Xlist.

commit 550d813
Merge: 74464e8 4df029c
Author: Dimitry Andric <[email protected]>
Date:   Wed Jan 24 20:17:23 2024 +0100

    Merge llvm-project main llvmorg-18-init-18359-g93248729cfae

    This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
    openmp to llvm-project main llvmorg-18-init-18359-g93248729cfae, the
    last commit before the upstream release/18.x branch was created.

    PR:		276104
    MFC after:	1 month

commit 74464e8
Author: Dimitry Andric <[email protected]>
Date:   Mon Jan 15 00:18:22 2024 +0100

    Tabify libc++ Makefile.

commit 1fbb16e
Author: Dimitry Andric <[email protected]>
Date:   Sun Jan 14 14:20:42 2024 +0100

    Redo libc++ customizations:
    * Remove osreldate include because _LIBCPP_HAS_NO_GETS has disappeared
    * Instead, add direct major __FreeBSD__ check for using ::gets declaration
    * Mark EINTEGRITY values as FreeBSD customization
    * Reformat _LIBCPP_TYPE_VISIBILITY_DEFAULT customization

commit f6cfebe
Author: Dimitry Andric <[email protected]>
Date:   Fri Jan 12 14:47:52 2024 +0100

    Update libc++ module.modulemap.

commit 2c45cec
Author: Dimitry Andric <[email protected]>
Date:   Fri Jan 12 10:57:07 2024 +0100

    Fixup libllvm Makefile for DWARFLinker stuff being moved around.

commit 1f35f87
Author: Dimitry Andric <[email protected]>
Date:   Thu Jan 11 19:30:38 2024 +0100

    Bump llvm-project version numbers to llvmorg-18-init-16864-g3b3ee1f53424.

commit 7b02ddb
Merge: 6ec4eed 950076c
Author: Dimitry Andric <[email protected]>
Date:   Thu Jan 11 19:29:01 2024 +0100

    Merge llvm-project main llvmorg-18-init-16864-g3b3ee1f53424

    This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
    openmp to llvm-project main llvmorg-18-init-16864-g3b3ee1f53424.

    PR:		276104
    MFC after:	1 month

commit 6ec4eed
Author: Dimitry Andric <[email protected]>
Date:   Thu Jan 11 14:49:11 2024 +0100

    Update libllvm and llvm-tblgen Makefiles.

commit b861bf2
Author: Dimitry Andric <[email protected]>
Date:   Thu Jan 11 14:48:50 2024 +0100

    Bump llvm-project version numbers to llvmorg-18-init-16595-g7c00a5be5cde.

commit 42aaf55
Merge: c8faa43 aca2e42
Author: Dimitry Andric <[email protected]>
Date:   Tue Jan 9 21:00:28 2024 +0100

    Merge llvm-project main llvmorg-18-init-16595-g7c00a5be5cde

    This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
    openmp to llvm-project main llvmorg-18-init-16595-g7c00a5be5cde.

    PR:		276104
    MFC after:	1 month

commit c8faa43
Author: Dimitry Andric <[email protected]>
Date:   Sun Jan 7 17:03:13 2024 +0100

    Tentatively merge llvm/llvm-project#77242:

      [libcxx] Re-include <osreldate.h> in __config for FreeBSD

      In 0a97720d0197 some changes were made to `__config` for assuming that
      `__BYTE_ORDER__` is always present.

      However, this deleted a `<osreldate.h>` include for FreeBSD, which is
      required to get the value of `__FreeBSD_version`, and that is used later
      in the file to determine whether `_LIBCPP_C_HAS_NO_GETS` needs to be
      enabled.

      Include `<osreldate.h>` just after the other includes used for feature
      detection, to fix this.

      Note that when FreeBSD 13 is EOLed, this can be removed, as then all
      supported FreeBSD versions will no longer have `gets()`.

commit 9db148e
Author: Dimitry Andric <[email protected]>
Date:   Sun Jan 7 12:32:29 2024 +0100

    Add two FreeBSD customizations to libc++, to better support ports usage
    of older clang versions:
    * Add _LIBCPP_ENABLE_COMPILER_VERSION_CHECKS block around compiler
      version checks, to avoid any warnings about support. This makes some
      ports that use -Werror fall over.
    * When using clang < 15.0, avoid using a type visibility attribute on
      the std namespace, as older versions of clang do not support this.

commit ab1dc4a
Author: Dimitry Andric <[email protected]>
Date:   Sun Jan 7 12:28:35 2024 +0100

    Fix up ObsoleteFiles entries for libc++.

commit 626eed6
Author: Dimitry Andric <[email protected]>
Date:   Sat Jan 6 20:55:41 2024 +0100

    Add more clang 17 ObsoleteFiles entries.

commit d23764d
Author: Dimitry Andric <[email protected]>
Date:   Wed Jan 3 20:35:30 2024 +0100

    Add files needed for lldb FreeBSD-Kernel DynamicLoader.

commit 7656fbd
Author: Dimitry Andric <[email protected]>
Date:   Wed Jan 3 19:22:03 2024 +0100

    Bump llvm-project version numbers to llvmorg-18-init-16003-gfc5f51cf5af4.

commit 9739ebd
Merge: b8840b4 77dbea0
Author: Dimitry Andric <[email protected]>
Date:   Wed Jan 3 19:04:11 2024 +0100

    Merge llvm-project main llvmorg-18-init-16003-gfc5f51cf5af4

    This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
    openmp to llvm-project main llvmorg-18-init-16003-gfc5f51cf5af4.

    PR:		276104
    MFC after:	1 month

commit b8840b4
Author: Dimitry Andric <[email protected]>
Date:   Tue Jan 2 17:09:41 2024 +0100

    compiler-rt builtins: move 80-bit long double functions into their own
    block, only enabling it for x86, and add more 128-bit quad functions.

commit b3086e6
Author: Dimitry Andric <[email protected]>
Date:   Tue Jan 2 17:07:31 2024 +0100

    Revert upstream commit 0e46b49de433:

      Reapply "RegisterCoalescer: Add implicit-def of super register when coalescing SUBREG_TO_REG"

      This reverts commit c398fa009a47eb24f88383d5e911e59e70f8db86.

      PPC backend was fixed in 2f82662ce901c6666fceb9c6c5e0de216a1c9667

    Since it causes an assertion failure building /sys/dev/fb/vga.c:
    llvm/llvm-project#76416

commit c71a0fe
Author: Dimitry Andric <[email protected]>
Date:   Mon Jan 1 18:58:15 2024 +0100

    Apply llvmorg-18-init-15846-g953ae94149f0.

commit fab14fd
Author: Dimitry Andric <[email protected]>
Date:   Mon Dec 25 19:20:33 2023 +0100

    Add new files and remove deleted files from various Makefiles.

commit 5d05e48
Author: Dimitry Andric <[email protected]>
Date:   Mon Dec 25 18:50:08 2023 +0100

    Bump llvm-project version numbers to llvmorg-18-init-15692-g007ed0dccd6a.

commit 678f56a
Merge: 5f710e3 99aabd7
Author: Dimitry Andric <[email protected]>
Date:   Mon Dec 25 18:35:41 2023 +0100

    Merge llvm-project main llvmorg-18-init-15692-g007ed0dccd6a

    This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
    openmp to llvm-project main llvmorg-18-init-15692-g007ed0dccd6a.

    PR:		276104
    MFC after:	1 month

commit 5f710e3
Author: Dimitry Andric <[email protected]>
Date:   Thu Dec 21 23:30:02 2023 +0100

    Tentatively apply llvm/llvm-project#76175, to
    fix libsa including compiler-rt builtins.

commit bfd4f0d
Author: Dimitry Andric <[email protected]>
Date:   Thu Dec 21 16:56:34 2023 +0100

    Add several new builtins to compiler-rt, and enable quad support for amd64.

commit 60b6608
Author: Dimitry Andric <[email protected]>
Date:   Thu Dec 21 14:47:43 2023 +0100

    Use -Wno-vla-cxx-extension for libomp, since clang 18 complains.

commit b051bbb
Author: Dimitry Andric <[email protected]>
Date:   Wed Dec 20 23:05:48 2023 +0100

    Update libomp generated headers.

commit 98d0e7c
Author: Dimitry Andric <[email protected]>
Date:   Wed Dec 20 23:00:26 2023 +0100

    Update libclang_rt makefiles.

commit a08a308
Author: Dimitry Andric <[email protected]>
Date:   Wed Dec 20 21:41:18 2023 +0100

    Update build glue for libc++.

commit 326d983
Author: Dimitry Andric <[email protected]>
Date:   Wed Dec 20 19:47:22 2023 +0100

    Fix up clang version in lib/libclang_rt/compiler-rt-vars.mk.

commit 325ba5b
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 23:43:32 2023 +0100

    Update build glue to build lldb.

commit 612cd33
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 21:54:32 2023 +0100

    Regenerate lib/clang/liblldb/LLDBWrapLua.cpp.

commit 12d2341
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 21:48:16 2023 +0100

    Update build glue to build llvm extra tools.

commit bd80bb1
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 20:10:38 2023 +0100

    Update build glue to build full clang (with static analyzer).

commit 0e60a9e
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 19:30:46 2023 +0100

    Update build glue to build default llvm tools for world.

commit 1e1229d
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 17:40:08 2023 +0100

    Add new files to libclang, and re-sort.

commit 80bc357
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 17:40:00 2023 +0100

    Add new files to libllvm, and re-sort.

commit 220597d
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 15:37:31 2023 +0100

    Add newly introduced .inc files to libclang.

commit daeeb74
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 15:37:11 2023 +0100

    Cleanup removed files from libclang.

commit 69a6c58
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 12:34:00 2023 +0100

    After llvm/llvm-project@ac182deee8287 RISCV's
    global isel td file got split off to RISCVGISel.td, so handle that in
    libllvm's Makefile.

commit e27e76b
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 12:27:35 2023 +0100

    Cleanup removed files from libllvm.

commit fa84ac3
Author: Dimitry Andric <[email protected]>
Date:   Mon Dec 18 22:52:45 2023 +0100

    Update Makefile for llvm-tblgen.

commit d43e62d
Author: Dimitry Andric <[email protected]>
Date:   Mon Dec 18 22:40:01 2023 +0100

    Update FREEBSD-Xlist for llvm 18.

commit a3780ea
Author: Dimitry Andric <[email protected]>
Date:   Mon Dec 18 22:38:45 2023 +0100

    Bump llvm-project numbers from 17.0.6 to 18.0.0.

commit 5d469ef
Merge: 8758bf0 312c0ed
Author: Dimitry Andric <[email protected]>
Date:   Mon Dec 18 21:30:12 2023 +0100

    Merge llvm-project main llvmorg-18-init-15088-gd14ee76181fb

    This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
    openmp to llvm-project main llvmorg-18-init-15088-gd14ee76181fb.

    PR:		276104
    MFC after:	1 month

commit 4fdf604
Author: Dimitry Andric <[email protected]>
Date:   Wed Feb 7 15:37:28 2024 +0100

    Vendor import of llvm-project branch release/18.x llvmorg-18.1.0-rc2-0-gc6c86965d967.

commit 2d835ae
Author: Dimitry Andric <[email protected]>
Date:   Thu Jan 25 19:03:34 2024 +0100

    Vendor import of llvm-project branch release/18.x llvmorg-18-init-18361-g22683463740e.

commit 4df029c
Author: Dimitry Andric <[email protected]>
Date:   Wed Jan 24 20:11:41 2024 +0100

    Vendor import of llvm-project main llvmorg-18-init-18359-g93248729cfae,
    the last commit before the upstream release/18.x branch was created.

commit 950076c
Author: Dimitry Andric <[email protected]>
Date:   Thu Jan 11 19:24:21 2024 +0100

    Vendor import of llvm-project main llvmorg-18-init-16864-g3b3ee1f53424.

commit aca2e42
Author: Dimitry Andric <[email protected]>
Date:   Tue Jan 9 20:58:18 2024 +0100

    Vendor import of llvm-project main llvmorg-18-init-16595-g7c00a5be5cde.

commit 77dbea0
Author: Dimitry Andric <[email protected]>
Date:   Wed Jan 3 17:57:07 2024 +0100

    Vendor import of llvm-project main llvmorg-18-init-16003-gfc5f51cf5af4.

commit 99aabd7
Author: Dimitry Andric <[email protected]>
Date:   Mon Dec 25 14:49:57 2023 +0100

    Vendor import of llvm-project main llvmorg-18-init-15692-g007ed0dccd6a.

commit 312c0ed
Author: Dimitry Andric <[email protected]>
Date:   Sun Dec 17 21:41:09 2023 +0100

    Vendor import of llvm-project main llvmorg-18-init-15088-gd14ee76181fb.

commit b1c7353
Author: Dimitry Andric <[email protected]>
Date:   Sat Dec 9 14:28:42 2023 +0100

    Vendor import of llvm-project main llvmorg-18-init-14265-ga17671084db1.
emaste added a commit to emaste/freebsd that referenced this pull request Feb 16, 2024
commit a7fb520
Author: Dimitry Andric <[email protected]>
Date:   Wed Feb 7 22:50:52 2024 +0100

    Update libllvm for new RISCVGenMacroFusion.inc tblgen header.

commit 92e38d7
Author: Dimitry Andric <[email protected]>
Date:   Wed Feb 7 19:01:09 2024 +0100

    Update libllvm for removed file.

commit 1f05b14
Author: Dimitry Andric <[email protected]>
Date:   Wed Feb 7 16:59:11 2024 +0100

    Bump llvm-project version numbers to llvmorg-18.1.0-rc2-0-gc6c86965d967.

commit dd2f072
Merge: 024a010 4fdf604
Author: Dimitry Andric <[email protected]>
Date:   Wed Feb 7 15:58:02 2024 +0100

    Merge llvm-project release/18.x llvmorg-18.1.0-rc2-0-gc6c86965d967

    This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
    openmp to llvm-project release/18.x llvmorg-18.1.0-rc2-0-gc6c86965d967.

    PR:		276104
    MFC after:	1 month

commit 024a010
Author: Dimitry Andric <[email protected]>
Date:   Mon Feb 5 12:41:51 2024 +0100

    [libc++] Rename __bit_reference template parameter to avoid conflict

    As of 4d20cfcf4eb08217ed37c4d4c38dc395d7a66d26, `__bit_reference`
    contains a template `__fill_n` with a bool `_FillValue` parameter.

    Unfortunately there is a relatively widely used piece of scientific
    software called NetCDF, which exposes a (C) macro `_FillValue` in its
    public headers.

    When building the NetCDF C++ bindings, this quickly leads to compilation
    errors when the macro interferes with the template in `__bit_reference`.

    Rename the parameter to `_FillVal` to avoid the conflict.

commit 4721947
Author: Dimitry Andric <[email protected]>
Date:   Mon Feb 5 10:16:17 2024 +0100

    Merge commit 5f4ee5a2dfa9 from llvm-project (by Shanzhi):

      [Clang][AST] Fix a crash on attaching doc comments (#78716)

      This crash is basically caused by calling
      `ASTContext::getRawCommentForDeclNoCacheImp` with its input arguments
      `RepresentativeLocForDecl` and `CommentsInTheFile` refering to different
      files. A reduced reproducer is provided in this patch.

      After the source locations for instantiations of funtion template are
      corrected in the commit 256a0b298c68b89688b80350b034daf2f7785b67, the
      variable `CommitsInThisFile` in the function
      `ASTContext::attachCommentsToJustParsedDecls` would refer to the source
      file rather than the header file for implicit function template
      instantiation. Therefore, in the first loop in
      `ASTContext::attachCommentsToJustParsedDecls`, `D` should also be
      adjusted for relevant scenarios like the second loop.

      Fixes #67979
      Fixes #68524
      Fixes #70550

    This should fix a segfault when compiling graphics/gdal.

commit d4389cf
Author: Dimitry Andric <[email protected]>
Date:   Sun Jan 28 21:34:42 2024 +0100

    Merge commit 6e4930c67508 from llvm-project (by Alexander Kornienko):

      Revert "[SemaCXX] Implement CWG2137 (list-initialization from objects of the same type) (#77768)"

      This reverts commit 924701311aa79180e86ad8ce43d253f27d25ec7d. Causes compilation
      errors on valid code, see
      llvm/llvm-project#77768 (comment).

commit 638a121
Author: Dimitry Andric <[email protected]>
Date:   Fri Jan 26 16:21:16 2024 +0100

    Bump llvm-project version numbers to llvmorg-18-init-18361-g22683463740e (and 18.1.0).

commit fb7b27d
Merge: 2ed68de 2d835ae
Author: Dimitry Andric <[email protected]>
Date:   Fri Jan 26 16:04:14 2024 +0100

    Merge llvm-project release/18.x llvmorg-18-init-18361-g22683463740e

    This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
    openmp to llvm-project release/18.x llvmorg-18-init-18361-g22683463740e.

    PR:		276104
    MFC after:	1 month

commit 2ed68de
Author: Dimitry Andric <[email protected]>
Date:   Fri Jan 26 16:03:20 2024 +0100

    Tentatively apply libcxxrt/libcxxrt#27.

commit a0cf20a
Author: Dimitry Andric <[email protected]>
Date:   Fri Jan 26 16:02:51 2024 +0100

    libc++: use build defines and flags similar to upstream.

commit 66f3903
Author: Dimitry Andric <[email protected]>
Date:   Thu Jan 25 09:27:12 2024 +0100

    Add one more header to libc++.

commit ddf7238
Author: Dimitry Andric <[email protected]>
Date:   Thu Jan 25 00:39:43 2024 +0100

    Update libclang, libllvm, llc and lli Makefiles.

commit e025714
Author: Dimitry Andric <[email protected]>
Date:   Wed Jan 24 20:35:46 2024 +0100

    Update libc++ generated files, and add __assertion_handler.

commit e7cb0e2
Author: Dimitry Andric <[email protected]>
Date:   Wed Jan 24 20:31:39 2024 +0100

    Bump llvm-project version numbers to llvmorg-18-init-18359-g93248729cfae.

commit efd9603
Author: Dimitry Andric <[email protected]>
Date:   Wed Jan 24 20:23:36 2024 +0100

    Update contrib/llvm-project/FREEBSD-Xlist.

commit 550d813
Merge: 74464e8 4df029c
Author: Dimitry Andric <[email protected]>
Date:   Wed Jan 24 20:17:23 2024 +0100

    Merge llvm-project main llvmorg-18-init-18359-g93248729cfae

    This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
    openmp to llvm-project main llvmorg-18-init-18359-g93248729cfae, the
    last commit before the upstream release/18.x branch was created.

    PR:		276104
    MFC after:	1 month

commit 74464e8
Author: Dimitry Andric <[email protected]>
Date:   Mon Jan 15 00:18:22 2024 +0100

    Tabify libc++ Makefile.

commit 1fbb16e
Author: Dimitry Andric <[email protected]>
Date:   Sun Jan 14 14:20:42 2024 +0100

    Redo libc++ customizations:
    * Remove osreldate include because _LIBCPP_HAS_NO_GETS has disappeared
    * Instead, add direct major __FreeBSD__ check for using ::gets declaration
    * Mark EINTEGRITY values as FreeBSD customization
    * Reformat _LIBCPP_TYPE_VISIBILITY_DEFAULT customization

commit f6cfebe
Author: Dimitry Andric <[email protected]>
Date:   Fri Jan 12 14:47:52 2024 +0100

    Update libc++ module.modulemap.

commit 2c45cec
Author: Dimitry Andric <[email protected]>
Date:   Fri Jan 12 10:57:07 2024 +0100

    Fixup libllvm Makefile for DWARFLinker stuff being moved around.

commit 1f35f87
Author: Dimitry Andric <[email protected]>
Date:   Thu Jan 11 19:30:38 2024 +0100

    Bump llvm-project version numbers to llvmorg-18-init-16864-g3b3ee1f53424.

commit 7b02ddb
Merge: 6ec4eed 950076c
Author: Dimitry Andric <[email protected]>
Date:   Thu Jan 11 19:29:01 2024 +0100

    Merge llvm-project main llvmorg-18-init-16864-g3b3ee1f53424

    This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
    openmp to llvm-project main llvmorg-18-init-16864-g3b3ee1f53424.

    PR:		276104
    MFC after:	1 month

commit 6ec4eed
Author: Dimitry Andric <[email protected]>
Date:   Thu Jan 11 14:49:11 2024 +0100

    Update libllvm and llvm-tblgen Makefiles.

commit b861bf2
Author: Dimitry Andric <[email protected]>
Date:   Thu Jan 11 14:48:50 2024 +0100

    Bump llvm-project version numbers to llvmorg-18-init-16595-g7c00a5be5cde.

commit 42aaf55
Merge: c8faa43 aca2e42
Author: Dimitry Andric <[email protected]>
Date:   Tue Jan 9 21:00:28 2024 +0100

    Merge llvm-project main llvmorg-18-init-16595-g7c00a5be5cde

    This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
    openmp to llvm-project main llvmorg-18-init-16595-g7c00a5be5cde.

    PR:		276104
    MFC after:	1 month

commit c8faa43
Author: Dimitry Andric <[email protected]>
Date:   Sun Jan 7 17:03:13 2024 +0100

    Tentatively merge llvm/llvm-project#77242:

      [libcxx] Re-include <osreldate.h> in __config for FreeBSD

      In 0a97720d0197 some changes were made to `__config` for assuming that
      `__BYTE_ORDER__` is always present.

      However, this deleted a `<osreldate.h>` include for FreeBSD, which is
      required to get the value of `__FreeBSD_version`, and that is used later
      in the file to determine whether `_LIBCPP_C_HAS_NO_GETS` needs to be
      enabled.

      Include `<osreldate.h>` just after the other includes used for feature
      detection, to fix this.

      Note that when FreeBSD 13 is EOLed, this can be removed, as then all
      supported FreeBSD versions will no longer have `gets()`.

commit 9db148e
Author: Dimitry Andric <[email protected]>
Date:   Sun Jan 7 12:32:29 2024 +0100

    Add two FreeBSD customizations to libc++, to better support ports usage
    of older clang versions:
    * Add _LIBCPP_ENABLE_COMPILER_VERSION_CHECKS block around compiler
      version checks, to avoid any warnings about support. This makes some
      ports that use -Werror fall over.
    * When using clang < 15.0, avoid using a type visibility attribute on
      the std namespace, as older versions of clang do not support this.

commit ab1dc4a
Author: Dimitry Andric <[email protected]>
Date:   Sun Jan 7 12:28:35 2024 +0100

    Fix up ObsoleteFiles entries for libc++.

commit 626eed6
Author: Dimitry Andric <[email protected]>
Date:   Sat Jan 6 20:55:41 2024 +0100

    Add more clang 17 ObsoleteFiles entries.

commit d23764d
Author: Dimitry Andric <[email protected]>
Date:   Wed Jan 3 20:35:30 2024 +0100

    Add files needed for lldb FreeBSD-Kernel DynamicLoader.

commit 7656fbd
Author: Dimitry Andric <[email protected]>
Date:   Wed Jan 3 19:22:03 2024 +0100

    Bump llvm-project version numbers to llvmorg-18-init-16003-gfc5f51cf5af4.

commit 9739ebd
Merge: b8840b4 77dbea0
Author: Dimitry Andric <[email protected]>
Date:   Wed Jan 3 19:04:11 2024 +0100

    Merge llvm-project main llvmorg-18-init-16003-gfc5f51cf5af4

    This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
    openmp to llvm-project main llvmorg-18-init-16003-gfc5f51cf5af4.

    PR:		276104
    MFC after:	1 month

commit b8840b4
Author: Dimitry Andric <[email protected]>
Date:   Tue Jan 2 17:09:41 2024 +0100

    compiler-rt builtins: move 80-bit long double functions into their own
    block, only enabling it for x86, and add more 128-bit quad functions.

commit b3086e6
Author: Dimitry Andric <[email protected]>
Date:   Tue Jan 2 17:07:31 2024 +0100

    Revert upstream commit 0e46b49de433:

      Reapply "RegisterCoalescer: Add implicit-def of super register when coalescing SUBREG_TO_REG"

      This reverts commit c398fa009a47eb24f88383d5e911e59e70f8db86.

      PPC backend was fixed in 2f82662ce901c6666fceb9c6c5e0de216a1c9667

    Since it causes an assertion failure building /sys/dev/fb/vga.c:
    llvm/llvm-project#76416

commit c71a0fe
Author: Dimitry Andric <[email protected]>
Date:   Mon Jan 1 18:58:15 2024 +0100

    Apply llvmorg-18-init-15846-g953ae94149f0.

commit fab14fd
Author: Dimitry Andric <[email protected]>
Date:   Mon Dec 25 19:20:33 2023 +0100

    Add new files and remove deleted files from various Makefiles.

commit 5d05e48
Author: Dimitry Andric <[email protected]>
Date:   Mon Dec 25 18:50:08 2023 +0100

    Bump llvm-project version numbers to llvmorg-18-init-15692-g007ed0dccd6a.

commit 678f56a
Merge: 5f710e3 99aabd7
Author: Dimitry Andric <[email protected]>
Date:   Mon Dec 25 18:35:41 2023 +0100

    Merge llvm-project main llvmorg-18-init-15692-g007ed0dccd6a

    This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
    openmp to llvm-project main llvmorg-18-init-15692-g007ed0dccd6a.

    PR:		276104
    MFC after:	1 month

commit 5f710e3
Author: Dimitry Andric <[email protected]>
Date:   Thu Dec 21 23:30:02 2023 +0100

    Tentatively apply llvm/llvm-project#76175, to
    fix libsa including compiler-rt builtins.

commit bfd4f0d
Author: Dimitry Andric <[email protected]>
Date:   Thu Dec 21 16:56:34 2023 +0100

    Add several new builtins to compiler-rt, and enable quad support for amd64.

commit 60b6608
Author: Dimitry Andric <[email protected]>
Date:   Thu Dec 21 14:47:43 2023 +0100

    Use -Wno-vla-cxx-extension for libomp, since clang 18 complains.

commit b051bbb
Author: Dimitry Andric <[email protected]>
Date:   Wed Dec 20 23:05:48 2023 +0100

    Update libomp generated headers.

commit 98d0e7c
Author: Dimitry Andric <[email protected]>
Date:   Wed Dec 20 23:00:26 2023 +0100

    Update libclang_rt makefiles.

commit a08a308
Author: Dimitry Andric <[email protected]>
Date:   Wed Dec 20 21:41:18 2023 +0100

    Update build glue for libc++.

commit 326d983
Author: Dimitry Andric <[email protected]>
Date:   Wed Dec 20 19:47:22 2023 +0100

    Fix up clang version in lib/libclang_rt/compiler-rt-vars.mk.

commit 325ba5b
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 23:43:32 2023 +0100

    Update build glue to build lldb.

commit 612cd33
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 21:54:32 2023 +0100

    Regenerate lib/clang/liblldb/LLDBWrapLua.cpp.

commit 12d2341
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 21:48:16 2023 +0100

    Update build glue to build llvm extra tools.

commit bd80bb1
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 20:10:38 2023 +0100

    Update build glue to build full clang (with static analyzer).

commit 0e60a9e
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 19:30:46 2023 +0100

    Update build glue to build default llvm tools for world.

commit 1e1229d
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 17:40:08 2023 +0100

    Add new files to libclang, and re-sort.

commit 80bc357
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 17:40:00 2023 +0100

    Add new files to libllvm, and re-sort.

commit 220597d
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 15:37:31 2023 +0100

    Add newly introduced .inc files to libclang.

commit daeeb74
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 15:37:11 2023 +0100

    Cleanup removed files from libclang.

commit 69a6c58
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 12:34:00 2023 +0100

    After llvm/llvm-project@ac182deee8287 RISCV's
    global isel td file got split off to RISCVGISel.td, so handle that in
    libllvm's Makefile.

commit e27e76b
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 12:27:35 2023 +0100

    Cleanup removed files from libllvm.

commit fa84ac3
Author: Dimitry Andric <[email protected]>
Date:   Mon Dec 18 22:52:45 2023 +0100

    Update Makefile for llvm-tblgen.

commit d43e62d
Author: Dimitry Andric <[email protected]>
Date:   Mon Dec 18 22:40:01 2023 +0100

    Update FREEBSD-Xlist for llvm 18.

commit a3780ea
Author: Dimitry Andric <[email protected]>
Date:   Mon Dec 18 22:38:45 2023 +0100

    Bump llvm-project numbers from 17.0.6 to 18.0.0.

commit 5d469ef
Merge: 8758bf0 312c0ed
Author: Dimitry Andric <[email protected]>
Date:   Mon Dec 18 21:30:12 2023 +0100

    Merge llvm-project main llvmorg-18-init-15088-gd14ee76181fb

    This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
    openmp to llvm-project main llvmorg-18-init-15088-gd14ee76181fb.

    PR:		276104
    MFC after:	1 month

commit 4fdf604
Author: Dimitry Andric <[email protected]>
Date:   Wed Feb 7 15:37:28 2024 +0100

    Vendor import of llvm-project branch release/18.x llvmorg-18.1.0-rc2-0-gc6c86965d967.

commit 2d835ae
Author: Dimitry Andric <[email protected]>
Date:   Thu Jan 25 19:03:34 2024 +0100

    Vendor import of llvm-project branch release/18.x llvmorg-18-init-18361-g22683463740e.

commit 4df029c
Author: Dimitry Andric <[email protected]>
Date:   Wed Jan 24 20:11:41 2024 +0100

    Vendor import of llvm-project main llvmorg-18-init-18359-g93248729cfae,
    the last commit before the upstream release/18.x branch was created.

commit 950076c
Author: Dimitry Andric <[email protected]>
Date:   Thu Jan 11 19:24:21 2024 +0100

    Vendor import of llvm-project main llvmorg-18-init-16864-g3b3ee1f53424.

commit aca2e42
Author: Dimitry Andric <[email protected]>
Date:   Tue Jan 9 20:58:18 2024 +0100

    Vendor import of llvm-project main llvmorg-18-init-16595-g7c00a5be5cde.

commit 77dbea0
Author: Dimitry Andric <[email protected]>
Date:   Wed Jan 3 17:57:07 2024 +0100

    Vendor import of llvm-project main llvmorg-18-init-16003-gfc5f51cf5af4.

commit 99aabd7
Author: Dimitry Andric <[email protected]>
Date:   Mon Dec 25 14:49:57 2023 +0100

    Vendor import of llvm-project main llvmorg-18-init-15692-g007ed0dccd6a.

commit 312c0ed
Author: Dimitry Andric <[email protected]>
Date:   Sun Dec 17 21:41:09 2023 +0100

    Vendor import of llvm-project main llvmorg-18-init-15088-gd14ee76181fb.

commit b1c7353
Author: Dimitry Andric <[email protected]>
Date:   Sat Dec 9 14:28:42 2023 +0100

    Vendor import of llvm-project main llvmorg-18-init-14265-ga17671084db1.
emaste added a commit to emaste/freebsd that referenced this pull request Feb 16, 2024
commit a7fb520
Author: Dimitry Andric <[email protected]>
Date:   Wed Feb 7 22:50:52 2024 +0100

    Update libllvm for new RISCVGenMacroFusion.inc tblgen header.

commit 92e38d7
Author: Dimitry Andric <[email protected]>
Date:   Wed Feb 7 19:01:09 2024 +0100

    Update libllvm for removed file.

commit 1f05b14
Author: Dimitry Andric <[email protected]>
Date:   Wed Feb 7 16:59:11 2024 +0100

    Bump llvm-project version numbers to llvmorg-18.1.0-rc2-0-gc6c86965d967.

commit dd2f072
Merge: 024a010 4fdf604
Author: Dimitry Andric <[email protected]>
Date:   Wed Feb 7 15:58:02 2024 +0100

    Merge llvm-project release/18.x llvmorg-18.1.0-rc2-0-gc6c86965d967

    This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
    openmp to llvm-project release/18.x llvmorg-18.1.0-rc2-0-gc6c86965d967.

    PR:		276104
    MFC after:	1 month

commit 024a010
Author: Dimitry Andric <[email protected]>
Date:   Mon Feb 5 12:41:51 2024 +0100

    [libc++] Rename __bit_reference template parameter to avoid conflict

    As of 4d20cfcf4eb08217ed37c4d4c38dc395d7a66d26, `__bit_reference`
    contains a template `__fill_n` with a bool `_FillValue` parameter.

    Unfortunately there is a relatively widely used piece of scientific
    software called NetCDF, which exposes a (C) macro `_FillValue` in its
    public headers.

    When building the NetCDF C++ bindings, this quickly leads to compilation
    errors when the macro interferes with the template in `__bit_reference`.

    Rename the parameter to `_FillVal` to avoid the conflict.

commit 4721947
Author: Dimitry Andric <[email protected]>
Date:   Mon Feb 5 10:16:17 2024 +0100

    Merge commit 5f4ee5a2dfa9 from llvm-project (by Shanzhi):

      [Clang][AST] Fix a crash on attaching doc comments (#78716)

      This crash is basically caused by calling
      `ASTContext::getRawCommentForDeclNoCacheImp` with its input arguments
      `RepresentativeLocForDecl` and `CommentsInTheFile` refering to different
      files. A reduced reproducer is provided in this patch.

      After the source locations for instantiations of funtion template are
      corrected in the commit 256a0b298c68b89688b80350b034daf2f7785b67, the
      variable `CommitsInThisFile` in the function
      `ASTContext::attachCommentsToJustParsedDecls` would refer to the source
      file rather than the header file for implicit function template
      instantiation. Therefore, in the first loop in
      `ASTContext::attachCommentsToJustParsedDecls`, `D` should also be
      adjusted for relevant scenarios like the second loop.

      Fixes #67979
      Fixes #68524
      Fixes #70550

    This should fix a segfault when compiling graphics/gdal.

commit d4389cf
Author: Dimitry Andric <[email protected]>
Date:   Sun Jan 28 21:34:42 2024 +0100

    Merge commit 6e4930c67508 from llvm-project (by Alexander Kornienko):

      Revert "[SemaCXX] Implement CWG2137 (list-initialization from objects of the same type) (#77768)"

      This reverts commit 924701311aa79180e86ad8ce43d253f27d25ec7d. Causes compilation
      errors on valid code, see
      llvm/llvm-project#77768 (comment).

commit 638a121
Author: Dimitry Andric <[email protected]>
Date:   Fri Jan 26 16:21:16 2024 +0100

    Bump llvm-project version numbers to llvmorg-18-init-18361-g22683463740e (and 18.1.0).

commit fb7b27d
Merge: 2ed68de 2d835ae
Author: Dimitry Andric <[email protected]>
Date:   Fri Jan 26 16:04:14 2024 +0100

    Merge llvm-project release/18.x llvmorg-18-init-18361-g22683463740e

    This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
    openmp to llvm-project release/18.x llvmorg-18-init-18361-g22683463740e.

    PR:		276104
    MFC after:	1 month

commit 2ed68de
Author: Dimitry Andric <[email protected]>
Date:   Fri Jan 26 16:03:20 2024 +0100

    Tentatively apply libcxxrt/libcxxrt#27.

commit a0cf20a
Author: Dimitry Andric <[email protected]>
Date:   Fri Jan 26 16:02:51 2024 +0100

    libc++: use build defines and flags similar to upstream.

commit 66f3903
Author: Dimitry Andric <[email protected]>
Date:   Thu Jan 25 09:27:12 2024 +0100

    Add one more header to libc++.

commit ddf7238
Author: Dimitry Andric <[email protected]>
Date:   Thu Jan 25 00:39:43 2024 +0100

    Update libclang, libllvm, llc and lli Makefiles.

commit e025714
Author: Dimitry Andric <[email protected]>
Date:   Wed Jan 24 20:35:46 2024 +0100

    Update libc++ generated files, and add __assertion_handler.

commit e7cb0e2
Author: Dimitry Andric <[email protected]>
Date:   Wed Jan 24 20:31:39 2024 +0100

    Bump llvm-project version numbers to llvmorg-18-init-18359-g93248729cfae.

commit efd9603
Author: Dimitry Andric <[email protected]>
Date:   Wed Jan 24 20:23:36 2024 +0100

    Update contrib/llvm-project/FREEBSD-Xlist.

commit 550d813
Merge: 74464e8 4df029c
Author: Dimitry Andric <[email protected]>
Date:   Wed Jan 24 20:17:23 2024 +0100

    Merge llvm-project main llvmorg-18-init-18359-g93248729cfae

    This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
    openmp to llvm-project main llvmorg-18-init-18359-g93248729cfae, the
    last commit before the upstream release/18.x branch was created.

    PR:		276104
    MFC after:	1 month

commit 74464e8
Author: Dimitry Andric <[email protected]>
Date:   Mon Jan 15 00:18:22 2024 +0100

    Tabify libc++ Makefile.

commit 1fbb16e
Author: Dimitry Andric <[email protected]>
Date:   Sun Jan 14 14:20:42 2024 +0100

    Redo libc++ customizations:
    * Remove osreldate include because _LIBCPP_HAS_NO_GETS has disappeared
    * Instead, add direct major __FreeBSD__ check for using ::gets declaration
    * Mark EINTEGRITY values as FreeBSD customization
    * Reformat _LIBCPP_TYPE_VISIBILITY_DEFAULT customization

commit f6cfebe
Author: Dimitry Andric <[email protected]>
Date:   Fri Jan 12 14:47:52 2024 +0100

    Update libc++ module.modulemap.

commit 2c45cec
Author: Dimitry Andric <[email protected]>
Date:   Fri Jan 12 10:57:07 2024 +0100

    Fixup libllvm Makefile for DWARFLinker stuff being moved around.

commit 1f35f87
Author: Dimitry Andric <[email protected]>
Date:   Thu Jan 11 19:30:38 2024 +0100

    Bump llvm-project version numbers to llvmorg-18-init-16864-g3b3ee1f53424.

commit 7b02ddb
Merge: 6ec4eed 950076c
Author: Dimitry Andric <[email protected]>
Date:   Thu Jan 11 19:29:01 2024 +0100

    Merge llvm-project main llvmorg-18-init-16864-g3b3ee1f53424

    This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
    openmp to llvm-project main llvmorg-18-init-16864-g3b3ee1f53424.

    PR:		276104
    MFC after:	1 month

commit 6ec4eed
Author: Dimitry Andric <[email protected]>
Date:   Thu Jan 11 14:49:11 2024 +0100

    Update libllvm and llvm-tblgen Makefiles.

commit b861bf2
Author: Dimitry Andric <[email protected]>
Date:   Thu Jan 11 14:48:50 2024 +0100

    Bump llvm-project version numbers to llvmorg-18-init-16595-g7c00a5be5cde.

commit 42aaf55
Merge: c8faa43 aca2e42
Author: Dimitry Andric <[email protected]>
Date:   Tue Jan 9 21:00:28 2024 +0100

    Merge llvm-project main llvmorg-18-init-16595-g7c00a5be5cde

    This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
    openmp to llvm-project main llvmorg-18-init-16595-g7c00a5be5cde.

    PR:		276104
    MFC after:	1 month

commit c8faa43
Author: Dimitry Andric <[email protected]>
Date:   Sun Jan 7 17:03:13 2024 +0100

    Tentatively merge llvm/llvm-project#77242:

      [libcxx] Re-include <osreldate.h> in __config for FreeBSD

      In 0a97720d0197 some changes were made to `__config` for assuming that
      `__BYTE_ORDER__` is always present.

      However, this deleted a `<osreldate.h>` include for FreeBSD, which is
      required to get the value of `__FreeBSD_version`, and that is used later
      in the file to determine whether `_LIBCPP_C_HAS_NO_GETS` needs to be
      enabled.

      Include `<osreldate.h>` just after the other includes used for feature
      detection, to fix this.

      Note that when FreeBSD 13 is EOLed, this can be removed, as then all
      supported FreeBSD versions will no longer have `gets()`.

commit 9db148e
Author: Dimitry Andric <[email protected]>
Date:   Sun Jan 7 12:32:29 2024 +0100

    Add two FreeBSD customizations to libc++, to better support ports usage
    of older clang versions:
    * Add _LIBCPP_ENABLE_COMPILER_VERSION_CHECKS block around compiler
      version checks, to avoid any warnings about support. This makes some
      ports that use -Werror fall over.
    * When using clang < 15.0, avoid using a type visibility attribute on
      the std namespace, as older versions of clang do not support this.

commit ab1dc4a
Author: Dimitry Andric <[email protected]>
Date:   Sun Jan 7 12:28:35 2024 +0100

    Fix up ObsoleteFiles entries for libc++.

commit 626eed6
Author: Dimitry Andric <[email protected]>
Date:   Sat Jan 6 20:55:41 2024 +0100

    Add more clang 17 ObsoleteFiles entries.

commit d23764d
Author: Dimitry Andric <[email protected]>
Date:   Wed Jan 3 20:35:30 2024 +0100

    Add files needed for lldb FreeBSD-Kernel DynamicLoader.

commit 7656fbd
Author: Dimitry Andric <[email protected]>
Date:   Wed Jan 3 19:22:03 2024 +0100

    Bump llvm-project version numbers to llvmorg-18-init-16003-gfc5f51cf5af4.

commit 9739ebd
Merge: b8840b4 77dbea0
Author: Dimitry Andric <[email protected]>
Date:   Wed Jan 3 19:04:11 2024 +0100

    Merge llvm-project main llvmorg-18-init-16003-gfc5f51cf5af4

    This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
    openmp to llvm-project main llvmorg-18-init-16003-gfc5f51cf5af4.

    PR:		276104
    MFC after:	1 month

commit b8840b4
Author: Dimitry Andric <[email protected]>
Date:   Tue Jan 2 17:09:41 2024 +0100

    compiler-rt builtins: move 80-bit long double functions into their own
    block, only enabling it for x86, and add more 128-bit quad functions.

commit b3086e6
Author: Dimitry Andric <[email protected]>
Date:   Tue Jan 2 17:07:31 2024 +0100

    Revert upstream commit 0e46b49de433:

      Reapply "RegisterCoalescer: Add implicit-def of super register when coalescing SUBREG_TO_REG"

      This reverts commit c398fa009a47eb24f88383d5e911e59e70f8db86.

      PPC backend was fixed in 2f82662ce901c6666fceb9c6c5e0de216a1c9667

    Since it causes an assertion failure building /sys/dev/fb/vga.c:
    llvm/llvm-project#76416

commit c71a0fe
Author: Dimitry Andric <[email protected]>
Date:   Mon Jan 1 18:58:15 2024 +0100

    Apply llvmorg-18-init-15846-g953ae94149f0.

commit fab14fd
Author: Dimitry Andric <[email protected]>
Date:   Mon Dec 25 19:20:33 2023 +0100

    Add new files and remove deleted files from various Makefiles.

commit 5d05e48
Author: Dimitry Andric <[email protected]>
Date:   Mon Dec 25 18:50:08 2023 +0100

    Bump llvm-project version numbers to llvmorg-18-init-15692-g007ed0dccd6a.

commit 678f56a
Merge: 5f710e3 99aabd7
Author: Dimitry Andric <[email protected]>
Date:   Mon Dec 25 18:35:41 2023 +0100

    Merge llvm-project main llvmorg-18-init-15692-g007ed0dccd6a

    This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
    openmp to llvm-project main llvmorg-18-init-15692-g007ed0dccd6a.

    PR:		276104
    MFC after:	1 month

commit 5f710e3
Author: Dimitry Andric <[email protected]>
Date:   Thu Dec 21 23:30:02 2023 +0100

    Tentatively apply llvm/llvm-project#76175, to
    fix libsa including compiler-rt builtins.

commit bfd4f0d
Author: Dimitry Andric <[email protected]>
Date:   Thu Dec 21 16:56:34 2023 +0100

    Add several new builtins to compiler-rt, and enable quad support for amd64.

commit 60b6608
Author: Dimitry Andric <[email protected]>
Date:   Thu Dec 21 14:47:43 2023 +0100

    Use -Wno-vla-cxx-extension for libomp, since clang 18 complains.

commit b051bbb
Author: Dimitry Andric <[email protected]>
Date:   Wed Dec 20 23:05:48 2023 +0100

    Update libomp generated headers.

commit 98d0e7c
Author: Dimitry Andric <[email protected]>
Date:   Wed Dec 20 23:00:26 2023 +0100

    Update libclang_rt makefiles.

commit a08a308
Author: Dimitry Andric <[email protected]>
Date:   Wed Dec 20 21:41:18 2023 +0100

    Update build glue for libc++.

commit 326d983
Author: Dimitry Andric <[email protected]>
Date:   Wed Dec 20 19:47:22 2023 +0100

    Fix up clang version in lib/libclang_rt/compiler-rt-vars.mk.

commit 325ba5b
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 23:43:32 2023 +0100

    Update build glue to build lldb.

commit 612cd33
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 21:54:32 2023 +0100

    Regenerate lib/clang/liblldb/LLDBWrapLua.cpp.

commit 12d2341
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 21:48:16 2023 +0100

    Update build glue to build llvm extra tools.

commit bd80bb1
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 20:10:38 2023 +0100

    Update build glue to build full clang (with static analyzer).

commit 0e60a9e
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 19:30:46 2023 +0100

    Update build glue to build default llvm tools for world.

commit 1e1229d
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 17:40:08 2023 +0100

    Add new files to libclang, and re-sort.

commit 80bc357
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 17:40:00 2023 +0100

    Add new files to libllvm, and re-sort.

commit 220597d
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 15:37:31 2023 +0100

    Add newly introduced .inc files to libclang.

commit daeeb74
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 15:37:11 2023 +0100

    Cleanup removed files from libclang.

commit 69a6c58
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 12:34:00 2023 +0100

    After llvm/llvm-project@ac182deee8287 RISCV's
    global isel td file got split off to RISCVGISel.td, so handle that in
    libllvm's Makefile.

commit e27e76b
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 12:27:35 2023 +0100

    Cleanup removed files from libllvm.

commit fa84ac3
Author: Dimitry Andric <[email protected]>
Date:   Mon Dec 18 22:52:45 2023 +0100

    Update Makefile for llvm-tblgen.

commit d43e62d
Author: Dimitry Andric <[email protected]>
Date:   Mon Dec 18 22:40:01 2023 +0100

    Update FREEBSD-Xlist for llvm 18.

commit a3780ea
Author: Dimitry Andric <[email protected]>
Date:   Mon Dec 18 22:38:45 2023 +0100

    Bump llvm-project numbers from 17.0.6 to 18.0.0.

commit 5d469ef
Merge: 8758bf0 312c0ed
Author: Dimitry Andric <[email protected]>
Date:   Mon Dec 18 21:30:12 2023 +0100

    Merge llvm-project main llvmorg-18-init-15088-gd14ee76181fb

    This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
    openmp to llvm-project main llvmorg-18-init-15088-gd14ee76181fb.

    PR:		276104
    MFC after:	1 month

commit 4fdf604
Author: Dimitry Andric <[email protected]>
Date:   Wed Feb 7 15:37:28 2024 +0100

    Vendor import of llvm-project branch release/18.x llvmorg-18.1.0-rc2-0-gc6c86965d967.

commit 2d835ae
Author: Dimitry Andric <[email protected]>
Date:   Thu Jan 25 19:03:34 2024 +0100

    Vendor import of llvm-project branch release/18.x llvmorg-18-init-18361-g22683463740e.

commit 4df029c
Author: Dimitry Andric <[email protected]>
Date:   Wed Jan 24 20:11:41 2024 +0100

    Vendor import of llvm-project main llvmorg-18-init-18359-g93248729cfae,
    the last commit before the upstream release/18.x branch was created.

commit 950076c
Author: Dimitry Andric <[email protected]>
Date:   Thu Jan 11 19:24:21 2024 +0100

    Vendor import of llvm-project main llvmorg-18-init-16864-g3b3ee1f53424.

commit aca2e42
Author: Dimitry Andric <[email protected]>
Date:   Tue Jan 9 20:58:18 2024 +0100

    Vendor import of llvm-project main llvmorg-18-init-16595-g7c00a5be5cde.

commit 77dbea0
Author: Dimitry Andric <[email protected]>
Date:   Wed Jan 3 17:57:07 2024 +0100

    Vendor import of llvm-project main llvmorg-18-init-16003-gfc5f51cf5af4.

commit 99aabd7
Author: Dimitry Andric <[email protected]>
Date:   Mon Dec 25 14:49:57 2023 +0100

    Vendor import of llvm-project main llvmorg-18-init-15692-g007ed0dccd6a.

commit 312c0ed
Author: Dimitry Andric <[email protected]>
Date:   Sun Dec 17 21:41:09 2023 +0100

    Vendor import of llvm-project main llvmorg-18-init-15088-gd14ee76181fb.

commit b1c7353
Author: Dimitry Andric <[email protected]>
Date:   Sat Dec 9 14:28:42 2023 +0100

    Vendor import of llvm-project main llvmorg-18-init-14265-ga17671084db1.
DimitryAndric added a commit to DimitryAndric/freebsd-src that referenced this pull request Feb 21, 2024
  [libcxx] Re-include <osreldate.h> in __config for FreeBSD

  In 0a97720d0197 some changes were made to `__config` for assuming that
  `__BYTE_ORDER__` is always present.

  However, this deleted a `<osreldate.h>` include for FreeBSD, which is
  required to get the value of `__FreeBSD_version`, and that is used later
  in the file to determine whether `_LIBCPP_C_HAS_NO_GETS` needs to be
  enabled.

  Include `<osreldate.h>` just after the other includes used for feature
  detection, to fix this.

  Note that when FreeBSD 13 is EOLed, this can be removed, as then all
  supported FreeBSD versions will no longer have `gets()`.
DimitryAndric added a commit to DimitryAndric/freebsd-src that referenced this pull request Feb 21, 2024
  [libcxx] Re-include <osreldate.h> in __config for FreeBSD

  In 0a97720d0197 some changes were made to `__config` for assuming that
  `__BYTE_ORDER__` is always present.

  However, this deleted a `<osreldate.h>` include for FreeBSD, which is
  required to get the value of `__FreeBSD_version`, and that is used later
  in the file to determine whether `_LIBCPP_C_HAS_NO_GETS` needs to be
  enabled.

  Include `<osreldate.h>` just after the other includes used for feature
  detection, to fix this.

  Note that when FreeBSD 13 is EOLed, this can be removed, as then all
  supported FreeBSD versions will no longer have `gets()`.
DimitryAndric added a commit to DimitryAndric/freebsd-src that referenced this pull request Feb 22, 2024
  [libcxx] Re-include <osreldate.h> in __config for FreeBSD

  In 0a97720d0197 some changes were made to `__config` for assuming that
  `__BYTE_ORDER__` is always present.

  However, this deleted a `<osreldate.h>` include for FreeBSD, which is
  required to get the value of `__FreeBSD_version`, and that is used later
  in the file to determine whether `_LIBCPP_C_HAS_NO_GETS` needs to be
  enabled.

  Include `<osreldate.h>` just after the other includes used for feature
  detection, to fix this.

  Note that when FreeBSD 13 is EOLed, this can be removed, as then all
  supported FreeBSD versions will no longer have `gets()`.
emaste added a commit to emaste/freebsd that referenced this pull request Feb 24, 2024
commit a7fb520
Author: Dimitry Andric <[email protected]>
Date:   Wed Feb 7 22:50:52 2024 +0100

    Update libllvm for new RISCVGenMacroFusion.inc tblgen header.

commit 92e38d7
Author: Dimitry Andric <[email protected]>
Date:   Wed Feb 7 19:01:09 2024 +0100

    Update libllvm for removed file.

commit 1f05b14
Author: Dimitry Andric <[email protected]>
Date:   Wed Feb 7 16:59:11 2024 +0100

    Bump llvm-project version numbers to llvmorg-18.1.0-rc2-0-gc6c86965d967.

commit dd2f072
Merge: 024a010 4fdf604
Author: Dimitry Andric <[email protected]>
Date:   Wed Feb 7 15:58:02 2024 +0100

    Merge llvm-project release/18.x llvmorg-18.1.0-rc2-0-gc6c86965d967

    This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
    openmp to llvm-project release/18.x llvmorg-18.1.0-rc2-0-gc6c86965d967.

    PR:		276104
    MFC after:	1 month

commit 024a010
Author: Dimitry Andric <[email protected]>
Date:   Mon Feb 5 12:41:51 2024 +0100

    [libc++] Rename __bit_reference template parameter to avoid conflict

    As of 4d20cfcf4eb08217ed37c4d4c38dc395d7a66d26, `__bit_reference`
    contains a template `__fill_n` with a bool `_FillValue` parameter.

    Unfortunately there is a relatively widely used piece of scientific
    software called NetCDF, which exposes a (C) macro `_FillValue` in its
    public headers.

    When building the NetCDF C++ bindings, this quickly leads to compilation
    errors when the macro interferes with the template in `__bit_reference`.

    Rename the parameter to `_FillVal` to avoid the conflict.

commit 4721947
Author: Dimitry Andric <[email protected]>
Date:   Mon Feb 5 10:16:17 2024 +0100

    Merge commit 5f4ee5a2dfa9 from llvm-project (by Shanzhi):

      [Clang][AST] Fix a crash on attaching doc comments (#78716)

      This crash is basically caused by calling
      `ASTContext::getRawCommentForDeclNoCacheImp` with its input arguments
      `RepresentativeLocForDecl` and `CommentsInTheFile` refering to different
      files. A reduced reproducer is provided in this patch.

      After the source locations for instantiations of funtion template are
      corrected in the commit 256a0b298c68b89688b80350b034daf2f7785b67, the
      variable `CommitsInThisFile` in the function
      `ASTContext::attachCommentsToJustParsedDecls` would refer to the source
      file rather than the header file for implicit function template
      instantiation. Therefore, in the first loop in
      `ASTContext::attachCommentsToJustParsedDecls`, `D` should also be
      adjusted for relevant scenarios like the second loop.

      Fixes #67979
      Fixes #68524
      Fixes #70550

    This should fix a segfault when compiling graphics/gdal.

commit d4389cf
Author: Dimitry Andric <[email protected]>
Date:   Sun Jan 28 21:34:42 2024 +0100

    Merge commit 6e4930c67508 from llvm-project (by Alexander Kornienko):

      Revert "[SemaCXX] Implement CWG2137 (list-initialization from objects of the same type) (#77768)"

      This reverts commit 924701311aa79180e86ad8ce43d253f27d25ec7d. Causes compilation
      errors on valid code, see
      llvm/llvm-project#77768 (comment).

commit 638a121
Author: Dimitry Andric <[email protected]>
Date:   Fri Jan 26 16:21:16 2024 +0100

    Bump llvm-project version numbers to llvmorg-18-init-18361-g22683463740e (and 18.1.0).

commit fb7b27d
Merge: 2ed68de 2d835ae
Author: Dimitry Andric <[email protected]>
Date:   Fri Jan 26 16:04:14 2024 +0100

    Merge llvm-project release/18.x llvmorg-18-init-18361-g22683463740e

    This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
    openmp to llvm-project release/18.x llvmorg-18-init-18361-g22683463740e.

    PR:		276104
    MFC after:	1 month

commit 2ed68de
Author: Dimitry Andric <[email protected]>
Date:   Fri Jan 26 16:03:20 2024 +0100

    Tentatively apply libcxxrt/libcxxrt#27.

commit a0cf20a
Author: Dimitry Andric <[email protected]>
Date:   Fri Jan 26 16:02:51 2024 +0100

    libc++: use build defines and flags similar to upstream.

commit 66f3903
Author: Dimitry Andric <[email protected]>
Date:   Thu Jan 25 09:27:12 2024 +0100

    Add one more header to libc++.

commit ddf7238
Author: Dimitry Andric <[email protected]>
Date:   Thu Jan 25 00:39:43 2024 +0100

    Update libclang, libllvm, llc and lli Makefiles.

commit e025714
Author: Dimitry Andric <[email protected]>
Date:   Wed Jan 24 20:35:46 2024 +0100

    Update libc++ generated files, and add __assertion_handler.

commit e7cb0e2
Author: Dimitry Andric <[email protected]>
Date:   Wed Jan 24 20:31:39 2024 +0100

    Bump llvm-project version numbers to llvmorg-18-init-18359-g93248729cfae.

commit efd9603
Author: Dimitry Andric <[email protected]>
Date:   Wed Jan 24 20:23:36 2024 +0100

    Update contrib/llvm-project/FREEBSD-Xlist.

commit 550d813
Merge: 74464e8 4df029c
Author: Dimitry Andric <[email protected]>
Date:   Wed Jan 24 20:17:23 2024 +0100

    Merge llvm-project main llvmorg-18-init-18359-g93248729cfae

    This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
    openmp to llvm-project main llvmorg-18-init-18359-g93248729cfae, the
    last commit before the upstream release/18.x branch was created.

    PR:		276104
    MFC after:	1 month

commit 74464e8
Author: Dimitry Andric <[email protected]>
Date:   Mon Jan 15 00:18:22 2024 +0100

    Tabify libc++ Makefile.

commit 1fbb16e
Author: Dimitry Andric <[email protected]>
Date:   Sun Jan 14 14:20:42 2024 +0100

    Redo libc++ customizations:
    * Remove osreldate include because _LIBCPP_HAS_NO_GETS has disappeared
    * Instead, add direct major __FreeBSD__ check for using ::gets declaration
    * Mark EINTEGRITY values as FreeBSD customization
    * Reformat _LIBCPP_TYPE_VISIBILITY_DEFAULT customization

commit f6cfebe
Author: Dimitry Andric <[email protected]>
Date:   Fri Jan 12 14:47:52 2024 +0100

    Update libc++ module.modulemap.

commit 2c45cec
Author: Dimitry Andric <[email protected]>
Date:   Fri Jan 12 10:57:07 2024 +0100

    Fixup libllvm Makefile for DWARFLinker stuff being moved around.

commit 1f35f87
Author: Dimitry Andric <[email protected]>
Date:   Thu Jan 11 19:30:38 2024 +0100

    Bump llvm-project version numbers to llvmorg-18-init-16864-g3b3ee1f53424.

commit 7b02ddb
Merge: 6ec4eed 950076c
Author: Dimitry Andric <[email protected]>
Date:   Thu Jan 11 19:29:01 2024 +0100

    Merge llvm-project main llvmorg-18-init-16864-g3b3ee1f53424

    This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
    openmp to llvm-project main llvmorg-18-init-16864-g3b3ee1f53424.

    PR:		276104
    MFC after:	1 month

commit 6ec4eed
Author: Dimitry Andric <[email protected]>
Date:   Thu Jan 11 14:49:11 2024 +0100

    Update libllvm and llvm-tblgen Makefiles.

commit b861bf2
Author: Dimitry Andric <[email protected]>
Date:   Thu Jan 11 14:48:50 2024 +0100

    Bump llvm-project version numbers to llvmorg-18-init-16595-g7c00a5be5cde.

commit 42aaf55
Merge: c8faa43 aca2e42
Author: Dimitry Andric <[email protected]>
Date:   Tue Jan 9 21:00:28 2024 +0100

    Merge llvm-project main llvmorg-18-init-16595-g7c00a5be5cde

    This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
    openmp to llvm-project main llvmorg-18-init-16595-g7c00a5be5cde.

    PR:		276104
    MFC after:	1 month

commit c8faa43
Author: Dimitry Andric <[email protected]>
Date:   Sun Jan 7 17:03:13 2024 +0100

    Tentatively merge llvm/llvm-project#77242:

      [libcxx] Re-include <osreldate.h> in __config for FreeBSD

      In 0a97720d0197 some changes were made to `__config` for assuming that
      `__BYTE_ORDER__` is always present.

      However, this deleted a `<osreldate.h>` include for FreeBSD, which is
      required to get the value of `__FreeBSD_version`, and that is used later
      in the file to determine whether `_LIBCPP_C_HAS_NO_GETS` needs to be
      enabled.

      Include `<osreldate.h>` just after the other includes used for feature
      detection, to fix this.

      Note that when FreeBSD 13 is EOLed, this can be removed, as then all
      supported FreeBSD versions will no longer have `gets()`.

commit 9db148e
Author: Dimitry Andric <[email protected]>
Date:   Sun Jan 7 12:32:29 2024 +0100

    Add two FreeBSD customizations to libc++, to better support ports usage
    of older clang versions:
    * Add _LIBCPP_ENABLE_COMPILER_VERSION_CHECKS block around compiler
      version checks, to avoid any warnings about support. This makes some
      ports that use -Werror fall over.
    * When using clang < 15.0, avoid using a type visibility attribute on
      the std namespace, as older versions of clang do not support this.

commit ab1dc4a
Author: Dimitry Andric <[email protected]>
Date:   Sun Jan 7 12:28:35 2024 +0100

    Fix up ObsoleteFiles entries for libc++.

commit 626eed6
Author: Dimitry Andric <[email protected]>
Date:   Sat Jan 6 20:55:41 2024 +0100

    Add more clang 17 ObsoleteFiles entries.

commit d23764d
Author: Dimitry Andric <[email protected]>
Date:   Wed Jan 3 20:35:30 2024 +0100

    Add files needed for lldb FreeBSD-Kernel DynamicLoader.

commit 7656fbd
Author: Dimitry Andric <[email protected]>
Date:   Wed Jan 3 19:22:03 2024 +0100

    Bump llvm-project version numbers to llvmorg-18-init-16003-gfc5f51cf5af4.

commit 9739ebd
Merge: b8840b4 77dbea0
Author: Dimitry Andric <[email protected]>
Date:   Wed Jan 3 19:04:11 2024 +0100

    Merge llvm-project main llvmorg-18-init-16003-gfc5f51cf5af4

    This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
    openmp to llvm-project main llvmorg-18-init-16003-gfc5f51cf5af4.

    PR:		276104
    MFC after:	1 month

commit b8840b4
Author: Dimitry Andric <[email protected]>
Date:   Tue Jan 2 17:09:41 2024 +0100

    compiler-rt builtins: move 80-bit long double functions into their own
    block, only enabling it for x86, and add more 128-bit quad functions.

commit b3086e6
Author: Dimitry Andric <[email protected]>
Date:   Tue Jan 2 17:07:31 2024 +0100

    Revert upstream commit 0e46b49de433:

      Reapply "RegisterCoalescer: Add implicit-def of super register when coalescing SUBREG_TO_REG"

      This reverts commit c398fa009a47eb24f88383d5e911e59e70f8db86.

      PPC backend was fixed in 2f82662ce901c6666fceb9c6c5e0de216a1c9667

    Since it causes an assertion failure building /sys/dev/fb/vga.c:
    llvm/llvm-project#76416

commit c71a0fe
Author: Dimitry Andric <[email protected]>
Date:   Mon Jan 1 18:58:15 2024 +0100

    Apply llvmorg-18-init-15846-g953ae94149f0.

commit fab14fd
Author: Dimitry Andric <[email protected]>
Date:   Mon Dec 25 19:20:33 2023 +0100

    Add new files and remove deleted files from various Makefiles.

commit 5d05e48
Author: Dimitry Andric <[email protected]>
Date:   Mon Dec 25 18:50:08 2023 +0100

    Bump llvm-project version numbers to llvmorg-18-init-15692-g007ed0dccd6a.

commit 678f56a
Merge: 5f710e3 99aabd7
Author: Dimitry Andric <[email protected]>
Date:   Mon Dec 25 18:35:41 2023 +0100

    Merge llvm-project main llvmorg-18-init-15692-g007ed0dccd6a

    This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
    openmp to llvm-project main llvmorg-18-init-15692-g007ed0dccd6a.

    PR:		276104
    MFC after:	1 month

commit 5f710e3
Author: Dimitry Andric <[email protected]>
Date:   Thu Dec 21 23:30:02 2023 +0100

    Tentatively apply llvm/llvm-project#76175, to
    fix libsa including compiler-rt builtins.

commit bfd4f0d
Author: Dimitry Andric <[email protected]>
Date:   Thu Dec 21 16:56:34 2023 +0100

    Add several new builtins to compiler-rt, and enable quad support for amd64.

commit 60b6608
Author: Dimitry Andric <[email protected]>
Date:   Thu Dec 21 14:47:43 2023 +0100

    Use -Wno-vla-cxx-extension for libomp, since clang 18 complains.

commit b051bbb
Author: Dimitry Andric <[email protected]>
Date:   Wed Dec 20 23:05:48 2023 +0100

    Update libomp generated headers.

commit 98d0e7c
Author: Dimitry Andric <[email protected]>
Date:   Wed Dec 20 23:00:26 2023 +0100

    Update libclang_rt makefiles.

commit a08a308
Author: Dimitry Andric <[email protected]>
Date:   Wed Dec 20 21:41:18 2023 +0100

    Update build glue for libc++.

commit 326d983
Author: Dimitry Andric <[email protected]>
Date:   Wed Dec 20 19:47:22 2023 +0100

    Fix up clang version in lib/libclang_rt/compiler-rt-vars.mk.

commit 325ba5b
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 23:43:32 2023 +0100

    Update build glue to build lldb.

commit 612cd33
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 21:54:32 2023 +0100

    Regenerate lib/clang/liblldb/LLDBWrapLua.cpp.

commit 12d2341
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 21:48:16 2023 +0100

    Update build glue to build llvm extra tools.

commit bd80bb1
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 20:10:38 2023 +0100

    Update build glue to build full clang (with static analyzer).

commit 0e60a9e
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 19:30:46 2023 +0100

    Update build glue to build default llvm tools for world.

commit 1e1229d
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 17:40:08 2023 +0100

    Add new files to libclang, and re-sort.

commit 80bc357
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 17:40:00 2023 +0100

    Add new files to libllvm, and re-sort.

commit 220597d
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 15:37:31 2023 +0100

    Add newly introduced .inc files to libclang.

commit daeeb74
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 15:37:11 2023 +0100

    Cleanup removed files from libclang.

commit 69a6c58
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 12:34:00 2023 +0100

    After llvm/llvm-project@ac182deee8287 RISCV's
    global isel td file got split off to RISCVGISel.td, so handle that in
    libllvm's Makefile.

commit e27e76b
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 12:27:35 2023 +0100

    Cleanup removed files from libllvm.

commit fa84ac3
Author: Dimitry Andric <[email protected]>
Date:   Mon Dec 18 22:52:45 2023 +0100

    Update Makefile for llvm-tblgen.

commit d43e62d
Author: Dimitry Andric <[email protected]>
Date:   Mon Dec 18 22:40:01 2023 +0100

    Update FREEBSD-Xlist for llvm 18.

commit a3780ea
Author: Dimitry Andric <[email protected]>
Date:   Mon Dec 18 22:38:45 2023 +0100

    Bump llvm-project numbers from 17.0.6 to 18.0.0.

commit 5d469ef
Merge: 8758bf0 312c0ed
Author: Dimitry Andric <[email protected]>
Date:   Mon Dec 18 21:30:12 2023 +0100

    Merge llvm-project main llvmorg-18-init-15088-gd14ee76181fb

    This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
    openmp to llvm-project main llvmorg-18-init-15088-gd14ee76181fb.

    PR:		276104
    MFC after:	1 month

commit 4fdf604
Author: Dimitry Andric <[email protected]>
Date:   Wed Feb 7 15:37:28 2024 +0100

    Vendor import of llvm-project branch release/18.x llvmorg-18.1.0-rc2-0-gc6c86965d967.

commit 2d835ae
Author: Dimitry Andric <[email protected]>
Date:   Thu Jan 25 19:03:34 2024 +0100

    Vendor import of llvm-project branch release/18.x llvmorg-18-init-18361-g22683463740e.

commit 4df029c
Author: Dimitry Andric <[email protected]>
Date:   Wed Jan 24 20:11:41 2024 +0100

    Vendor import of llvm-project main llvmorg-18-init-18359-g93248729cfae,
    the last commit before the upstream release/18.x branch was created.

commit 950076c
Author: Dimitry Andric <[email protected]>
Date:   Thu Jan 11 19:24:21 2024 +0100

    Vendor import of llvm-project main llvmorg-18-init-16864-g3b3ee1f53424.

commit aca2e42
Author: Dimitry Andric <[email protected]>
Date:   Tue Jan 9 20:58:18 2024 +0100

    Vendor import of llvm-project main llvmorg-18-init-16595-g7c00a5be5cde.

commit 77dbea0
Author: Dimitry Andric <[email protected]>
Date:   Wed Jan 3 17:57:07 2024 +0100

    Vendor import of llvm-project main llvmorg-18-init-16003-gfc5f51cf5af4.

commit 99aabd7
Author: Dimitry Andric <[email protected]>
Date:   Mon Dec 25 14:49:57 2023 +0100

    Vendor import of llvm-project main llvmorg-18-init-15692-g007ed0dccd6a.

commit 312c0ed
Author: Dimitry Andric <[email protected]>
Date:   Sun Dec 17 21:41:09 2023 +0100

    Vendor import of llvm-project main llvmorg-18-init-15088-gd14ee76181fb.

commit b1c7353
Author: Dimitry Andric <[email protected]>
Date:   Sat Dec 9 14:28:42 2023 +0100

    Vendor import of llvm-project main llvmorg-18-init-14265-ga17671084db1.
emaste added a commit to emaste/freebsd that referenced this pull request Feb 26, 2024
commit a7fb520
Author: Dimitry Andric <[email protected]>
Date:   Wed Feb 7 22:50:52 2024 +0100

    Update libllvm for new RISCVGenMacroFusion.inc tblgen header.

commit 92e38d7
Author: Dimitry Andric <[email protected]>
Date:   Wed Feb 7 19:01:09 2024 +0100

    Update libllvm for removed file.

commit 1f05b14
Author: Dimitry Andric <[email protected]>
Date:   Wed Feb 7 16:59:11 2024 +0100

    Bump llvm-project version numbers to llvmorg-18.1.0-rc2-0-gc6c86965d967.

commit dd2f072
Merge: 024a010 4fdf604
Author: Dimitry Andric <[email protected]>
Date:   Wed Feb 7 15:58:02 2024 +0100

    Merge llvm-project release/18.x llvmorg-18.1.0-rc2-0-gc6c86965d967

    This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
    openmp to llvm-project release/18.x llvmorg-18.1.0-rc2-0-gc6c86965d967.

    PR:		276104
    MFC after:	1 month

commit 024a010
Author: Dimitry Andric <[email protected]>
Date:   Mon Feb 5 12:41:51 2024 +0100

    [libc++] Rename __bit_reference template parameter to avoid conflict

    As of 4d20cfcf4eb08217ed37c4d4c38dc395d7a66d26, `__bit_reference`
    contains a template `__fill_n` with a bool `_FillValue` parameter.

    Unfortunately there is a relatively widely used piece of scientific
    software called NetCDF, which exposes a (C) macro `_FillValue` in its
    public headers.

    When building the NetCDF C++ bindings, this quickly leads to compilation
    errors when the macro interferes with the template in `__bit_reference`.

    Rename the parameter to `_FillVal` to avoid the conflict.

commit 4721947
Author: Dimitry Andric <[email protected]>
Date:   Mon Feb 5 10:16:17 2024 +0100

    Merge commit 5f4ee5a2dfa9 from llvm-project (by Shanzhi):

      [Clang][AST] Fix a crash on attaching doc comments (#78716)

      This crash is basically caused by calling
      `ASTContext::getRawCommentForDeclNoCacheImp` with its input arguments
      `RepresentativeLocForDecl` and `CommentsInTheFile` refering to different
      files. A reduced reproducer is provided in this patch.

      After the source locations for instantiations of funtion template are
      corrected in the commit 256a0b298c68b89688b80350b034daf2f7785b67, the
      variable `CommitsInThisFile` in the function
      `ASTContext::attachCommentsToJustParsedDecls` would refer to the source
      file rather than the header file for implicit function template
      instantiation. Therefore, in the first loop in
      `ASTContext::attachCommentsToJustParsedDecls`, `D` should also be
      adjusted for relevant scenarios like the second loop.

      Fixes #67979
      Fixes #68524
      Fixes #70550

    This should fix a segfault when compiling graphics/gdal.

commit d4389cf
Author: Dimitry Andric <[email protected]>
Date:   Sun Jan 28 21:34:42 2024 +0100

    Merge commit 6e4930c67508 from llvm-project (by Alexander Kornienko):

      Revert "[SemaCXX] Implement CWG2137 (list-initialization from objects of the same type) (#77768)"

      This reverts commit 924701311aa79180e86ad8ce43d253f27d25ec7d. Causes compilation
      errors on valid code, see
      llvm/llvm-project#77768 (comment).

commit 638a121
Author: Dimitry Andric <[email protected]>
Date:   Fri Jan 26 16:21:16 2024 +0100

    Bump llvm-project version numbers to llvmorg-18-init-18361-g22683463740e (and 18.1.0).

commit fb7b27d
Merge: 2ed68de 2d835ae
Author: Dimitry Andric <[email protected]>
Date:   Fri Jan 26 16:04:14 2024 +0100

    Merge llvm-project release/18.x llvmorg-18-init-18361-g22683463740e

    This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
    openmp to llvm-project release/18.x llvmorg-18-init-18361-g22683463740e.

    PR:		276104
    MFC after:	1 month

commit 2ed68de
Author: Dimitry Andric <[email protected]>
Date:   Fri Jan 26 16:03:20 2024 +0100

    Tentatively apply libcxxrt/libcxxrt#27.

commit a0cf20a
Author: Dimitry Andric <[email protected]>
Date:   Fri Jan 26 16:02:51 2024 +0100

    libc++: use build defines and flags similar to upstream.

commit 66f3903
Author: Dimitry Andric <[email protected]>
Date:   Thu Jan 25 09:27:12 2024 +0100

    Add one more header to libc++.

commit ddf7238
Author: Dimitry Andric <[email protected]>
Date:   Thu Jan 25 00:39:43 2024 +0100

    Update libclang, libllvm, llc and lli Makefiles.

commit e025714
Author: Dimitry Andric <[email protected]>
Date:   Wed Jan 24 20:35:46 2024 +0100

    Update libc++ generated files, and add __assertion_handler.

commit e7cb0e2
Author: Dimitry Andric <[email protected]>
Date:   Wed Jan 24 20:31:39 2024 +0100

    Bump llvm-project version numbers to llvmorg-18-init-18359-g93248729cfae.

commit efd9603
Author: Dimitry Andric <[email protected]>
Date:   Wed Jan 24 20:23:36 2024 +0100

    Update contrib/llvm-project/FREEBSD-Xlist.

commit 550d813
Merge: 74464e8 4df029c
Author: Dimitry Andric <[email protected]>
Date:   Wed Jan 24 20:17:23 2024 +0100

    Merge llvm-project main llvmorg-18-init-18359-g93248729cfae

    This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
    openmp to llvm-project main llvmorg-18-init-18359-g93248729cfae, the
    last commit before the upstream release/18.x branch was created.

    PR:		276104
    MFC after:	1 month

commit 74464e8
Author: Dimitry Andric <[email protected]>
Date:   Mon Jan 15 00:18:22 2024 +0100

    Tabify libc++ Makefile.

commit 1fbb16e
Author: Dimitry Andric <[email protected]>
Date:   Sun Jan 14 14:20:42 2024 +0100

    Redo libc++ customizations:
    * Remove osreldate include because _LIBCPP_HAS_NO_GETS has disappeared
    * Instead, add direct major __FreeBSD__ check for using ::gets declaration
    * Mark EINTEGRITY values as FreeBSD customization
    * Reformat _LIBCPP_TYPE_VISIBILITY_DEFAULT customization

commit f6cfebe
Author: Dimitry Andric <[email protected]>
Date:   Fri Jan 12 14:47:52 2024 +0100

    Update libc++ module.modulemap.

commit 2c45cec
Author: Dimitry Andric <[email protected]>
Date:   Fri Jan 12 10:57:07 2024 +0100

    Fixup libllvm Makefile for DWARFLinker stuff being moved around.

commit 1f35f87
Author: Dimitry Andric <[email protected]>
Date:   Thu Jan 11 19:30:38 2024 +0100

    Bump llvm-project version numbers to llvmorg-18-init-16864-g3b3ee1f53424.

commit 7b02ddb
Merge: 6ec4eed 950076c
Author: Dimitry Andric <[email protected]>
Date:   Thu Jan 11 19:29:01 2024 +0100

    Merge llvm-project main llvmorg-18-init-16864-g3b3ee1f53424

    This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
    openmp to llvm-project main llvmorg-18-init-16864-g3b3ee1f53424.

    PR:		276104
    MFC after:	1 month

commit 6ec4eed
Author: Dimitry Andric <[email protected]>
Date:   Thu Jan 11 14:49:11 2024 +0100

    Update libllvm and llvm-tblgen Makefiles.

commit b861bf2
Author: Dimitry Andric <[email protected]>
Date:   Thu Jan 11 14:48:50 2024 +0100

    Bump llvm-project version numbers to llvmorg-18-init-16595-g7c00a5be5cde.

commit 42aaf55
Merge: c8faa43 aca2e42
Author: Dimitry Andric <[email protected]>
Date:   Tue Jan 9 21:00:28 2024 +0100

    Merge llvm-project main llvmorg-18-init-16595-g7c00a5be5cde

    This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
    openmp to llvm-project main llvmorg-18-init-16595-g7c00a5be5cde.

    PR:		276104
    MFC after:	1 month

commit c8faa43
Author: Dimitry Andric <[email protected]>
Date:   Sun Jan 7 17:03:13 2024 +0100

    Tentatively merge llvm/llvm-project#77242:

      [libcxx] Re-include <osreldate.h> in __config for FreeBSD

      In 0a97720d0197 some changes were made to `__config` for assuming that
      `__BYTE_ORDER__` is always present.

      However, this deleted a `<osreldate.h>` include for FreeBSD, which is
      required to get the value of `__FreeBSD_version`, and that is used later
      in the file to determine whether `_LIBCPP_C_HAS_NO_GETS` needs to be
      enabled.

      Include `<osreldate.h>` just after the other includes used for feature
      detection, to fix this.

      Note that when FreeBSD 13 is EOLed, this can be removed, as then all
      supported FreeBSD versions will no longer have `gets()`.

commit 9db148e
Author: Dimitry Andric <[email protected]>
Date:   Sun Jan 7 12:32:29 2024 +0100

    Add two FreeBSD customizations to libc++, to better support ports usage
    of older clang versions:
    * Add _LIBCPP_ENABLE_COMPILER_VERSION_CHECKS block around compiler
      version checks, to avoid any warnings about support. This makes some
      ports that use -Werror fall over.
    * When using clang < 15.0, avoid using a type visibility attribute on
      the std namespace, as older versions of clang do not support this.

commit ab1dc4a
Author: Dimitry Andric <[email protected]>
Date:   Sun Jan 7 12:28:35 2024 +0100

    Fix up ObsoleteFiles entries for libc++.

commit 626eed6
Author: Dimitry Andric <[email protected]>
Date:   Sat Jan 6 20:55:41 2024 +0100

    Add more clang 17 ObsoleteFiles entries.

commit d23764d
Author: Dimitry Andric <[email protected]>
Date:   Wed Jan 3 20:35:30 2024 +0100

    Add files needed for lldb FreeBSD-Kernel DynamicLoader.

commit 7656fbd
Author: Dimitry Andric <[email protected]>
Date:   Wed Jan 3 19:22:03 2024 +0100

    Bump llvm-project version numbers to llvmorg-18-init-16003-gfc5f51cf5af4.

commit 9739ebd
Merge: b8840b4 77dbea0
Author: Dimitry Andric <[email protected]>
Date:   Wed Jan 3 19:04:11 2024 +0100

    Merge llvm-project main llvmorg-18-init-16003-gfc5f51cf5af4

    This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
    openmp to llvm-project main llvmorg-18-init-16003-gfc5f51cf5af4.

    PR:		276104
    MFC after:	1 month

commit b8840b4
Author: Dimitry Andric <[email protected]>
Date:   Tue Jan 2 17:09:41 2024 +0100

    compiler-rt builtins: move 80-bit long double functions into their own
    block, only enabling it for x86, and add more 128-bit quad functions.

commit b3086e6
Author: Dimitry Andric <[email protected]>
Date:   Tue Jan 2 17:07:31 2024 +0100

    Revert upstream commit 0e46b49de433:

      Reapply "RegisterCoalescer: Add implicit-def of super register when coalescing SUBREG_TO_REG"

      This reverts commit c398fa009a47eb24f88383d5e911e59e70f8db86.

      PPC backend was fixed in 2f82662ce901c6666fceb9c6c5e0de216a1c9667

    Since it causes an assertion failure building /sys/dev/fb/vga.c:
    llvm/llvm-project#76416

commit c71a0fe
Author: Dimitry Andric <[email protected]>
Date:   Mon Jan 1 18:58:15 2024 +0100

    Apply llvmorg-18-init-15846-g953ae94149f0.

commit fab14fd
Author: Dimitry Andric <[email protected]>
Date:   Mon Dec 25 19:20:33 2023 +0100

    Add new files and remove deleted files from various Makefiles.

commit 5d05e48
Author: Dimitry Andric <[email protected]>
Date:   Mon Dec 25 18:50:08 2023 +0100

    Bump llvm-project version numbers to llvmorg-18-init-15692-g007ed0dccd6a.

commit 678f56a
Merge: 5f710e3 99aabd7
Author: Dimitry Andric <[email protected]>
Date:   Mon Dec 25 18:35:41 2023 +0100

    Merge llvm-project main llvmorg-18-init-15692-g007ed0dccd6a

    This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
    openmp to llvm-project main llvmorg-18-init-15692-g007ed0dccd6a.

    PR:		276104
    MFC after:	1 month

commit 5f710e3
Author: Dimitry Andric <[email protected]>
Date:   Thu Dec 21 23:30:02 2023 +0100

    Tentatively apply llvm/llvm-project#76175, to
    fix libsa including compiler-rt builtins.

commit bfd4f0d
Author: Dimitry Andric <[email protected]>
Date:   Thu Dec 21 16:56:34 2023 +0100

    Add several new builtins to compiler-rt, and enable quad support for amd64.

commit 60b6608
Author: Dimitry Andric <[email protected]>
Date:   Thu Dec 21 14:47:43 2023 +0100

    Use -Wno-vla-cxx-extension for libomp, since clang 18 complains.

commit b051bbb
Author: Dimitry Andric <[email protected]>
Date:   Wed Dec 20 23:05:48 2023 +0100

    Update libomp generated headers.

commit 98d0e7c
Author: Dimitry Andric <[email protected]>
Date:   Wed Dec 20 23:00:26 2023 +0100

    Update libclang_rt makefiles.

commit a08a308
Author: Dimitry Andric <[email protected]>
Date:   Wed Dec 20 21:41:18 2023 +0100

    Update build glue for libc++.

commit 326d983
Author: Dimitry Andric <[email protected]>
Date:   Wed Dec 20 19:47:22 2023 +0100

    Fix up clang version in lib/libclang_rt/compiler-rt-vars.mk.

commit 325ba5b
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 23:43:32 2023 +0100

    Update build glue to build lldb.

commit 612cd33
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 21:54:32 2023 +0100

    Regenerate lib/clang/liblldb/LLDBWrapLua.cpp.

commit 12d2341
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 21:48:16 2023 +0100

    Update build glue to build llvm extra tools.

commit bd80bb1
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 20:10:38 2023 +0100

    Update build glue to build full clang (with static analyzer).

commit 0e60a9e
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 19:30:46 2023 +0100

    Update build glue to build default llvm tools for world.

commit 1e1229d
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 17:40:08 2023 +0100

    Add new files to libclang, and re-sort.

commit 80bc357
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 17:40:00 2023 +0100

    Add new files to libllvm, and re-sort.

commit 220597d
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 15:37:31 2023 +0100

    Add newly introduced .inc files to libclang.

commit daeeb74
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 15:37:11 2023 +0100

    Cleanup removed files from libclang.

commit 69a6c58
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 12:34:00 2023 +0100

    After llvm/llvm-project@ac182deee8287 RISCV's
    global isel td file got split off to RISCVGISel.td, so handle that in
    libllvm's Makefile.

commit e27e76b
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 12:27:35 2023 +0100

    Cleanup removed files from libllvm.

commit fa84ac3
Author: Dimitry Andric <[email protected]>
Date:   Mon Dec 18 22:52:45 2023 +0100

    Update Makefile for llvm-tblgen.

commit d43e62d
Author: Dimitry Andric <[email protected]>
Date:   Mon Dec 18 22:40:01 2023 +0100

    Update FREEBSD-Xlist for llvm 18.

commit a3780ea
Author: Dimitry Andric <[email protected]>
Date:   Mon Dec 18 22:38:45 2023 +0100

    Bump llvm-project numbers from 17.0.6 to 18.0.0.

commit 5d469ef
Merge: 8758bf0 312c0ed
Author: Dimitry Andric <[email protected]>
Date:   Mon Dec 18 21:30:12 2023 +0100

    Merge llvm-project main llvmorg-18-init-15088-gd14ee76181fb

    This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
    openmp to llvm-project main llvmorg-18-init-15088-gd14ee76181fb.

    PR:		276104
    MFC after:	1 month

commit 4fdf604
Author: Dimitry Andric <[email protected]>
Date:   Wed Feb 7 15:37:28 2024 +0100

    Vendor import of llvm-project branch release/18.x llvmorg-18.1.0-rc2-0-gc6c86965d967.

commit 2d835ae
Author: Dimitry Andric <[email protected]>
Date:   Thu Jan 25 19:03:34 2024 +0100

    Vendor import of llvm-project branch release/18.x llvmorg-18-init-18361-g22683463740e.

commit 4df029c
Author: Dimitry Andric <[email protected]>
Date:   Wed Jan 24 20:11:41 2024 +0100

    Vendor import of llvm-project main llvmorg-18-init-18359-g93248729cfae,
    the last commit before the upstream release/18.x branch was created.

commit 950076c
Author: Dimitry Andric <[email protected]>
Date:   Thu Jan 11 19:24:21 2024 +0100

    Vendor import of llvm-project main llvmorg-18-init-16864-g3b3ee1f53424.

commit aca2e42
Author: Dimitry Andric <[email protected]>
Date:   Tue Jan 9 20:58:18 2024 +0100

    Vendor import of llvm-project main llvmorg-18-init-16595-g7c00a5be5cde.

commit 77dbea0
Author: Dimitry Andric <[email protected]>
Date:   Wed Jan 3 17:57:07 2024 +0100

    Vendor import of llvm-project main llvmorg-18-init-16003-gfc5f51cf5af4.

commit 99aabd7
Author: Dimitry Andric <[email protected]>
Date:   Mon Dec 25 14:49:57 2023 +0100

    Vendor import of llvm-project main llvmorg-18-init-15692-g007ed0dccd6a.

commit 312c0ed
Author: Dimitry Andric <[email protected]>
Date:   Sun Dec 17 21:41:09 2023 +0100

    Vendor import of llvm-project main llvmorg-18-init-15088-gd14ee76181fb.

commit b1c7353
Author: Dimitry Andric <[email protected]>
Date:   Sat Dec 9 14:28:42 2023 +0100

    Vendor import of llvm-project main llvmorg-18-init-14265-ga17671084db1.
emaste added a commit to emaste/freebsd that referenced this pull request Mar 1, 2024
commit a7fb520
Author: Dimitry Andric <[email protected]>
Date:   Wed Feb 7 22:50:52 2024 +0100

    Update libllvm for new RISCVGenMacroFusion.inc tblgen header.

commit 92e38d7
Author: Dimitry Andric <[email protected]>
Date:   Wed Feb 7 19:01:09 2024 +0100

    Update libllvm for removed file.

commit 1f05b14
Author: Dimitry Andric <[email protected]>
Date:   Wed Feb 7 16:59:11 2024 +0100

    Bump llvm-project version numbers to llvmorg-18.1.0-rc2-0-gc6c86965d967.

commit dd2f072
Merge: 024a010 4fdf604
Author: Dimitry Andric <[email protected]>
Date:   Wed Feb 7 15:58:02 2024 +0100

    Merge llvm-project release/18.x llvmorg-18.1.0-rc2-0-gc6c86965d967

    This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
    openmp to llvm-project release/18.x llvmorg-18.1.0-rc2-0-gc6c86965d967.

    PR:		276104
    MFC after:	1 month

commit 024a010
Author: Dimitry Andric <[email protected]>
Date:   Mon Feb 5 12:41:51 2024 +0100

    [libc++] Rename __bit_reference template parameter to avoid conflict

    As of 4d20cfcf4eb08217ed37c4d4c38dc395d7a66d26, `__bit_reference`
    contains a template `__fill_n` with a bool `_FillValue` parameter.

    Unfortunately there is a relatively widely used piece of scientific
    software called NetCDF, which exposes a (C) macro `_FillValue` in its
    public headers.

    When building the NetCDF C++ bindings, this quickly leads to compilation
    errors when the macro interferes with the template in `__bit_reference`.

    Rename the parameter to `_FillVal` to avoid the conflict.

commit 4721947
Author: Dimitry Andric <[email protected]>
Date:   Mon Feb 5 10:16:17 2024 +0100

    Merge commit 5f4ee5a2dfa9 from llvm-project (by Shanzhi):

      [Clang][AST] Fix a crash on attaching doc comments (#78716)

      This crash is basically caused by calling
      `ASTContext::getRawCommentForDeclNoCacheImp` with its input arguments
      `RepresentativeLocForDecl` and `CommentsInTheFile` refering to different
      files. A reduced reproducer is provided in this patch.

      After the source locations for instantiations of funtion template are
      corrected in the commit 256a0b298c68b89688b80350b034daf2f7785b67, the
      variable `CommitsInThisFile` in the function
      `ASTContext::attachCommentsToJustParsedDecls` would refer to the source
      file rather than the header file for implicit function template
      instantiation. Therefore, in the first loop in
      `ASTContext::attachCommentsToJustParsedDecls`, `D` should also be
      adjusted for relevant scenarios like the second loop.

      Fixes #67979
      Fixes #68524
      Fixes #70550

    This should fix a segfault when compiling graphics/gdal.

commit d4389cf
Author: Dimitry Andric <[email protected]>
Date:   Sun Jan 28 21:34:42 2024 +0100

    Merge commit 6e4930c67508 from llvm-project (by Alexander Kornienko):

      Revert "[SemaCXX] Implement CWG2137 (list-initialization from objects of the same type) (#77768)"

      This reverts commit 924701311aa79180e86ad8ce43d253f27d25ec7d. Causes compilation
      errors on valid code, see
      llvm/llvm-project#77768 (comment).

commit 638a121
Author: Dimitry Andric <[email protected]>
Date:   Fri Jan 26 16:21:16 2024 +0100

    Bump llvm-project version numbers to llvmorg-18-init-18361-g22683463740e (and 18.1.0).

commit fb7b27d
Merge: 2ed68de 2d835ae
Author: Dimitry Andric <[email protected]>
Date:   Fri Jan 26 16:04:14 2024 +0100

    Merge llvm-project release/18.x llvmorg-18-init-18361-g22683463740e

    This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
    openmp to llvm-project release/18.x llvmorg-18-init-18361-g22683463740e.

    PR:		276104
    MFC after:	1 month

commit 2ed68de
Author: Dimitry Andric <[email protected]>
Date:   Fri Jan 26 16:03:20 2024 +0100

    Tentatively apply libcxxrt/libcxxrt#27.

commit a0cf20a
Author: Dimitry Andric <[email protected]>
Date:   Fri Jan 26 16:02:51 2024 +0100

    libc++: use build defines and flags similar to upstream.

commit 66f3903
Author: Dimitry Andric <[email protected]>
Date:   Thu Jan 25 09:27:12 2024 +0100

    Add one more header to libc++.

commit ddf7238
Author: Dimitry Andric <[email protected]>
Date:   Thu Jan 25 00:39:43 2024 +0100

    Update libclang, libllvm, llc and lli Makefiles.

commit e025714
Author: Dimitry Andric <[email protected]>
Date:   Wed Jan 24 20:35:46 2024 +0100

    Update libc++ generated files, and add __assertion_handler.

commit e7cb0e2
Author: Dimitry Andric <[email protected]>
Date:   Wed Jan 24 20:31:39 2024 +0100

    Bump llvm-project version numbers to llvmorg-18-init-18359-g93248729cfae.

commit efd9603
Author: Dimitry Andric <[email protected]>
Date:   Wed Jan 24 20:23:36 2024 +0100

    Update contrib/llvm-project/FREEBSD-Xlist.

commit 550d813
Merge: 74464e8 4df029c
Author: Dimitry Andric <[email protected]>
Date:   Wed Jan 24 20:17:23 2024 +0100

    Merge llvm-project main llvmorg-18-init-18359-g93248729cfae

    This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
    openmp to llvm-project main llvmorg-18-init-18359-g93248729cfae, the
    last commit before the upstream release/18.x branch was created.

    PR:		276104
    MFC after:	1 month

commit 74464e8
Author: Dimitry Andric <[email protected]>
Date:   Mon Jan 15 00:18:22 2024 +0100

    Tabify libc++ Makefile.

commit 1fbb16e
Author: Dimitry Andric <[email protected]>
Date:   Sun Jan 14 14:20:42 2024 +0100

    Redo libc++ customizations:
    * Remove osreldate include because _LIBCPP_HAS_NO_GETS has disappeared
    * Instead, add direct major __FreeBSD__ check for using ::gets declaration
    * Mark EINTEGRITY values as FreeBSD customization
    * Reformat _LIBCPP_TYPE_VISIBILITY_DEFAULT customization

commit f6cfebe
Author: Dimitry Andric <[email protected]>
Date:   Fri Jan 12 14:47:52 2024 +0100

    Update libc++ module.modulemap.

commit 2c45cec
Author: Dimitry Andric <[email protected]>
Date:   Fri Jan 12 10:57:07 2024 +0100

    Fixup libllvm Makefile for DWARFLinker stuff being moved around.

commit 1f35f87
Author: Dimitry Andric <[email protected]>
Date:   Thu Jan 11 19:30:38 2024 +0100

    Bump llvm-project version numbers to llvmorg-18-init-16864-g3b3ee1f53424.

commit 7b02ddb
Merge: 6ec4eed 950076c
Author: Dimitry Andric <[email protected]>
Date:   Thu Jan 11 19:29:01 2024 +0100

    Merge llvm-project main llvmorg-18-init-16864-g3b3ee1f53424

    This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
    openmp to llvm-project main llvmorg-18-init-16864-g3b3ee1f53424.

    PR:		276104
    MFC after:	1 month

commit 6ec4eed
Author: Dimitry Andric <[email protected]>
Date:   Thu Jan 11 14:49:11 2024 +0100

    Update libllvm and llvm-tblgen Makefiles.

commit b861bf2
Author: Dimitry Andric <[email protected]>
Date:   Thu Jan 11 14:48:50 2024 +0100

    Bump llvm-project version numbers to llvmorg-18-init-16595-g7c00a5be5cde.

commit 42aaf55
Merge: c8faa43 aca2e42
Author: Dimitry Andric <[email protected]>
Date:   Tue Jan 9 21:00:28 2024 +0100

    Merge llvm-project main llvmorg-18-init-16595-g7c00a5be5cde

    This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
    openmp to llvm-project main llvmorg-18-init-16595-g7c00a5be5cde.

    PR:		276104
    MFC after:	1 month

commit c8faa43
Author: Dimitry Andric <[email protected]>
Date:   Sun Jan 7 17:03:13 2024 +0100

    Tentatively merge llvm/llvm-project#77242:

      [libcxx] Re-include <osreldate.h> in __config for FreeBSD

      In 0a97720d0197 some changes were made to `__config` for assuming that
      `__BYTE_ORDER__` is always present.

      However, this deleted a `<osreldate.h>` include for FreeBSD, which is
      required to get the value of `__FreeBSD_version`, and that is used later
      in the file to determine whether `_LIBCPP_C_HAS_NO_GETS` needs to be
      enabled.

      Include `<osreldate.h>` just after the other includes used for feature
      detection, to fix this.

      Note that when FreeBSD 13 is EOLed, this can be removed, as then all
      supported FreeBSD versions will no longer have `gets()`.

commit 9db148e
Author: Dimitry Andric <[email protected]>
Date:   Sun Jan 7 12:32:29 2024 +0100

    Add two FreeBSD customizations to libc++, to better support ports usage
    of older clang versions:
    * Add _LIBCPP_ENABLE_COMPILER_VERSION_CHECKS block around compiler
      version checks, to avoid any warnings about support. This makes some
      ports that use -Werror fall over.
    * When using clang < 15.0, avoid using a type visibility attribute on
      the std namespace, as older versions of clang do not support this.

commit ab1dc4a
Author: Dimitry Andric <[email protected]>
Date:   Sun Jan 7 12:28:35 2024 +0100

    Fix up ObsoleteFiles entries for libc++.

commit 626eed6
Author: Dimitry Andric <[email protected]>
Date:   Sat Jan 6 20:55:41 2024 +0100

    Add more clang 17 ObsoleteFiles entries.

commit d23764d
Author: Dimitry Andric <[email protected]>
Date:   Wed Jan 3 20:35:30 2024 +0100

    Add files needed for lldb FreeBSD-Kernel DynamicLoader.

commit 7656fbd
Author: Dimitry Andric <[email protected]>
Date:   Wed Jan 3 19:22:03 2024 +0100

    Bump llvm-project version numbers to llvmorg-18-init-16003-gfc5f51cf5af4.

commit 9739ebd
Merge: b8840b4 77dbea0
Author: Dimitry Andric <[email protected]>
Date:   Wed Jan 3 19:04:11 2024 +0100

    Merge llvm-project main llvmorg-18-init-16003-gfc5f51cf5af4

    This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
    openmp to llvm-project main llvmorg-18-init-16003-gfc5f51cf5af4.

    PR:		276104
    MFC after:	1 month

commit b8840b4
Author: Dimitry Andric <[email protected]>
Date:   Tue Jan 2 17:09:41 2024 +0100

    compiler-rt builtins: move 80-bit long double functions into their own
    block, only enabling it for x86, and add more 128-bit quad functions.

commit b3086e6
Author: Dimitry Andric <[email protected]>
Date:   Tue Jan 2 17:07:31 2024 +0100

    Revert upstream commit 0e46b49de433:

      Reapply "RegisterCoalescer: Add implicit-def of super register when coalescing SUBREG_TO_REG"

      This reverts commit c398fa009a47eb24f88383d5e911e59e70f8db86.

      PPC backend was fixed in 2f82662ce901c6666fceb9c6c5e0de216a1c9667

    Since it causes an assertion failure building /sys/dev/fb/vga.c:
    llvm/llvm-project#76416

commit c71a0fe
Author: Dimitry Andric <[email protected]>
Date:   Mon Jan 1 18:58:15 2024 +0100

    Apply llvmorg-18-init-15846-g953ae94149f0.

commit fab14fd
Author: Dimitry Andric <[email protected]>
Date:   Mon Dec 25 19:20:33 2023 +0100

    Add new files and remove deleted files from various Makefiles.

commit 5d05e48
Author: Dimitry Andric <[email protected]>
Date:   Mon Dec 25 18:50:08 2023 +0100

    Bump llvm-project version numbers to llvmorg-18-init-15692-g007ed0dccd6a.

commit 678f56a
Merge: 5f710e3 99aabd7
Author: Dimitry Andric <[email protected]>
Date:   Mon Dec 25 18:35:41 2023 +0100

    Merge llvm-project main llvmorg-18-init-15692-g007ed0dccd6a

    This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
    openmp to llvm-project main llvmorg-18-init-15692-g007ed0dccd6a.

    PR:		276104
    MFC after:	1 month

commit 5f710e3
Author: Dimitry Andric <[email protected]>
Date:   Thu Dec 21 23:30:02 2023 +0100

    Tentatively apply llvm/llvm-project#76175, to
    fix libsa including compiler-rt builtins.

commit bfd4f0d
Author: Dimitry Andric <[email protected]>
Date:   Thu Dec 21 16:56:34 2023 +0100

    Add several new builtins to compiler-rt, and enable quad support for amd64.

commit 60b6608
Author: Dimitry Andric <[email protected]>
Date:   Thu Dec 21 14:47:43 2023 +0100

    Use -Wno-vla-cxx-extension for libomp, since clang 18 complains.

commit b051bbb
Author: Dimitry Andric <[email protected]>
Date:   Wed Dec 20 23:05:48 2023 +0100

    Update libomp generated headers.

commit 98d0e7c
Author: Dimitry Andric <[email protected]>
Date:   Wed Dec 20 23:00:26 2023 +0100

    Update libclang_rt makefiles.

commit a08a308
Author: Dimitry Andric <[email protected]>
Date:   Wed Dec 20 21:41:18 2023 +0100

    Update build glue for libc++.

commit 326d983
Author: Dimitry Andric <[email protected]>
Date:   Wed Dec 20 19:47:22 2023 +0100

    Fix up clang version in lib/libclang_rt/compiler-rt-vars.mk.

commit 325ba5b
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 23:43:32 2023 +0100

    Update build glue to build lldb.

commit 612cd33
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 21:54:32 2023 +0100

    Regenerate lib/clang/liblldb/LLDBWrapLua.cpp.

commit 12d2341
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 21:48:16 2023 +0100

    Update build glue to build llvm extra tools.

commit bd80bb1
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 20:10:38 2023 +0100

    Update build glue to build full clang (with static analyzer).

commit 0e60a9e
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 19:30:46 2023 +0100

    Update build glue to build default llvm tools for world.

commit 1e1229d
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 17:40:08 2023 +0100

    Add new files to libclang, and re-sort.

commit 80bc357
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 17:40:00 2023 +0100

    Add new files to libllvm, and re-sort.

commit 220597d
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 15:37:31 2023 +0100

    Add newly introduced .inc files to libclang.

commit daeeb74
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 15:37:11 2023 +0100

    Cleanup removed files from libclang.

commit 69a6c58
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 12:34:00 2023 +0100

    After llvm/llvm-project@ac182deee8287 RISCV's
    global isel td file got split off to RISCVGISel.td, so handle that in
    libllvm's Makefile.

commit e27e76b
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 12:27:35 2023 +0100

    Cleanup removed files from libllvm.

commit fa84ac3
Author: Dimitry Andric <[email protected]>
Date:   Mon Dec 18 22:52:45 2023 +0100

    Update Makefile for llvm-tblgen.

commit d43e62d
Author: Dimitry Andric <[email protected]>
Date:   Mon Dec 18 22:40:01 2023 +0100

    Update FREEBSD-Xlist for llvm 18.

commit a3780ea
Author: Dimitry Andric <[email protected]>
Date:   Mon Dec 18 22:38:45 2023 +0100

    Bump llvm-project numbers from 17.0.6 to 18.0.0.

commit 5d469ef
Merge: 8758bf0 312c0ed
Author: Dimitry Andric <[email protected]>
Date:   Mon Dec 18 21:30:12 2023 +0100

    Merge llvm-project main llvmorg-18-init-15088-gd14ee76181fb

    This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
    openmp to llvm-project main llvmorg-18-init-15088-gd14ee76181fb.

    PR:		276104
    MFC after:	1 month

commit 4fdf604
Author: Dimitry Andric <[email protected]>
Date:   Wed Feb 7 15:37:28 2024 +0100

    Vendor import of llvm-project branch release/18.x llvmorg-18.1.0-rc2-0-gc6c86965d967.

commit 2d835ae
Author: Dimitry Andric <[email protected]>
Date:   Thu Jan 25 19:03:34 2024 +0100

    Vendor import of llvm-project branch release/18.x llvmorg-18-init-18361-g22683463740e.

commit 4df029c
Author: Dimitry Andric <[email protected]>
Date:   Wed Jan 24 20:11:41 2024 +0100

    Vendor import of llvm-project main llvmorg-18-init-18359-g93248729cfae,
    the last commit before the upstream release/18.x branch was created.

commit 950076c
Author: Dimitry Andric <[email protected]>
Date:   Thu Jan 11 19:24:21 2024 +0100

    Vendor import of llvm-project main llvmorg-18-init-16864-g3b3ee1f53424.

commit aca2e42
Author: Dimitry Andric <[email protected]>
Date:   Tue Jan 9 20:58:18 2024 +0100

    Vendor import of llvm-project main llvmorg-18-init-16595-g7c00a5be5cde.

commit 77dbea0
Author: Dimitry Andric <[email protected]>
Date:   Wed Jan 3 17:57:07 2024 +0100

    Vendor import of llvm-project main llvmorg-18-init-16003-gfc5f51cf5af4.

commit 99aabd7
Author: Dimitry Andric <[email protected]>
Date:   Mon Dec 25 14:49:57 2023 +0100

    Vendor import of llvm-project main llvmorg-18-init-15692-g007ed0dccd6a.

commit 312c0ed
Author: Dimitry Andric <[email protected]>
Date:   Sun Dec 17 21:41:09 2023 +0100

    Vendor import of llvm-project main llvmorg-18-init-15088-gd14ee76181fb.

commit b1c7353
Author: Dimitry Andric <[email protected]>
Date:   Sat Dec 9 14:28:42 2023 +0100

    Vendor import of llvm-project main llvmorg-18-init-14265-ga17671084db1.
emaste added a commit to emaste/freebsd that referenced this pull request Mar 5, 2024
commit a7fb520
Author: Dimitry Andric <[email protected]>
Date:   Wed Feb 7 22:50:52 2024 +0100

    Update libllvm for new RISCVGenMacroFusion.inc tblgen header.

commit 92e38d7
Author: Dimitry Andric <[email protected]>
Date:   Wed Feb 7 19:01:09 2024 +0100

    Update libllvm for removed file.

commit 1f05b14
Author: Dimitry Andric <[email protected]>
Date:   Wed Feb 7 16:59:11 2024 +0100

    Bump llvm-project version numbers to llvmorg-18.1.0-rc2-0-gc6c86965d967.

commit dd2f072
Merge: 024a010 4fdf604
Author: Dimitry Andric <[email protected]>
Date:   Wed Feb 7 15:58:02 2024 +0100

    Merge llvm-project release/18.x llvmorg-18.1.0-rc2-0-gc6c86965d967

    This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
    openmp to llvm-project release/18.x llvmorg-18.1.0-rc2-0-gc6c86965d967.

    PR:		276104
    MFC after:	1 month

commit 024a010
Author: Dimitry Andric <[email protected]>
Date:   Mon Feb 5 12:41:51 2024 +0100

    [libc++] Rename __bit_reference template parameter to avoid conflict

    As of 4d20cfcf4eb08217ed37c4d4c38dc395d7a66d26, `__bit_reference`
    contains a template `__fill_n` with a bool `_FillValue` parameter.

    Unfortunately there is a relatively widely used piece of scientific
    software called NetCDF, which exposes a (C) macro `_FillValue` in its
    public headers.

    When building the NetCDF C++ bindings, this quickly leads to compilation
    errors when the macro interferes with the template in `__bit_reference`.

    Rename the parameter to `_FillVal` to avoid the conflict.

commit 4721947
Author: Dimitry Andric <[email protected]>
Date:   Mon Feb 5 10:16:17 2024 +0100

    Merge commit 5f4ee5a2dfa9 from llvm-project (by Shanzhi):

      [Clang][AST] Fix a crash on attaching doc comments (#78716)

      This crash is basically caused by calling
      `ASTContext::getRawCommentForDeclNoCacheImp` with its input arguments
      `RepresentativeLocForDecl` and `CommentsInTheFile` refering to different
      files. A reduced reproducer is provided in this patch.

      After the source locations for instantiations of funtion template are
      corrected in the commit 256a0b298c68b89688b80350b034daf2f7785b67, the
      variable `CommitsInThisFile` in the function
      `ASTContext::attachCommentsToJustParsedDecls` would refer to the source
      file rather than the header file for implicit function template
      instantiation. Therefore, in the first loop in
      `ASTContext::attachCommentsToJustParsedDecls`, `D` should also be
      adjusted for relevant scenarios like the second loop.

      Fixes #67979
      Fixes #68524
      Fixes #70550

    This should fix a segfault when compiling graphics/gdal.

commit d4389cf
Author: Dimitry Andric <[email protected]>
Date:   Sun Jan 28 21:34:42 2024 +0100

    Merge commit 6e4930c67508 from llvm-project (by Alexander Kornienko):

      Revert "[SemaCXX] Implement CWG2137 (list-initialization from objects of the same type) (#77768)"

      This reverts commit 924701311aa79180e86ad8ce43d253f27d25ec7d. Causes compilation
      errors on valid code, see
      llvm/llvm-project#77768 (comment).

commit 638a121
Author: Dimitry Andric <[email protected]>
Date:   Fri Jan 26 16:21:16 2024 +0100

    Bump llvm-project version numbers to llvmorg-18-init-18361-g22683463740e (and 18.1.0).

commit fb7b27d
Merge: 2ed68de 2d835ae
Author: Dimitry Andric <[email protected]>
Date:   Fri Jan 26 16:04:14 2024 +0100

    Merge llvm-project release/18.x llvmorg-18-init-18361-g22683463740e

    This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
    openmp to llvm-project release/18.x llvmorg-18-init-18361-g22683463740e.

    PR:		276104
    MFC after:	1 month

commit 2ed68de
Author: Dimitry Andric <[email protected]>
Date:   Fri Jan 26 16:03:20 2024 +0100

    Tentatively apply libcxxrt/libcxxrt#27.

commit a0cf20a
Author: Dimitry Andric <[email protected]>
Date:   Fri Jan 26 16:02:51 2024 +0100

    libc++: use build defines and flags similar to upstream.

commit 66f3903
Author: Dimitry Andric <[email protected]>
Date:   Thu Jan 25 09:27:12 2024 +0100

    Add one more header to libc++.

commit ddf7238
Author: Dimitry Andric <[email protected]>
Date:   Thu Jan 25 00:39:43 2024 +0100

    Update libclang, libllvm, llc and lli Makefiles.

commit e025714
Author: Dimitry Andric <[email protected]>
Date:   Wed Jan 24 20:35:46 2024 +0100

    Update libc++ generated files, and add __assertion_handler.

commit e7cb0e2
Author: Dimitry Andric <[email protected]>
Date:   Wed Jan 24 20:31:39 2024 +0100

    Bump llvm-project version numbers to llvmorg-18-init-18359-g93248729cfae.

commit efd9603
Author: Dimitry Andric <[email protected]>
Date:   Wed Jan 24 20:23:36 2024 +0100

    Update contrib/llvm-project/FREEBSD-Xlist.

commit 550d813
Merge: 74464e8 4df029c
Author: Dimitry Andric <[email protected]>
Date:   Wed Jan 24 20:17:23 2024 +0100

    Merge llvm-project main llvmorg-18-init-18359-g93248729cfae

    This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
    openmp to llvm-project main llvmorg-18-init-18359-g93248729cfae, the
    last commit before the upstream release/18.x branch was created.

    PR:		276104
    MFC after:	1 month

commit 74464e8
Author: Dimitry Andric <[email protected]>
Date:   Mon Jan 15 00:18:22 2024 +0100

    Tabify libc++ Makefile.

commit 1fbb16e
Author: Dimitry Andric <[email protected]>
Date:   Sun Jan 14 14:20:42 2024 +0100

    Redo libc++ customizations:
    * Remove osreldate include because _LIBCPP_HAS_NO_GETS has disappeared
    * Instead, add direct major __FreeBSD__ check for using ::gets declaration
    * Mark EINTEGRITY values as FreeBSD customization
    * Reformat _LIBCPP_TYPE_VISIBILITY_DEFAULT customization

commit f6cfebe
Author: Dimitry Andric <[email protected]>
Date:   Fri Jan 12 14:47:52 2024 +0100

    Update libc++ module.modulemap.

commit 2c45cec
Author: Dimitry Andric <[email protected]>
Date:   Fri Jan 12 10:57:07 2024 +0100

    Fixup libllvm Makefile for DWARFLinker stuff being moved around.

commit 1f35f87
Author: Dimitry Andric <[email protected]>
Date:   Thu Jan 11 19:30:38 2024 +0100

    Bump llvm-project version numbers to llvmorg-18-init-16864-g3b3ee1f53424.

commit 7b02ddb
Merge: 6ec4eed 950076c
Author: Dimitry Andric <[email protected]>
Date:   Thu Jan 11 19:29:01 2024 +0100

    Merge llvm-project main llvmorg-18-init-16864-g3b3ee1f53424

    This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
    openmp to llvm-project main llvmorg-18-init-16864-g3b3ee1f53424.

    PR:		276104
    MFC after:	1 month

commit 6ec4eed
Author: Dimitry Andric <[email protected]>
Date:   Thu Jan 11 14:49:11 2024 +0100

    Update libllvm and llvm-tblgen Makefiles.

commit b861bf2
Author: Dimitry Andric <[email protected]>
Date:   Thu Jan 11 14:48:50 2024 +0100

    Bump llvm-project version numbers to llvmorg-18-init-16595-g7c00a5be5cde.

commit 42aaf55
Merge: c8faa43 aca2e42
Author: Dimitry Andric <[email protected]>
Date:   Tue Jan 9 21:00:28 2024 +0100

    Merge llvm-project main llvmorg-18-init-16595-g7c00a5be5cde

    This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
    openmp to llvm-project main llvmorg-18-init-16595-g7c00a5be5cde.

    PR:		276104
    MFC after:	1 month

commit c8faa43
Author: Dimitry Andric <[email protected]>
Date:   Sun Jan 7 17:03:13 2024 +0100

    Tentatively merge llvm/llvm-project#77242:

      [libcxx] Re-include <osreldate.h> in __config for FreeBSD

      In 0a97720d0197 some changes were made to `__config` for assuming that
      `__BYTE_ORDER__` is always present.

      However, this deleted a `<osreldate.h>` include for FreeBSD, which is
      required to get the value of `__FreeBSD_version`, and that is used later
      in the file to determine whether `_LIBCPP_C_HAS_NO_GETS` needs to be
      enabled.

      Include `<osreldate.h>` just after the other includes used for feature
      detection, to fix this.

      Note that when FreeBSD 13 is EOLed, this can be removed, as then all
      supported FreeBSD versions will no longer have `gets()`.

commit 9db148e
Author: Dimitry Andric <[email protected]>
Date:   Sun Jan 7 12:32:29 2024 +0100

    Add two FreeBSD customizations to libc++, to better support ports usage
    of older clang versions:
    * Add _LIBCPP_ENABLE_COMPILER_VERSION_CHECKS block around compiler
      version checks, to avoid any warnings about support. This makes some
      ports that use -Werror fall over.
    * When using clang < 15.0, avoid using a type visibility attribute on
      the std namespace, as older versions of clang do not support this.

commit ab1dc4a
Author: Dimitry Andric <[email protected]>
Date:   Sun Jan 7 12:28:35 2024 +0100

    Fix up ObsoleteFiles entries for libc++.

commit 626eed6
Author: Dimitry Andric <[email protected]>
Date:   Sat Jan 6 20:55:41 2024 +0100

    Add more clang 17 ObsoleteFiles entries.

commit d23764d
Author: Dimitry Andric <[email protected]>
Date:   Wed Jan 3 20:35:30 2024 +0100

    Add files needed for lldb FreeBSD-Kernel DynamicLoader.

commit 7656fbd
Author: Dimitry Andric <[email protected]>
Date:   Wed Jan 3 19:22:03 2024 +0100

    Bump llvm-project version numbers to llvmorg-18-init-16003-gfc5f51cf5af4.

commit 9739ebd
Merge: b8840b4 77dbea0
Author: Dimitry Andric <[email protected]>
Date:   Wed Jan 3 19:04:11 2024 +0100

    Merge llvm-project main llvmorg-18-init-16003-gfc5f51cf5af4

    This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
    openmp to llvm-project main llvmorg-18-init-16003-gfc5f51cf5af4.

    PR:		276104
    MFC after:	1 month

commit b8840b4
Author: Dimitry Andric <[email protected]>
Date:   Tue Jan 2 17:09:41 2024 +0100

    compiler-rt builtins: move 80-bit long double functions into their own
    block, only enabling it for x86, and add more 128-bit quad functions.

commit b3086e6
Author: Dimitry Andric <[email protected]>
Date:   Tue Jan 2 17:07:31 2024 +0100

    Revert upstream commit 0e46b49de433:

      Reapply "RegisterCoalescer: Add implicit-def of super register when coalescing SUBREG_TO_REG"

      This reverts commit c398fa009a47eb24f88383d5e911e59e70f8db86.

      PPC backend was fixed in 2f82662ce901c6666fceb9c6c5e0de216a1c9667

    Since it causes an assertion failure building /sys/dev/fb/vga.c:
    llvm/llvm-project#76416

commit c71a0fe
Author: Dimitry Andric <[email protected]>
Date:   Mon Jan 1 18:58:15 2024 +0100

    Apply llvmorg-18-init-15846-g953ae94149f0.

commit fab14fd
Author: Dimitry Andric <[email protected]>
Date:   Mon Dec 25 19:20:33 2023 +0100

    Add new files and remove deleted files from various Makefiles.

commit 5d05e48
Author: Dimitry Andric <[email protected]>
Date:   Mon Dec 25 18:50:08 2023 +0100

    Bump llvm-project version numbers to llvmorg-18-init-15692-g007ed0dccd6a.

commit 678f56a
Merge: 5f710e3 99aabd7
Author: Dimitry Andric <[email protected]>
Date:   Mon Dec 25 18:35:41 2023 +0100

    Merge llvm-project main llvmorg-18-init-15692-g007ed0dccd6a

    This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
    openmp to llvm-project main llvmorg-18-init-15692-g007ed0dccd6a.

    PR:		276104
    MFC after:	1 month

commit 5f710e3
Author: Dimitry Andric <[email protected]>
Date:   Thu Dec 21 23:30:02 2023 +0100

    Tentatively apply llvm/llvm-project#76175, to
    fix libsa including compiler-rt builtins.

commit bfd4f0d
Author: Dimitry Andric <[email protected]>
Date:   Thu Dec 21 16:56:34 2023 +0100

    Add several new builtins to compiler-rt, and enable quad support for amd64.

commit 60b6608
Author: Dimitry Andric <[email protected]>
Date:   Thu Dec 21 14:47:43 2023 +0100

    Use -Wno-vla-cxx-extension for libomp, since clang 18 complains.

commit b051bbb
Author: Dimitry Andric <[email protected]>
Date:   Wed Dec 20 23:05:48 2023 +0100

    Update libomp generated headers.

commit 98d0e7c
Author: Dimitry Andric <[email protected]>
Date:   Wed Dec 20 23:00:26 2023 +0100

    Update libclang_rt makefiles.

commit a08a308
Author: Dimitry Andric <[email protected]>
Date:   Wed Dec 20 21:41:18 2023 +0100

    Update build glue for libc++.

commit 326d983
Author: Dimitry Andric <[email protected]>
Date:   Wed Dec 20 19:47:22 2023 +0100

    Fix up clang version in lib/libclang_rt/compiler-rt-vars.mk.

commit 325ba5b
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 23:43:32 2023 +0100

    Update build glue to build lldb.

commit 612cd33
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 21:54:32 2023 +0100

    Regenerate lib/clang/liblldb/LLDBWrapLua.cpp.

commit 12d2341
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 21:48:16 2023 +0100

    Update build glue to build llvm extra tools.

commit bd80bb1
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 20:10:38 2023 +0100

    Update build glue to build full clang (with static analyzer).

commit 0e60a9e
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 19:30:46 2023 +0100

    Update build glue to build default llvm tools for world.

commit 1e1229d
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 17:40:08 2023 +0100

    Add new files to libclang, and re-sort.

commit 80bc357
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 17:40:00 2023 +0100

    Add new files to libllvm, and re-sort.

commit 220597d
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 15:37:31 2023 +0100

    Add newly introduced .inc files to libclang.

commit daeeb74
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 15:37:11 2023 +0100

    Cleanup removed files from libclang.

commit 69a6c58
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 12:34:00 2023 +0100

    After llvm/llvm-project@ac182deee8287 RISCV's
    global isel td file got split off to RISCVGISel.td, so handle that in
    libllvm's Makefile.

commit e27e76b
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 12:27:35 2023 +0100

    Cleanup removed files from libllvm.

commit fa84ac3
Author: Dimitry Andric <[email protected]>
Date:   Mon Dec 18 22:52:45 2023 +0100

    Update Makefile for llvm-tblgen.

commit d43e62d
Author: Dimitry Andric <[email protected]>
Date:   Mon Dec 18 22:40:01 2023 +0100

    Update FREEBSD-Xlist for llvm 18.

commit a3780ea
Author: Dimitry Andric <[email protected]>
Date:   Mon Dec 18 22:38:45 2023 +0100

    Bump llvm-project numbers from 17.0.6 to 18.0.0.

commit 5d469ef
Merge: 8758bf0 312c0ed
Author: Dimitry Andric <[email protected]>
Date:   Mon Dec 18 21:30:12 2023 +0100

    Merge llvm-project main llvmorg-18-init-15088-gd14ee76181fb

    This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
    openmp to llvm-project main llvmorg-18-init-15088-gd14ee76181fb.

    PR:		276104
    MFC after:	1 month

commit 4fdf604
Author: Dimitry Andric <[email protected]>
Date:   Wed Feb 7 15:37:28 2024 +0100

    Vendor import of llvm-project branch release/18.x llvmorg-18.1.0-rc2-0-gc6c86965d967.

commit 2d835ae
Author: Dimitry Andric <[email protected]>
Date:   Thu Jan 25 19:03:34 2024 +0100

    Vendor import of llvm-project branch release/18.x llvmorg-18-init-18361-g22683463740e.

commit 4df029c
Author: Dimitry Andric <[email protected]>
Date:   Wed Jan 24 20:11:41 2024 +0100

    Vendor import of llvm-project main llvmorg-18-init-18359-g93248729cfae,
    the last commit before the upstream release/18.x branch was created.

commit 950076c
Author: Dimitry Andric <[email protected]>
Date:   Thu Jan 11 19:24:21 2024 +0100

    Vendor import of llvm-project main llvmorg-18-init-16864-g3b3ee1f53424.

commit aca2e42
Author: Dimitry Andric <[email protected]>
Date:   Tue Jan 9 20:58:18 2024 +0100

    Vendor import of llvm-project main llvmorg-18-init-16595-g7c00a5be5cde.

commit 77dbea0
Author: Dimitry Andric <[email protected]>
Date:   Wed Jan 3 17:57:07 2024 +0100

    Vendor import of llvm-project main llvmorg-18-init-16003-gfc5f51cf5af4.

commit 99aabd7
Author: Dimitry Andric <[email protected]>
Date:   Mon Dec 25 14:49:57 2023 +0100

    Vendor import of llvm-project main llvmorg-18-init-15692-g007ed0dccd6a.

commit 312c0ed
Author: Dimitry Andric <[email protected]>
Date:   Sun Dec 17 21:41:09 2023 +0100

    Vendor import of llvm-project main llvmorg-18-init-15088-gd14ee76181fb.

commit b1c7353
Author: Dimitry Andric <[email protected]>
Date:   Sat Dec 9 14:28:42 2023 +0100

    Vendor import of llvm-project main llvmorg-18-init-14265-ga17671084db1.
DimitryAndric added a commit to DimitryAndric/freebsd-src that referenced this pull request Mar 10, 2024
  [libcxx] Re-include <osreldate.h> in __config for FreeBSD

  In 0a97720d0197 some changes were made to `__config` for assuming that
  `__BYTE_ORDER__` is always present.

  However, this deleted a `<osreldate.h>` include for FreeBSD, which is
  required to get the value of `__FreeBSD_version`, and that is used later
  in the file to determine whether `_LIBCPP_C_HAS_NO_GETS` needs to be
  enabled.

  Include `<osreldate.h>` just after the other includes used for feature
  detection, to fix this.

  Note that when FreeBSD 13 is EOLed, this can be removed, as then all
  supported FreeBSD versions will no longer have `gets()`.
emaste added a commit to emaste/freebsd that referenced this pull request Mar 17, 2024
commit a7fb520
Author: Dimitry Andric <[email protected]>
Date:   Wed Feb 7 22:50:52 2024 +0100

    Update libllvm for new RISCVGenMacroFusion.inc tblgen header.

commit 92e38d7
Author: Dimitry Andric <[email protected]>
Date:   Wed Feb 7 19:01:09 2024 +0100

    Update libllvm for removed file.

commit 1f05b14
Author: Dimitry Andric <[email protected]>
Date:   Wed Feb 7 16:59:11 2024 +0100

    Bump llvm-project version numbers to llvmorg-18.1.0-rc2-0-gc6c86965d967.

commit dd2f072
Merge: 024a010 4fdf604
Author: Dimitry Andric <[email protected]>
Date:   Wed Feb 7 15:58:02 2024 +0100

    Merge llvm-project release/18.x llvmorg-18.1.0-rc2-0-gc6c86965d967

    This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
    openmp to llvm-project release/18.x llvmorg-18.1.0-rc2-0-gc6c86965d967.

    PR:		276104
    MFC after:	1 month

commit 024a010
Author: Dimitry Andric <[email protected]>
Date:   Mon Feb 5 12:41:51 2024 +0100

    [libc++] Rename __bit_reference template parameter to avoid conflict

    As of 4d20cfcf4eb08217ed37c4d4c38dc395d7a66d26, `__bit_reference`
    contains a template `__fill_n` with a bool `_FillValue` parameter.

    Unfortunately there is a relatively widely used piece of scientific
    software called NetCDF, which exposes a (C) macro `_FillValue` in its
    public headers.

    When building the NetCDF C++ bindings, this quickly leads to compilation
    errors when the macro interferes with the template in `__bit_reference`.

    Rename the parameter to `_FillVal` to avoid the conflict.

commit 4721947
Author: Dimitry Andric <[email protected]>
Date:   Mon Feb 5 10:16:17 2024 +0100

    Merge commit 5f4ee5a2dfa9 from llvm-project (by Shanzhi):

      [Clang][AST] Fix a crash on attaching doc comments (#78716)

      This crash is basically caused by calling
      `ASTContext::getRawCommentForDeclNoCacheImp` with its input arguments
      `RepresentativeLocForDecl` and `CommentsInTheFile` refering to different
      files. A reduced reproducer is provided in this patch.

      After the source locations for instantiations of funtion template are
      corrected in the commit 256a0b298c68b89688b80350b034daf2f7785b67, the
      variable `CommitsInThisFile` in the function
      `ASTContext::attachCommentsToJustParsedDecls` would refer to the source
      file rather than the header file for implicit function template
      instantiation. Therefore, in the first loop in
      `ASTContext::attachCommentsToJustParsedDecls`, `D` should also be
      adjusted for relevant scenarios like the second loop.

      Fixes #67979
      Fixes #68524
      Fixes #70550

    This should fix a segfault when compiling graphics/gdal.

commit d4389cf
Author: Dimitry Andric <[email protected]>
Date:   Sun Jan 28 21:34:42 2024 +0100

    Merge commit 6e4930c67508 from llvm-project (by Alexander Kornienko):

      Revert "[SemaCXX] Implement CWG2137 (list-initialization from objects of the same type) (#77768)"

      This reverts commit 924701311aa79180e86ad8ce43d253f27d25ec7d. Causes compilation
      errors on valid code, see
      llvm/llvm-project#77768 (comment).

commit 638a121
Author: Dimitry Andric <[email protected]>
Date:   Fri Jan 26 16:21:16 2024 +0100

    Bump llvm-project version numbers to llvmorg-18-init-18361-g22683463740e (and 18.1.0).

commit fb7b27d
Merge: 2ed68de 2d835ae
Author: Dimitry Andric <[email protected]>
Date:   Fri Jan 26 16:04:14 2024 +0100

    Merge llvm-project release/18.x llvmorg-18-init-18361-g22683463740e

    This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
    openmp to llvm-project release/18.x llvmorg-18-init-18361-g22683463740e.

    PR:		276104
    MFC after:	1 month

commit 2ed68de
Author: Dimitry Andric <[email protected]>
Date:   Fri Jan 26 16:03:20 2024 +0100

    Tentatively apply libcxxrt/libcxxrt#27.

commit a0cf20a
Author: Dimitry Andric <[email protected]>
Date:   Fri Jan 26 16:02:51 2024 +0100

    libc++: use build defines and flags similar to upstream.

commit 66f3903
Author: Dimitry Andric <[email protected]>
Date:   Thu Jan 25 09:27:12 2024 +0100

    Add one more header to libc++.

commit ddf7238
Author: Dimitry Andric <[email protected]>
Date:   Thu Jan 25 00:39:43 2024 +0100

    Update libclang, libllvm, llc and lli Makefiles.

commit e025714
Author: Dimitry Andric <[email protected]>
Date:   Wed Jan 24 20:35:46 2024 +0100

    Update libc++ generated files, and add __assertion_handler.

commit e7cb0e2
Author: Dimitry Andric <[email protected]>
Date:   Wed Jan 24 20:31:39 2024 +0100

    Bump llvm-project version numbers to llvmorg-18-init-18359-g93248729cfae.

commit efd9603
Author: Dimitry Andric <[email protected]>
Date:   Wed Jan 24 20:23:36 2024 +0100

    Update contrib/llvm-project/FREEBSD-Xlist.

commit 550d813
Merge: 74464e8 4df029c
Author: Dimitry Andric <[email protected]>
Date:   Wed Jan 24 20:17:23 2024 +0100

    Merge llvm-project main llvmorg-18-init-18359-g93248729cfae

    This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
    openmp to llvm-project main llvmorg-18-init-18359-g93248729cfae, the
    last commit before the upstream release/18.x branch was created.

    PR:		276104
    MFC after:	1 month

commit 74464e8
Author: Dimitry Andric <[email protected]>
Date:   Mon Jan 15 00:18:22 2024 +0100

    Tabify libc++ Makefile.

commit 1fbb16e
Author: Dimitry Andric <[email protected]>
Date:   Sun Jan 14 14:20:42 2024 +0100

    Redo libc++ customizations:
    * Remove osreldate include because _LIBCPP_HAS_NO_GETS has disappeared
    * Instead, add direct major __FreeBSD__ check for using ::gets declaration
    * Mark EINTEGRITY values as FreeBSD customization
    * Reformat _LIBCPP_TYPE_VISIBILITY_DEFAULT customization

commit f6cfebe
Author: Dimitry Andric <[email protected]>
Date:   Fri Jan 12 14:47:52 2024 +0100

    Update libc++ module.modulemap.

commit 2c45cec
Author: Dimitry Andric <[email protected]>
Date:   Fri Jan 12 10:57:07 2024 +0100

    Fixup libllvm Makefile for DWARFLinker stuff being moved around.

commit 1f35f87
Author: Dimitry Andric <[email protected]>
Date:   Thu Jan 11 19:30:38 2024 +0100

    Bump llvm-project version numbers to llvmorg-18-init-16864-g3b3ee1f53424.

commit 7b02ddb
Merge: 6ec4eed 950076c
Author: Dimitry Andric <[email protected]>
Date:   Thu Jan 11 19:29:01 2024 +0100

    Merge llvm-project main llvmorg-18-init-16864-g3b3ee1f53424

    This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
    openmp to llvm-project main llvmorg-18-init-16864-g3b3ee1f53424.

    PR:		276104
    MFC after:	1 month

commit 6ec4eed
Author: Dimitry Andric <[email protected]>
Date:   Thu Jan 11 14:49:11 2024 +0100

    Update libllvm and llvm-tblgen Makefiles.

commit b861bf2
Author: Dimitry Andric <[email protected]>
Date:   Thu Jan 11 14:48:50 2024 +0100

    Bump llvm-project version numbers to llvmorg-18-init-16595-g7c00a5be5cde.

commit 42aaf55
Merge: c8faa43 aca2e42
Author: Dimitry Andric <[email protected]>
Date:   Tue Jan 9 21:00:28 2024 +0100

    Merge llvm-project main llvmorg-18-init-16595-g7c00a5be5cde

    This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
    openmp to llvm-project main llvmorg-18-init-16595-g7c00a5be5cde.

    PR:		276104
    MFC after:	1 month

commit c8faa43
Author: Dimitry Andric <[email protected]>
Date:   Sun Jan 7 17:03:13 2024 +0100

    Tentatively merge llvm/llvm-project#77242:

      [libcxx] Re-include <osreldate.h> in __config for FreeBSD

      In 0a97720d0197 some changes were made to `__config` for assuming that
      `__BYTE_ORDER__` is always present.

      However, this deleted a `<osreldate.h>` include for FreeBSD, which is
      required to get the value of `__FreeBSD_version`, and that is used later
      in the file to determine whether `_LIBCPP_C_HAS_NO_GETS` needs to be
      enabled.

      Include `<osreldate.h>` just after the other includes used for feature
      detection, to fix this.

      Note that when FreeBSD 13 is EOLed, this can be removed, as then all
      supported FreeBSD versions will no longer have `gets()`.

commit 9db148e
Author: Dimitry Andric <[email protected]>
Date:   Sun Jan 7 12:32:29 2024 +0100

    Add two FreeBSD customizations to libc++, to better support ports usage
    of older clang versions:
    * Add _LIBCPP_ENABLE_COMPILER_VERSION_CHECKS block around compiler
      version checks, to avoid any warnings about support. This makes some
      ports that use -Werror fall over.
    * When using clang < 15.0, avoid using a type visibility attribute on
      the std namespace, as older versions of clang do not support this.

commit ab1dc4a
Author: Dimitry Andric <[email protected]>
Date:   Sun Jan 7 12:28:35 2024 +0100

    Fix up ObsoleteFiles entries for libc++.

commit 626eed6
Author: Dimitry Andric <[email protected]>
Date:   Sat Jan 6 20:55:41 2024 +0100

    Add more clang 17 ObsoleteFiles entries.

commit d23764d
Author: Dimitry Andric <[email protected]>
Date:   Wed Jan 3 20:35:30 2024 +0100

    Add files needed for lldb FreeBSD-Kernel DynamicLoader.

commit 7656fbd
Author: Dimitry Andric <[email protected]>
Date:   Wed Jan 3 19:22:03 2024 +0100

    Bump llvm-project version numbers to llvmorg-18-init-16003-gfc5f51cf5af4.

commit 9739ebd
Merge: b8840b4 77dbea0
Author: Dimitry Andric <[email protected]>
Date:   Wed Jan 3 19:04:11 2024 +0100

    Merge llvm-project main llvmorg-18-init-16003-gfc5f51cf5af4

    This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
    openmp to llvm-project main llvmorg-18-init-16003-gfc5f51cf5af4.

    PR:		276104
    MFC after:	1 month

commit b8840b4
Author: Dimitry Andric <[email protected]>
Date:   Tue Jan 2 17:09:41 2024 +0100

    compiler-rt builtins: move 80-bit long double functions into their own
    block, only enabling it for x86, and add more 128-bit quad functions.

commit b3086e6
Author: Dimitry Andric <[email protected]>
Date:   Tue Jan 2 17:07:31 2024 +0100

    Revert upstream commit 0e46b49de433:

      Reapply "RegisterCoalescer: Add implicit-def of super register when coalescing SUBREG_TO_REG"

      This reverts commit c398fa009a47eb24f88383d5e911e59e70f8db86.

      PPC backend was fixed in 2f82662ce901c6666fceb9c6c5e0de216a1c9667

    Since it causes an assertion failure building /sys/dev/fb/vga.c:
    llvm/llvm-project#76416

commit c71a0fe
Author: Dimitry Andric <[email protected]>
Date:   Mon Jan 1 18:58:15 2024 +0100

    Apply llvmorg-18-init-15846-g953ae94149f0.

commit fab14fd
Author: Dimitry Andric <[email protected]>
Date:   Mon Dec 25 19:20:33 2023 +0100

    Add new files and remove deleted files from various Makefiles.

commit 5d05e48
Author: Dimitry Andric <[email protected]>
Date:   Mon Dec 25 18:50:08 2023 +0100

    Bump llvm-project version numbers to llvmorg-18-init-15692-g007ed0dccd6a.

commit 678f56a
Merge: 5f710e3 99aabd7
Author: Dimitry Andric <[email protected]>
Date:   Mon Dec 25 18:35:41 2023 +0100

    Merge llvm-project main llvmorg-18-init-15692-g007ed0dccd6a

    This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
    openmp to llvm-project main llvmorg-18-init-15692-g007ed0dccd6a.

    PR:		276104
    MFC after:	1 month

commit 5f710e3
Author: Dimitry Andric <[email protected]>
Date:   Thu Dec 21 23:30:02 2023 +0100

    Tentatively apply llvm/llvm-project#76175, to
    fix libsa including compiler-rt builtins.

commit bfd4f0d
Author: Dimitry Andric <[email protected]>
Date:   Thu Dec 21 16:56:34 2023 +0100

    Add several new builtins to compiler-rt, and enable quad support for amd64.

commit 60b6608
Author: Dimitry Andric <[email protected]>
Date:   Thu Dec 21 14:47:43 2023 +0100

    Use -Wno-vla-cxx-extension for libomp, since clang 18 complains.

commit b051bbb
Author: Dimitry Andric <[email protected]>
Date:   Wed Dec 20 23:05:48 2023 +0100

    Update libomp generated headers.

commit 98d0e7c
Author: Dimitry Andric <[email protected]>
Date:   Wed Dec 20 23:00:26 2023 +0100

    Update libclang_rt makefiles.

commit a08a308
Author: Dimitry Andric <[email protected]>
Date:   Wed Dec 20 21:41:18 2023 +0100

    Update build glue for libc++.

commit 326d983
Author: Dimitry Andric <[email protected]>
Date:   Wed Dec 20 19:47:22 2023 +0100

    Fix up clang version in lib/libclang_rt/compiler-rt-vars.mk.

commit 325ba5b
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 23:43:32 2023 +0100

    Update build glue to build lldb.

commit 612cd33
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 21:54:32 2023 +0100

    Regenerate lib/clang/liblldb/LLDBWrapLua.cpp.

commit 12d2341
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 21:48:16 2023 +0100

    Update build glue to build llvm extra tools.

commit bd80bb1
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 20:10:38 2023 +0100

    Update build glue to build full clang (with static analyzer).

commit 0e60a9e
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 19:30:46 2023 +0100

    Update build glue to build default llvm tools for world.

commit 1e1229d
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 17:40:08 2023 +0100

    Add new files to libclang, and re-sort.

commit 80bc357
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 17:40:00 2023 +0100

    Add new files to libllvm, and re-sort.

commit 220597d
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 15:37:31 2023 +0100

    Add newly introduced .inc files to libclang.

commit daeeb74
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 15:37:11 2023 +0100

    Cleanup removed files from libclang.

commit 69a6c58
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 12:34:00 2023 +0100

    After llvm/llvm-project@ac182deee8287 RISCV's
    global isel td file got split off to RISCVGISel.td, so handle that in
    libllvm's Makefile.

commit e27e76b
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 12:27:35 2023 +0100

    Cleanup removed files from libllvm.

commit fa84ac3
Author: Dimitry Andric <[email protected]>
Date:   Mon Dec 18 22:52:45 2023 +0100

    Update Makefile for llvm-tblgen.

commit d43e62d
Author: Dimitry Andric <[email protected]>
Date:   Mon Dec 18 22:40:01 2023 +0100

    Update FREEBSD-Xlist for llvm 18.

commit a3780ea
Author: Dimitry Andric <[email protected]>
Date:   Mon Dec 18 22:38:45 2023 +0100

    Bump llvm-project numbers from 17.0.6 to 18.0.0.

commit 5d469ef
Merge: 8758bf0 312c0ed
Author: Dimitry Andric <[email protected]>
Date:   Mon Dec 18 21:30:12 2023 +0100

    Merge llvm-project main llvmorg-18-init-15088-gd14ee76181fb

    This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
    openmp to llvm-project main llvmorg-18-init-15088-gd14ee76181fb.

    PR:		276104
    MFC after:	1 month

commit 4fdf604
Author: Dimitry Andric <[email protected]>
Date:   Wed Feb 7 15:37:28 2024 +0100

    Vendor import of llvm-project branch release/18.x llvmorg-18.1.0-rc2-0-gc6c86965d967.

commit 2d835ae
Author: Dimitry Andric <[email protected]>
Date:   Thu Jan 25 19:03:34 2024 +0100

    Vendor import of llvm-project branch release/18.x llvmorg-18-init-18361-g22683463740e.

commit 4df029c
Author: Dimitry Andric <[email protected]>
Date:   Wed Jan 24 20:11:41 2024 +0100

    Vendor import of llvm-project main llvmorg-18-init-18359-g93248729cfae,
    the last commit before the upstream release/18.x branch was created.

commit 950076c
Author: Dimitry Andric <[email protected]>
Date:   Thu Jan 11 19:24:21 2024 +0100

    Vendor import of llvm-project main llvmorg-18-init-16864-g3b3ee1f53424.

commit aca2e42
Author: Dimitry Andric <[email protected]>
Date:   Tue Jan 9 20:58:18 2024 +0100

    Vendor import of llvm-project main llvmorg-18-init-16595-g7c00a5be5cde.

commit 77dbea0
Author: Dimitry Andric <[email protected]>
Date:   Wed Jan 3 17:57:07 2024 +0100

    Vendor import of llvm-project main llvmorg-18-init-16003-gfc5f51cf5af4.

commit 99aabd7
Author: Dimitry Andric <[email protected]>
Date:   Mon Dec 25 14:49:57 2023 +0100

    Vendor import of llvm-project main llvmorg-18-init-15692-g007ed0dccd6a.

commit 312c0ed
Author: Dimitry Andric <[email protected]>
Date:   Sun Dec 17 21:41:09 2023 +0100

    Vendor import of llvm-project main llvmorg-18-init-15088-gd14ee76181fb.

commit b1c7353
Author: Dimitry Andric <[email protected]>
Date:   Sat Dec 9 14:28:42 2023 +0100

    Vendor import of llvm-project main llvmorg-18-init-14265-ga17671084db1.
DimitryAndric added a commit to DimitryAndric/freebsd-src that referenced this pull request Mar 19, 2024
  [libcxx] Re-include <osreldate.h> in __config for FreeBSD

  In 0a97720d0197 some changes were made to `__config` for assuming that
  `__BYTE_ORDER__` is always present.

  However, this deleted a `<osreldate.h>` include for FreeBSD, which is
  required to get the value of `__FreeBSD_version`, and that is used later
  in the file to determine whether `_LIBCPP_C_HAS_NO_GETS` needs to be
  enabled.

  Include `<osreldate.h>` just after the other includes used for feature
  detection, to fix this.

  Note that when FreeBSD 13 is EOLed, this can be removed, as then all
  supported FreeBSD versions will no longer have `gets()`.
emaste added a commit to emaste/freebsd that referenced this pull request Mar 19, 2024
commit a7fb520
Author: Dimitry Andric <[email protected]>
Date:   Wed Feb 7 22:50:52 2024 +0100

    Update libllvm for new RISCVGenMacroFusion.inc tblgen header.

commit 92e38d7
Author: Dimitry Andric <[email protected]>
Date:   Wed Feb 7 19:01:09 2024 +0100

    Update libllvm for removed file.

commit 1f05b14
Author: Dimitry Andric <[email protected]>
Date:   Wed Feb 7 16:59:11 2024 +0100

    Bump llvm-project version numbers to llvmorg-18.1.0-rc2-0-gc6c86965d967.

commit dd2f072
Merge: 024a010 4fdf604
Author: Dimitry Andric <[email protected]>
Date:   Wed Feb 7 15:58:02 2024 +0100

    Merge llvm-project release/18.x llvmorg-18.1.0-rc2-0-gc6c86965d967

    This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
    openmp to llvm-project release/18.x llvmorg-18.1.0-rc2-0-gc6c86965d967.

    PR:		276104
    MFC after:	1 month

commit 024a010
Author: Dimitry Andric <[email protected]>
Date:   Mon Feb 5 12:41:51 2024 +0100

    [libc++] Rename __bit_reference template parameter to avoid conflict

    As of 4d20cfcf4eb08217ed37c4d4c38dc395d7a66d26, `__bit_reference`
    contains a template `__fill_n` with a bool `_FillValue` parameter.

    Unfortunately there is a relatively widely used piece of scientific
    software called NetCDF, which exposes a (C) macro `_FillValue` in its
    public headers.

    When building the NetCDF C++ bindings, this quickly leads to compilation
    errors when the macro interferes with the template in `__bit_reference`.

    Rename the parameter to `_FillVal` to avoid the conflict.

commit 4721947
Author: Dimitry Andric <[email protected]>
Date:   Mon Feb 5 10:16:17 2024 +0100

    Merge commit 5f4ee5a2dfa9 from llvm-project (by Shanzhi):

      [Clang][AST] Fix a crash on attaching doc comments (#78716)

      This crash is basically caused by calling
      `ASTContext::getRawCommentForDeclNoCacheImp` with its input arguments
      `RepresentativeLocForDecl` and `CommentsInTheFile` refering to different
      files. A reduced reproducer is provided in this patch.

      After the source locations for instantiations of funtion template are
      corrected in the commit 256a0b298c68b89688b80350b034daf2f7785b67, the
      variable `CommitsInThisFile` in the function
      `ASTContext::attachCommentsToJustParsedDecls` would refer to the source
      file rather than the header file for implicit function template
      instantiation. Therefore, in the first loop in
      `ASTContext::attachCommentsToJustParsedDecls`, `D` should also be
      adjusted for relevant scenarios like the second loop.

      Fixes #67979
      Fixes #68524
      Fixes #70550

    This should fix a segfault when compiling graphics/gdal.

commit d4389cf
Author: Dimitry Andric <[email protected]>
Date:   Sun Jan 28 21:34:42 2024 +0100

    Merge commit 6e4930c67508 from llvm-project (by Alexander Kornienko):

      Revert "[SemaCXX] Implement CWG2137 (list-initialization from objects of the same type) (#77768)"

      This reverts commit 924701311aa79180e86ad8ce43d253f27d25ec7d. Causes compilation
      errors on valid code, see
      llvm/llvm-project#77768 (comment).

commit 638a121
Author: Dimitry Andric <[email protected]>
Date:   Fri Jan 26 16:21:16 2024 +0100

    Bump llvm-project version numbers to llvmorg-18-init-18361-g22683463740e (and 18.1.0).

commit fb7b27d
Merge: 2ed68de 2d835ae
Author: Dimitry Andric <[email protected]>
Date:   Fri Jan 26 16:04:14 2024 +0100

    Merge llvm-project release/18.x llvmorg-18-init-18361-g22683463740e

    This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
    openmp to llvm-project release/18.x llvmorg-18-init-18361-g22683463740e.

    PR:		276104
    MFC after:	1 month

commit 2ed68de
Author: Dimitry Andric <[email protected]>
Date:   Fri Jan 26 16:03:20 2024 +0100

    Tentatively apply libcxxrt/libcxxrt#27.

commit a0cf20a
Author: Dimitry Andric <[email protected]>
Date:   Fri Jan 26 16:02:51 2024 +0100

    libc++: use build defines and flags similar to upstream.

commit 66f3903
Author: Dimitry Andric <[email protected]>
Date:   Thu Jan 25 09:27:12 2024 +0100

    Add one more header to libc++.

commit ddf7238
Author: Dimitry Andric <[email protected]>
Date:   Thu Jan 25 00:39:43 2024 +0100

    Update libclang, libllvm, llc and lli Makefiles.

commit e025714
Author: Dimitry Andric <[email protected]>
Date:   Wed Jan 24 20:35:46 2024 +0100

    Update libc++ generated files, and add __assertion_handler.

commit e7cb0e2
Author: Dimitry Andric <[email protected]>
Date:   Wed Jan 24 20:31:39 2024 +0100

    Bump llvm-project version numbers to llvmorg-18-init-18359-g93248729cfae.

commit efd9603
Author: Dimitry Andric <[email protected]>
Date:   Wed Jan 24 20:23:36 2024 +0100

    Update contrib/llvm-project/FREEBSD-Xlist.

commit 550d813
Merge: 74464e8 4df029c
Author: Dimitry Andric <[email protected]>
Date:   Wed Jan 24 20:17:23 2024 +0100

    Merge llvm-project main llvmorg-18-init-18359-g93248729cfae

    This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
    openmp to llvm-project main llvmorg-18-init-18359-g93248729cfae, the
    last commit before the upstream release/18.x branch was created.

    PR:		276104
    MFC after:	1 month

commit 74464e8
Author: Dimitry Andric <[email protected]>
Date:   Mon Jan 15 00:18:22 2024 +0100

    Tabify libc++ Makefile.

commit 1fbb16e
Author: Dimitry Andric <[email protected]>
Date:   Sun Jan 14 14:20:42 2024 +0100

    Redo libc++ customizations:
    * Remove osreldate include because _LIBCPP_HAS_NO_GETS has disappeared
    * Instead, add direct major __FreeBSD__ check for using ::gets declaration
    * Mark EINTEGRITY values as FreeBSD customization
    * Reformat _LIBCPP_TYPE_VISIBILITY_DEFAULT customization

commit f6cfebe
Author: Dimitry Andric <[email protected]>
Date:   Fri Jan 12 14:47:52 2024 +0100

    Update libc++ module.modulemap.

commit 2c45cec
Author: Dimitry Andric <[email protected]>
Date:   Fri Jan 12 10:57:07 2024 +0100

    Fixup libllvm Makefile for DWARFLinker stuff being moved around.

commit 1f35f87
Author: Dimitry Andric <[email protected]>
Date:   Thu Jan 11 19:30:38 2024 +0100

    Bump llvm-project version numbers to llvmorg-18-init-16864-g3b3ee1f53424.

commit 7b02ddb
Merge: 6ec4eed 950076c
Author: Dimitry Andric <[email protected]>
Date:   Thu Jan 11 19:29:01 2024 +0100

    Merge llvm-project main llvmorg-18-init-16864-g3b3ee1f53424

    This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
    openmp to llvm-project main llvmorg-18-init-16864-g3b3ee1f53424.

    PR:		276104
    MFC after:	1 month

commit 6ec4eed
Author: Dimitry Andric <[email protected]>
Date:   Thu Jan 11 14:49:11 2024 +0100

    Update libllvm and llvm-tblgen Makefiles.

commit b861bf2
Author: Dimitry Andric <[email protected]>
Date:   Thu Jan 11 14:48:50 2024 +0100

    Bump llvm-project version numbers to llvmorg-18-init-16595-g7c00a5be5cde.

commit 42aaf55
Merge: c8faa43 aca2e42
Author: Dimitry Andric <[email protected]>
Date:   Tue Jan 9 21:00:28 2024 +0100

    Merge llvm-project main llvmorg-18-init-16595-g7c00a5be5cde

    This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
    openmp to llvm-project main llvmorg-18-init-16595-g7c00a5be5cde.

    PR:		276104
    MFC after:	1 month

commit c8faa43
Author: Dimitry Andric <[email protected]>
Date:   Sun Jan 7 17:03:13 2024 +0100

    Tentatively merge llvm/llvm-project#77242:

      [libcxx] Re-include <osreldate.h> in __config for FreeBSD

      In 0a97720d0197 some changes were made to `__config` for assuming that
      `__BYTE_ORDER__` is always present.

      However, this deleted a `<osreldate.h>` include for FreeBSD, which is
      required to get the value of `__FreeBSD_version`, and that is used later
      in the file to determine whether `_LIBCPP_C_HAS_NO_GETS` needs to be
      enabled.

      Include `<osreldate.h>` just after the other includes used for feature
      detection, to fix this.

      Note that when FreeBSD 13 is EOLed, this can be removed, as then all
      supported FreeBSD versions will no longer have `gets()`.

commit 9db148e
Author: Dimitry Andric <[email protected]>
Date:   Sun Jan 7 12:32:29 2024 +0100

    Add two FreeBSD customizations to libc++, to better support ports usage
    of older clang versions:
    * Add _LIBCPP_ENABLE_COMPILER_VERSION_CHECKS block around compiler
      version checks, to avoid any warnings about support. This makes some
      ports that use -Werror fall over.
    * When using clang < 15.0, avoid using a type visibility attribute on
      the std namespace, as older versions of clang do not support this.

commit ab1dc4a
Author: Dimitry Andric <[email protected]>
Date:   Sun Jan 7 12:28:35 2024 +0100

    Fix up ObsoleteFiles entries for libc++.

commit 626eed6
Author: Dimitry Andric <[email protected]>
Date:   Sat Jan 6 20:55:41 2024 +0100

    Add more clang 17 ObsoleteFiles entries.

commit d23764d
Author: Dimitry Andric <[email protected]>
Date:   Wed Jan 3 20:35:30 2024 +0100

    Add files needed for lldb FreeBSD-Kernel DynamicLoader.

commit 7656fbd
Author: Dimitry Andric <[email protected]>
Date:   Wed Jan 3 19:22:03 2024 +0100

    Bump llvm-project version numbers to llvmorg-18-init-16003-gfc5f51cf5af4.

commit 9739ebd
Merge: b8840b4 77dbea0
Author: Dimitry Andric <[email protected]>
Date:   Wed Jan 3 19:04:11 2024 +0100

    Merge llvm-project main llvmorg-18-init-16003-gfc5f51cf5af4

    This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
    openmp to llvm-project main llvmorg-18-init-16003-gfc5f51cf5af4.

    PR:		276104
    MFC after:	1 month

commit b8840b4
Author: Dimitry Andric <[email protected]>
Date:   Tue Jan 2 17:09:41 2024 +0100

    compiler-rt builtins: move 80-bit long double functions into their own
    block, only enabling it for x86, and add more 128-bit quad functions.

commit b3086e6
Author: Dimitry Andric <[email protected]>
Date:   Tue Jan 2 17:07:31 2024 +0100

    Revert upstream commit 0e46b49de433:

      Reapply "RegisterCoalescer: Add implicit-def of super register when coalescing SUBREG_TO_REG"

      This reverts commit c398fa009a47eb24f88383d5e911e59e70f8db86.

      PPC backend was fixed in 2f82662ce901c6666fceb9c6c5e0de216a1c9667

    Since it causes an assertion failure building /sys/dev/fb/vga.c:
    llvm/llvm-project#76416

commit c71a0fe
Author: Dimitry Andric <[email protected]>
Date:   Mon Jan 1 18:58:15 2024 +0100

    Apply llvmorg-18-init-15846-g953ae94149f0.

commit fab14fd
Author: Dimitry Andric <[email protected]>
Date:   Mon Dec 25 19:20:33 2023 +0100

    Add new files and remove deleted files from various Makefiles.

commit 5d05e48
Author: Dimitry Andric <[email protected]>
Date:   Mon Dec 25 18:50:08 2023 +0100

    Bump llvm-project version numbers to llvmorg-18-init-15692-g007ed0dccd6a.

commit 678f56a
Merge: 5f710e3 99aabd7
Author: Dimitry Andric <[email protected]>
Date:   Mon Dec 25 18:35:41 2023 +0100

    Merge llvm-project main llvmorg-18-init-15692-g007ed0dccd6a

    This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
    openmp to llvm-project main llvmorg-18-init-15692-g007ed0dccd6a.

    PR:		276104
    MFC after:	1 month

commit 5f710e3
Author: Dimitry Andric <[email protected]>
Date:   Thu Dec 21 23:30:02 2023 +0100

    Tentatively apply llvm/llvm-project#76175, to
    fix libsa including compiler-rt builtins.

commit bfd4f0d
Author: Dimitry Andric <[email protected]>
Date:   Thu Dec 21 16:56:34 2023 +0100

    Add several new builtins to compiler-rt, and enable quad support for amd64.

commit 60b6608
Author: Dimitry Andric <[email protected]>
Date:   Thu Dec 21 14:47:43 2023 +0100

    Use -Wno-vla-cxx-extension for libomp, since clang 18 complains.

commit b051bbb
Author: Dimitry Andric <[email protected]>
Date:   Wed Dec 20 23:05:48 2023 +0100

    Update libomp generated headers.

commit 98d0e7c
Author: Dimitry Andric <[email protected]>
Date:   Wed Dec 20 23:00:26 2023 +0100

    Update libclang_rt makefiles.

commit a08a308
Author: Dimitry Andric <[email protected]>
Date:   Wed Dec 20 21:41:18 2023 +0100

    Update build glue for libc++.

commit 326d983
Author: Dimitry Andric <[email protected]>
Date:   Wed Dec 20 19:47:22 2023 +0100

    Fix up clang version in lib/libclang_rt/compiler-rt-vars.mk.

commit 325ba5b
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 23:43:32 2023 +0100

    Update build glue to build lldb.

commit 612cd33
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 21:54:32 2023 +0100

    Regenerate lib/clang/liblldb/LLDBWrapLua.cpp.

commit 12d2341
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 21:48:16 2023 +0100

    Update build glue to build llvm extra tools.

commit bd80bb1
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 20:10:38 2023 +0100

    Update build glue to build full clang (with static analyzer).

commit 0e60a9e
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 19:30:46 2023 +0100

    Update build glue to build default llvm tools for world.

commit 1e1229d
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 17:40:08 2023 +0100

    Add new files to libclang, and re-sort.

commit 80bc357
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 17:40:00 2023 +0100

    Add new files to libllvm, and re-sort.

commit 220597d
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 15:37:31 2023 +0100

    Add newly introduced .inc files to libclang.

commit daeeb74
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 15:37:11 2023 +0100

    Cleanup removed files from libclang.

commit 69a6c58
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 12:34:00 2023 +0100

    After llvm/llvm-project@ac182deee8287 RISCV's
    global isel td file got split off to RISCVGISel.td, so handle that in
    libllvm's Makefile.

commit e27e76b
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 12:27:35 2023 +0100

    Cleanup removed files from libllvm.

commit fa84ac3
Author: Dimitry Andric <[email protected]>
Date:   Mon Dec 18 22:52:45 2023 +0100

    Update Makefile for llvm-tblgen.

commit d43e62d
Author: Dimitry Andric <[email protected]>
Date:   Mon Dec 18 22:40:01 2023 +0100

    Update FREEBSD-Xlist for llvm 18.

commit a3780ea
Author: Dimitry Andric <[email protected]>
Date:   Mon Dec 18 22:38:45 2023 +0100

    Bump llvm-project numbers from 17.0.6 to 18.0.0.

commit 5d469ef
Merge: 8758bf0 312c0ed
Author: Dimitry Andric <[email protected]>
Date:   Mon Dec 18 21:30:12 2023 +0100

    Merge llvm-project main llvmorg-18-init-15088-gd14ee76181fb

    This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
    openmp to llvm-project main llvmorg-18-init-15088-gd14ee76181fb.

    PR:		276104
    MFC after:	1 month

commit 4fdf604
Author: Dimitry Andric <[email protected]>
Date:   Wed Feb 7 15:37:28 2024 +0100

    Vendor import of llvm-project branch release/18.x llvmorg-18.1.0-rc2-0-gc6c86965d967.

commit 2d835ae
Author: Dimitry Andric <[email protected]>
Date:   Thu Jan 25 19:03:34 2024 +0100

    Vendor import of llvm-project branch release/18.x llvmorg-18-init-18361-g22683463740e.

commit 4df029c
Author: Dimitry Andric <[email protected]>
Date:   Wed Jan 24 20:11:41 2024 +0100

    Vendor import of llvm-project main llvmorg-18-init-18359-g93248729cfae,
    the last commit before the upstream release/18.x branch was created.

commit 950076c
Author: Dimitry Andric <[email protected]>
Date:   Thu Jan 11 19:24:21 2024 +0100

    Vendor import of llvm-project main llvmorg-18-init-16864-g3b3ee1f53424.

commit aca2e42
Author: Dimitry Andric <[email protected]>
Date:   Tue Jan 9 20:58:18 2024 +0100

    Vendor import of llvm-project main llvmorg-18-init-16595-g7c00a5be5cde.

commit 77dbea0
Author: Dimitry Andric <[email protected]>
Date:   Wed Jan 3 17:57:07 2024 +0100

    Vendor import of llvm-project main llvmorg-18-init-16003-gfc5f51cf5af4.

commit 99aabd7
Author: Dimitry Andric <[email protected]>
Date:   Mon Dec 25 14:49:57 2023 +0100

    Vendor import of llvm-project main llvmorg-18-init-15692-g007ed0dccd6a.

commit 312c0ed
Author: Dimitry Andric <[email protected]>
Date:   Sun Dec 17 21:41:09 2023 +0100

    Vendor import of llvm-project main llvmorg-18-init-15088-gd14ee76181fb.

commit b1c7353
Author: Dimitry Andric <[email protected]>
Date:   Sat Dec 9 14:28:42 2023 +0100

    Vendor import of llvm-project main llvmorg-18-init-14265-ga17671084db1.
DimitryAndric added a commit to DimitryAndric/freebsd-src that referenced this pull request Mar 21, 2024
  [libcxx] Re-include <osreldate.h> in __config for FreeBSD

  In 0a97720d0197 some changes were made to `__config` for assuming that
  `__BYTE_ORDER__` is always present.

  However, this deleted a `<osreldate.h>` include for FreeBSD, which is
  required to get the value of `__FreeBSD_version`, and that is used later
  in the file to determine whether `_LIBCPP_C_HAS_NO_GETS` needs to be
  enabled.

  Include `<osreldate.h>` just after the other includes used for feature
  detection, to fix this.

  Note that when FreeBSD 13 is EOLed, this can be removed, as then all
  supported FreeBSD versions will no longer have `gets()`.
emaste added a commit to emaste/freebsd that referenced this pull request Mar 21, 2024
commit a7fb520
Author: Dimitry Andric <[email protected]>
Date:   Wed Feb 7 22:50:52 2024 +0100

    Update libllvm for new RISCVGenMacroFusion.inc tblgen header.

commit 92e38d7
Author: Dimitry Andric <[email protected]>
Date:   Wed Feb 7 19:01:09 2024 +0100

    Update libllvm for removed file.

commit 1f05b14
Author: Dimitry Andric <[email protected]>
Date:   Wed Feb 7 16:59:11 2024 +0100

    Bump llvm-project version numbers to llvmorg-18.1.0-rc2-0-gc6c86965d967.

commit dd2f072
Merge: 024a010 4fdf604
Author: Dimitry Andric <[email protected]>
Date:   Wed Feb 7 15:58:02 2024 +0100

    Merge llvm-project release/18.x llvmorg-18.1.0-rc2-0-gc6c86965d967

    This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
    openmp to llvm-project release/18.x llvmorg-18.1.0-rc2-0-gc6c86965d967.

    PR:		276104
    MFC after:	1 month

commit 024a010
Author: Dimitry Andric <[email protected]>
Date:   Mon Feb 5 12:41:51 2024 +0100

    [libc++] Rename __bit_reference template parameter to avoid conflict

    As of 4d20cfcf4eb08217ed37c4d4c38dc395d7a66d26, `__bit_reference`
    contains a template `__fill_n` with a bool `_FillValue` parameter.

    Unfortunately there is a relatively widely used piece of scientific
    software called NetCDF, which exposes a (C) macro `_FillValue` in its
    public headers.

    When building the NetCDF C++ bindings, this quickly leads to compilation
    errors when the macro interferes with the template in `__bit_reference`.

    Rename the parameter to `_FillVal` to avoid the conflict.

commit 4721947
Author: Dimitry Andric <[email protected]>
Date:   Mon Feb 5 10:16:17 2024 +0100

    Merge commit 5f4ee5a2dfa9 from llvm-project (by Shanzhi):

      [Clang][AST] Fix a crash on attaching doc comments (#78716)

      This crash is basically caused by calling
      `ASTContext::getRawCommentForDeclNoCacheImp` with its input arguments
      `RepresentativeLocForDecl` and `CommentsInTheFile` refering to different
      files. A reduced reproducer is provided in this patch.

      After the source locations for instantiations of funtion template are
      corrected in the commit 256a0b298c68b89688b80350b034daf2f7785b67, the
      variable `CommitsInThisFile` in the function
      `ASTContext::attachCommentsToJustParsedDecls` would refer to the source
      file rather than the header file for implicit function template
      instantiation. Therefore, in the first loop in
      `ASTContext::attachCommentsToJustParsedDecls`, `D` should also be
      adjusted for relevant scenarios like the second loop.

      Fixes #67979
      Fixes #68524
      Fixes #70550

    This should fix a segfault when compiling graphics/gdal.

commit d4389cf
Author: Dimitry Andric <[email protected]>
Date:   Sun Jan 28 21:34:42 2024 +0100

    Merge commit 6e4930c67508 from llvm-project (by Alexander Kornienko):

      Revert "[SemaCXX] Implement CWG2137 (list-initialization from objects of the same type) (#77768)"

      This reverts commit 924701311aa79180e86ad8ce43d253f27d25ec7d. Causes compilation
      errors on valid code, see
      llvm/llvm-project#77768 (comment).

commit 638a121
Author: Dimitry Andric <[email protected]>
Date:   Fri Jan 26 16:21:16 2024 +0100

    Bump llvm-project version numbers to llvmorg-18-init-18361-g22683463740e (and 18.1.0).

commit fb7b27d
Merge: 2ed68de 2d835ae
Author: Dimitry Andric <[email protected]>
Date:   Fri Jan 26 16:04:14 2024 +0100

    Merge llvm-project release/18.x llvmorg-18-init-18361-g22683463740e

    This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
    openmp to llvm-project release/18.x llvmorg-18-init-18361-g22683463740e.

    PR:		276104
    MFC after:	1 month

commit 2ed68de
Author: Dimitry Andric <[email protected]>
Date:   Fri Jan 26 16:03:20 2024 +0100

    Tentatively apply libcxxrt/libcxxrt#27.

commit a0cf20a
Author: Dimitry Andric <[email protected]>
Date:   Fri Jan 26 16:02:51 2024 +0100

    libc++: use build defines and flags similar to upstream.

commit 66f3903
Author: Dimitry Andric <[email protected]>
Date:   Thu Jan 25 09:27:12 2024 +0100

    Add one more header to libc++.

commit ddf7238
Author: Dimitry Andric <[email protected]>
Date:   Thu Jan 25 00:39:43 2024 +0100

    Update libclang, libllvm, llc and lli Makefiles.

commit e025714
Author: Dimitry Andric <[email protected]>
Date:   Wed Jan 24 20:35:46 2024 +0100

    Update libc++ generated files, and add __assertion_handler.

commit e7cb0e2
Author: Dimitry Andric <[email protected]>
Date:   Wed Jan 24 20:31:39 2024 +0100

    Bump llvm-project version numbers to llvmorg-18-init-18359-g93248729cfae.

commit efd9603
Author: Dimitry Andric <[email protected]>
Date:   Wed Jan 24 20:23:36 2024 +0100

    Update contrib/llvm-project/FREEBSD-Xlist.

commit 550d813
Merge: 74464e8 4df029c
Author: Dimitry Andric <[email protected]>
Date:   Wed Jan 24 20:17:23 2024 +0100

    Merge llvm-project main llvmorg-18-init-18359-g93248729cfae

    This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
    openmp to llvm-project main llvmorg-18-init-18359-g93248729cfae, the
    last commit before the upstream release/18.x branch was created.

    PR:		276104
    MFC after:	1 month

commit 74464e8
Author: Dimitry Andric <[email protected]>
Date:   Mon Jan 15 00:18:22 2024 +0100

    Tabify libc++ Makefile.

commit 1fbb16e
Author: Dimitry Andric <[email protected]>
Date:   Sun Jan 14 14:20:42 2024 +0100

    Redo libc++ customizations:
    * Remove osreldate include because _LIBCPP_HAS_NO_GETS has disappeared
    * Instead, add direct major __FreeBSD__ check for using ::gets declaration
    * Mark EINTEGRITY values as FreeBSD customization
    * Reformat _LIBCPP_TYPE_VISIBILITY_DEFAULT customization

commit f6cfebe
Author: Dimitry Andric <[email protected]>
Date:   Fri Jan 12 14:47:52 2024 +0100

    Update libc++ module.modulemap.

commit 2c45cec
Author: Dimitry Andric <[email protected]>
Date:   Fri Jan 12 10:57:07 2024 +0100

    Fixup libllvm Makefile for DWARFLinker stuff being moved around.

commit 1f35f87
Author: Dimitry Andric <[email protected]>
Date:   Thu Jan 11 19:30:38 2024 +0100

    Bump llvm-project version numbers to llvmorg-18-init-16864-g3b3ee1f53424.

commit 7b02ddb
Merge: 6ec4eed 950076c
Author: Dimitry Andric <[email protected]>
Date:   Thu Jan 11 19:29:01 2024 +0100

    Merge llvm-project main llvmorg-18-init-16864-g3b3ee1f53424

    This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
    openmp to llvm-project main llvmorg-18-init-16864-g3b3ee1f53424.

    PR:		276104
    MFC after:	1 month

commit 6ec4eed
Author: Dimitry Andric <[email protected]>
Date:   Thu Jan 11 14:49:11 2024 +0100

    Update libllvm and llvm-tblgen Makefiles.

commit b861bf2
Author: Dimitry Andric <[email protected]>
Date:   Thu Jan 11 14:48:50 2024 +0100

    Bump llvm-project version numbers to llvmorg-18-init-16595-g7c00a5be5cde.

commit 42aaf55
Merge: c8faa43 aca2e42
Author: Dimitry Andric <[email protected]>
Date:   Tue Jan 9 21:00:28 2024 +0100

    Merge llvm-project main llvmorg-18-init-16595-g7c00a5be5cde

    This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
    openmp to llvm-project main llvmorg-18-init-16595-g7c00a5be5cde.

    PR:		276104
    MFC after:	1 month

commit c8faa43
Author: Dimitry Andric <[email protected]>
Date:   Sun Jan 7 17:03:13 2024 +0100

    Tentatively merge llvm/llvm-project#77242:

      [libcxx] Re-include <osreldate.h> in __config for FreeBSD

      In 0a97720d0197 some changes were made to `__config` for assuming that
      `__BYTE_ORDER__` is always present.

      However, this deleted a `<osreldate.h>` include for FreeBSD, which is
      required to get the value of `__FreeBSD_version`, and that is used later
      in the file to determine whether `_LIBCPP_C_HAS_NO_GETS` needs to be
      enabled.

      Include `<osreldate.h>` just after the other includes used for feature
      detection, to fix this.

      Note that when FreeBSD 13 is EOLed, this can be removed, as then all
      supported FreeBSD versions will no longer have `gets()`.

commit 9db148e
Author: Dimitry Andric <[email protected]>
Date:   Sun Jan 7 12:32:29 2024 +0100

    Add two FreeBSD customizations to libc++, to better support ports usage
    of older clang versions:
    * Add _LIBCPP_ENABLE_COMPILER_VERSION_CHECKS block around compiler
      version checks, to avoid any warnings about support. This makes some
      ports that use -Werror fall over.
    * When using clang < 15.0, avoid using a type visibility attribute on
      the std namespace, as older versions of clang do not support this.

commit ab1dc4a
Author: Dimitry Andric <[email protected]>
Date:   Sun Jan 7 12:28:35 2024 +0100

    Fix up ObsoleteFiles entries for libc++.

commit 626eed6
Author: Dimitry Andric <[email protected]>
Date:   Sat Jan 6 20:55:41 2024 +0100

    Add more clang 17 ObsoleteFiles entries.

commit d23764d
Author: Dimitry Andric <[email protected]>
Date:   Wed Jan 3 20:35:30 2024 +0100

    Add files needed for lldb FreeBSD-Kernel DynamicLoader.

commit 7656fbd
Author: Dimitry Andric <[email protected]>
Date:   Wed Jan 3 19:22:03 2024 +0100

    Bump llvm-project version numbers to llvmorg-18-init-16003-gfc5f51cf5af4.

commit 9739ebd
Merge: b8840b4 77dbea0
Author: Dimitry Andric <[email protected]>
Date:   Wed Jan 3 19:04:11 2024 +0100

    Merge llvm-project main llvmorg-18-init-16003-gfc5f51cf5af4

    This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
    openmp to llvm-project main llvmorg-18-init-16003-gfc5f51cf5af4.

    PR:		276104
    MFC after:	1 month

commit b8840b4
Author: Dimitry Andric <[email protected]>
Date:   Tue Jan 2 17:09:41 2024 +0100

    compiler-rt builtins: move 80-bit long double functions into their own
    block, only enabling it for x86, and add more 128-bit quad functions.

commit b3086e6
Author: Dimitry Andric <[email protected]>
Date:   Tue Jan 2 17:07:31 2024 +0100

    Revert upstream commit 0e46b49de433:

      Reapply "RegisterCoalescer: Add implicit-def of super register when coalescing SUBREG_TO_REG"

      This reverts commit c398fa009a47eb24f88383d5e911e59e70f8db86.

      PPC backend was fixed in 2f82662ce901c6666fceb9c6c5e0de216a1c9667

    Since it causes an assertion failure building /sys/dev/fb/vga.c:
    llvm/llvm-project#76416

commit c71a0fe
Author: Dimitry Andric <[email protected]>
Date:   Mon Jan 1 18:58:15 2024 +0100

    Apply llvmorg-18-init-15846-g953ae94149f0.

commit fab14fd
Author: Dimitry Andric <[email protected]>
Date:   Mon Dec 25 19:20:33 2023 +0100

    Add new files and remove deleted files from various Makefiles.

commit 5d05e48
Author: Dimitry Andric <[email protected]>
Date:   Mon Dec 25 18:50:08 2023 +0100

    Bump llvm-project version numbers to llvmorg-18-init-15692-g007ed0dccd6a.

commit 678f56a
Merge: 5f710e3 99aabd7
Author: Dimitry Andric <[email protected]>
Date:   Mon Dec 25 18:35:41 2023 +0100

    Merge llvm-project main llvmorg-18-init-15692-g007ed0dccd6a

    This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
    openmp to llvm-project main llvmorg-18-init-15692-g007ed0dccd6a.

    PR:		276104
    MFC after:	1 month

commit 5f710e3
Author: Dimitry Andric <[email protected]>
Date:   Thu Dec 21 23:30:02 2023 +0100

    Tentatively apply llvm/llvm-project#76175, to
    fix libsa including compiler-rt builtins.

commit bfd4f0d
Author: Dimitry Andric <[email protected]>
Date:   Thu Dec 21 16:56:34 2023 +0100

    Add several new builtins to compiler-rt, and enable quad support for amd64.

commit 60b6608
Author: Dimitry Andric <[email protected]>
Date:   Thu Dec 21 14:47:43 2023 +0100

    Use -Wno-vla-cxx-extension for libomp, since clang 18 complains.

commit b051bbb
Author: Dimitry Andric <[email protected]>
Date:   Wed Dec 20 23:05:48 2023 +0100

    Update libomp generated headers.

commit 98d0e7c
Author: Dimitry Andric <[email protected]>
Date:   Wed Dec 20 23:00:26 2023 +0100

    Update libclang_rt makefiles.

commit a08a308
Author: Dimitry Andric <[email protected]>
Date:   Wed Dec 20 21:41:18 2023 +0100

    Update build glue for libc++.

commit 326d983
Author: Dimitry Andric <[email protected]>
Date:   Wed Dec 20 19:47:22 2023 +0100

    Fix up clang version in lib/libclang_rt/compiler-rt-vars.mk.

commit 325ba5b
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 23:43:32 2023 +0100

    Update build glue to build lldb.

commit 612cd33
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 21:54:32 2023 +0100

    Regenerate lib/clang/liblldb/LLDBWrapLua.cpp.

commit 12d2341
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 21:48:16 2023 +0100

    Update build glue to build llvm extra tools.

commit bd80bb1
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 20:10:38 2023 +0100

    Update build glue to build full clang (with static analyzer).

commit 0e60a9e
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 19:30:46 2023 +0100

    Update build glue to build default llvm tools for world.

commit 1e1229d
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 17:40:08 2023 +0100

    Add new files to libclang, and re-sort.

commit 80bc357
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 17:40:00 2023 +0100

    Add new files to libllvm, and re-sort.

commit 220597d
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 15:37:31 2023 +0100

    Add newly introduced .inc files to libclang.

commit daeeb74
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 15:37:11 2023 +0100

    Cleanup removed files from libclang.

commit 69a6c58
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 12:34:00 2023 +0100

    After llvm/llvm-project@ac182deee8287 RISCV's
    global isel td file got split off to RISCVGISel.td, so handle that in
    libllvm's Makefile.

commit e27e76b
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 12:27:35 2023 +0100

    Cleanup removed files from libllvm.

commit fa84ac3
Author: Dimitry Andric <[email protected]>
Date:   Mon Dec 18 22:52:45 2023 +0100

    Update Makefile for llvm-tblgen.

commit d43e62d
Author: Dimitry Andric <[email protected]>
Date:   Mon Dec 18 22:40:01 2023 +0100

    Update FREEBSD-Xlist for llvm 18.

commit a3780ea
Author: Dimitry Andric <[email protected]>
Date:   Mon Dec 18 22:38:45 2023 +0100

    Bump llvm-project numbers from 17.0.6 to 18.0.0.

commit 5d469ef
Merge: 8758bf0 312c0ed
Author: Dimitry Andric <[email protected]>
Date:   Mon Dec 18 21:30:12 2023 +0100

    Merge llvm-project main llvmorg-18-init-15088-gd14ee76181fb

    This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
    openmp to llvm-project main llvmorg-18-init-15088-gd14ee76181fb.

    PR:		276104
    MFC after:	1 month

commit 4fdf604
Author: Dimitry Andric <[email protected]>
Date:   Wed Feb 7 15:37:28 2024 +0100

    Vendor import of llvm-project branch release/18.x llvmorg-18.1.0-rc2-0-gc6c86965d967.

commit 2d835ae
Author: Dimitry Andric <[email protected]>
Date:   Thu Jan 25 19:03:34 2024 +0100

    Vendor import of llvm-project branch release/18.x llvmorg-18-init-18361-g22683463740e.

commit 4df029c
Author: Dimitry Andric <[email protected]>
Date:   Wed Jan 24 20:11:41 2024 +0100

    Vendor import of llvm-project main llvmorg-18-init-18359-g93248729cfae,
    the last commit before the upstream release/18.x branch was created.

commit 950076c
Author: Dimitry Andric <[email protected]>
Date:   Thu Jan 11 19:24:21 2024 +0100

    Vendor import of llvm-project main llvmorg-18-init-16864-g3b3ee1f53424.

commit aca2e42
Author: Dimitry Andric <[email protected]>
Date:   Tue Jan 9 20:58:18 2024 +0100

    Vendor import of llvm-project main llvmorg-18-init-16595-g7c00a5be5cde.

commit 77dbea0
Author: Dimitry Andric <[email protected]>
Date:   Wed Jan 3 17:57:07 2024 +0100

    Vendor import of llvm-project main llvmorg-18-init-16003-gfc5f51cf5af4.

commit 99aabd7
Author: Dimitry Andric <[email protected]>
Date:   Mon Dec 25 14:49:57 2023 +0100

    Vendor import of llvm-project main llvmorg-18-init-15692-g007ed0dccd6a.

commit 312c0ed
Author: Dimitry Andric <[email protected]>
Date:   Sun Dec 17 21:41:09 2023 +0100

    Vendor import of llvm-project main llvmorg-18-init-15088-gd14ee76181fb.

commit b1c7353
Author: Dimitry Andric <[email protected]>
Date:   Sat Dec 9 14:28:42 2023 +0100

    Vendor import of llvm-project main llvmorg-18-init-14265-ga17671084db1.
DimitryAndric added a commit to DimitryAndric/freebsd-src that referenced this pull request Mar 21, 2024
  [libcxx] Re-include <osreldate.h> in __config for FreeBSD

  In 0a97720d0197 some changes were made to `__config` for assuming that
  `__BYTE_ORDER__` is always present.

  However, this deleted a `<osreldate.h>` include for FreeBSD, which is
  required to get the value of `__FreeBSD_version`, and that is used later
  in the file to determine whether `_LIBCPP_C_HAS_NO_GETS` needs to be
  enabled.

  Include `<osreldate.h>` just after the other includes used for feature
  detection, to fix this.

  Note that when FreeBSD 13 is EOLed, this can be removed, as then all
  supported FreeBSD versions will no longer have `gets()`.
emaste added a commit to emaste/freebsd that referenced this pull request Mar 22, 2024
commit a7fb520
Author: Dimitry Andric <[email protected]>
Date:   Wed Feb 7 22:50:52 2024 +0100

    Update libllvm for new RISCVGenMacroFusion.inc tblgen header.

commit 92e38d7
Author: Dimitry Andric <[email protected]>
Date:   Wed Feb 7 19:01:09 2024 +0100

    Update libllvm for removed file.

commit 1f05b14
Author: Dimitry Andric <[email protected]>
Date:   Wed Feb 7 16:59:11 2024 +0100

    Bump llvm-project version numbers to llvmorg-18.1.0-rc2-0-gc6c86965d967.

commit dd2f072
Merge: 024a010 4fdf604
Author: Dimitry Andric <[email protected]>
Date:   Wed Feb 7 15:58:02 2024 +0100

    Merge llvm-project release/18.x llvmorg-18.1.0-rc2-0-gc6c86965d967

    This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
    openmp to llvm-project release/18.x llvmorg-18.1.0-rc2-0-gc6c86965d967.

    PR:		276104
    MFC after:	1 month

commit 024a010
Author: Dimitry Andric <[email protected]>
Date:   Mon Feb 5 12:41:51 2024 +0100

    [libc++] Rename __bit_reference template parameter to avoid conflict

    As of 4d20cfcf4eb08217ed37c4d4c38dc395d7a66d26, `__bit_reference`
    contains a template `__fill_n` with a bool `_FillValue` parameter.

    Unfortunately there is a relatively widely used piece of scientific
    software called NetCDF, which exposes a (C) macro `_FillValue` in its
    public headers.

    When building the NetCDF C++ bindings, this quickly leads to compilation
    errors when the macro interferes with the template in `__bit_reference`.

    Rename the parameter to `_FillVal` to avoid the conflict.

commit 4721947
Author: Dimitry Andric <[email protected]>
Date:   Mon Feb 5 10:16:17 2024 +0100

    Merge commit 5f4ee5a2dfa9 from llvm-project (by Shanzhi):

      [Clang][AST] Fix a crash on attaching doc comments (#78716)

      This crash is basically caused by calling
      `ASTContext::getRawCommentForDeclNoCacheImp` with its input arguments
      `RepresentativeLocForDecl` and `CommentsInTheFile` refering to different
      files. A reduced reproducer is provided in this patch.

      After the source locations for instantiations of funtion template are
      corrected in the commit 256a0b298c68b89688b80350b034daf2f7785b67, the
      variable `CommitsInThisFile` in the function
      `ASTContext::attachCommentsToJustParsedDecls` would refer to the source
      file rather than the header file for implicit function template
      instantiation. Therefore, in the first loop in
      `ASTContext::attachCommentsToJustParsedDecls`, `D` should also be
      adjusted for relevant scenarios like the second loop.

      Fixes #67979
      Fixes #68524
      Fixes #70550

    This should fix a segfault when compiling graphics/gdal.

commit d4389cf
Author: Dimitry Andric <[email protected]>
Date:   Sun Jan 28 21:34:42 2024 +0100

    Merge commit 6e4930c67508 from llvm-project (by Alexander Kornienko):

      Revert "[SemaCXX] Implement CWG2137 (list-initialization from objects of the same type) (#77768)"

      This reverts commit 924701311aa79180e86ad8ce43d253f27d25ec7d. Causes compilation
      errors on valid code, see
      llvm/llvm-project#77768 (comment).

commit 638a121
Author: Dimitry Andric <[email protected]>
Date:   Fri Jan 26 16:21:16 2024 +0100

    Bump llvm-project version numbers to llvmorg-18-init-18361-g22683463740e (and 18.1.0).

commit fb7b27d
Merge: 2ed68de 2d835ae
Author: Dimitry Andric <[email protected]>
Date:   Fri Jan 26 16:04:14 2024 +0100

    Merge llvm-project release/18.x llvmorg-18-init-18361-g22683463740e

    This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
    openmp to llvm-project release/18.x llvmorg-18-init-18361-g22683463740e.

    PR:		276104
    MFC after:	1 month

commit 2ed68de
Author: Dimitry Andric <[email protected]>
Date:   Fri Jan 26 16:03:20 2024 +0100

    Tentatively apply libcxxrt/libcxxrt#27.

commit a0cf20a
Author: Dimitry Andric <[email protected]>
Date:   Fri Jan 26 16:02:51 2024 +0100

    libc++: use build defines and flags similar to upstream.

commit 66f3903
Author: Dimitry Andric <[email protected]>
Date:   Thu Jan 25 09:27:12 2024 +0100

    Add one more header to libc++.

commit ddf7238
Author: Dimitry Andric <[email protected]>
Date:   Thu Jan 25 00:39:43 2024 +0100

    Update libclang, libllvm, llc and lli Makefiles.

commit e025714
Author: Dimitry Andric <[email protected]>
Date:   Wed Jan 24 20:35:46 2024 +0100

    Update libc++ generated files, and add __assertion_handler.

commit e7cb0e2
Author: Dimitry Andric <[email protected]>
Date:   Wed Jan 24 20:31:39 2024 +0100

    Bump llvm-project version numbers to llvmorg-18-init-18359-g93248729cfae.

commit efd9603
Author: Dimitry Andric <[email protected]>
Date:   Wed Jan 24 20:23:36 2024 +0100

    Update contrib/llvm-project/FREEBSD-Xlist.

commit 550d813
Merge: 74464e8 4df029c
Author: Dimitry Andric <[email protected]>
Date:   Wed Jan 24 20:17:23 2024 +0100

    Merge llvm-project main llvmorg-18-init-18359-g93248729cfae

    This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
    openmp to llvm-project main llvmorg-18-init-18359-g93248729cfae, the
    last commit before the upstream release/18.x branch was created.

    PR:		276104
    MFC after:	1 month

commit 74464e8
Author: Dimitry Andric <[email protected]>
Date:   Mon Jan 15 00:18:22 2024 +0100

    Tabify libc++ Makefile.

commit 1fbb16e
Author: Dimitry Andric <[email protected]>
Date:   Sun Jan 14 14:20:42 2024 +0100

    Redo libc++ customizations:
    * Remove osreldate include because _LIBCPP_HAS_NO_GETS has disappeared
    * Instead, add direct major __FreeBSD__ check for using ::gets declaration
    * Mark EINTEGRITY values as FreeBSD customization
    * Reformat _LIBCPP_TYPE_VISIBILITY_DEFAULT customization

commit f6cfebe
Author: Dimitry Andric <[email protected]>
Date:   Fri Jan 12 14:47:52 2024 +0100

    Update libc++ module.modulemap.

commit 2c45cec
Author: Dimitry Andric <[email protected]>
Date:   Fri Jan 12 10:57:07 2024 +0100

    Fixup libllvm Makefile for DWARFLinker stuff being moved around.

commit 1f35f87
Author: Dimitry Andric <[email protected]>
Date:   Thu Jan 11 19:30:38 2024 +0100

    Bump llvm-project version numbers to llvmorg-18-init-16864-g3b3ee1f53424.

commit 7b02ddb
Merge: 6ec4eed 950076c
Author: Dimitry Andric <[email protected]>
Date:   Thu Jan 11 19:29:01 2024 +0100

    Merge llvm-project main llvmorg-18-init-16864-g3b3ee1f53424

    This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
    openmp to llvm-project main llvmorg-18-init-16864-g3b3ee1f53424.

    PR:		276104
    MFC after:	1 month

commit 6ec4eed
Author: Dimitry Andric <[email protected]>
Date:   Thu Jan 11 14:49:11 2024 +0100

    Update libllvm and llvm-tblgen Makefiles.

commit b861bf2
Author: Dimitry Andric <[email protected]>
Date:   Thu Jan 11 14:48:50 2024 +0100

    Bump llvm-project version numbers to llvmorg-18-init-16595-g7c00a5be5cde.

commit 42aaf55
Merge: c8faa43 aca2e42
Author: Dimitry Andric <[email protected]>
Date:   Tue Jan 9 21:00:28 2024 +0100

    Merge llvm-project main llvmorg-18-init-16595-g7c00a5be5cde

    This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
    openmp to llvm-project main llvmorg-18-init-16595-g7c00a5be5cde.

    PR:		276104
    MFC after:	1 month

commit c8faa43
Author: Dimitry Andric <[email protected]>
Date:   Sun Jan 7 17:03:13 2024 +0100

    Tentatively merge llvm/llvm-project#77242:

      [libcxx] Re-include <osreldate.h> in __config for FreeBSD

      In 0a97720d0197 some changes were made to `__config` for assuming that
      `__BYTE_ORDER__` is always present.

      However, this deleted a `<osreldate.h>` include for FreeBSD, which is
      required to get the value of `__FreeBSD_version`, and that is used later
      in the file to determine whether `_LIBCPP_C_HAS_NO_GETS` needs to be
      enabled.

      Include `<osreldate.h>` just after the other includes used for feature
      detection, to fix this.

      Note that when FreeBSD 13 is EOLed, this can be removed, as then all
      supported FreeBSD versions will no longer have `gets()`.

commit 9db148e
Author: Dimitry Andric <[email protected]>
Date:   Sun Jan 7 12:32:29 2024 +0100

    Add two FreeBSD customizations to libc++, to better support ports usage
    of older clang versions:
    * Add _LIBCPP_ENABLE_COMPILER_VERSION_CHECKS block around compiler
      version checks, to avoid any warnings about support. This makes some
      ports that use -Werror fall over.
    * When using clang < 15.0, avoid using a type visibility attribute on
      the std namespace, as older versions of clang do not support this.

commit ab1dc4a
Author: Dimitry Andric <[email protected]>
Date:   Sun Jan 7 12:28:35 2024 +0100

    Fix up ObsoleteFiles entries for libc++.

commit 626eed6
Author: Dimitry Andric <[email protected]>
Date:   Sat Jan 6 20:55:41 2024 +0100

    Add more clang 17 ObsoleteFiles entries.

commit d23764d
Author: Dimitry Andric <[email protected]>
Date:   Wed Jan 3 20:35:30 2024 +0100

    Add files needed for lldb FreeBSD-Kernel DynamicLoader.

commit 7656fbd
Author: Dimitry Andric <[email protected]>
Date:   Wed Jan 3 19:22:03 2024 +0100

    Bump llvm-project version numbers to llvmorg-18-init-16003-gfc5f51cf5af4.

commit 9739ebd
Merge: b8840b4 77dbea0
Author: Dimitry Andric <[email protected]>
Date:   Wed Jan 3 19:04:11 2024 +0100

    Merge llvm-project main llvmorg-18-init-16003-gfc5f51cf5af4

    This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
    openmp to llvm-project main llvmorg-18-init-16003-gfc5f51cf5af4.

    PR:		276104
    MFC after:	1 month

commit b8840b4
Author: Dimitry Andric <[email protected]>
Date:   Tue Jan 2 17:09:41 2024 +0100

    compiler-rt builtins: move 80-bit long double functions into their own
    block, only enabling it for x86, and add more 128-bit quad functions.

commit b3086e6
Author: Dimitry Andric <[email protected]>
Date:   Tue Jan 2 17:07:31 2024 +0100

    Revert upstream commit 0e46b49de433:

      Reapply "RegisterCoalescer: Add implicit-def of super register when coalescing SUBREG_TO_REG"

      This reverts commit c398fa009a47eb24f88383d5e911e59e70f8db86.

      PPC backend was fixed in 2f82662ce901c6666fceb9c6c5e0de216a1c9667

    Since it causes an assertion failure building /sys/dev/fb/vga.c:
    llvm/llvm-project#76416

commit c71a0fe
Author: Dimitry Andric <[email protected]>
Date:   Mon Jan 1 18:58:15 2024 +0100

    Apply llvmorg-18-init-15846-g953ae94149f0.

commit fab14fd
Author: Dimitry Andric <[email protected]>
Date:   Mon Dec 25 19:20:33 2023 +0100

    Add new files and remove deleted files from various Makefiles.

commit 5d05e48
Author: Dimitry Andric <[email protected]>
Date:   Mon Dec 25 18:50:08 2023 +0100

    Bump llvm-project version numbers to llvmorg-18-init-15692-g007ed0dccd6a.

commit 678f56a
Merge: 5f710e3 99aabd7
Author: Dimitry Andric <[email protected]>
Date:   Mon Dec 25 18:35:41 2023 +0100

    Merge llvm-project main llvmorg-18-init-15692-g007ed0dccd6a

    This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
    openmp to llvm-project main llvmorg-18-init-15692-g007ed0dccd6a.

    PR:		276104
    MFC after:	1 month

commit 5f710e3
Author: Dimitry Andric <[email protected]>
Date:   Thu Dec 21 23:30:02 2023 +0100

    Tentatively apply llvm/llvm-project#76175, to
    fix libsa including compiler-rt builtins.

commit bfd4f0d
Author: Dimitry Andric <[email protected]>
Date:   Thu Dec 21 16:56:34 2023 +0100

    Add several new builtins to compiler-rt, and enable quad support for amd64.

commit 60b6608
Author: Dimitry Andric <[email protected]>
Date:   Thu Dec 21 14:47:43 2023 +0100

    Use -Wno-vla-cxx-extension for libomp, since clang 18 complains.

commit b051bbb
Author: Dimitry Andric <[email protected]>
Date:   Wed Dec 20 23:05:48 2023 +0100

    Update libomp generated headers.

commit 98d0e7c
Author: Dimitry Andric <[email protected]>
Date:   Wed Dec 20 23:00:26 2023 +0100

    Update libclang_rt makefiles.

commit a08a308
Author: Dimitry Andric <[email protected]>
Date:   Wed Dec 20 21:41:18 2023 +0100

    Update build glue for libc++.

commit 326d983
Author: Dimitry Andric <[email protected]>
Date:   Wed Dec 20 19:47:22 2023 +0100

    Fix up clang version in lib/libclang_rt/compiler-rt-vars.mk.

commit 325ba5b
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 23:43:32 2023 +0100

    Update build glue to build lldb.

commit 612cd33
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 21:54:32 2023 +0100

    Regenerate lib/clang/liblldb/LLDBWrapLua.cpp.

commit 12d2341
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 21:48:16 2023 +0100

    Update build glue to build llvm extra tools.

commit bd80bb1
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 20:10:38 2023 +0100

    Update build glue to build full clang (with static analyzer).

commit 0e60a9e
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 19:30:46 2023 +0100

    Update build glue to build default llvm tools for world.

commit 1e1229d
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 17:40:08 2023 +0100

    Add new files to libclang, and re-sort.

commit 80bc357
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 17:40:00 2023 +0100

    Add new files to libllvm, and re-sort.

commit 220597d
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 15:37:31 2023 +0100

    Add newly introduced .inc files to libclang.

commit daeeb74
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 15:37:11 2023 +0100

    Cleanup removed files from libclang.

commit 69a6c58
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 12:34:00 2023 +0100

    After llvm/llvm-project@ac182deee8287 RISCV's
    global isel td file got split off to RISCVGISel.td, so handle that in
    libllvm's Makefile.

commit e27e76b
Author: Dimitry Andric <[email protected]>
Date:   Tue Dec 19 12:27:35 2023 +0100

    Cleanup removed files from libllvm.

commit fa84ac3
Author: Dimitry Andric <[email protected]>
Date:   Mon Dec 18 22:52:45 2023 +0100

    Update Makefile for llvm-tblgen.

commit d43e62d
Author: Dimitry Andric <[email protected]>
Date:   Mon Dec 18 22:40:01 2023 +0100

    Update FREEBSD-Xlist for llvm 18.

commit a3780ea
Author: Dimitry Andric <[email protected]>
Date:   Mon Dec 18 22:38:45 2023 +0100

    Bump llvm-project numbers from 17.0.6 to 18.0.0.

commit 5d469ef
Merge: 8758bf0 312c0ed
Author: Dimitry Andric <[email protected]>
Date:   Mon Dec 18 21:30:12 2023 +0100

    Merge llvm-project main llvmorg-18-init-15088-gd14ee76181fb

    This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
    openmp to llvm-project main llvmorg-18-init-15088-gd14ee76181fb.

    PR:		276104
    MFC after:	1 month

commit 4fdf604
Author: Dimitry Andric <[email protected]>
Date:   Wed Feb 7 15:37:28 2024 +0100

    Vendor import of llvm-project branch release/18.x llvmorg-18.1.0-rc2-0-gc6c86965d967.

commit 2d835ae
Author: Dimitry Andric <[email protected]>
Date:   Thu Jan 25 19:03:34 2024 +0100

    Vendor import of llvm-project branch release/18.x llvmorg-18-init-18361-g22683463740e.

commit 4df029c
Author: Dimitry Andric <[email protected]>
Date:   Wed Jan 24 20:11:41 2024 +0100

    Vendor import of llvm-project main llvmorg-18-init-18359-g93248729cfae,
    the last commit before the upstream release/18.x branch was created.

commit 950076c
Author: Dimitry Andric <[email protected]>
Date:   Thu Jan 11 19:24:21 2024 +0100

    Vendor import of llvm-project main llvmorg-18-init-16864-g3b3ee1f53424.

commit aca2e42
Author: Dimitry Andric <[email protected]>
Date:   Tue Jan 9 20:58:18 2024 +0100

    Vendor import of llvm-project main llvmorg-18-init-16595-g7c00a5be5cde.

commit 77dbea0
Author: Dimitry Andric <[email protected]>
Date:   Wed Jan 3 17:57:07 2024 +0100

    Vendor import of llvm-project main llvmorg-18-init-16003-gfc5f51cf5af4.

commit 99aabd7
Author: Dimitry Andric <[email protected]>
Date:   Mon Dec 25 14:49:57 2023 +0100

    Vendor import of llvm-project main llvmorg-18-init-15692-g007ed0dccd6a.

commit 312c0ed
Author: Dimitry Andric <[email protected]>
Date:   Sun Dec 17 21:41:09 2023 +0100

    Vendor import of llvm-project main llvmorg-18-init-15088-gd14ee76181fb.

commit b1c7353
Author: Dimitry Andric <[email protected]>
Date:   Sat Dec 9 14:28:42 2023 +0100

    Vendor import of llvm-project main llvmorg-18-init-14265-ga17671084db1.
DimitryAndric added a commit to DimitryAndric/freebsd-src that referenced this pull request Apr 5, 2024
  [libcxx] Re-include <osreldate.h> in __config for FreeBSD

  In 0a97720d0197 some changes were made to `__config` for assuming that
  `__BYTE_ORDER__` is always present.

  However, this deleted a `<osreldate.h>` include for FreeBSD, which is
  required to get the value of `__FreeBSD_version`, and that is used later
  in the file to determine whether `_LIBCPP_C_HAS_NO_GETS` needs to be
  enabled.

  Include `<osreldate.h>` just after the other includes used for feature
  detection, to fix this.

  Note that when FreeBSD 13 is EOLed, this can be removed, as then all
  supported FreeBSD versions will no longer have `gets()`.
DimitryAndric added a commit to DimitryAndric/freebsd-src that referenced this pull request Apr 5, 2024
  [libcxx] Re-include <osreldate.h> in __config for FreeBSD

  In 0a97720d0197 some changes were made to `__config` for assuming that
  `__BYTE_ORDER__` is always present.

  However, this deleted a `<osreldate.h>` include for FreeBSD, which is
  required to get the value of `__FreeBSD_version`, and that is used later
  in the file to determine whether `_LIBCPP_C_HAS_NO_GETS` needs to be
  enabled.

  Include `<osreldate.h>` just after the other includes used for feature
  detection, to fix this.

  Note that when FreeBSD 13 is EOLed, this can be removed, as then all
  supported FreeBSD versions will no longer have `gets()`.
freebsd-git pushed a commit to freebsd/freebsd-src that referenced this pull request Apr 6, 2024
  [libcxx] Re-include <osreldate.h> in __config for FreeBSD

  In 0a97720d0197 some changes were made to `__config` for assuming that
  `__BYTE_ORDER__` is always present.

  However, this deleted a `<osreldate.h>` include for FreeBSD, which is
  required to get the value of `__FreeBSD_version`, and that is used later
  in the file to determine whether `_LIBCPP_C_HAS_NO_GETS` needs to be
  enabled.

  Include `<osreldate.h>` just after the other includes used for feature
  detection, to fix this.

  Note that when FreeBSD 13 is EOLed, this can be removed, as then all
  supported FreeBSD versions will no longer have `gets()`.

PR:		276104
MFC after:	1 month
freebsd-git pushed a commit to freebsd/freebsd-src that referenced this pull request Apr 20, 2024
  [libcxx] Re-include <osreldate.h> in __config for FreeBSD

  In 0a97720d0197 some changes were made to `__config` for assuming that
  `__BYTE_ORDER__` is always present.

  However, this deleted a `<osreldate.h>` include for FreeBSD, which is
  required to get the value of `__FreeBSD_version`, and that is used later
  in the file to determine whether `_LIBCPP_C_HAS_NO_GETS` needs to be
  enabled.

  Include `<osreldate.h>` just after the other includes used for feature
  detection, to fix this.

  Note that when FreeBSD 13 is EOLed, this can be removed, as then all
  supported FreeBSD versions will no longer have `gets()`.

PR:		276104
MFC after:	1 month

(cherry picked from commit 653487b)
freebsd-git pushed a commit to freebsd/freebsd-src that referenced this pull request Apr 20, 2024
  [libcxx] Re-include <osreldate.h> in __config for FreeBSD

  In 0a97720d0197 some changes were made to `__config` for assuming that
  `__BYTE_ORDER__` is always present.

  However, this deleted a `<osreldate.h>` include for FreeBSD, which is
  required to get the value of `__FreeBSD_version`, and that is used later
  in the file to determine whether `_LIBCPP_C_HAS_NO_GETS` needs to be
  enabled.

  Include `<osreldate.h>` just after the other includes used for feature
  detection, to fix this.

  Note that when FreeBSD 13 is EOLed, this can be removed, as then all
  supported FreeBSD versions will no longer have `gets()`.

PR:		276104
MFC after:	1 month

(cherry picked from commit 653487b)
bsdjhb pushed a commit to bsdjhb/cheribsd that referenced this pull request Aug 7, 2024
  [libcxx] Re-include <osreldate.h> in __config for FreeBSD

  In 0a97720d0197 some changes were made to `__config` for assuming that
  `__BYTE_ORDER__` is always present.

  However, this deleted a `<osreldate.h>` include for FreeBSD, which is
  required to get the value of `__FreeBSD_version`, and that is used later
  in the file to determine whether `_LIBCPP_C_HAS_NO_GETS` needs to be
  enabled.

  Include `<osreldate.h>` just after the other includes used for feature
  detection, to fix this.

  Note that when FreeBSD 13 is EOLed, this can be removed, as then all
  supported FreeBSD versions will no longer have `gets()`.

PR:		276104
MFC after:	1 month
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
libc++ libc++ C++ Standard Library. Not GNU libstdc++. Not libc++abi.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants