LLVM/project 366a4f8clang-tools-extra/docs clang-doc.md clang-change-namespace.md

[clang-tools-extra][docs] Remove empty navigation trees

Remove stale, empty toctree directives from standalone tool documentation. Furo interpreted these directives as child navigation trees and displayed disclosure triangles with no useful entries.
DeltaFile
+0-5clang-tools-extra/docs/pp-trace.md
+0-5clang-tools-extra/docs/clang-reorder-fields.md
+0-4clang-tools-extra/docs/clang-doc.md
+0-4clang-tools-extra/docs/clang-change-namespace.md
+0-184 files

FreeNAS/freenas 6a9fd9bsrc/middlewared/middlewared/api/v27_0_0 disk.py, src/middlewared/middlewared/plugins/disk_ sed.py

Reject undetermined disks from all-SED pools

This commit fixes an issue where the disk SED capability column is tri-state but every consumer compared it with `is False`, so a disk that had never been probed passed the "must be SED" check and could join an all-SED pool unnoticed. The comparisons now reject anything that is not definitively SED. It also excludes `sed` from the disk update model, since it is a hardware fact we probe rather than something a caller has any business writing.
DeltaFile
+2-2src/middlewared/middlewared/plugins/disk_/sed.py
+1-1src/middlewared/middlewared/plugins/pool_/replace_disk.py
+1-1src/middlewared/middlewared/plugins/pool_/attach_disk.py
+1-0src/middlewared/middlewared/api/v27_0_0/disk.py
+5-44 files

LLVM/project c69579bclang/docs LanguageExtensions.md

nit: Minor updates to LanguageExtensions.md
DeltaFile
+2-2clang/docs/LanguageExtensions.md
+2-21 files

LLVM/project 3bef7e7clang/docs LanguageExtensions.md, clang/lib/Frontend CompilerInvocation.cpp

[Clang][AIX] Error on -mloadtime-comment-vars in cc1 for non-AIX targets

The driver continues to warn and drop the option for unsupported targets;
cc1, reachable directly or via -Xclang, now rejects it with
err_drv_unsupported_opt_for_target, mirroring the -mabi=quadword-atomics
and -mxcoff-roptr checks.
DeltaFile
+4-19clang/test/CodeGen/PowerPC/loadtime-comment-vars.c
+6-6clang/test/Sema/loadtime-comment-vars.c
+6-0clang/lib/Frontend/CompilerInvocation.cpp
+0-5clang/lib/Sema/SemaDecl.cpp
+0-1clang/docs/LanguageExtensions.md
+16-315 files

LLVM/project 8a3e4e9clang/lib/Sema SemaDecl.cpp, clang/test/Sema loadtime-comment-vars.c

nit: Minor updates to the comments
DeltaFile
+2-3clang/lib/Sema/SemaDecl.cpp
+1-2clang/test/Sema/loadtime-comment-vars.c
+3-52 files

LLVM/project d698ef9clang/test/CodeGen/PowerPC loadtime-comment-vars-cxx.cpp

Add list-parsing test cases for -mloadtime-comment-vars
DeltaFile
+33-0clang/test/CodeGen/PowerPC/loadtime-comment-vars-cxx.cpp
+33-01 files

LLVM/project 6d0a4declang/lib/CodeGen CodeGenModule.cpp

nit: CodeGenModule.cpp new line deletion
DeltaFile
+0-1clang/lib/CodeGen/CodeGenModule.cpp
+0-11 files

LLVM/project 7c738aaclang/include/clang/Basic Attr.td DiagnosticFrontendKinds.td, clang/lib/CodeGen CodeGenModule.h CodeGenModule.cpp

[Clang][AIX] Move -mloadtime-comment-vars validation to Sema. Add Release notes.
DeltaFile
+7-116clang/lib/CodeGen/CodeGenModule.cpp
+75-0clang/lib/Sema/SemaDecl.cpp
+0-40clang/lib/CodeGen/CodeGenModule.h
+0-17clang/include/clang/Basic/DiagnosticFrontendKinds.td
+11-2clang/test/CodeGen/PowerPC/loadtime-comment-vars-cxx.cpp
+10-0clang/include/clang/Basic/Attr.td
+103-1757 files not shown
+126-18213 files

LLVM/project 38485ceclang/docs LanguageExtensions.md, clang/lib/AST ASTContext.cpp

[Clang][AIX] Preserve -mloadtime-comment-vars variables across serialization

Named internal-linkage variables were silently dropped when their
definition crossed a PCH or C++20 named-module (BMI-to-object) boundary:
DeclMustBeEmitted did not know the implicit attribute, so the PCH writer
never marked the unreferenced variable as required, and for named modules
only non-discardable variables are recorded in the module-initializer
lists that EmitModuleInitializers walks. Teach DeclMustBeEmitted about
the attribute (the CodeGen-side check becomes redundant and is removed)
and record validated internal-linkage module-purview variables in the
module-initializer list.

Since DeclMustBeEmitted now sees the attribute, a preserved variable no
longer triggers -Wunused-const-variable: it is materially used.

Add tests for C++20 module preservation, importer behavior, and
instantiation diagnostics; PCH preservation; unused-warning suppression;
the non-AIX cc1 no-op; and char8_t element-type exclusion. Document the
modules/PCH rules.
DeltaFile
+101-0clang/test/CodeGen/PowerPC/loadtime-comment-vars-modules.cpp
+28-0clang/test/PCH/loadtime-comment-vars.c
+21-2clang/test/Sema/loadtime-comment-vars.c
+8-5clang/docs/LanguageExtensions.md
+10-0clang/lib/Sema/SemaDecl.cpp
+6-0clang/lib/AST/ASTContext.cpp
+174-72 files not shown
+180-108 files

LLVM/project 9efa066clang/docs LanguageExtensions.md, clang/lib/Sema SemaDecl.cpp

[Clang][AIX] Restrict -mloadtime-comment-vars to file/namespace scope

Support only file- and namespace-scope variables. Name-matched static
data members, variable template specializations (explicit ones
included), and function-local statics are now diagnosed with
-Wloadtime-comment-var instead of being silently ignored. Implicit
instantiations are diagnosed via the template-instantiation path, once
per instantiating TU. Automatic locals have no symbol to match and
remain out of scope.
DeltaFile
+0-270clang/test/CodeGen/PowerPC/loadtime-comment-vars-cxx.cpp
+234-0clang/test/CodeGen/PowerPC/loadtime-comment-vars.cpp
+117-0clang/test/Sema/loadtime-comment-vars.cpp
+79-26clang/test/CodeGen/PowerPC/loadtime-comment-vars.c
+50-20clang/lib/Sema/SemaDecl.cpp
+30-14clang/docs/LanguageExtensions.md
+510-3307 files not shown
+584-34613 files

LLVM/project ba70688clang/docs LanguageExtensions.md, clang/lib/CodeGen CodeGenModule.h CodeGenModule.cpp

[Clang][AIX] Switch -mloadtime-comment-vars name matching to mangled IR names

Replace source-qualified name matching in matchesLoadTimeCommentVarName with
mangled IR symbol name matching via getMangledName(GlobalDecl(VD)).
DeltaFile
+13-40clang/lib/CodeGen/CodeGenModule.cpp
+30-22clang/test/CodeGen/loadtime-comment-vars-cxx.cpp
+24-9clang/docs/LanguageExtensions.md
+5-6clang/lib/CodeGen/CodeGenModule.h
+2-4clang/test/Driver/mloadtime-comment-vars.c
+74-815 files

LLVM/project f797448clang/docs LanguageExtensions.md

Apply suggestions from code review

Co-authored-by: Hubert Tong <hubert.reinterpretcast at gmail.com>
DeltaFile
+2-8clang/docs/LanguageExtensions.md
+2-81 files

LLVM/project 40b600dclang/docs LanguageExtensions.md, clang/lib/CodeGen CodeGenModule.h CodeGenModule.cpp

[Clang][AIX] Add -mloadtime-comment-vars support to preserve variables in the final object file.
DeltaFile
+119-0clang/lib/CodeGen/CodeGenModule.cpp
+65-0clang/docs/LanguageExtensions.md
+61-0clang/test/CodeGen/loadtime-comment-vars.c
+13-8llvm/test/Transforms/LowerCommentString/lower-comment-string.ll
+18-0clang/lib/CodeGen/CodeGenModule.h
+12-0clang/test/CodeGen/PowerPC/loadtime-comment-mixed.c
+288-84 files not shown
+318-810 files

LLVM/project 9a14010clang/docs LanguageExtensions.md, clang/lib/CodeGen CodeGenModule.cpp

[Clang][AIX] Diagnose unsupported -mloadtime-comment-vars variables
DeltaFile
+228-0clang/test/CodeGen/PowerPC/loadtime-comment-vars-cxx.cpp
+89-34clang/lib/CodeGen/CodeGenModule.cpp
+0-93clang/test/CodeGen/loadtime-comment-vars-cxx.cpp
+0-61clang/test/CodeGen/loadtime-comment-vars.c
+33-28clang/docs/LanguageExtensions.md
+60-0clang/test/CodeGen/PowerPC/loadtime-comment-vars.c
+410-2165 files not shown
+468-22711 files

LLVM/project 7c64fa5clang/docs LanguageExtensions.md, clang/lib/CodeGen CodeGenModule.h CodeGenModule.cpp

[Clang][AIX] Handle -mloadtime-comment-vars in global var emission
DeltaFile
+65-93clang/lib/CodeGen/CodeGenModule.cpp
+85-0clang/test/CodeGen/loadtime-comment-vars-cxx.cpp
+15-2clang/docs/LanguageExtensions.md
+6-9clang/lib/CodeGen/CodeGenModule.h
+5-5clang/test/CodeGen/loadtime-comment-vars.c
+4-0clang/test/Driver/mloadtime-comment-vars.c
+180-1096 files

LLVM/project 13d63aaclang/bindings/python/clang cindex.py, clang/bindings/python/tests/cindex test_cursor.py

[libclang/python] Make the value of a true bool enum 1, not -1 (#221497)

When converted to int a bool value is either `0` or `1`, but the `enum_value`
of a bool enum was reported as either `0` or `-1` in the Python bindings.

Make bool enums take the unsigned value code path so that `0` or `+1` is
returned instead.

Resolves #221326
DeltaFile
+17-0clang/bindings/python/tests/cindex/test_cursor.py
+2-0clang/docs/ReleaseNotes.md
+1-0clang/bindings/python/clang/cindex.py
+20-03 files

FreeBSD/src d48e9bfstand/efi/loader loader_efi.h memdisk.c

loader.efi: fetch initmd specified by DHCP

Configure net0, read the DHCP-provided initmd URL, and download it
through the file API so directly booted loader.efi can construct its
root memory disk.

Sponsored by:           Netflix
Differential Revision:  https://reviews.freebsd.org/D59432
DeltaFile
+31-0stand/efi/loader/memdisk.c
+1-0stand/efi/loader/loader_efi.h
+32-02 files

FreeBSD/src 8821d42stand/efi/loader memdisk.c

loader.efi: Allow downloading of ramdisk or md to be aborted

Hitting <ESC> will now allow one to abort a (possibly mistaken)
download.

Sponsored by:           Netflix
DeltaFile
+39-3stand/efi/loader/memdisk.c
+39-31 files

FreeBSD/src 0ca1204stand/efi/loader main.c

loader.efi: Eat the character used to break to OK

When we can't find root, we give the user a chance to drop to the boot
loader OK prompt. We should eat the character that's pressed to not
interfere with the interactive session.

Sponsored by:           Netflix
DeltaFile
+3-1stand/efi/loader/main.c
+3-11 files

FreeBSD/src 08265d5stand/efi/loader memdisk.c

loader: Fix starting typo

Fixes:                  a22fa5ec74e0 ("laoder.efi: Fix error in download protcol")
Sponsored by:           Netflix
Differential Revision:  https://reviews.freebsd.org/D59434
DeltaFile
+1-1stand/efi/loader/memdisk.c
+1-11 files

FreeBSD/src 25b58ebstand/efi/loader loader_efi.h memdisk.c

loader.efi: download md images through file API

Feed the existing decompressor from loader file descriptors as well as
iPXE callbacks, allowing arbitrary HTTP filesystem URLs to become
kernel-exportable memory disks.

Sponsored by:           Netflix
Differential Revision:  https://reviews.freebsd.org/D59431
DeltaFile
+87-15stand/efi/loader/memdisk.c
+1-0stand/efi/loader/loader_efi.h
+88-152 files

FreeBSD/src 6de311dstand/efi/loader loader_efi.h main.c

loader.efi: download DHCP initmd specified image

When we haven't downloaded an image via mem{disk,cd} and ipxe, try any
image specified by the FreeBSD-specific initmd dhcp option. This allows
direct booting of loader.efi with a detached root ramdisk filesystem.

Sponsored by:           Netflix
Differential Revision:  https://reviews.freebsd.org/D59433
DeltaFile
+13-10stand/efi/loader/memdisk.c
+4-2stand/efi/loader/main.c
+1-1stand/efi/loader/loader_efi.h
+18-133 files

FreeBSD/src 5bbd617stand/efi/libefi efinet.c

loader.efi: release SNP after network configuration

Close the exclusively opened SNP protocol after loader networking
finishes so the firmware network stack can reconnect the controller and
service a subsequent HTTP request.

Sponsored by:           Netflix
Differential Revision:  https://reviews.freebsd.org/D59430
DeltaFile
+4-0stand/efi/libefi/efinet.c
+4-01 files

FreeBSD/src e6b997cstand/common dev_net.h dev_net.c

loader: add standalone network configuration

Allow callers to obtain DHCP configuration without opening a network
file, enabling loader.efi to discover an initmd URL before handing the
interface back to firmware HTTP.

Differential Revision:  https://reviews.freebsd.org/D59429
Sponsored by:           Netflix
DeltaFile
+56-27stand/common/dev_net.c
+1-0stand/common/dev_net.h
+57-272 files

FreeBSD/src a098fd0stand/libsa bootp.h bootp.c

loader: request DHCP initmd option

Request FreeBSD RFC 3925 PEM 2238 DHCP 125 option. Use suboption 1 to
specify a ramdisk image to load and use to load the kernel and as the
root file system.

Differential Revision:  https://reviews.freebsd.org/D59428
Sponsored by:           Netflix
DeltaFile
+58-1stand/libsa/bootp.c
+5-0stand/libsa/bootp.h
+63-12 files

FreeBSD/src 6788e42stand/efi/libefi efihttp.c

stand/efihttp: Support arbitrary http[N]://host[:port]/path devspecs

Until now, the "http" device only worked when firmware itself booted
loader.efi via EFI HTTP Boot: efihttp_dev_init() required a URI node on
the loader's own boot device path, and every fetch went to that same
server. Add a second form, using the parse_uri() helper from libsa/dev.c,
that works anywhere: http[N]://host[:port]/path (N is a network interface
unit, defaulting to 0). This lets a devspec like this be used as rootdev,
in loader.conf, or interactively, independent of how loader.efi itself
was booted.

Network configuration is shared, loader-wide state (the myip/netmask/
gateip/nameip globals from net.h): if something has already configured
them (e.g. tftp/nfs via net_open()), the http device just reuses those
values, applying them to EFI_IP4_CONFIG2_PROTOCOL as a static address. If
nothing has, it drives IP4Config2's own DHCP directly instead of calling
netdev's net_open(): net_open() opens the NIC's SNP
EFI_OPEN_PROTOCOL_EXCLUSIVE, which would disconnect the Mnp/Ip4/.../
HttpDxe driver chain this code depends on. That chain is also commonly

    [8 lines not shown]
DeltaFile
+342-2stand/efi/libefi/efihttp.c
+342-21 files

FreeBSD/src 7208b3bstand/libsa stand.h dev.c

libsa: Add a generic URI-syntax devspec parser

Add parse_uri(), a helper for devices whose devspec can take a
"[N]://host[:port][/path]" form in addition to the traditional "N:path"
form. It returns EINVAL when devspec doesn't match that pattern, so a
caller's own dv_parsedev can fall back to the traditional form.

Un-static default_parsedev() so it can serve as that fallback.

Sponsored by:           Netflix
Differential Revision:  https://reviews.freebsd.org/D59422
DeltaFile
+64-1stand/libsa/dev.c
+2-0stand/libsa/stand.h
+66-12 files

FreeBSD/src f1163b9stand/efi/loader memdisk.c

loader.efi: For ipxe booting, fall back to md when ramdisk fails

Some UEFI firmwares do not contain the RamDisk protocol. When this
happens, load the file into a md disk instead. This is less desireable
than the RamDisk (since that allows better chain-booting options), but
sufficient to boot an image as a md device for FreeBSD. While most
severs have the RamDisk protocol enabled in their builds, I have two
IoT class boards from different manufacturers that do not. Since it
works just fine with this fallback, that's preferable.

Sponsored by:           Netflix
Differential Revision:  https://reviews.freebsd.org/D59421
DeltaFile
+41-7stand/efi/loader/memdisk.c
+41-71 files

FreeBSD/src 4f7475astand loader.mk, stand/efi/loader Makefile

loader: Small tweak to how md is configured

Only the EFI loader supports the md devices (as the moment). Create
LOADER_MD_SUPPORT and only try to compile md when that's true. For the
moment, also allow it when only MD_IMAGE_SIZE is defined, but that
will be dropped since LOADER_MD_SUPPORT is a superset.

Sponsored by:           Netflix
Reviewed by:            tsoome
Differential Revision:  https://reviews.freebsd.org/D59416
DeltaFile
+4-1stand/loader.mk
+1-0stand/efi/loader/Makefile
+5-12 files

FreeBSD/src 752bde7stand/common bootstrap.h md.c

loader: Allow dynmaic creation of MD disks

Augment the md device to allow creation of md devices. This is useful
when UEFI doesn't support RamDisk and in other cases where we have a
handy initrd-like image we want to use.

Sponsored by:           Netflix
Differential Revision:  https://reviews.freebsd.org/D59418
DeltaFile
+97-32stand/common/md.c
+4-0stand/common/bootstrap.h
+101-322 files