From owner-svn-src-projects@freebsd.org Sat Jan 6 13:19:37 2018 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 7F87BEB8F1C for ; Sat, 6 Jan 2018 13:19:37 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 56AE76D34A; Sat, 6 Jan 2018 13:19:37 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 6721412DF0; Sat, 6 Jan 2018 13:19:36 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w06DJarD045754; Sat, 6 Jan 2018 13:19:36 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w06DJav7045752; Sat, 6 Jan 2018 13:19:36 GMT (envelope-from dim@FreeBSD.org) Message-Id: <201801061319.w06DJav7045752@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Sat, 6 Jan 2018 13:19:36 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r327620 - projects/clang600-import/contrib/llvm/tools/lld/ELF X-SVN-Group: projects X-SVN-Commit-Author: dim X-SVN-Commit-Paths: projects/clang600-import/contrib/llvm/tools/lld/ELF X-SVN-Commit-Revision: 327620 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 06 Jan 2018 13:19:37 -0000 Author: dim Date: Sat Jan 6 13:19:36 2018 New Revision: 327620 URL: https://svnweb.freebsd.org/changeset/base/327620 Log: Tentatively apply https://reviews.llvm.org/D41635: We normally want to ignore SHT_NOBITS sections when computing offsets. The sh_offset of section itself seems to be irrelevant and * If the section is in the middle of a PT_LOAD, it will make no difference on the computed offset of the followup section. * If it is in the end of a PT_LOAD, we want to avoid its alignment changing the offset of the followup sections. The issue is if it is at the start of the PT_LOAD. In that case we do have to align it so that the following sections have congruent address and offset module the page size. We were not handling this case. This should fix freebsd kernel link. In particular, this fixes ctfmerge and/or objcopy throwing "Layout constraint violation" errors when processing an lld-linked kernel. Modified: projects/clang600-import/contrib/llvm/tools/lld/ELF/Writer.cpp Modified: projects/clang600-import/contrib/llvm/tools/lld/ELF/Writer.cpp ============================================================================== --- projects/clang600-import/contrib/llvm/tools/lld/ELF/Writer.cpp Sat Jan 6 12:46:04 2018 (r327619) +++ projects/clang600-import/contrib/llvm/tools/lld/ELF/Writer.cpp Sat Jan 6 13:19:36 2018 (r327620) @@ -1767,30 +1767,36 @@ template void Writer::fixSectionAli // virtual address (modulo the page size) so that the loader can load // executables without any address adjustment. static uint64_t getFileAlignment(uint64_t Off, OutputSection *Cmd) { - // If the section is not in a PT_LOAD, we just have to align it. - if (!Cmd->PtLoad) - return alignTo(Off, Cmd->Alignment); - - OutputSection *First = Cmd->PtLoad->FirstSec; + OutputSection *First = Cmd->PtLoad ? Cmd->PtLoad->FirstSec : nullptr; // The first section in a PT_LOAD has to have congruent offset and address // module the page size. if (Cmd == First) return alignTo(Off, std::max(Cmd->Alignment, Config->MaxPageSize), Cmd->Addr); + // For SHT_NOBITS we don't want the alignment of the section to impact the + // offset of the sections that follow. Since nothing seems to care about the + // sh_offset of the SHT_NOBITS section itself, just ignore it. + if (Cmd->Type == SHT_NOBITS) + return Off; + + // If the section is not in a PT_LOAD, we just have to align it. + if (!Cmd->PtLoad) + return alignTo(Off, Cmd->Alignment); + // If two sections share the same PT_LOAD the file offset is calculated // using this formula: Off2 = Off1 + (VA2 - VA1). return First->Offset + Cmd->Addr - First->Addr; } static uint64_t setOffset(OutputSection *Cmd, uint64_t Off) { - if (Cmd->Type == SHT_NOBITS) { - Cmd->Offset = Off; - return Off; - } - Off = getFileAlignment(Off, Cmd); Cmd->Offset = Off; + + // For SHT_NOBITS we should not count the size. + if (Cmd->Type == SHT_NOBITS) + return Off; + return Off + Cmd->Size; } From owner-svn-src-projects@freebsd.org Sat Jan 6 15:52:23 2018 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 23249EBF11A for ; Sat, 6 Jan 2018 15:52:23 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id F0CD773EC9; Sat, 6 Jan 2018 15:52:22 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 41F7B147BE; Sat, 6 Jan 2018 15:52:22 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w06FqMXj015500; Sat, 6 Jan 2018 15:52:22 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w06FqMx9015498; Sat, 6 Jan 2018 15:52:22 GMT (envelope-from dim@FreeBSD.org) Message-Id: <201801061552.w06FqMx9015498@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Sat, 6 Jan 2018 15:52:22 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r327622 - in projects/clang600-import: sys/contrib/dev/acpica/include usr.sbin/acpi/acpidb X-SVN-Group: projects X-SVN-Commit-Author: dim X-SVN-Commit-Paths: in projects/clang600-import: sys/contrib/dev/acpica/include usr.sbin/acpi/acpidb X-SVN-Commit-Revision: 327622 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 06 Jan 2018 15:52:23 -0000 Author: dim Date: Sat Jan 6 15:52:21 2018 New Revision: 327622 URL: https://svnweb.freebsd.org/changeset/base/327622 Log: Revert r327338, undoing the changes to the ACPI_ADD_PTR and ACPI_SUB_PTR macros. Instead, turn off clang 6.0.0 warnings about null pointer arithmetic in usr.sbin/acpi/acpidb instead. Modified: projects/clang600-import/sys/contrib/dev/acpica/include/actypes.h projects/clang600-import/usr.sbin/acpi/acpidb/Makefile Modified: projects/clang600-import/sys/contrib/dev/acpica/include/actypes.h ============================================================================== --- projects/clang600-import/sys/contrib/dev/acpica/include/actypes.h Sat Jan 6 14:21:32 2018 (r327621) +++ projects/clang600-import/sys/contrib/dev/acpica/include/actypes.h Sat Jan 6 15:52:21 2018 (r327622) @@ -651,8 +651,8 @@ typedef UINT64 ACPI_INTEGER; #define ACPI_CAST_PTR(t, p) ((t *) (ACPI_UINTPTR_T) (p)) #define ACPI_CAST_INDIRECT_PTR(t, p) ((t **) (ACPI_UINTPTR_T) (p)) -#define ACPI_ADD_PTR(t, a, b) ACPI_CAST_PTR (t, (ACPI_UINTPTR_T) (a) + (ACPI_SIZE)(b)) -#define ACPI_SUB_PTR(t, a, b) ACPI_CAST_PTR (t, (ACPI_UINTPTR_T) (a) - (ACPI_SIZE)(b)) +#define ACPI_ADD_PTR(t, a, b) ACPI_CAST_PTR (t, (ACPI_CAST_PTR (UINT8, (a)) + (ACPI_SIZE)(b))) +#define ACPI_SUB_PTR(t, a, b) ACPI_CAST_PTR (t, (ACPI_CAST_PTR (UINT8, (a)) - (ACPI_SIZE)(b))) #define ACPI_PTR_DIFF(a, b) (ACPI_SIZE) (ACPI_CAST_PTR (UINT8, (a)) - ACPI_CAST_PTR (UINT8, (b))) /* Pointer/Integer type conversions */ Modified: projects/clang600-import/usr.sbin/acpi/acpidb/Makefile ============================================================================== --- projects/clang600-import/usr.sbin/acpi/acpidb/Makefile Sat Jan 6 14:21:32 2018 (r327621) +++ projects/clang600-import/usr.sbin/acpi/acpidb/Makefile Sat Jan 6 15:52:21 2018 (r327622) @@ -80,3 +80,7 @@ CFLAGS+= -DACPI_EXEC_APP -fno-strict-aliasing LIBADD= pthread .include + +.if ${COMPILER_TYPE} == "clang" && ${COMPILER_VERSION} >= 60000 +CWARNFLAGS+= -Wno-null-pointer-arithmetic +.endif From owner-svn-src-projects@freebsd.org Sat Jan 6 16:13:23 2018 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 0BDE3EC0115 for ; Sat, 6 Jan 2018 16:13:23 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 663B974E09; Sat, 6 Jan 2018 16:13:22 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id A205414B1A; Sat, 6 Jan 2018 16:13:21 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w06GDLQi024720; Sat, 6 Jan 2018 16:13:21 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w06GDHa3024681; Sat, 6 Jan 2018 16:13:17 GMT (envelope-from dim@FreeBSD.org) Message-Id: <201801061613.w06GDHa3024681@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Sat, 6 Jan 2018 16:13:17 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r327624 - in projects/clang600-import: . bin/cat bin/sh contrib/elftoolchain/elfcopy etc etc/mtree lib/libc/gen lib/libc/locale lib/libc/net lib/libcasper/libcasper lib/libcasper/servic... X-SVN-Group: projects X-SVN-Commit-Author: dim X-SVN-Commit-Paths: in projects/clang600-import: . bin/cat bin/sh contrib/elftoolchain/elfcopy etc etc/mtree lib/libc/gen lib/libc/locale lib/libc/net lib/libcasper/libcasper lib/libcasper/services/cap_dns/tests lib/libc... X-SVN-Commit-Revision: 327624 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 06 Jan 2018 16:13:23 -0000 Author: dim Date: Sat Jan 6 16:13:17 2018 New Revision: 327624 URL: https://svnweb.freebsd.org/changeset/base/327624 Log: Merge ^/head r327341 through r327623. Added: projects/clang600-import/share/man/man4/aw_sid.4 - copied unchanged from r327623, head/share/man/man4/aw_sid.4 projects/clang600-import/sys/contrib/dev/acpica/include/actbinfo.h - copied unchanged from r327623, head/sys/contrib/dev/acpica/include/actbinfo.h projects/clang600-import/sys/dev/ep/elink.c - copied unchanged from r327623, head/sys/dev/ep/elink.c projects/clang600-import/sys/dev/ep/elink.h - copied unchanged from r327623, head/sys/dev/ep/elink.h projects/clang600-import/sys/dev/mmc/host/dwmmc_altera.c - copied unchanged from r327623, head/sys/dev/mmc/host/dwmmc_altera.c projects/clang600-import/sys/dev/mmc/host/dwmmc_rockchip.c - copied unchanged from r327623, head/sys/dev/mmc/host/dwmmc_rockchip.c projects/clang600-import/sys/dev/mmc/host/dwmmc_samsung.c - copied unchanged from r327623, head/sys/dev/mmc/host/dwmmc_samsung.c projects/clang600-import/sys/i386/i386/npx.c - copied unchanged from r327623, head/sys/i386/i386/npx.c projects/clang600-import/sys/kern/kern_tslog.c - copied unchanged from r327623, head/sys/kern/kern_tslog.c projects/clang600-import/sys/sys/tslog.h - copied unchanged from r327623, head/sys/sys/tslog.h projects/clang600-import/usr.bin/find/tests/ - copied from r327623, head/usr.bin/find/tests/ projects/clang600-import/usr.sbin/bsdinstall/scripts/bootconfig - copied unchanged from r327623, head/usr.sbin/bsdinstall/scripts/bootconfig Deleted: projects/clang600-import/stand/powerpc/ps3/ projects/clang600-import/sys/i386/isa/elink.c projects/clang600-import/sys/i386/isa/elink.h projects/clang600-import/sys/i386/isa/npx.c projects/clang600-import/sys/mips/adm5120/ projects/clang600-import/sys/mips/alchemy/ projects/clang600-import/sys/mips/conf/ADM5120 projects/clang600-import/sys/mips/conf/ALCHEMY projects/clang600-import/sys/mips/conf/IDT projects/clang600-import/sys/mips/conf/MT7620 projects/clang600-import/sys/mips/conf/QEMU projects/clang600-import/sys/mips/conf/RT305X projects/clang600-import/sys/mips/conf/RT5350 projects/clang600-import/sys/mips/conf/XLR projects/clang600-import/sys/mips/conf/XLR64 projects/clang600-import/sys/mips/conf/XLRN32 projects/clang600-import/sys/mips/idt/ projects/clang600-import/sys/mips/rmi/ projects/clang600-import/sys/mips/rt305x/ projects/clang600-import/sys/modules/elink/ Modified: projects/clang600-import/COPYRIGHT projects/clang600-import/Makefile.inc1 projects/clang600-import/ObsoleteFiles.inc projects/clang600-import/UPDATING projects/clang600-import/bin/cat/cat.c projects/clang600-import/bin/sh/jobs.c projects/clang600-import/bin/sh/jobs.h projects/clang600-import/contrib/elftoolchain/elfcopy/binary.c projects/clang600-import/etc/mtree/BSD.root.dist projects/clang600-import/etc/mtree/BSD.tests.dist projects/clang600-import/etc/services projects/clang600-import/lib/libc/gen/isgreater.3 projects/clang600-import/lib/libc/gen/pw_scan.c projects/clang600-import/lib/libc/locale/xlocale.c projects/clang600-import/lib/libc/net/rcmd.c projects/clang600-import/lib/libcasper/libcasper/libcasper.3 projects/clang600-import/lib/libcasper/libcasper/libcasper.h projects/clang600-import/lib/libcasper/services/cap_dns/tests/Makefile projects/clang600-import/lib/libcasper/services/cap_grp/tests/Makefile projects/clang600-import/lib/libcasper/services/cap_pwd/tests/Makefile projects/clang600-import/lib/libcasper/services/cap_sysctl/tests/Makefile projects/clang600-import/lib/libefivar/efivar-dp-xlate.c projects/clang600-import/lib/msun/man/cacos.3 projects/clang600-import/release/powerpc/mkisoimages.sh projects/clang600-import/sbin/ccdconfig/ccdconfig.8 projects/clang600-import/sbin/ccdconfig/ccdconfig.c projects/clang600-import/sbin/ccdconfig/pathnames.h projects/clang600-import/sbin/ifconfig/ifvxlan.c projects/clang600-import/sbin/newfs_msdos/mkfs_msdos.c projects/clang600-import/sbin/shutdown/shutdown.8 projects/clang600-import/sbin/shutdown/shutdown.c projects/clang600-import/share/examples/sunrpc/msg/msg_proc.c projects/clang600-import/share/man/man3/assert.3 projects/clang600-import/share/man/man4/Makefile projects/clang600-import/share/man/man4/cxgbe.4 projects/clang600-import/share/man/man4/md.4 projects/clang600-import/share/man/man4/vt.4 projects/clang600-import/share/man/man4/vxlan.4 projects/clang600-import/share/man/man4/watchdog.4 projects/clang600-import/share/man/man7/build.7 projects/clang600-import/share/man/man9/ieee80211.9 projects/clang600-import/share/misc/bsd-family-tree projects/clang600-import/share/misc/iso639 projects/clang600-import/share/misc/organization.dot projects/clang600-import/share/skel/dot.shrc projects/clang600-import/stand/defs.mk projects/clang600-import/stand/efi/fdt/efi_fdt.c projects/clang600-import/stand/fdt/fdt_loader_cmd.c projects/clang600-import/stand/fdt/fdt_overlay.c projects/clang600-import/stand/fdt/fdt_overlay.h projects/clang600-import/stand/i386/libfirewire/firewire.c projects/clang600-import/stand/i386/libi386/biospci.c projects/clang600-import/stand/i386/libi386/comconsole.c projects/clang600-import/stand/i386/libi386/libi386.h projects/clang600-import/stand/libsa/Makefile projects/clang600-import/stand/libsa/stand.h projects/clang600-import/stand/loader.mk projects/clang600-import/stand/mips/beri/boot2/Makefile projects/clang600-import/stand/mips/beri/common/sdcard.c projects/clang600-import/stand/mips/beri/loader/Makefile projects/clang600-import/stand/mips/beri/loader/main.c projects/clang600-import/stand/uboot/fdt/uboot_fdt.c projects/clang600-import/sys/amd64/amd64/machdep.c projects/clang600-import/sys/amd64/amd64/support.S projects/clang600-import/sys/amd64/amd64/trap.c projects/clang600-import/sys/amd64/vmm/amd/vmcb.h projects/clang600-import/sys/arm/allwinner/aw_sid.c projects/clang600-import/sys/arm/allwinner/files.allwinner projects/clang600-import/sys/arm/allwinner/if_awg.c projects/clang600-import/sys/arm/allwinner/std.allwinner projects/clang600-import/sys/arm/allwinner/std.allwinner_up projects/clang600-import/sys/arm/altera/socfpga/files.socfpga projects/clang600-import/sys/arm/altera/socfpga/std.socfpga projects/clang600-import/sys/arm/amlogic/aml8726/aml8726_timer.c projects/clang600-import/sys/arm/arm/dump_machdep.c projects/clang600-import/sys/arm/arm/elf_trampoline.c projects/clang600-import/sys/arm/arm/genassym.c projects/clang600-import/sys/arm/arm/generic_timer.c projects/clang600-import/sys/arm/arm/machdep.c projects/clang600-import/sys/arm/arm/machdep_boot.c projects/clang600-import/sys/arm/arm/mpcore_timer.c projects/clang600-import/sys/arm/at91/at91_machdep.c projects/clang600-import/sys/arm/broadcom/bcm2835/std.rpi projects/clang600-import/sys/arm/cavium/cns11xx/timer.c projects/clang600-import/sys/arm/conf/GENERIC projects/clang600-import/sys/arm/conf/NOTES projects/clang600-import/sys/arm/freescale/imx/std.imx51 projects/clang600-import/sys/arm/freescale/imx/std.imx53 projects/clang600-import/sys/arm/freescale/imx/std.imx6 projects/clang600-import/sys/arm/freescale/vybrid/std.vybrid projects/clang600-import/sys/arm/include/vmparam.h projects/clang600-import/sys/arm/lpc/lpc_timer.c projects/clang600-import/sys/arm/mv/armada38x/std.armada38x projects/clang600-import/sys/arm/mv/armadaxp/std.armadaxp projects/clang600-import/sys/arm/mv/timer.c projects/clang600-import/sys/arm/nvidia/tegra124/std.tegra124 projects/clang600-import/sys/arm/ralink/rt1310_timer.c projects/clang600-import/sys/arm/rockchip/files.rk30xx projects/clang600-import/sys/arm/rockchip/std.rk30xx projects/clang600-import/sys/arm/samsung/exynos/files.exynos5 projects/clang600-import/sys/arm/samsung/exynos/std.exynos5250 projects/clang600-import/sys/arm/samsung/exynos/std.exynos5420 projects/clang600-import/sys/arm/ti/am335x/std.am335x projects/clang600-import/sys/arm/ti/omap4/std.omap4 projects/clang600-import/sys/arm/xilinx/std.zynq7 projects/clang600-import/sys/arm/xscale/i8134x/i80321_timer.c projects/clang600-import/sys/arm/xscale/ixp425/ixp425_timer.c projects/clang600-import/sys/arm/xscale/pxa/pxa_timer.c projects/clang600-import/sys/arm64/conf/GENERIC projects/clang600-import/sys/cam/ata/ata_da.c projects/clang600-import/sys/cddl/compat/opensolaris/sys/kmem.h projects/clang600-import/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c projects/clang600-import/sys/compat/cloudabi/cloudabi_futex.c projects/clang600-import/sys/compat/cloudabi/cloudabi_util.h projects/clang600-import/sys/compat/cloudabi32/cloudabi32_poll.c projects/clang600-import/sys/compat/cloudabi64/cloudabi64_poll.c projects/clang600-import/sys/conf/Makefile.arm projects/clang600-import/sys/conf/NOTES projects/clang600-import/sys/conf/files projects/clang600-import/sys/conf/files.arm64 projects/clang600-import/sys/conf/files.i386 projects/clang600-import/sys/conf/ldscript.powerpc64 projects/clang600-import/sys/conf/options projects/clang600-import/sys/contrib/dev/acpica/acpica_prep.sh projects/clang600-import/sys/contrib/dev/acpica/changes.txt projects/clang600-import/sys/contrib/dev/acpica/common/acfileio.c projects/clang600-import/sys/contrib/dev/acpica/common/acgetline.c projects/clang600-import/sys/contrib/dev/acpica/common/adfile.c projects/clang600-import/sys/contrib/dev/acpica/common/adisasm.c projects/clang600-import/sys/contrib/dev/acpica/common/adwalk.c projects/clang600-import/sys/contrib/dev/acpica/common/ahids.c projects/clang600-import/sys/contrib/dev/acpica/common/ahpredef.c projects/clang600-import/sys/contrib/dev/acpica/common/ahtable.c projects/clang600-import/sys/contrib/dev/acpica/common/ahuuids.c projects/clang600-import/sys/contrib/dev/acpica/common/cmfsize.c projects/clang600-import/sys/contrib/dev/acpica/common/dmextern.c projects/clang600-import/sys/contrib/dev/acpica/common/dmrestag.c projects/clang600-import/sys/contrib/dev/acpica/common/dmswitch.c projects/clang600-import/sys/contrib/dev/acpica/common/dmtable.c projects/clang600-import/sys/contrib/dev/acpica/common/dmtables.c projects/clang600-import/sys/contrib/dev/acpica/common/dmtbdump.c projects/clang600-import/sys/contrib/dev/acpica/common/dmtbinfo.c projects/clang600-import/sys/contrib/dev/acpica/common/getopt.c projects/clang600-import/sys/contrib/dev/acpica/compiler/aslallocate.c projects/clang600-import/sys/contrib/dev/acpica/compiler/aslanalyze.c projects/clang600-import/sys/contrib/dev/acpica/compiler/aslascii.c projects/clang600-import/sys/contrib/dev/acpica/compiler/aslbtypes.c projects/clang600-import/sys/contrib/dev/acpica/compiler/aslcache.c projects/clang600-import/sys/contrib/dev/acpica/compiler/aslcodegen.c projects/clang600-import/sys/contrib/dev/acpica/compiler/aslcompile.c projects/clang600-import/sys/contrib/dev/acpica/compiler/aslcompiler.h projects/clang600-import/sys/contrib/dev/acpica/compiler/aslcompiler.l projects/clang600-import/sys/contrib/dev/acpica/compiler/aslcstyle.y projects/clang600-import/sys/contrib/dev/acpica/compiler/asldebug.c projects/clang600-import/sys/contrib/dev/acpica/compiler/asldefine.h projects/clang600-import/sys/contrib/dev/acpica/compiler/aslerror.c projects/clang600-import/sys/contrib/dev/acpica/compiler/aslexternal.c projects/clang600-import/sys/contrib/dev/acpica/compiler/aslfileio.c projects/clang600-import/sys/contrib/dev/acpica/compiler/aslfiles.c projects/clang600-import/sys/contrib/dev/acpica/compiler/aslfold.c projects/clang600-import/sys/contrib/dev/acpica/compiler/aslglobal.h projects/clang600-import/sys/contrib/dev/acpica/compiler/aslhelp.c projects/clang600-import/sys/contrib/dev/acpica/compiler/aslhelpers.y projects/clang600-import/sys/contrib/dev/acpica/compiler/aslhex.c projects/clang600-import/sys/contrib/dev/acpica/compiler/aslkeywords.y projects/clang600-import/sys/contrib/dev/acpica/compiler/asllength.c projects/clang600-import/sys/contrib/dev/acpica/compiler/asllisting.c projects/clang600-import/sys/contrib/dev/acpica/compiler/asllistsup.c projects/clang600-import/sys/contrib/dev/acpica/compiler/aslload.c projects/clang600-import/sys/contrib/dev/acpica/compiler/asllookup.c projects/clang600-import/sys/contrib/dev/acpica/compiler/aslmain.c projects/clang600-import/sys/contrib/dev/acpica/compiler/aslmap.c projects/clang600-import/sys/contrib/dev/acpica/compiler/aslmapenter.c projects/clang600-import/sys/contrib/dev/acpica/compiler/aslmapoutput.c projects/clang600-import/sys/contrib/dev/acpica/compiler/aslmaputils.c projects/clang600-import/sys/contrib/dev/acpica/compiler/aslmessages.c projects/clang600-import/sys/contrib/dev/acpica/compiler/aslmessages.h projects/clang600-import/sys/contrib/dev/acpica/compiler/aslmethod.c projects/clang600-import/sys/contrib/dev/acpica/compiler/aslnamesp.c projects/clang600-import/sys/contrib/dev/acpica/compiler/asloffset.c projects/clang600-import/sys/contrib/dev/acpica/compiler/aslopcodes.c projects/clang600-import/sys/contrib/dev/acpica/compiler/asloperands.c projects/clang600-import/sys/contrib/dev/acpica/compiler/aslopt.c projects/clang600-import/sys/contrib/dev/acpica/compiler/asloptions.c projects/clang600-import/sys/contrib/dev/acpica/compiler/aslparseop.c projects/clang600-import/sys/contrib/dev/acpica/compiler/aslparser.y projects/clang600-import/sys/contrib/dev/acpica/compiler/aslpld.c projects/clang600-import/sys/contrib/dev/acpica/compiler/aslpredef.c projects/clang600-import/sys/contrib/dev/acpica/compiler/aslprepkg.c projects/clang600-import/sys/contrib/dev/acpica/compiler/aslprimaries.y projects/clang600-import/sys/contrib/dev/acpica/compiler/aslprintf.c projects/clang600-import/sys/contrib/dev/acpica/compiler/aslprune.c projects/clang600-import/sys/contrib/dev/acpica/compiler/aslresource.c projects/clang600-import/sys/contrib/dev/acpica/compiler/aslresources.y projects/clang600-import/sys/contrib/dev/acpica/compiler/aslrestype1.c projects/clang600-import/sys/contrib/dev/acpica/compiler/aslrestype1i.c projects/clang600-import/sys/contrib/dev/acpica/compiler/aslrestype2.c projects/clang600-import/sys/contrib/dev/acpica/compiler/aslrestype2d.c projects/clang600-import/sys/contrib/dev/acpica/compiler/aslrestype2e.c projects/clang600-import/sys/contrib/dev/acpica/compiler/aslrestype2q.c projects/clang600-import/sys/contrib/dev/acpica/compiler/aslrestype2s.c projects/clang600-import/sys/contrib/dev/acpica/compiler/aslrestype2w.c projects/clang600-import/sys/contrib/dev/acpica/compiler/aslrules.y projects/clang600-import/sys/contrib/dev/acpica/compiler/aslstartup.c projects/clang600-import/sys/contrib/dev/acpica/compiler/aslstubs.c projects/clang600-import/sys/contrib/dev/acpica/compiler/aslsupport.l projects/clang600-import/sys/contrib/dev/acpica/compiler/aslsupport.y projects/clang600-import/sys/contrib/dev/acpica/compiler/asltokens.y projects/clang600-import/sys/contrib/dev/acpica/compiler/asltransform.c projects/clang600-import/sys/contrib/dev/acpica/compiler/asltree.c projects/clang600-import/sys/contrib/dev/acpica/compiler/asltypes.h projects/clang600-import/sys/contrib/dev/acpica/compiler/asltypes.y projects/clang600-import/sys/contrib/dev/acpica/compiler/aslutils.c projects/clang600-import/sys/contrib/dev/acpica/compiler/asluuid.c projects/clang600-import/sys/contrib/dev/acpica/compiler/aslwalks.c projects/clang600-import/sys/contrib/dev/acpica/compiler/aslxref.c projects/clang600-import/sys/contrib/dev/acpica/compiler/aslxrefout.c projects/clang600-import/sys/contrib/dev/acpica/compiler/cvcompiler.c projects/clang600-import/sys/contrib/dev/acpica/compiler/cvdisasm.c projects/clang600-import/sys/contrib/dev/acpica/compiler/cvparser.c projects/clang600-import/sys/contrib/dev/acpica/compiler/dtcompile.c projects/clang600-import/sys/contrib/dev/acpica/compiler/dtcompiler.h projects/clang600-import/sys/contrib/dev/acpica/compiler/dtexpress.c projects/clang600-import/sys/contrib/dev/acpica/compiler/dtfield.c projects/clang600-import/sys/contrib/dev/acpica/compiler/dtio.c projects/clang600-import/sys/contrib/dev/acpica/compiler/dtparser.l projects/clang600-import/sys/contrib/dev/acpica/compiler/dtparser.y projects/clang600-import/sys/contrib/dev/acpica/compiler/dtsubtable.c projects/clang600-import/sys/contrib/dev/acpica/compiler/dttable.c projects/clang600-import/sys/contrib/dev/acpica/compiler/dttable1.c projects/clang600-import/sys/contrib/dev/acpica/compiler/dttable2.c projects/clang600-import/sys/contrib/dev/acpica/compiler/dttemplate.c projects/clang600-import/sys/contrib/dev/acpica/compiler/dttemplate.h projects/clang600-import/sys/contrib/dev/acpica/compiler/dtutils.c projects/clang600-import/sys/contrib/dev/acpica/compiler/preprocess.h projects/clang600-import/sys/contrib/dev/acpica/compiler/prexpress.c projects/clang600-import/sys/contrib/dev/acpica/compiler/prmacros.c projects/clang600-import/sys/contrib/dev/acpica/compiler/prparser.l projects/clang600-import/sys/contrib/dev/acpica/compiler/prparser.y projects/clang600-import/sys/contrib/dev/acpica/compiler/prscan.c projects/clang600-import/sys/contrib/dev/acpica/compiler/prutils.c projects/clang600-import/sys/contrib/dev/acpica/components/debugger/dbcmds.c projects/clang600-import/sys/contrib/dev/acpica/components/debugger/dbconvert.c projects/clang600-import/sys/contrib/dev/acpica/components/debugger/dbdisply.c projects/clang600-import/sys/contrib/dev/acpica/components/debugger/dbexec.c projects/clang600-import/sys/contrib/dev/acpica/components/debugger/dbfileio.c projects/clang600-import/sys/contrib/dev/acpica/components/debugger/dbhistry.c projects/clang600-import/sys/contrib/dev/acpica/components/debugger/dbinput.c projects/clang600-import/sys/contrib/dev/acpica/components/debugger/dbmethod.c projects/clang600-import/sys/contrib/dev/acpica/components/debugger/dbnames.c projects/clang600-import/sys/contrib/dev/acpica/components/debugger/dbobject.c projects/clang600-import/sys/contrib/dev/acpica/components/debugger/dbstats.c projects/clang600-import/sys/contrib/dev/acpica/components/debugger/dbtest.c projects/clang600-import/sys/contrib/dev/acpica/components/debugger/dbutils.c projects/clang600-import/sys/contrib/dev/acpica/components/debugger/dbxface.c projects/clang600-import/sys/contrib/dev/acpica/components/disassembler/dmbuffer.c projects/clang600-import/sys/contrib/dev/acpica/components/disassembler/dmcstyle.c projects/clang600-import/sys/contrib/dev/acpica/components/disassembler/dmdeferred.c projects/clang600-import/sys/contrib/dev/acpica/components/disassembler/dmnames.c projects/clang600-import/sys/contrib/dev/acpica/components/disassembler/dmopcode.c projects/clang600-import/sys/contrib/dev/acpica/components/disassembler/dmresrc.c projects/clang600-import/sys/contrib/dev/acpica/components/disassembler/dmresrcl.c projects/clang600-import/sys/contrib/dev/acpica/components/disassembler/dmresrcl2.c projects/clang600-import/sys/contrib/dev/acpica/components/disassembler/dmresrcs.c projects/clang600-import/sys/contrib/dev/acpica/components/disassembler/dmutils.c projects/clang600-import/sys/contrib/dev/acpica/components/disassembler/dmwalk.c projects/clang600-import/sys/contrib/dev/acpica/components/dispatcher/dsargs.c projects/clang600-import/sys/contrib/dev/acpica/components/dispatcher/dscontrol.c projects/clang600-import/sys/contrib/dev/acpica/components/dispatcher/dsdebug.c projects/clang600-import/sys/contrib/dev/acpica/components/dispatcher/dsfield.c projects/clang600-import/sys/contrib/dev/acpica/components/dispatcher/dsinit.c projects/clang600-import/sys/contrib/dev/acpica/components/dispatcher/dsmethod.c projects/clang600-import/sys/contrib/dev/acpica/components/dispatcher/dsmthdat.c projects/clang600-import/sys/contrib/dev/acpica/components/dispatcher/dsobject.c projects/clang600-import/sys/contrib/dev/acpica/components/dispatcher/dsopcode.c projects/clang600-import/sys/contrib/dev/acpica/components/dispatcher/dspkginit.c projects/clang600-import/sys/contrib/dev/acpica/components/dispatcher/dsutils.c projects/clang600-import/sys/contrib/dev/acpica/components/dispatcher/dswexec.c projects/clang600-import/sys/contrib/dev/acpica/components/dispatcher/dswload.c projects/clang600-import/sys/contrib/dev/acpica/components/dispatcher/dswload2.c projects/clang600-import/sys/contrib/dev/acpica/components/dispatcher/dswscope.c projects/clang600-import/sys/contrib/dev/acpica/components/dispatcher/dswstate.c projects/clang600-import/sys/contrib/dev/acpica/components/events/evevent.c projects/clang600-import/sys/contrib/dev/acpica/components/events/evglock.c projects/clang600-import/sys/contrib/dev/acpica/components/events/evgpe.c projects/clang600-import/sys/contrib/dev/acpica/components/events/evgpeblk.c projects/clang600-import/sys/contrib/dev/acpica/components/events/evgpeinit.c projects/clang600-import/sys/contrib/dev/acpica/components/events/evgpeutil.c projects/clang600-import/sys/contrib/dev/acpica/components/events/evhandler.c projects/clang600-import/sys/contrib/dev/acpica/components/events/evmisc.c projects/clang600-import/sys/contrib/dev/acpica/components/events/evregion.c projects/clang600-import/sys/contrib/dev/acpica/components/events/evrgnini.c projects/clang600-import/sys/contrib/dev/acpica/components/events/evsci.c projects/clang600-import/sys/contrib/dev/acpica/components/events/evxface.c projects/clang600-import/sys/contrib/dev/acpica/components/events/evxfevnt.c projects/clang600-import/sys/contrib/dev/acpica/components/events/evxfgpe.c projects/clang600-import/sys/contrib/dev/acpica/components/events/evxfregn.c projects/clang600-import/sys/contrib/dev/acpica/components/executer/exconcat.c projects/clang600-import/sys/contrib/dev/acpica/components/executer/exconfig.c projects/clang600-import/sys/contrib/dev/acpica/components/executer/exconvrt.c projects/clang600-import/sys/contrib/dev/acpica/components/executer/excreate.c projects/clang600-import/sys/contrib/dev/acpica/components/executer/exdebug.c projects/clang600-import/sys/contrib/dev/acpica/components/executer/exdump.c projects/clang600-import/sys/contrib/dev/acpica/components/executer/exfield.c projects/clang600-import/sys/contrib/dev/acpica/components/executer/exfldio.c projects/clang600-import/sys/contrib/dev/acpica/components/executer/exmisc.c projects/clang600-import/sys/contrib/dev/acpica/components/executer/exmutex.c projects/clang600-import/sys/contrib/dev/acpica/components/executer/exnames.c projects/clang600-import/sys/contrib/dev/acpica/components/executer/exoparg1.c projects/clang600-import/sys/contrib/dev/acpica/components/executer/exoparg2.c projects/clang600-import/sys/contrib/dev/acpica/components/executer/exoparg3.c projects/clang600-import/sys/contrib/dev/acpica/components/executer/exoparg6.c projects/clang600-import/sys/contrib/dev/acpica/components/executer/exprep.c projects/clang600-import/sys/contrib/dev/acpica/components/executer/exregion.c projects/clang600-import/sys/contrib/dev/acpica/components/executer/exresnte.c projects/clang600-import/sys/contrib/dev/acpica/components/executer/exresolv.c projects/clang600-import/sys/contrib/dev/acpica/components/executer/exresop.c projects/clang600-import/sys/contrib/dev/acpica/components/executer/exstore.c projects/clang600-import/sys/contrib/dev/acpica/components/executer/exstoren.c projects/clang600-import/sys/contrib/dev/acpica/components/executer/exstorob.c projects/clang600-import/sys/contrib/dev/acpica/components/executer/exsystem.c projects/clang600-import/sys/contrib/dev/acpica/components/executer/extrace.c projects/clang600-import/sys/contrib/dev/acpica/components/executer/exutils.c projects/clang600-import/sys/contrib/dev/acpica/components/hardware/hwacpi.c projects/clang600-import/sys/contrib/dev/acpica/components/hardware/hwesleep.c projects/clang600-import/sys/contrib/dev/acpica/components/hardware/hwgpe.c projects/clang600-import/sys/contrib/dev/acpica/components/hardware/hwpci.c projects/clang600-import/sys/contrib/dev/acpica/components/hardware/hwregs.c projects/clang600-import/sys/contrib/dev/acpica/components/hardware/hwsleep.c projects/clang600-import/sys/contrib/dev/acpica/components/hardware/hwtimer.c projects/clang600-import/sys/contrib/dev/acpica/components/hardware/hwvalid.c projects/clang600-import/sys/contrib/dev/acpica/components/hardware/hwxface.c projects/clang600-import/sys/contrib/dev/acpica/components/hardware/hwxfsleep.c projects/clang600-import/sys/contrib/dev/acpica/components/namespace/nsaccess.c projects/clang600-import/sys/contrib/dev/acpica/components/namespace/nsalloc.c projects/clang600-import/sys/contrib/dev/acpica/components/namespace/nsarguments.c projects/clang600-import/sys/contrib/dev/acpica/components/namespace/nsconvert.c projects/clang600-import/sys/contrib/dev/acpica/components/namespace/nsdump.c projects/clang600-import/sys/contrib/dev/acpica/components/namespace/nsdumpdv.c projects/clang600-import/sys/contrib/dev/acpica/components/namespace/nseval.c projects/clang600-import/sys/contrib/dev/acpica/components/namespace/nsinit.c projects/clang600-import/sys/contrib/dev/acpica/components/namespace/nsload.c projects/clang600-import/sys/contrib/dev/acpica/components/namespace/nsnames.c projects/clang600-import/sys/contrib/dev/acpica/components/namespace/nsobject.c projects/clang600-import/sys/contrib/dev/acpica/components/namespace/nsparse.c projects/clang600-import/sys/contrib/dev/acpica/components/namespace/nspredef.c projects/clang600-import/sys/contrib/dev/acpica/components/namespace/nsprepkg.c projects/clang600-import/sys/contrib/dev/acpica/components/namespace/nsrepair.c projects/clang600-import/sys/contrib/dev/acpica/components/namespace/nsrepair2.c projects/clang600-import/sys/contrib/dev/acpica/components/namespace/nssearch.c projects/clang600-import/sys/contrib/dev/acpica/components/namespace/nsutils.c projects/clang600-import/sys/contrib/dev/acpica/components/namespace/nswalk.c projects/clang600-import/sys/contrib/dev/acpica/components/namespace/nsxfeval.c projects/clang600-import/sys/contrib/dev/acpica/components/namespace/nsxfname.c projects/clang600-import/sys/contrib/dev/acpica/components/namespace/nsxfobj.c projects/clang600-import/sys/contrib/dev/acpica/components/parser/psargs.c projects/clang600-import/sys/contrib/dev/acpica/components/parser/psloop.c projects/clang600-import/sys/contrib/dev/acpica/components/parser/psobject.c projects/clang600-import/sys/contrib/dev/acpica/components/parser/psopcode.c projects/clang600-import/sys/contrib/dev/acpica/components/parser/psopinfo.c projects/clang600-import/sys/contrib/dev/acpica/components/parser/psparse.c projects/clang600-import/sys/contrib/dev/acpica/components/parser/psscope.c projects/clang600-import/sys/contrib/dev/acpica/components/parser/pstree.c projects/clang600-import/sys/contrib/dev/acpica/components/parser/psutils.c projects/clang600-import/sys/contrib/dev/acpica/components/parser/pswalk.c projects/clang600-import/sys/contrib/dev/acpica/components/parser/psxface.c projects/clang600-import/sys/contrib/dev/acpica/components/resources/rsaddr.c projects/clang600-import/sys/contrib/dev/acpica/components/resources/rscalc.c projects/clang600-import/sys/contrib/dev/acpica/components/resources/rscreate.c projects/clang600-import/sys/contrib/dev/acpica/components/resources/rsdump.c projects/clang600-import/sys/contrib/dev/acpica/components/resources/rsdumpinfo.c projects/clang600-import/sys/contrib/dev/acpica/components/resources/rsinfo.c projects/clang600-import/sys/contrib/dev/acpica/components/resources/rsio.c projects/clang600-import/sys/contrib/dev/acpica/components/resources/rsirq.c projects/clang600-import/sys/contrib/dev/acpica/components/resources/rslist.c projects/clang600-import/sys/contrib/dev/acpica/components/resources/rsmemory.c projects/clang600-import/sys/contrib/dev/acpica/components/resources/rsmisc.c projects/clang600-import/sys/contrib/dev/acpica/components/resources/rsserial.c projects/clang600-import/sys/contrib/dev/acpica/components/resources/rsutils.c projects/clang600-import/sys/contrib/dev/acpica/components/resources/rsxface.c projects/clang600-import/sys/contrib/dev/acpica/components/tables/tbdata.c projects/clang600-import/sys/contrib/dev/acpica/components/tables/tbfadt.c projects/clang600-import/sys/contrib/dev/acpica/components/tables/tbfind.c projects/clang600-import/sys/contrib/dev/acpica/components/tables/tbinstal.c projects/clang600-import/sys/contrib/dev/acpica/components/tables/tbprint.c projects/clang600-import/sys/contrib/dev/acpica/components/tables/tbutils.c projects/clang600-import/sys/contrib/dev/acpica/components/tables/tbxface.c projects/clang600-import/sys/contrib/dev/acpica/components/tables/tbxfload.c projects/clang600-import/sys/contrib/dev/acpica/components/tables/tbxfroot.c projects/clang600-import/sys/contrib/dev/acpica/components/utilities/utaddress.c projects/clang600-import/sys/contrib/dev/acpica/components/utilities/utalloc.c projects/clang600-import/sys/contrib/dev/acpica/components/utilities/utascii.c projects/clang600-import/sys/contrib/dev/acpica/components/utilities/utbuffer.c projects/clang600-import/sys/contrib/dev/acpica/components/utilities/utcache.c projects/clang600-import/sys/contrib/dev/acpica/components/utilities/utcopy.c projects/clang600-import/sys/contrib/dev/acpica/components/utilities/utdebug.c projects/clang600-import/sys/contrib/dev/acpica/components/utilities/utdecode.c projects/clang600-import/sys/contrib/dev/acpica/components/utilities/utdelete.c projects/clang600-import/sys/contrib/dev/acpica/components/utilities/uterror.c projects/clang600-import/sys/contrib/dev/acpica/components/utilities/uteval.c projects/clang600-import/sys/contrib/dev/acpica/components/utilities/utexcep.c projects/clang600-import/sys/contrib/dev/acpica/components/utilities/utglobal.c projects/clang600-import/sys/contrib/dev/acpica/components/utilities/uthex.c projects/clang600-import/sys/contrib/dev/acpica/components/utilities/utids.c projects/clang600-import/sys/contrib/dev/acpica/components/utilities/utinit.c projects/clang600-import/sys/contrib/dev/acpica/components/utilities/utlock.c projects/clang600-import/sys/contrib/dev/acpica/components/utilities/utmath.c projects/clang600-import/sys/contrib/dev/acpica/components/utilities/utmisc.c projects/clang600-import/sys/contrib/dev/acpica/components/utilities/utmutex.c projects/clang600-import/sys/contrib/dev/acpica/components/utilities/utnonansi.c projects/clang600-import/sys/contrib/dev/acpica/components/utilities/utobject.c projects/clang600-import/sys/contrib/dev/acpica/components/utilities/utosi.c projects/clang600-import/sys/contrib/dev/acpica/components/utilities/utownerid.c projects/clang600-import/sys/contrib/dev/acpica/components/utilities/utpredef.c projects/clang600-import/sys/contrib/dev/acpica/components/utilities/utresdecode.c projects/clang600-import/sys/contrib/dev/acpica/components/utilities/utresrc.c projects/clang600-import/sys/contrib/dev/acpica/components/utilities/utstate.c projects/clang600-import/sys/contrib/dev/acpica/components/utilities/utstring.c projects/clang600-import/sys/contrib/dev/acpica/components/utilities/utstrsuppt.c projects/clang600-import/sys/contrib/dev/acpica/components/utilities/utstrtoul64.c projects/clang600-import/sys/contrib/dev/acpica/components/utilities/uttrack.c projects/clang600-import/sys/contrib/dev/acpica/components/utilities/utuuid.c projects/clang600-import/sys/contrib/dev/acpica/components/utilities/utxface.c projects/clang600-import/sys/contrib/dev/acpica/components/utilities/utxferror.c projects/clang600-import/sys/contrib/dev/acpica/components/utilities/utxfinit.c projects/clang600-import/sys/contrib/dev/acpica/components/utilities/utxfmutex.c projects/clang600-import/sys/contrib/dev/acpica/include/acapps.h projects/clang600-import/sys/contrib/dev/acpica/include/acbuffer.h projects/clang600-import/sys/contrib/dev/acpica/include/acclib.h projects/clang600-import/sys/contrib/dev/acpica/include/accommon.h projects/clang600-import/sys/contrib/dev/acpica/include/acconfig.h projects/clang600-import/sys/contrib/dev/acpica/include/acconvert.h projects/clang600-import/sys/contrib/dev/acpica/include/acdebug.h projects/clang600-import/sys/contrib/dev/acpica/include/acdisasm.h projects/clang600-import/sys/contrib/dev/acpica/include/acdispat.h projects/clang600-import/sys/contrib/dev/acpica/include/acevents.h projects/clang600-import/sys/contrib/dev/acpica/include/acexcep.h projects/clang600-import/sys/contrib/dev/acpica/include/acglobal.h projects/clang600-import/sys/contrib/dev/acpica/include/achware.h projects/clang600-import/sys/contrib/dev/acpica/include/acinterp.h projects/clang600-import/sys/contrib/dev/acpica/include/aclocal.h projects/clang600-import/sys/contrib/dev/acpica/include/acmacros.h projects/clang600-import/sys/contrib/dev/acpica/include/acnames.h projects/clang600-import/sys/contrib/dev/acpica/include/acnamesp.h projects/clang600-import/sys/contrib/dev/acpica/include/acobject.h projects/clang600-import/sys/contrib/dev/acpica/include/acopcode.h projects/clang600-import/sys/contrib/dev/acpica/include/acoutput.h projects/clang600-import/sys/contrib/dev/acpica/include/acparser.h projects/clang600-import/sys/contrib/dev/acpica/include/acpi.h projects/clang600-import/sys/contrib/dev/acpica/include/acpiosxf.h projects/clang600-import/sys/contrib/dev/acpica/include/acpixf.h projects/clang600-import/sys/contrib/dev/acpica/include/acpredef.h projects/clang600-import/sys/contrib/dev/acpica/include/acresrc.h projects/clang600-import/sys/contrib/dev/acpica/include/acrestyp.h projects/clang600-import/sys/contrib/dev/acpica/include/acstruct.h projects/clang600-import/sys/contrib/dev/acpica/include/actables.h projects/clang600-import/sys/contrib/dev/acpica/include/actbl.h projects/clang600-import/sys/contrib/dev/acpica/include/actbl1.h projects/clang600-import/sys/contrib/dev/acpica/include/actbl2.h projects/clang600-import/sys/contrib/dev/acpica/include/actbl3.h projects/clang600-import/sys/contrib/dev/acpica/include/actypes.h projects/clang600-import/sys/contrib/dev/acpica/include/acutils.h projects/clang600-import/sys/contrib/dev/acpica/include/acuuid.h projects/clang600-import/sys/contrib/dev/acpica/include/amlcode.h projects/clang600-import/sys/contrib/dev/acpica/include/amlresrc.h projects/clang600-import/sys/contrib/dev/acpica/include/platform/acenv.h projects/clang600-import/sys/contrib/dev/acpica/include/platform/acenvex.h projects/clang600-import/sys/contrib/dev/acpica/include/platform/acfreebsd.h projects/clang600-import/sys/contrib/dev/acpica/include/platform/acgcc.h projects/clang600-import/sys/contrib/dev/acpica/include/platform/acgccex.h projects/clang600-import/sys/contrib/dev/acpica/os_specific/service_layers/osunixxf.c projects/clang600-import/sys/contrib/ipfilter/netinet/ip_state.c projects/clang600-import/sys/dev/ahci/ahci_pci.c projects/clang600-import/sys/dev/ath/if_ath_beacon.c projects/clang600-import/sys/dev/ath/if_ath_btcoex.c projects/clang600-import/sys/dev/ath/if_ath_ioctl.c projects/clang600-import/sys/dev/ath/if_ath_lna_div.c projects/clang600-import/sys/dev/ath/if_ath_spectral.c projects/clang600-import/sys/dev/ath/if_ath_tx.c projects/clang600-import/sys/dev/bhnd/cores/pmu/bhnd_pmu_subr.c projects/clang600-import/sys/dev/bwn/if_bwn.c projects/clang600-import/sys/dev/cpuctl/cpuctl.c projects/clang600-import/sys/dev/cxgbe/t4_main.c projects/clang600-import/sys/dev/ep/if_ep_isa.c projects/clang600-import/sys/dev/extres/syscon/syscon_generic.c projects/clang600-import/sys/dev/hpt27xx/hpt27xx_osm_bsd.c projects/clang600-import/sys/dev/hptnr/hptnr_osm_bsd.c projects/clang600-import/sys/dev/hptrr/hptrr_osm_bsd.c projects/clang600-import/sys/dev/iwi/if_iwi.c projects/clang600-import/sys/dev/iwm/if_iwm.c projects/clang600-import/sys/dev/iwn/if_iwn.c projects/clang600-import/sys/dev/mmc/host/dwmmc.c projects/clang600-import/sys/dev/mmc/host/dwmmc_hisi.c projects/clang600-import/sys/dev/mmc/host/dwmmc_var.h projects/clang600-import/sys/dev/mmc/mmcsd.c projects/clang600-import/sys/dev/mwl/if_mwl.c projects/clang600-import/sys/dev/nctgpio/nctgpio.c projects/clang600-import/sys/dev/ofw/ofw_fdt.c projects/clang600-import/sys/dev/otus/if_otus.c projects/clang600-import/sys/dev/ral/rt2661.c projects/clang600-import/sys/dev/ral/rt2860.c projects/clang600-import/sys/dev/rtwn/if_rtwn.c projects/clang600-import/sys/dev/usb/controller/xhci_pci.c projects/clang600-import/sys/dev/usb/wlan/if_rum.c projects/clang600-import/sys/dev/usb/wlan/if_run.c projects/clang600-import/sys/dev/vt/colors/vt_termcolors.c projects/clang600-import/sys/dev/vt/hw/ofwfb/ofwfb.c projects/clang600-import/sys/dev/watchdog/watchdog.c projects/clang600-import/sys/dev/wpi/if_wpi.c projects/clang600-import/sys/fs/ext2fs/ext2_alloc.c projects/clang600-import/sys/fs/ext2fs/ext2_balloc.c projects/clang600-import/sys/fs/ext2fs/ext2_csum.c projects/clang600-import/sys/fs/ext2fs/ext2_extents.c projects/clang600-import/sys/fs/ext2fs/ext2_extents.h projects/clang600-import/sys/fs/ext2fs/ext2_extern.h projects/clang600-import/sys/fs/ext2fs/ext2_hash.c projects/clang600-import/sys/fs/ext2fs/ext2_subr.c projects/clang600-import/sys/fs/ext2fs/ext2_vfsops.c projects/clang600-import/sys/fs/ext2fs/ext2_vnops.c projects/clang600-import/sys/fs/ext2fs/ext2fs.h projects/clang600-import/sys/fs/ext2fs/fs.h projects/clang600-import/sys/fs/procfs/procfs.c projects/clang600-import/sys/geom/geom_ccd.c projects/clang600-import/sys/geom/geom_event.c projects/clang600-import/sys/geom/mirror/g_mirror.c projects/clang600-import/sys/i386/conf/GENERIC projects/clang600-import/sys/i386/conf/NOTES projects/clang600-import/sys/i386/i386/trap.c projects/clang600-import/sys/isa/isa_common.c projects/clang600-import/sys/kern/device_if.m projects/clang600-import/sys/kern/init_main.c projects/clang600-import/sys/kern/kern_clock.c projects/clang600-import/sys/kern/kern_dump.c projects/clang600-import/sys/kern/kern_kthread.c projects/clang600-import/sys/kern/kern_mutex.c projects/clang600-import/sys/kern/kern_proc.c projects/clang600-import/sys/kern/kern_resource.c projects/clang600-import/sys/kern/kern_rwlock.c projects/clang600-import/sys/kern/kern_sendfile.c projects/clang600-import/sys/kern/kern_sx.c projects/clang600-import/sys/kern/subr_autoconf.c projects/clang600-import/sys/kern/subr_prf.c projects/clang600-import/sys/kern/sysv_ipc.c projects/clang600-import/sys/kern/sysv_shm.c projects/clang600-import/sys/kern/vfs_mountroot.c projects/clang600-import/sys/mips/ingenic/jz4780_timer.c projects/clang600-import/sys/mips/mips/tick.c projects/clang600-import/sys/mips/nlm/tick.c projects/clang600-import/sys/modules/Makefile projects/clang600-import/sys/modules/ep/Makefile projects/clang600-import/sys/net/if_lagg.c projects/clang600-import/sys/net/if_vxlan.c projects/clang600-import/sys/net/if_vxlan.h projects/clang600-import/sys/net/pfvar.h projects/clang600-import/sys/net80211/ieee80211_node.c projects/clang600-import/sys/net80211/ieee80211_output.c projects/clang600-import/sys/netpfil/pf/pf.c projects/clang600-import/sys/netpfil/pf/pf_ioctl.c projects/clang600-import/sys/netpfil/pf/pf_norm.c projects/clang600-import/sys/opencrypto/cryptosoft.c projects/clang600-import/sys/powerpc/aim/locore64.S projects/clang600-import/sys/powerpc/aim/trap_subr64.S projects/clang600-import/sys/powerpc/include/pcpu.h projects/clang600-import/sys/powerpc/include/vmparam.h projects/clang600-import/sys/powerpc/powerpc/clock.c projects/clang600-import/sys/powerpc/powerpc/db_interface.c projects/clang600-import/sys/powerpc/powerpc/elf32_machdep.c projects/clang600-import/sys/powerpc/powerpc/machdep.c projects/clang600-import/sys/powerpc/powerpc/mp_machdep.c projects/clang600-import/sys/powerpc/powerpc/swtch64.S projects/clang600-import/sys/powerpc/powerpc/trap.c projects/clang600-import/sys/powerpc/ps3/mmu_ps3.c projects/clang600-import/sys/powerpc/ps3/platform_ps3.c projects/clang600-import/sys/powerpc/ps3/ps3_syscons.c projects/clang600-import/sys/riscv/riscv/timer.c projects/clang600-import/sys/sparc64/sparc64/clock.c projects/clang600-import/sys/sys/_stdarg.h projects/clang600-import/sys/sys/copyright.h projects/clang600-import/sys/sys/cpuctl.h projects/clang600-import/sys/sys/kernel.h projects/clang600-import/sys/sys/libkern.h projects/clang600-import/sys/sys/mount.h projects/clang600-import/sys/sys/syslimits.h projects/clang600-import/sys/sys/watchdog.h projects/clang600-import/sys/tools/embed_mfs.sh projects/clang600-import/sys/tools/makeobjops.awk projects/clang600-import/sys/ufs/ufs/ufs_lookup.c projects/clang600-import/sys/ufs/ufs/ufs_vnops.c projects/clang600-import/sys/vm/swap_pager.c projects/clang600-import/sys/vm/uma.h projects/clang600-import/sys/vm/uma_core.c projects/clang600-import/sys/vm/uma_int.h projects/clang600-import/sys/vm/vm_pageout.c projects/clang600-import/sys/vm/vm_pageout.h projects/clang600-import/sys/vm/vm_swapout.c projects/clang600-import/sys/x86/include/specialreg.h projects/clang600-import/sys/x86/include/x86_var.h projects/clang600-import/sys/x86/x86/delay.c projects/clang600-import/sys/x86/x86/identcpu.c projects/clang600-import/sys/x86/x86/local_apic.c projects/clang600-import/targets/pseudo/userland/Makefile.depend projects/clang600-import/tests/sys/geom/class/eli/attach_d_test.sh projects/clang600-import/tests/sys/geom/class/eli/conf.sh projects/clang600-import/tests/sys/geom/class/eli/configure_b_B_test.sh projects/clang600-import/tests/sys/geom/class/eli/delkey_test.sh projects/clang600-import/tests/sys/geom/class/eli/detach_l_test.sh projects/clang600-import/tests/sys/geom/class/eli/init_B_test.sh projects/clang600-import/tests/sys/geom/class/eli/init_J_test.sh projects/clang600-import/tests/sys/geom/class/eli/init_a_test.sh projects/clang600-import/tests/sys/geom/class/eli/init_alias_test.sh projects/clang600-import/tests/sys/geom/class/eli/init_i_P_test.sh projects/clang600-import/tests/sys/geom/class/eli/init_test.sh projects/clang600-import/tests/sys/geom/class/eli/integrity_copy_test.sh projects/clang600-import/tests/sys/geom/class/eli/integrity_data_test.sh projects/clang600-import/tests/sys/geom/class/eli/integrity_hmac_test.sh projects/clang600-import/tests/sys/geom/class/eli/kill_test.sh projects/clang600-import/tests/sys/geom/class/eli/nokey_test.sh projects/clang600-import/tests/sys/geom/class/eli/onetime_a_test.sh projects/clang600-import/tests/sys/geom/class/eli/onetime_d_test.sh projects/clang600-import/tests/sys/geom/class/eli/onetime_test.sh projects/clang600-import/tests/sys/geom/class/eli/readonly_test.sh projects/clang600-import/tests/sys/geom/class/eli/resize_test.sh projects/clang600-import/tests/sys/geom/class/eli/setkey_test.sh projects/clang600-import/tools/tools/sysbuild/sysbuild.sh projects/clang600-import/usr.bin/find/Makefile projects/clang600-import/usr.bin/find/function.c projects/clang600-import/usr.bin/hexdump/display.c projects/clang600-import/usr.bin/kdump/kdump.c projects/clang600-import/usr.bin/man/man.1 projects/clang600-import/usr.bin/morse/morse.6 projects/clang600-import/usr.bin/morse/morse.c projects/clang600-import/usr.bin/units/units.c projects/clang600-import/usr.sbin/bsdinstall/distextract/distextract.c projects/clang600-import/usr.sbin/bsdinstall/partedit/gpart_ops.c projects/clang600-import/usr.sbin/bsdinstall/partedit/partedit_powerpc.c projects/clang600-import/usr.sbin/bsdinstall/scripts/Makefile projects/clang600-import/usr.sbin/bsdinstall/scripts/auto projects/clang600-import/usr.sbin/bsdinstall/scripts/rootpass projects/clang600-import/usr.sbin/bsdinstall/scripts/script projects/clang600-import/usr.sbin/cpucontrol/cpucontrol.8 projects/clang600-import/usr.sbin/cpucontrol/cpucontrol.c projects/clang600-import/usr.sbin/devmatch/devmatch.8 projects/clang600-import/usr.sbin/diskinfo/diskinfo.c projects/clang600-import/usr.sbin/dumpcis/printcis.c projects/clang600-import/usr.sbin/dumpcis/readcis.c projects/clang600-import/usr.sbin/dumpcis/readcis.h projects/clang600-import/usr.sbin/efibootmgr/efibootmgr.c projects/clang600-import/usr.sbin/efidp/efidp.c projects/clang600-import/usr.sbin/fdcontrol/fdcontrol.c projects/clang600-import/usr.sbin/fwcontrol/fwdv.c projects/clang600-import/usr.sbin/ifmcstat/printb.c projects/clang600-import/usr.sbin/kldxref/ef.c projects/clang600-import/usr.sbin/kldxref/ef_obj.c projects/clang600-import/usr.sbin/mailwrapper/Makefile projects/clang600-import/usr.sbin/mailwrapper/Makefile.depend projects/clang600-import/usr.sbin/mailwrapper/mailwrapper.c projects/clang600-import/usr.sbin/newsyslog/newsyslog.c projects/clang600-import/usr.sbin/newsyslog/newsyslog.conf.5 projects/clang600-import/usr.sbin/pciconf/cap.c projects/clang600-import/usr.sbin/pciconf/pciconf.c projects/clang600-import/usr.sbin/rpcbind/check_bound.c projects/clang600-import/usr.sbin/rpcbind/rpcb_stat.c projects/clang600-import/usr.sbin/rpcbind/rpcb_svc.c projects/clang600-import/usr.sbin/rpcbind/rpcb_svc_4.c projects/clang600-import/usr.sbin/rpcbind/rpcb_svc_com.c projects/clang600-import/usr.sbin/rpcbind/rpcbind.c projects/clang600-import/usr.sbin/rpcbind/rpcbind.h projects/clang600-import/usr.sbin/rpcbind/security.c projects/clang600-import/usr.sbin/rpcbind/tests/addrmerge_test.c projects/clang600-import/usr.sbin/rpcbind/util.c projects/clang600-import/usr.sbin/usbconfig/usbconfig.8 Directory Properties: projects/clang600-import/ (props changed) projects/clang600-import/contrib/elftoolchain/ (props changed) projects/clang600-import/sys/cddl/contrib/opensolaris/ (props changed) projects/clang600-import/sys/contrib/dev/acpica/ (props changed) projects/clang600-import/sys/contrib/ipfilter/ (props changed) Modified: projects/clang600-import/COPYRIGHT ============================================================================== --- projects/clang600-import/COPYRIGHT Sat Jan 6 15:52:28 2018 (r327623) +++ projects/clang600-import/COPYRIGHT Sat Jan 6 16:13:17 2018 (r327624) @@ -4,7 +4,7 @@ The compilation of software known as FreeBSD is distributed under the following terms: -Copyright (c) 1992-2017 The FreeBSD Project. All rights reserved. +Copyright (c) 1992-2018 The FreeBSD Project. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions Modified: projects/clang600-import/Makefile.inc1 ============================================================================== --- projects/clang600-import/Makefile.inc1 Sat Jan 6 15:52:28 2018 (r327623) +++ projects/clang600-import/Makefile.inc1 Sat Jan 6 16:13:17 2018 (r327624) @@ -262,10 +262,11 @@ SUBDIR+= tests SUBDIR+=contrib/ofed .endif -# Local directories are last, since it is nice to at least get the base -# system rebuilt before you do them. +# Local directories are built in parallel with the base system directories. +# Users may insert a .WAIT directive at the beginning or elsewhere within +# the LOCAL_DIRS and LOCAL_LIB_DIRS lists as needed. .for _DIR in ${LOCAL_DIRS} -.if exists(${.CURDIR}/${_DIR}/Makefile) +.if ${_DIR} == ".WAIT" || exists(${.CURDIR}/${_DIR}/Makefile) SUBDIR+= ${_DIR} .endif .endfor @@ -276,7 +277,7 @@ SUBDIR+= ${_DIR} _REDUNDANT_LIB_DIRS+= ${LOCAL_LIB_DIRS:M${_DIR}*} .endfor .for _DIR in ${LOCAL_LIB_DIRS} -.if empty(_REDUNDANT_LIB_DIRS:M${_DIR}) && exists(${.CURDIR}/${_DIR}/Makefile) +.if ${_DIR} == ".WAIT" || (empty(_REDUNDANT_LIB_DIRS:M${_DIR}) && exists(${.CURDIR}/${_DIR}/Makefile)) SUBDIR+= ${_DIR} .endif .endfor @@ -2445,7 +2446,7 @@ _generic_libs= ${_cddl_lib} gnu/lib ${_kerberos5_lib} _generic_libs+= sbin/ipf/libipf .endif .for _DIR in ${LOCAL_LIB_DIRS} -.if exists(${.CURDIR}/${_DIR}/Makefile) && empty(_generic_libs:M${_DIR}) +.if ${_DIR} == ".WAIT" || (empty(_generic_libs:M${_DIR}) && exists(${.CURDIR}/${_DIR}/Makefile)) _generic_libs+= ${_DIR} .endif .endfor Modified: projects/clang600-import/ObsoleteFiles.inc ============================================================================== --- projects/clang600-import/ObsoleteFiles.inc Sat Jan 6 15:52:28 2018 (r327623) +++ projects/clang600-import/ObsoleteFiles.inc Sat Jan 6 16:13:17 2018 (r327624) @@ -38,7 +38,7 @@ # xargs -n1 | sort | uniq -d; # done -# 2017mmdd: new clang import which bumps version from 5.0.1 to 6.0.0. +# 2018mmdd: new clang import which bumps version from 5.0.1 to 6.0.0. OLD_FILES+=usr/lib/clang/5.0.1/include/sanitizer/allocator_interface.h OLD_FILES+=usr/lib/clang/5.0.1/include/sanitizer/asan_interface.h OLD_FILES+=usr/lib/clang/5.0.1/include/sanitizer/common_interface_defs.h @@ -155,6 +155,8 @@ OLD_FILES+=usr/lib/clang/5.0.1/lib/freebsd/libclang_rt OLD_DIRS+=usr/lib/clang/5.0.1/lib/freebsd OLD_DIRS+=usr/lib/clang/5.0.1/lib OLD_DIRS+=usr/lib/clang/5.0.1 +# 20171230: Remove /etc/skel from mtree +OLD_DIRS+=/etc/skel # 20171208: Remove basename_r(3) OLD_FILES+=usr/share/man/man3/basename_r.3.gz # 20171204: Move fdformat man page from volume 1 to volume 8. Modified: projects/clang600-import/UPDATING ============================================================================== --- projects/clang600-import/UPDATING Sat Jan 6 15:52:28 2018 (r327623) +++ projects/clang600-import/UPDATING Sat Jan 6 16:13:17 2018 (r327624) @@ -51,6 +51,20 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 12.x IS SLOW: ****************************** SPECIAL WARNING: ****************************** +20180104: + The use of RSS hash from the network card aka flowid has been + disabled by default for lagg(4) as it's currently incompatible with + the lacp and loadbalance protocols. + + This can be re-enabled by setting the following in loader.conf: + net.link.lagg.default_use_flowid="1" + +20180102: + The SW_WATCHDOG option is no longer necessary to enable the + hardclock-based software watchdog if no hardware watchdog is + configured. As before, SW_WATCHDOG will cause the software + watchdog to be enabled even if a hardware watchdog is configured. + 20171215: r326887 fixes the issue described in the 20171214 UPDATING entry. r326888 flips the switch back to building GELI support always. Modified: projects/clang600-import/bin/cat/cat.c ============================================================================== --- projects/clang600-import/bin/cat/cat.c Sat Jan 6 15:52:28 2018 (r327623) +++ projects/clang600-import/bin/cat/cat.c Sat Jan 6 16:13:17 2018 (r327624) @@ -300,6 +300,7 @@ ilseq: static void raw_cat(int rfd) { + long pagesize; int off, wfd; ssize_t nr, nw; static size_t bsize; @@ -316,9 +317,12 @@ raw_cat(int rfd) bsize = MIN(BUFSIZE_MAX, MAXPHYS * 8); else bsize = BUFSIZE_SMALL; - } else - bsize = MAX(sbuf.st_blksize, - (blksize_t)sysconf(_SC_PAGESIZE)); + } else { + bsize = sbuf.st_blksize; + pagesize = sysconf(_SC_PAGESIZE); + if (pagesize > 0) + bsize = MAX(bsize, (size_t)pagesize); + } if ((buf = malloc(bsize)) == NULL) err(1, "malloc() failure of IO buffer"); } Modified: projects/clang600-import/bin/sh/jobs.c ============================================================================== --- projects/clang600-import/bin/sh/jobs.c Sat Jan 6 15:52:28 2018 (r327623) +++ projects/clang600-import/bin/sh/jobs.c Sat Jan 6 16:13:17 2018 (r327624) @@ -75,6 +75,42 @@ __FBSDID("$FreeBSD$"); #include "builtins.h" +/* + * A job structure contains information about a job. A job is either a + * single process or a set of processes contained in a pipeline. In the + * latter case, pidlist will be non-NULL, and will point to a -1 terminated + * array of pids. + */ + +struct procstat { + pid_t pid; /* process id */ + int status; /* status flags (defined above) */ + char *cmd; /* text of command being run */ +}; + + +/* states */ +#define JOBSTOPPED 1 /* all procs are stopped */ +#define JOBDONE 2 /* all procs are completed */ + + +struct job { + struct procstat ps0; /* status of process */ + struct procstat *ps; /* status or processes when more than one */ + short nprocs; /* number of processes */ + pid_t pgrp; /* process group of this job */ + char state; /* true if job is finished */ + char used; /* true if this entry is in used */ + char changed; /* true if status has changed */ + char foreground; /* true if running in the foreground */ + char remembered; /* true if $! referenced */ +#if JOBS + char jobctl; /* job running under job control */ + struct job *next; /* job used after this one */ +#endif +}; + + static struct job *jobtab; /* array of jobs */ static int njobs; /* size of array */ static pid_t backgndpid = -1; /* pid of last background process */ Modified: projects/clang600-import/bin/sh/jobs.h ============================================================================== --- projects/clang600-import/bin/sh/jobs.h Sat Jan 6 15:52:28 2018 (r327623) +++ projects/clang600-import/bin/sh/jobs.h Sat Jan 6 16:13:17 2018 (r327624) @@ -40,40 +40,7 @@ #include /* for sig_atomic_t */ -/* - * A job structure contains information about a job. A job is either a - * single process or a set of processes contained in a pipeline. In the - * latter case, pidlist will be non-NULL, and will point to a -1 terminated - * array of pids. - */ - -struct procstat { - pid_t pid; /* process id */ - int status; /* status flags (defined above) */ - char *cmd; /* text of command being run */ -}; - - -/* states */ -#define JOBSTOPPED 1 /* all procs are stopped */ -#define JOBDONE 2 /* all procs are completed */ - - -struct job { - struct procstat ps0; /* status of process */ - struct procstat *ps; /* status or processes when more than one */ - short nprocs; /* number of processes */ - pid_t pgrp; /* process group of this job */ - char state; /* true if job is finished */ - char used; /* true if this entry is in used */ - char changed; /* true if status has changed */ - char foreground; /* true if running in the foreground */ - char remembered; /* true if $! referenced */ -#if JOBS - char jobctl; /* job running under job control */ - struct job *next; /* job used after this one */ -#endif -}; +struct job; enum { SHOWJOBS_DEFAULT, /* job number, status, command */ Modified: projects/clang600-import/contrib/elftoolchain/elfcopy/binary.c ============================================================================== --- projects/clang600-import/contrib/elftoolchain/elfcopy/binary.c Sat Jan 6 15:52:28 2018 (r327623) +++ projects/clang600-import/contrib/elftoolchain/elfcopy/binary.c Sat Jan 6 16:13:17 2018 (r327624) @@ -101,10 +101,10 @@ create_binary(int ifd, int ofd) sh.sh_size == 0) continue; (void) elf_errno(); - if ((d = elf_getdata(scn, NULL)) == NULL) { + if ((d = elf_rawdata(scn, NULL)) == NULL) { elferr = elf_errno(); if (elferr != 0) - warnx("elf_getdata failed: %s", elf_errmsg(-1)); + warnx("elf_rawdata failed: %s", elf_errmsg(-1)); continue; } if (d->d_buf == NULL || d->d_size == 0) Modified: projects/clang600-import/etc/mtree/BSD.root.dist ============================================================================== --- projects/clang600-import/etc/mtree/BSD.root.dist Sat Jan 6 15:52:28 2018 (r327623) +++ projects/clang600-import/etc/mtree/BSD.root.dist Sat Jan 6 16:13:17 2018 (r327624) @@ -70,8 +70,6 @@ .. security .. - skel - .. ssh .. ssl Modified: projects/clang600-import/etc/mtree/BSD.tests.dist ============================================================================== --- projects/clang600-import/etc/mtree/BSD.tests.dist Sat Jan 6 15:52:28 2018 (r327623) +++ projects/clang600-import/etc/mtree/BSD.tests.dist Sat Jan 6 16:13:17 2018 (r327624) @@ -664,6 +664,8 @@ .. file2c .. + find + .. fold .. getconf Modified: projects/clang600-import/etc/services ============================================================================== --- projects/clang600-import/etc/services Sat Jan 6 15:52:28 2018 (r327623) +++ projects/clang600-import/etc/services Sat Jan 6 16:13:17 2018 (r327624) @@ -2291,6 +2291,7 @@ ipfix 4739/udp #IP Flow Info Export ipfixs 4740/sctp #ipfix protocol over DTLS ipfixs 4740/tcp #ipfix protocol over TLS ipfixs 4740/udp #ipfix protocol over DTLS +vxlan 4789/udp #Virtual eXtensible Local Area Network (VXLAN) commplex-main 5000/tcp commplex-main 5000/udp commplex-link 5001/tcp Modified: projects/clang600-import/lib/libc/gen/isgreater.3 ============================================================================== --- projects/clang600-import/lib/libc/gen/isgreater.3 Sat Jan 6 15:52:28 2018 (r327623) +++ projects/clang600-import/lib/libc/gen/isgreater.3 Sat Jan 6 16:13:17 2018 (r327624) @@ -75,9 +75,9 @@ macro takes arguments .Fa x and .Fa y -and returns non-zero if and only if neither +and returns non-zero if and only if any of .Fa x -nor +or .Fa y are NaNs. For any pair of floating-point values, one Modified: projects/clang600-import/lib/libc/gen/pw_scan.c ============================================================================== --- projects/clang600-import/lib/libc/gen/pw_scan.c Sat Jan 6 15:52:28 2018 (r327623) +++ projects/clang600-import/lib/libc/gen/pw_scan.c Sat Jan 6 16:13:17 2018 (r327624) @@ -44,9 +44,7 @@ __FBSDID("$FreeBSD$"); #include #include -#include #include -#include #include #include #include Modified: projects/clang600-import/lib/libc/locale/xlocale.c ============================================================================== --- projects/clang600-import/lib/libc/locale/xlocale.c Sat Jan 6 15:52:28 2018 (r327623) +++ projects/clang600-import/lib/libc/locale/xlocale.c Sat Jan 6 16:13:17 2018 (r327624) @@ -275,7 +275,7 @@ locale_t newlocale(int mask, const char *locale, local for (type=0 ; typecomponents[type] = constructors[type](realLocale, new); Modified: projects/clang600-import/lib/libc/net/rcmd.c ============================================================================== --- projects/clang600-import/lib/libc/net/rcmd.c Sat Jan 6 15:52:28 2018 (r327623) +++ projects/clang600-import/lib/libc/net/rcmd.c Sat Jan 6 16:13:17 2018 (r327624) @@ -457,8 +457,8 @@ again: first = 0; if ((pwd = getpwnam(luser)) == NULL) return (-1); - (void)strcpy(pbuf, pwd->pw_dir); - (void)strcat(pbuf, "/.rhosts"); + (void)strlcpy(pbuf, pwd->pw_dir, sizeof(pbuf)); + (void)strlcat(pbuf, "/.rhosts", sizeof(pbuf)); /* * Change effective uid while opening .rhosts. If root and Modified: projects/clang600-import/lib/libcasper/libcasper/libcasper.3 ============================================================================== --- projects/clang600-import/lib/libcasper/libcasper/libcasper.3 Sat Jan 6 15:52:28 2018 (r327623) +++ projects/clang600-import/lib/libcasper/libcasper/libcasper.3 Sat Jan 6 16:13:17 2018 (r327624) @@ -27,7 +27,7 @@ .\" .\" $FreeBSD$ .\" -.Dd October 29, 2017 +.Dd January 3, 2018 .Dt LIBCASPER 3 .Os .Sh NAME @@ -190,6 +190,30 @@ obtained via the .Fn cap_init function. The function returns capability that provides access to opened service. +Casper supports the following services in the base system: +.Bl -tag -width "system.random" -compact -offset indent +.Pp +.It system.dns +provides DNS libc compatible API +.It system.grp +provides +.Xr getgrent 3 +compatible API +.It system.pwd +provides +.Xr getpwent 3 +compatible API +.It system.random +allows to obtain entropy from +.Pa /dev/random +.It system.sysctl +provides +.Xr sysctlbyname 3 +compatible API +.It system.syslog +provides +.Xr syslog 3 +compatible API .Sh RETURN VALUES The .Fn cap_clone , Modified: projects/clang600-import/lib/libcasper/libcasper/libcasper.h ============================================================================== --- projects/clang600-import/lib/libcasper/libcasper/libcasper.h Sat Jan 6 15:52:28 2018 (r327623) +++ projects/clang600-import/lib/libcasper/libcasper/libcasper.h Sat Jan 6 16:13:17 2018 (r327624) @@ -122,7 +122,15 @@ cap_wrap(int sock) #ifdef WITH_CASPER int cap_unwrap(cap_channel_t *chan); #else -#define cap_unwrap(chan) (chan->cch_fd) +static inline int +cap_unwrap(cap_channel_t *chan) +{ + int fd; + + fd = chan->cch_fd; + free(chan); + return (fd); +} #endif /* Modified: projects/clang600-import/lib/libcasper/services/cap_dns/tests/Makefile ============================================================================== --- projects/clang600-import/lib/libcasper/services/cap_dns/tests/Makefile Sat Jan 6 15:52:28 2018 (r327623) +++ projects/clang600-import/lib/libcasper/services/cap_dns/tests/Makefile Sat Jan 6 16:13:17 2018 (r327624) @@ -7,6 +7,7 @@ TAP_TESTS_C= dns_test .if ${MK_CASPER} != "no" LIBADD+= casper LIBADD+= cap_dns +CFLAGS+=-DWITH_CASPER .endif LIBADD+= nv Modified: projects/clang600-import/lib/libcasper/services/cap_grp/tests/Makefile ============================================================================== --- projects/clang600-import/lib/libcasper/services/cap_grp/tests/Makefile Sat Jan 6 15:52:28 2018 (r327623) +++ projects/clang600-import/lib/libcasper/services/cap_grp/tests/Makefile Sat Jan 6 16:13:17 2018 (r327624) @@ -7,6 +7,7 @@ TAP_TESTS_C= grp_test .if ${MK_CASPER} != "no" LIBADD+= casper LIBADD+= cap_grp +CFLAGS+=-DWITH_CASPER .endif LIBADD+= nv Modified: projects/clang600-import/lib/libcasper/services/cap_pwd/tests/Makefile ============================================================================== --- projects/clang600-import/lib/libcasper/services/cap_pwd/tests/Makefile Sat Jan 6 15:52:28 2018 (r327623) +++ projects/clang600-import/lib/libcasper/services/cap_pwd/tests/Makefile Sat Jan 6 16:13:17 2018 (r327624) @@ -7,6 +7,7 @@ TAP_TESTS_C= pwd_test .if ${MK_CASPER} != "no" LIBADD+= casper LIBADD+= cap_pwd +CFLAGS+=-DWITH_CASPER .endif LIBADD+= nv Modified: projects/clang600-import/lib/libcasper/services/cap_sysctl/tests/Makefile ============================================================================== --- projects/clang600-import/lib/libcasper/services/cap_sysctl/tests/Makefile Sat Jan 6 15:52:28 2018 (r327623) +++ projects/clang600-import/lib/libcasper/services/cap_sysctl/tests/Makefile Sat Jan 6 16:13:17 2018 (r327624) @@ -7,6 +7,7 @@ TAP_TESTS_C= sysctl_test .if ${MK_CASPER} != "no" LIBADD+= casper LIBADD+= cap_sysctl +CFLAGS+=-DWITH_CASPER .endif LIBADD+= nv Modified: projects/clang600-import/lib/libefivar/efivar-dp-xlate.c ============================================================================== --- projects/clang600-import/lib/libefivar/efivar-dp-xlate.c Sat Jan 6 15:52:28 2018 (r327623) +++ projects/clang600-import/lib/libefivar/efivar-dp-xlate.c Sat Jan 6 16:13:17 2018 (r327624) @@ -527,12 +527,17 @@ find_geom_efimedia(struct gmesh *mesh, const char *dev static int build_dp(const char *efimedia, const char *relpath, efidp *dp) { - char *fp, *dptxt = NULL; + char *fp, *dptxt = NULL, *cp, *rp; int rv = 0; efidp out = NULL; size_t len; - fp = path_to_file_dp(relpath); + rp = strdup(relpath); + for (cp = rp; *cp; cp++) + if (*cp == '/') + *cp = '\\'; + fp = path_to_file_dp(rp); + free(rp); if (fp == NULL) { rv = ENOMEM; goto errout; @@ -663,6 +668,7 @@ errout: free(rp); if (rv != 0) { free(*dp); + *dp = NULL; } return (rv); } Modified: projects/clang600-import/lib/msun/man/cacos.3 ============================================================================== --- projects/clang600-import/lib/msun/man/cacos.3 Sat Jan 6 15:52:28 2018 (r327623) +++ projects/clang600-import/lib/msun/man/cacos.3 Sat Jan 6 16:13:17 2018 (r327624) @@ -136,9 +136,9 @@ corresponding ranges for the return values, adopted by .It Sy Function Ta Sy Branch Cut(s) Ta Sy Range .It cacos Ta (-\*(If, -1) \*(Un (1, \*(If) Ta [0, \*(Pi] .It casin Ta (-\*(If, -1) \*(Un (1, \*(If) Ta [-\*(Pi/2, \*(Pi/2] -.It catan Ta (-\*(If*I, -i) \*(Un (I, \*(If*I) Ta [-\*(Pi/2, \*(Pi/2] +.It catan Ta (-\*(If*I, -I) \*(Un (I, \*(If*I) Ta [-\*(Pi/2, \*(Pi/2] .It cacosh Ta (-\*(If, 1) Ta [-\*(Pi*I, \*(Pi*I] -.It casinh Ta (-\*(If*I, -i) \*(Un (I, \*(If*I) Ta [-\*(Pi/2*I, \*(Pi/2*I] +.It casinh Ta (-\*(If*I, -I) \*(Un (I, \*(If*I) Ta [-\*(Pi/2*I, \*(Pi/2*I] .It catanh Ta (-\*(If, -1) \*(Un (1, \*(If) Ta [-\*(Pi/2*I, \*(Pi/2*I] .El .Sh SEE ALSO Modified: projects/clang600-import/release/powerpc/mkisoimages.sh ============================================================================== --- projects/clang600-import/release/powerpc/mkisoimages.sh Sat Jan 6 15:52:28 2018 (r327623) +++ projects/clang600-import/release/powerpc/mkisoimages.sh Sat Jan 6 16:13:17 2018 (r327624) @@ -23,20 +23,38 @@ # extra-bits-dir, if provided, contains additional files to be merged # into base-bits-dir as part of making the image. + if [ "$1" = "-b" ]; then + bootable=1 + shift +else + bootable="" +fi + +if [ $# -lt 3 ]; then + echo "Usage: $0 [-b] image-label image-name base-bits-dir [extra-bits-dir]" + exit 1 +fi + +LABEL=`echo "$1" | tr '[:lower:]' '[:upper:]'`; shift +NAME="$1"; shift + +if [ -n "$bootable" ]; then + echo "Building bootable disc" + # Apple boot code uudecode -o /tmp/hfs-boot-block.bz2 "`dirname "$0"`/hfs-boot.bz2.uu" bzip2 -d /tmp/hfs-boot-block.bz2 OFFSET=$(hd /tmp/hfs-boot-block | grep 'Loader START' | cut -f 1 -d ' ') OFFSET=0x$(echo 0x$OFFSET | awk '{printf("%x\n",$1/512);}') - dd if="$4/boot/loader" of=/tmp/hfs-boot-block seek=$OFFSET conv=notrunc + dd if="$1/boot/loader" of=/tmp/hfs-boot-block seek=$OFFSET conv=notrunc bootable="-o bootimage=macppc;/tmp/hfs-boot-block -o no-emul-boot" # pSeries/PAPR boot code - mkdir -p "$4/ppc/chrp" - cp "$4/boot/loader" "$4/ppc/chrp" - cat > "$4/ppc/bootinfo.txt" << EOF + mkdir -p "$1/ppc/chrp" + cp "$1/boot/loader" "$1/ppc/chrp" + cat > "$1/ppc/bootinfo.txt" << EOF FreeBSD Install FreeBSD @@ -45,21 +63,9 @@ if [ "$1" = "-b" ]; then EOF bootable="$bootable -o chrp-boot" - # Playstation 3 boot code - echo "FreeBSD Install='/boot/loader.ps3'" > "$4/etc/kboot.conf" - - shift -else - bootable="" + # Petitboot config for PS3/PowerNV + echo FreeBSD Install=\'/boot/kernel/kernel vfs.root.mountfrom=cd9660:/dev/iso9660/$LABEL\' > "$1/etc/kboot.conf" fi - -if [ $# -lt 3 ]; then - echo "Usage: $0 [-b] image-label image-name base-bits-dir [extra-bits-dir]" - exit 1 -fi - -LABEL=`echo "$1" | tr '[:lower:]' '[:upper:]'`; shift -NAME="$1"; shift publisher="The FreeBSD Project. https://www.FreeBSD.org/" echo "/dev/iso9660/$LABEL / cd9660 ro 0 0" > "$1/etc/fstab" Modified: projects/clang600-import/sbin/ccdconfig/ccdconfig.8 ============================================================================== --- projects/clang600-import/sbin/ccdconfig/ccdconfig.8 Sat Jan 6 15:52:28 2018 (r327623) +++ projects/clang600-import/sbin/ccdconfig/ccdconfig.8 Sat Jan 6 16:13:17 2018 (r327624) @@ -1,5 +1,3 @@ -.\" $NetBSD: ccdconfig.8,v 1.4 1996/02/28 01:01:17 thorpej Exp $ -.\" .\" Copyright (c) 1996 The NetBSD Foundation, Inc. .\" All rights reserved. .\" @@ -14,13 +12,6 @@ .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. -.\" 3. All advertising materials mentioning features or use of this software -.\" must display the following acknowledgement: -.\" This product includes software developed by the NetBSD -.\" Foundation, Inc. and its contributors. -.\" 4. Neither the name of The NetBSD Foundation nor the names of its -.\" contributors may be used to endorse or promote products derived -.\" from this software without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR .\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES @@ -34,6 +25,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" +.\" $NetBSD: ccdconfig.8,v 1.4 1996/02/28 01:01:17 thorpej Exp $ .\" $FreeBSD$ .\" .Dd October 3, 2016 Modified: projects/clang600-import/sbin/ccdconfig/ccdconfig.c ============================================================================== --- projects/clang600-import/sbin/ccdconfig/ccdconfig.c Sat Jan 6 15:52:28 2018 (r327623) +++ projects/clang600-import/sbin/ccdconfig/ccdconfig.c Sat Jan 6 16:13:17 2018 (r327624) @@ -1,7 +1,5 @@ -/* $NetBSD: ccdconfig.c,v 1.6 1996/05/16 07:11:18 thorpej Exp $ */ - /*- - * SPDX-License-Identifier: BSD-4-Clause + * SPDX-License-Identifier: BSD-2-Clause * * Copyright (c) 2003 Poul-Henning Kamp * Copyright (c) 1996 The NetBSD Foundation, Inc. @@ -18,13 +16,6 @@ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the NetBSD - * Foundation, Inc. and its contributors. - * 4. Neither the name of The NetBSD Foundation nor the names of its - * contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED @@ -37,6 +28,8 @@ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. + * + * NetBSD: ccdconfig.c,v 1.6 1996/05/16 07:11:18 thorpej Exp $ */ #include Modified: projects/clang600-import/sbin/ccdconfig/pathnames.h ============================================================================== --- projects/clang600-import/sbin/ccdconfig/pathnames.h Sat Jan 6 15:52:28 2018 (r327623) +++ projects/clang600-import/sbin/ccdconfig/pathnames.h Sat Jan 6 16:13:17 2018 (r327624) @@ -1,5 +1,3 @@ -/* $NetBSD: pathnames.h,v 1.4 2008/04/28 20:23:07 martin Exp $ */ - /*- * SPDX-License-Identifier: BSD-2-Clause-NetBSD * @@ -30,6 +28,7 @@ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * + * $NetBSD: pathnames.h,v 1.4 2008/04/28 20:23:07 martin Exp $ * $FreeBSD$ */ Modified: projects/clang600-import/sbin/ifconfig/ifvxlan.c ============================================================================== --- projects/clang600-import/sbin/ifconfig/ifvxlan.c Sat Jan 6 15:52:28 2018 (r327623) +++ projects/clang600-import/sbin/ifconfig/ifvxlan.c Sat Jan 6 16:13:17 2018 (r327624) @@ -236,25 +236,23 @@ DECL_CMD_FUNC(setvxlan_local, addr, d) switch (ai->ai_family) { #ifdef INET case AF_INET: { - struct in_addr addr = ((struct sockaddr_in *) sa)->sin_addr; + struct sockaddr_in *sin = (struct sockaddr_in *)sa; - if (IN_MULTICAST(ntohl(addr.s_addr))) + if (IN_MULTICAST(ntohl(sin->sin_addr.s_addr))) errx(1, "local address cannot be multicast"); - cmd.vxlcmd_sa.in4.sin_family = AF_INET; - cmd.vxlcmd_sa.in4.sin_addr = addr; + cmd.vxlcmd_sa.in4 = *sin; break; } #endif #ifdef INET6 case AF_INET6: { - struct in6_addr *addr = &((struct sockaddr_in6 *)sa)->sin6_addr; + struct sockaddr_in6 *sin6 = (struct sockaddr_in6 *)sa; - if (IN6_IS_ADDR_MULTICAST(addr)) + if (IN6_IS_ADDR_MULTICAST(&sin6->sin6_addr)) errx(1, "local address cannot be multicast"); - cmd.vxlcmd_sa.in6.sin6_family = AF_INET6; - cmd.vxlcmd_sa.in6.sin6_addr = *addr; + cmd.vxlcmd_sa.in6 = *sin6; break; } #endif @@ -267,10 +265,10 @@ DECL_CMD_FUNC(setvxlan_local, addr, d) if (!vxlan_exists(s)) { if (cmd.vxlcmd_sa.sa.sa_family == AF_INET) { params.vxlp_with |= VXLAN_PARAM_WITH_LOCAL_ADDR4; - params.vxlp_local_in4 = cmd.vxlcmd_sa.in4.sin_addr; + params.vxlp_local_sa.in4 = cmd.vxlcmd_sa.in4; } else { params.vxlp_with |= VXLAN_PARAM_WITH_LOCAL_ADDR6; - params.vxlp_local_in6 = cmd.vxlcmd_sa.in6.sin6_addr; + params.vxlp_local_sa.in6 = cmd.vxlcmd_sa.in6; } return; } @@ -298,25 +296,23 @@ DECL_CMD_FUNC(setvxlan_remote, addr, d) switch (ai->ai_family) { #ifdef INET case AF_INET: { - struct in_addr addr = ((struct sockaddr_in *)sa)->sin_addr; + struct sockaddr_in *sin = (struct sockaddr_in *)sa; - if (IN_MULTICAST(ntohl(addr.s_addr))) + if (IN_MULTICAST(ntohl(sin->sin_addr.s_addr))) errx(1, "remote address cannot be multicast"); - cmd.vxlcmd_sa.in4.sin_family = AF_INET; - cmd.vxlcmd_sa.in4.sin_addr = addr; + cmd.vxlcmd_sa.in4 = *sin; break; } #endif #ifdef INET6 case AF_INET6: { - struct in6_addr *addr = &((struct sockaddr_in6 *)sa)->sin6_addr; + struct sockaddr_in6 *sin6 = (struct sockaddr_in6 *)sa; - if (IN6_IS_ADDR_MULTICAST(addr)) + if (IN6_IS_ADDR_MULTICAST(&sin6->sin6_addr)) errx(1, "remote address cannot be multicast"); - cmd.vxlcmd_sa.in6.sin6_family = AF_INET6; - cmd.vxlcmd_sa.in6.sin6_addr = *addr; + cmd.vxlcmd_sa.in6 = *sin6; break; } #endif @@ -329,10 +325,10 @@ DECL_CMD_FUNC(setvxlan_remote, addr, d) if (!vxlan_exists(s)) { if (cmd.vxlcmd_sa.sa.sa_family == AF_INET) { params.vxlp_with |= VXLAN_PARAM_WITH_REMOTE_ADDR4; - params.vxlp_remote_in4 = cmd.vxlcmd_sa.in4.sin_addr; + params.vxlp_remote_sa.in4 = cmd.vxlcmd_sa.in4; } else { params.vxlp_with |= VXLAN_PARAM_WITH_REMOTE_ADDR6; - params.vxlp_remote_in6 = cmd.vxlcmd_sa.in6.sin6_addr; + params.vxlp_remote_sa.in6 = cmd.vxlcmd_sa.in6; } return; } @@ -360,25 +356,23 @@ DECL_CMD_FUNC(setvxlan_group, addr, d) switch (ai->ai_family) { #ifdef INET case AF_INET: { - struct in_addr addr = ((struct sockaddr_in *)sa)->sin_addr; + struct sockaddr_in *sin = (struct sockaddr_in *)sa; - if (!IN_MULTICAST(ntohl(addr.s_addr))) + if (!IN_MULTICAST(ntohl(sin->sin_addr.s_addr))) errx(1, "group address must be multicast"); - cmd.vxlcmd_sa.in4.sin_family = AF_INET; - cmd.vxlcmd_sa.in4.sin_addr = addr; + cmd.vxlcmd_sa.in4 = *sin; break; } #endif #ifdef INET6 case AF_INET6: { - struct in6_addr *addr = &((struct sockaddr_in6 *)sa)->sin6_addr; + struct sockaddr_in6 *sin6 = (struct sockaddr_in6 *)sa; - if (!IN6_IS_ADDR_MULTICAST(addr)) + if (!IN6_IS_ADDR_MULTICAST(&sin6->sin6_addr)) errx(1, "group address must be multicast"); - cmd.vxlcmd_sa.in6.sin6_family = AF_INET6; - cmd.vxlcmd_sa.in6.sin6_addr = *addr; + cmd.vxlcmd_sa.in6 = *sin6; break; } #endif @@ -391,10 +385,10 @@ DECL_CMD_FUNC(setvxlan_group, addr, d) if (!vxlan_exists(s)) { if (cmd.vxlcmd_sa.sa.sa_family == AF_INET) { params.vxlp_with |= VXLAN_PARAM_WITH_REMOTE_ADDR4; - params.vxlp_remote_in4 = cmd.vxlcmd_sa.in4.sin_addr; + params.vxlp_remote_sa.in4 = cmd.vxlcmd_sa.in4; } else { params.vxlp_with |= VXLAN_PARAM_WITH_REMOTE_ADDR6; - params.vxlp_remote_in6 = cmd.vxlcmd_sa.in6.sin6_addr; + params.vxlp_remote_sa.in6 = cmd.vxlcmd_sa.in6; } return; } Modified: projects/clang600-import/sbin/newfs_msdos/mkfs_msdos.c ============================================================================== --- projects/clang600-import/sbin/newfs_msdos/mkfs_msdos.c Sat Jan 6 15:52:28 2018 (r327623) +++ projects/clang600-import/sbin/newfs_msdos/mkfs_msdos.c Sat Jan 6 16:13:17 2018 (r327624) @@ -717,8 +717,10 @@ mkfs_msdos(const char *fname, const char *dtype, const rv = 0; done: free(img); - close(fd); - close(fd1); + if (fd != -1) + close(fd); + if (fd1 != -1) + close(fd1); return rv; } Modified: projects/clang600-import/sbin/shutdown/shutdown.8 ============================================================================== --- projects/clang600-import/sbin/shutdown/shutdown.8 Sat Jan 6 15:52:28 2018 (r327623) +++ projects/clang600-import/sbin/shutdown/shutdown.8 Sat Jan 6 16:13:17 2018 (r327624) @@ -28,7 +28,7 @@ .\" @(#)shutdown.8 8.2 (Berkeley) 4/27/95 .\" $FreeBSD$ .\" -.Dd October 23, 2017 +.Dd January 1, 2018 .Dt SHUTDOWN 8 .Os .Sh NAME @@ -138,6 +138,14 @@ suffix: .Dq Li min . .Dq Li h , .Dq Li hour . +.Pp +If an absolute time is specified, but not a date, +and that time today has already passed, +.Nm +will assume that the same time tomorrow was meant. +(If a complete date is specified which has already passed, +.Nm +will print an error and exit without shutting the system down.) .It Ar warning-message Any other arguments comprise the warning message that is broadcast to users currently logged into the system. Modified: projects/clang600-import/sbin/shutdown/shutdown.c ============================================================================== --- projects/clang600-import/sbin/shutdown/shutdown.c Sat Jan 6 15:52:28 2018 (r327623) +++ projects/clang600-import/sbin/shutdown/shutdown.c Sat Jan 6 16:13:17 2018 (r327624) @@ -431,7 +431,7 @@ getoffset(char *timearg) struct tm *lt; char *p; time_t now; - int this_year; + int maybe_today, this_year; char *timeunit; (void)time(&now); @@ -482,6 +482,7 @@ getoffset(char *timearg) unsetenv("TZ"); /* OUR timezone */ lt = localtime(&now); /* current time val */ + maybe_today = 1; switch(strlen(timearg)) { case 10: @@ -503,6 +504,7 @@ getoffset(char *timearg) badtime(); /* FALLTHROUGH */ case 6: + maybe_today = 0; lt->tm_mday = ATOI2(timearg); if (lt->tm_mday < 1 || lt->tm_mday > 31) badtime(); @@ -517,8 +519,23 @@ getoffset(char *timearg) lt->tm_sec = 0; if ((shuttime = mktime(lt)) == -1) badtime(); - if ((offset = shuttime - now) < 0) - errx(1, "that time is already past."); + + if ((offset = shuttime - now) < 0) { + if (!maybe_today) + errx(1, "that time is already past."); + + /* + * If the user only gave a time, assume that + * any time earlier than the current time + * was intended to be that time tomorrow. + */ + lt->tm_mday++; + if ((shuttime = mktime(lt)) == -1) + badtime(); + if ((offset = shuttime - now) < 0) { + errx(1, "tomorrow is before today?"); + } + } break; default: badtime(); Modified: projects/clang600-import/share/examples/sunrpc/msg/msg_proc.c ============================================================================== --- projects/clang600-import/share/examples/sunrpc/msg/msg_proc.c Sat Jan 6 15:52:28 2018 (r327623) +++ projects/clang600-import/share/examples/sunrpc/msg/msg_proc.c Sat Jan 6 16:13:17 2018 (r327624) @@ -9,7 +9,7 @@ #include "msg.h" /* need this too: msg.h will be generated by rpcgen */ /* - * Remote verson of "printmessage" + * Remote version of "printmessage" */ int * printmessage_1(msg) Modified: projects/clang600-import/share/man/man3/assert.3 ============================================================================== --- projects/clang600-import/share/man/man3/assert.3 Sat Jan 6 15:52:28 2018 (r327623) +++ projects/clang600-import/share/man/man3/assert.3 Sat Jan 6 16:13:17 2018 (r327624) @@ -28,7 +28,7 @@ .\" @(#)assert.3 8.1 (Berkeley) 6/9/93 .\" $FreeBSD$ .\" -.Dd January 26, 1999 +.Dd January 1, 2018 .Dt ASSERT 3 .Os .Sh NAME @@ -68,6 +68,14 @@ as a macro .Xr cc 1 option .Fl D Ns Dv NDEBUG ) . +Unlike most other include files, +.In assert.h +may be included multiple times. +Each time whether or not +.Dv NDEBUG +is defined determines the behavior of assert from that point forward +until the end of the unit or another include of +.In assert.h . .Sh EXAMPLES The assertion: .Pp @@ -87,4 +95,4 @@ macro conforms to An .Nm macro appeared in -.At v6 . +.At v7 . Modified: projects/clang600-import/share/man/man4/Makefile ============================================================================== --- projects/clang600-import/share/man/man4/Makefile Sat Jan 6 15:52:28 2018 (r327623) +++ projects/clang600-import/share/man/man4/Makefile Sat Jan 6 16:13:17 2018 (r327624) @@ -73,6 +73,7 @@ MAN= aac.4 \ ${_aw_gpio.4} \ ${_aw_mmc.4} \ ${_aw_rtc.4} \ + ${_aw_sid.4} \ axe.4 \ axge.4 \ bce.4 \ @@ -763,6 +764,7 @@ _armv8crypto.4= armv8crypto.4 _aw_gpio.4= aw_gpio.4 _aw_mmc.4= aw_mmc.4 _aw_rtc.4= aw_rtc.4 +_aw_sid.4= aw_sid.4 .endif .if ${MACHINE_CPUARCH} == "amd64" || ${MACHINE_CPUARCH} == "i386" Copied: projects/clang600-import/share/man/man4/aw_sid.4 (from r327623, head/share/man/man4/aw_sid.4) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/clang600-import/share/man/man4/aw_sid.4 Sat Jan 6 16:13:17 2018 (r327624, copy of r327623, head/share/man/man4/aw_sid.4) @@ -0,0 +1,74 @@ +.\"- +.\" Copyright (c) 2018 Kyle Evans +.\" All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" $FreeBSD$ +.\" +.Dd January 2, 2018 +.Dt AW_SID 4 +.Os +.Sh NAME +.Nm aw_sid +.Nd driver for the SID controller in Allwinner SoC +.Sh DESCRIPTION +The +.Nm +device driver provides support for the Allwinner SID (Security ID) controller. +This controller provides root security keys that may be used as either a device +unique ID or to generate a MAC address. +.Sh HARDWARE +The +.Nm +driver supports the SID controller with one of the following compatible +strings: +.Pp +.Bl -bullet -compact +.It +allwinner,sun4i-a10-sid +.It +allwinner,sun7i-a20-sid +.It +allwinner,sun50i-a64-sid +.It +allwinner,sun8i-a83t-sid +.El +.Sh SYSCTL VARIABLES +The following read-only variables are available via +.Xr sysctl 8 : +.Bl -tag -width indent +.It Va dev.aw_sid.rootkey +Root security key for this device. +.El +.Sh HISTORY +The +.Nm +device driver first appeared in +.Fx 11.0 . +.Sh AUTHORS +The +.Nm +device driver was written by +.An Jared McNeill Aq Mt jmcneill@invisible.ca . +This manual page was written by +.An Kyle Evans Aq Mt kevans@FreeBSD.org . Modified: projects/clang600-import/share/man/man4/cxgbe.4 ============================================================================== --- projects/clang600-import/share/man/man4/cxgbe.4 Sat Jan 6 15:52:28 2018 (r327623) +++ projects/clang600-import/share/man/man4/cxgbe.4 Sat Jan 6 16:13:17 2018 (r327624) @@ -243,6 +243,13 @@ Permitted interrupt types. Bit 0 represents INTx (line interrupts), bit 1 MSI, and bit 2 MSI-X. The default is 7 (all allowed). The driver selects the best possible type out of the allowed types. +.It Va hw.cxgbe.pcie_relaxed_ordering +PCIe Relaxed Ordering. +-1 indicates the driver should determine whether to enable or disable PCIe RO. +0 disables PCIe RO. +1 enables PCIe RO. +2 indicates the driver should not modify the PCIe RO setting. +The default is -1. .It Va hw.cxgbe.fw_install 0 prohibits the driver from installing a firmware on the card. 1 allows the driver to install a new firmware if internal driver Modified: projects/clang600-import/share/man/man4/md.4 ============================================================================== --- projects/clang600-import/share/man/man4/md.4 Sat Jan 6 15:52:28 2018 (r327623) +++ projects/clang600-import/share/man/man4/md.4 Sat Jan 6 16:13:17 2018 (r327624) @@ -116,19 +116,19 @@ The default value is 32, which is sufficient to map 12 .It Cd options VM_KMEM_SIZE_SCALE= This configures the amount of kernel virtual address (KVA) space to dedicate to the kmem_arena map. -The value is the ratio of physical to virtual pages. +The scale value is the ratio of physical to virtual pages. The default value of 3 allocates a page of KVA for each 3 pages of physical ram in the system. The kernel and modules, including the root image, also consume KVA. The combination of a large root image and the default scaling -may preallocate so much KVA to kmem_arena that there is not enough +may preallocate so much KVA that there is not enough remaining address space to allocate kernel stacks, IO buffers, and other resources that are not part of kmem_arena. Overallocating kmem_arena space is likely to manifest as failure to launch userland processes with "cannot allocate kernel stack" messages. *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-projects@freebsd.org Sat Jan 6 19:36:30 2018 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 8261AEC7F55 for ; Sat, 6 Jan 2018 19:36:30 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 5CEFE7C364; Sat, 6 Jan 2018 19:36:30 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 946A616B5B; Sat, 6 Jan 2018 19:36:29 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w06JaTJl008993; Sat, 6 Jan 2018 19:36:29 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w06JaTHV008992; Sat, 6 Jan 2018 19:36:29 GMT (envelope-from dim@FreeBSD.org) Message-Id: <201801061936.w06JaTHV008992@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Sat, 6 Jan 2018 19:36:29 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r327634 - in projects/clang600-import/contrib: compiler-rt libc++ llvm llvm/tools/clang llvm/tools/lld llvm/tools/lldb X-SVN-Group: projects X-SVN-Commit-Author: dim X-SVN-Commit-Paths: in projects/clang600-import/contrib: compiler-rt libc++ llvm llvm/tools/clang llvm/tools/lld llvm/tools/lldb X-SVN-Commit-Revision: 327634 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 06 Jan 2018 19:36:30 -0000 Author: dim Date: Sat Jan 6 19:36:29 2018 New Revision: 327634 URL: https://svnweb.freebsd.org/changeset/base/327634 Log: Update Subversion mergeinfo for llvm, clang, compiler-rt, libc++ lld and lldb with the new dist-release_60 vendor areas. Modified: Directory Properties: projects/clang600-import/contrib/compiler-rt/ (props changed) projects/clang600-import/contrib/libc++/ (props changed) projects/clang600-import/contrib/llvm/ (props changed) projects/clang600-import/contrib/llvm/tools/clang/ (props changed) projects/clang600-import/contrib/llvm/tools/lld/ (props changed) projects/clang600-import/contrib/llvm/tools/lldb/ (props changed) From owner-svn-src-projects@freebsd.org Sat Jan 6 23:44:17 2018 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id AF0DEDFA393 for ; Sat, 6 Jan 2018 23:44:17 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4852868695; Sat, 6 Jan 2018 23:44:17 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 88E49193E0; Sat, 6 Jan 2018 23:44:16 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w06NiGse022622; Sat, 6 Jan 2018 23:44:16 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w06NiF7B022607; Sat, 6 Jan 2018 23:44:15 GMT (envelope-from dim@FreeBSD.org) Message-Id: <201801062344.w06NiF7B022607@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Sat, 6 Jan 2018 23:44:15 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r327657 - in projects/clang600-import: contrib/compiler-rt/lib/profile contrib/libc++ contrib/libc++/include contrib/llvm/include/llvm/CodeGen contrib/llvm/include/llvm/IR contrib/llvm/... X-SVN-Group: projects X-SVN-Commit-Author: dim X-SVN-Commit-Paths: in projects/clang600-import: contrib/compiler-rt/lib/profile contrib/libc++ contrib/libc++/include contrib/llvm/include/llvm/CodeGen contrib/llvm/include/llvm/IR contrib/llvm/include/llvm/Support cont... X-SVN-Commit-Revision: 327657 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 06 Jan 2018 23:44:17 -0000 Author: dim Date: Sat Jan 6 23:44:14 2018 New Revision: 327657 URL: https://svnweb.freebsd.org/changeset/base/327657 Log: Merge llvm, clang, lld, lldb, compiler-rt and libc++ release_60 r321788, update build glue and version numbers. Modified: projects/clang600-import/contrib/compiler-rt/lib/profile/GCDAProfiling.c projects/clang600-import/contrib/libc++/CREDITS.TXT projects/clang600-import/contrib/libc++/include/__config projects/clang600-import/contrib/libc++/include/__functional_base projects/clang600-import/contrib/libc++/include/__mutex_base projects/clang600-import/contrib/libc++/include/chrono projects/clang600-import/contrib/libc++/include/functional projects/clang600-import/contrib/libc++/include/memory projects/clang600-import/contrib/libc++/include/mutex projects/clang600-import/contrib/libc++/include/optional projects/clang600-import/contrib/libc++/include/ratio projects/clang600-import/contrib/libc++/include/system_error projects/clang600-import/contrib/libc++/include/tuple projects/clang600-import/contrib/libc++/include/type_traits projects/clang600-import/contrib/libc++/include/utility projects/clang600-import/contrib/libc++/include/variant projects/clang600-import/contrib/llvm/include/llvm/CodeGen/TargetPassConfig.h projects/clang600-import/contrib/llvm/include/llvm/IR/Function.h projects/clang600-import/contrib/llvm/include/llvm/IR/IntrinsicsAMDGPU.td projects/clang600-import/contrib/llvm/include/llvm/Support/CommandLine.h projects/clang600-import/contrib/llvm/include/llvm/Support/TargetRegistry.h projects/clang600-import/contrib/llvm/include/llvm/Transforms/Scalar/LoopPassManager.h projects/clang600-import/contrib/llvm/lib/Analysis/InstructionSimplify.cpp projects/clang600-import/contrib/llvm/lib/Analysis/ScalarEvolution.cpp projects/clang600-import/contrib/llvm/lib/Analysis/ScalarEvolutionExpander.cpp projects/clang600-import/contrib/llvm/lib/Analysis/ValueTracking.cpp projects/clang600-import/contrib/llvm/lib/CodeGen/CodeGenPrepare.cpp projects/clang600-import/contrib/llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp projects/clang600-import/contrib/llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp projects/clang600-import/contrib/llvm/lib/CodeGen/LLVMTargetMachine.cpp projects/clang600-import/contrib/llvm/lib/CodeGen/LiveDebugVariables.cpp projects/clang600-import/contrib/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp projects/clang600-import/contrib/llvm/lib/CodeGen/SelectionDAG/FastISel.cpp projects/clang600-import/contrib/llvm/lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp projects/clang600-import/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp projects/clang600-import/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp projects/clang600-import/contrib/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp projects/clang600-import/contrib/llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp projects/clang600-import/contrib/llvm/lib/CodeGen/TargetPassConfig.cpp projects/clang600-import/contrib/llvm/lib/CodeGen/WinEHPrepare.cpp projects/clang600-import/contrib/llvm/lib/IR/BasicBlock.cpp projects/clang600-import/contrib/llvm/lib/IR/Verifier.cpp projects/clang600-import/contrib/llvm/lib/MC/MCParser/ELFAsmParser.cpp projects/clang600-import/contrib/llvm/lib/Passes/PassBuilder.cpp projects/clang600-import/contrib/llvm/lib/Support/CommandLine.cpp projects/clang600-import/contrib/llvm/lib/Target/AArch64/AArch64ISelLowering.cpp projects/clang600-import/contrib/llvm/lib/Target/AArch64/AArch64RegisterInfo.td projects/clang600-import/contrib/llvm/lib/Target/AArch64/AArch64TargetMachine.cpp projects/clang600-import/contrib/llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp projects/clang600-import/contrib/llvm/lib/Target/AArch64/Disassembler/AArch64Disassembler.cpp projects/clang600-import/contrib/llvm/lib/Target/AArch64/MCTargetDesc/AArch64AsmBackend.cpp projects/clang600-import/contrib/llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCTargetDesc.h projects/clang600-import/contrib/llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp projects/clang600-import/contrib/llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUAsmBackend.cpp projects/clang600-import/contrib/llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCTargetDesc.h projects/clang600-import/contrib/llvm/lib/Target/AMDGPU/MIMGInstructions.td projects/clang600-import/contrib/llvm/lib/Target/AMDGPU/SIISelLowering.cpp projects/clang600-import/contrib/llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.cpp projects/clang600-import/contrib/llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.h projects/clang600-import/contrib/llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp projects/clang600-import/contrib/llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.h projects/clang600-import/contrib/llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackendDarwin.h projects/clang600-import/contrib/llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackendELF.h projects/clang600-import/contrib/llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackendWinCOFF.h projects/clang600-import/contrib/llvm/lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.h projects/clang600-import/contrib/llvm/lib/Target/AVR/MCTargetDesc/AVRAsmBackend.cpp projects/clang600-import/contrib/llvm/lib/Target/AVR/MCTargetDesc/AVRMCTargetDesc.h projects/clang600-import/contrib/llvm/lib/Target/BPF/MCTargetDesc/BPFAsmBackend.cpp projects/clang600-import/contrib/llvm/lib/Target/BPF/MCTargetDesc/BPFMCTargetDesc.h projects/clang600-import/contrib/llvm/lib/Target/Hexagon/HexagonLoopIdiomRecognition.cpp projects/clang600-import/contrib/llvm/lib/Target/Hexagon/HexagonPatterns.td projects/clang600-import/contrib/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonAsmBackend.cpp projects/clang600-import/contrib/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCTargetDesc.h projects/clang600-import/contrib/llvm/lib/Target/Lanai/MCTargetDesc/LanaiAsmBackend.cpp projects/clang600-import/contrib/llvm/lib/Target/Lanai/MCTargetDesc/LanaiMCTargetDesc.h projects/clang600-import/contrib/llvm/lib/Target/Mips/MCTargetDesc/MipsAsmBackend.cpp projects/clang600-import/contrib/llvm/lib/Target/Mips/MCTargetDesc/MipsMCTargetDesc.h projects/clang600-import/contrib/llvm/lib/Target/Mips/MipsISelLowering.cpp projects/clang600-import/contrib/llvm/lib/Target/PowerPC/MCTargetDesc/PPCAsmBackend.cpp projects/clang600-import/contrib/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.h projects/clang600-import/contrib/llvm/lib/Target/PowerPC/PPCISelLowering.cpp projects/clang600-import/contrib/llvm/lib/Target/PowerPC/PPCInstrInfo.cpp projects/clang600-import/contrib/llvm/lib/Target/PowerPC/PPCInstrInfo.h projects/clang600-import/contrib/llvm/lib/Target/PowerPC/PPCMIPeephole.cpp projects/clang600-import/contrib/llvm/lib/Target/PowerPC/PPCPreEmitPeephole.cpp projects/clang600-import/contrib/llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp projects/clang600-import/contrib/llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCTargetDesc.h projects/clang600-import/contrib/llvm/lib/Target/RISCV/RISCVISelLowering.cpp projects/clang600-import/contrib/llvm/lib/Target/RISCV/RISCVInstrInfoC.td projects/clang600-import/contrib/llvm/lib/Target/Sparc/MCTargetDesc/SparcAsmBackend.cpp projects/clang600-import/contrib/llvm/lib/Target/Sparc/MCTargetDesc/SparcMCTargetDesc.h projects/clang600-import/contrib/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCAsmBackend.cpp projects/clang600-import/contrib/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCTargetDesc.h projects/clang600-import/contrib/llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCTargetDesc.cpp projects/clang600-import/contrib/llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp projects/clang600-import/contrib/llvm/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.h projects/clang600-import/contrib/llvm/lib/Target/X86/X86FixupBWInsts.cpp projects/clang600-import/contrib/llvm/lib/Target/X86/X86ISelLowering.cpp projects/clang600-import/contrib/llvm/lib/Target/X86/X86ISelLowering.h projects/clang600-import/contrib/llvm/lib/Target/X86/X86InstrAVX512.td projects/clang600-import/contrib/llvm/lib/Target/X86/X86InstrMMX.td projects/clang600-import/contrib/llvm/lib/Transforms/Coroutines/CoroSplit.cpp projects/clang600-import/contrib/llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp projects/clang600-import/contrib/llvm/lib/Transforms/Scalar/CallSiteSplitting.cpp projects/clang600-import/contrib/llvm/lib/Transforms/Scalar/GVNSink.cpp projects/clang600-import/contrib/llvm/lib/Transforms/Scalar/IndVarSimplify.cpp projects/clang600-import/contrib/llvm/lib/Transforms/Scalar/InductiveRangeCheckElimination.cpp projects/clang600-import/contrib/llvm/lib/Transforms/Scalar/JumpThreading.cpp projects/clang600-import/contrib/llvm/lib/Transforms/Scalar/LoopDeletion.cpp projects/clang600-import/contrib/llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp projects/clang600-import/contrib/llvm/lib/Transforms/Scalar/LoopUnswitch.cpp projects/clang600-import/contrib/llvm/lib/Transforms/Scalar/SCCP.cpp projects/clang600-import/contrib/llvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp projects/clang600-import/contrib/llvm/lib/Transforms/Scalar/StructurizeCFG.cpp projects/clang600-import/contrib/llvm/lib/Transforms/Utils/BasicBlockUtils.cpp projects/clang600-import/contrib/llvm/lib/Transforms/Utils/BreakCriticalEdges.cpp projects/clang600-import/contrib/llvm/lib/Transforms/Utils/CallPromotionUtils.cpp projects/clang600-import/contrib/llvm/lib/Transforms/Utils/CloneFunction.cpp projects/clang600-import/contrib/llvm/lib/Transforms/Utils/Local.cpp projects/clang600-import/contrib/llvm/lib/Transforms/Utils/LoopUnroll.cpp projects/clang600-import/contrib/llvm/lib/Transforms/Utils/LoopUnrollRuntime.cpp projects/clang600-import/contrib/llvm/lib/Transforms/Utils/LoopUtils.cpp projects/clang600-import/contrib/llvm/lib/Transforms/Utils/SSAUpdater.cpp projects/clang600-import/contrib/llvm/lib/Transforms/Utils/SimplifyCFG.cpp projects/clang600-import/contrib/llvm/lib/Transforms/Vectorize/LoopVectorize.cpp projects/clang600-import/contrib/llvm/tools/clang/include/clang/AST/StmtOpenMP.h projects/clang600-import/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticDriverKinds.td projects/clang600-import/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticGroups.td projects/clang600-import/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticSemaKinds.td projects/clang600-import/contrib/llvm/tools/clang/include/clang/Basic/LangOptions.def projects/clang600-import/contrib/llvm/tools/clang/include/clang/Driver/Driver.h projects/clang600-import/contrib/llvm/tools/clang/include/clang/Driver/Options.td projects/clang600-import/contrib/llvm/tools/clang/include/clang/Parse/Parser.h projects/clang600-import/contrib/llvm/tools/clang/include/clang/Parse/RAIIObjectsForParser.h projects/clang600-import/contrib/llvm/tools/clang/include/clang/Sema/DeclSpec.h projects/clang600-import/contrib/llvm/tools/clang/include/clang/Sema/Sema.h projects/clang600-import/contrib/llvm/tools/clang/lib/AST/Decl.cpp projects/clang600-import/contrib/llvm/tools/clang/lib/Basic/Targets/X86.cpp projects/clang600-import/contrib/llvm/tools/clang/lib/Basic/Version.cpp projects/clang600-import/contrib/llvm/tools/clang/lib/CodeGen/CGDeclCXX.cpp projects/clang600-import/contrib/llvm/tools/clang/lib/CodeGen/CGException.cpp projects/clang600-import/contrib/llvm/tools/clang/lib/CodeGen/CGExpr.cpp projects/clang600-import/contrib/llvm/tools/clang/lib/CodeGen/CGOpenMPRuntime.cpp projects/clang600-import/contrib/llvm/tools/clang/lib/CodeGen/CGOpenMPRuntime.h projects/clang600-import/contrib/llvm/tools/clang/lib/CodeGen/CGStmt.cpp projects/clang600-import/contrib/llvm/tools/clang/lib/CodeGen/CGStmtOpenMP.cpp projects/clang600-import/contrib/llvm/tools/clang/lib/CodeGen/CodeGenFunction.cpp projects/clang600-import/contrib/llvm/tools/clang/lib/CodeGen/CodeGenFunction.h projects/clang600-import/contrib/llvm/tools/clang/lib/CodeGen/CodeGenModule.cpp projects/clang600-import/contrib/llvm/tools/clang/lib/Driver/Driver.cpp projects/clang600-import/contrib/llvm/tools/clang/lib/Driver/ToolChains/Clang.cpp projects/clang600-import/contrib/llvm/tools/clang/lib/Driver/ToolChains/Darwin.cpp projects/clang600-import/contrib/llvm/tools/clang/lib/Frontend/CompilerInvocation.cpp projects/clang600-import/contrib/llvm/tools/clang/lib/Frontend/InitPreprocessor.cpp projects/clang600-import/contrib/llvm/tools/clang/lib/Headers/emmintrin.h projects/clang600-import/contrib/llvm/tools/clang/lib/Headers/pmmintrin.h projects/clang600-import/contrib/llvm/tools/clang/lib/Headers/smmintrin.h projects/clang600-import/contrib/llvm/tools/clang/lib/Parse/ParseDecl.cpp projects/clang600-import/contrib/llvm/tools/clang/lib/Parse/ParseDeclCXX.cpp projects/clang600-import/contrib/llvm/tools/clang/lib/Parse/ParseExpr.cpp projects/clang600-import/contrib/llvm/tools/clang/lib/Parse/ParseExprCXX.cpp projects/clang600-import/contrib/llvm/tools/clang/lib/Parse/ParseObjc.cpp projects/clang600-import/contrib/llvm/tools/clang/lib/Parse/ParseOpenMP.cpp projects/clang600-import/contrib/llvm/tools/clang/lib/Parse/ParseStmt.cpp projects/clang600-import/contrib/llvm/tools/clang/lib/Parse/ParseTemplate.cpp projects/clang600-import/contrib/llvm/tools/clang/lib/Parse/Parser.cpp projects/clang600-import/contrib/llvm/tools/clang/lib/Sema/DeclSpec.cpp projects/clang600-import/contrib/llvm/tools/clang/lib/Sema/SemaCodeComplete.cpp projects/clang600-import/contrib/llvm/tools/clang/lib/Sema/SemaDecl.cpp projects/clang600-import/contrib/llvm/tools/clang/lib/Sema/SemaDeclCXX.cpp projects/clang600-import/contrib/llvm/tools/clang/lib/Sema/SemaDeclObjC.cpp projects/clang600-import/contrib/llvm/tools/clang/lib/Sema/SemaExpr.cpp projects/clang600-import/contrib/llvm/tools/clang/lib/Sema/SemaExprCXX.cpp projects/clang600-import/contrib/llvm/tools/clang/lib/Sema/SemaExprMember.cpp projects/clang600-import/contrib/llvm/tools/clang/lib/Sema/SemaLambda.cpp projects/clang600-import/contrib/llvm/tools/clang/lib/Sema/SemaOverload.cpp projects/clang600-import/contrib/llvm/tools/clang/lib/Sema/SemaStmt.cpp projects/clang600-import/contrib/llvm/tools/clang/lib/Sema/SemaTemplate.cpp projects/clang600-import/contrib/llvm/tools/clang/lib/Sema/SemaTemplateDeduction.cpp projects/clang600-import/contrib/llvm/tools/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp projects/clang600-import/contrib/llvm/tools/clang/lib/Sema/SemaType.cpp projects/clang600-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/BugReporter.cpp projects/clang600-import/contrib/llvm/tools/clang/tools/driver/cc1as_main.cpp projects/clang600-import/contrib/llvm/tools/lld/ELF/Driver.cpp projects/clang600-import/contrib/llvm/tools/lld/ELF/Relocations.cpp projects/clang600-import/contrib/llvm/tools/lld/ELF/SyntheticSections.cpp projects/clang600-import/contrib/llvm/tools/lldb/source/Core/Debugger.cpp projects/clang600-import/contrib/llvm/tools/lldb/source/Plugins/Instruction/ARM64/EmulateInstructionARM64.cpp projects/clang600-import/contrib/llvm/tools/llvm-mc/llvm-mc.cpp projects/clang600-import/contrib/llvm/tools/llvm-objcopy/Object.cpp projects/clang600-import/contrib/llvm/tools/llvm-objcopy/Object.h projects/clang600-import/contrib/llvm/utils/TableGen/CodeGenDAGPatterns.cpp projects/clang600-import/lib/clang/include/clang/Basic/Version.inc projects/clang600-import/lib/clang/include/clang/Config/config.h projects/clang600-import/lib/clang/include/lld/Common/Version.inc projects/clang600-import/lib/clang/include/llvm/Config/config.h projects/clang600-import/lib/clang/include/llvm/Config/llvm-config.h projects/clang600-import/lib/clang/include/llvm/Support/VCSRevision.h Directory Properties: projects/clang600-import/contrib/compiler-rt/ (props changed) projects/clang600-import/contrib/libc++/ (props changed) projects/clang600-import/contrib/llvm/ (props changed) projects/clang600-import/contrib/llvm/tools/clang/ (props changed) projects/clang600-import/contrib/llvm/tools/lld/ (props changed) projects/clang600-import/contrib/llvm/tools/lldb/ (props changed) Modified: projects/clang600-import/contrib/compiler-rt/lib/profile/GCDAProfiling.c ============================================================================== --- projects/clang600-import/contrib/compiler-rt/lib/profile/GCDAProfiling.c Sat Jan 6 23:24:52 2018 (r327656) +++ projects/clang600-import/contrib/compiler-rt/lib/profile/GCDAProfiling.c Sat Jan 6 23:44:14 2018 (r327657) @@ -228,6 +228,7 @@ static void unmap_file() { * profiling enabled will emit to a different file. Only one file may be * started at a time. */ +COMPILER_RT_VISIBILITY void llvm_gcda_start_file(const char *orig_filename, const char version[4], uint32_t checksum) { const char *mode = "r+b"; @@ -295,6 +296,7 @@ void llvm_gcda_start_file(const char *orig_filename, c /* Given an array of pointers to counters (counters), increment the n-th one, * where we're also given a pointer to n (predecessor). */ +COMPILER_RT_VISIBILITY void llvm_gcda_increment_indirect_counter(uint32_t *predecessor, uint64_t **counters) { uint64_t *counter; @@ -317,6 +319,7 @@ void llvm_gcda_increment_indirect_counter(uint32_t *pr #endif } +COMPILER_RT_VISIBILITY void llvm_gcda_emit_function(uint32_t ident, const char *function_name, uint32_t func_checksum, uint8_t use_extra_checksum, uint32_t cfg_checksum) { @@ -343,6 +346,7 @@ void llvm_gcda_emit_function(uint32_t ident, const cha write_string(function_name); } +COMPILER_RT_VISIBILITY void llvm_gcda_emit_arcs(uint32_t num_counters, uint64_t *counters) { uint32_t i; uint64_t *old_ctrs = NULL; @@ -394,6 +398,7 @@ void llvm_gcda_emit_arcs(uint32_t num_counters, uint64 #endif } +COMPILER_RT_VISIBILITY void llvm_gcda_summary_info() { const uint32_t obj_summary_len = 9; /* Length for gcov compatibility. */ uint32_t i; @@ -447,6 +452,7 @@ void llvm_gcda_summary_info() { #endif } +COMPILER_RT_VISIBILITY void llvm_gcda_end_file() { /* Write out EOF record. */ if (output_file) { @@ -459,6 +465,7 @@ void llvm_gcda_end_file() { unmap_file(); } + fflush(output_file); lprofUnlockFd(fd); fclose(output_file); output_file = NULL; @@ -471,6 +478,7 @@ void llvm_gcda_end_file() { #endif } +COMPILER_RT_VISIBILITY void llvm_register_writeout_function(writeout_fn fn) { struct writeout_fn_node *new_node = malloc(sizeof(struct writeout_fn_node)); new_node->fn = fn; @@ -484,6 +492,7 @@ void llvm_register_writeout_function(writeout_fn fn) { } } +COMPILER_RT_VISIBILITY void llvm_writeout_files(void) { struct writeout_fn_node *curr = writeout_fn_head; @@ -493,6 +502,7 @@ void llvm_writeout_files(void) { } } +COMPILER_RT_VISIBILITY void llvm_delete_writeout_function_list(void) { while (writeout_fn_head) { struct writeout_fn_node *node = writeout_fn_head; @@ -503,6 +513,7 @@ void llvm_delete_writeout_function_list(void) { writeout_fn_head = writeout_fn_tail = NULL; } +COMPILER_RT_VISIBILITY void llvm_register_flush_function(flush_fn fn) { struct flush_fn_node *new_node = malloc(sizeof(struct flush_fn_node)); new_node->fn = fn; @@ -516,6 +527,7 @@ void llvm_register_flush_function(flush_fn fn) { } } +COMPILER_RT_VISIBILITY void __gcov_flush() { struct flush_fn_node *curr = flush_fn_head; @@ -525,6 +537,7 @@ void __gcov_flush() { } } +COMPILER_RT_VISIBILITY void llvm_delete_flush_function_list(void) { while (flush_fn_head) { struct flush_fn_node *node = flush_fn_head; @@ -535,6 +548,7 @@ void llvm_delete_flush_function_list(void) { flush_fn_head = flush_fn_tail = NULL; } +COMPILER_RT_VISIBILITY void llvm_gcov_init(writeout_fn wfn, flush_fn ffn) { static int atexit_ran = 0; Modified: projects/clang600-import/contrib/libc++/CREDITS.TXT ============================================================================== --- projects/clang600-import/contrib/libc++/CREDITS.TXT Sat Jan 6 23:24:52 2018 (r327656) +++ projects/clang600-import/contrib/libc++/CREDITS.TXT Sat Jan 6 23:44:14 2018 (r327657) @@ -101,7 +101,7 @@ E: nico.rieck@gmail.com D: Windows fixes N: Jon Roelofs -E: jonathan@codesourcery.com +E: jroelofS@jroelofs.com D: Remote testing, Newlib port, baremetal/single-threaded support. N: Jonathan Sauer Modified: projects/clang600-import/contrib/libc++/include/__config ============================================================================== --- projects/clang600-import/contrib/libc++/include/__config Sat Jan 6 23:24:52 2018 (r327656) +++ projects/clang600-import/contrib/libc++/include/__config Sat Jan 6 23:44:14 2018 (r327657) @@ -461,9 +461,13 @@ namespace std { #endif #if __has_builtin(__builtin_launder) -#define _LIBCPP_COMPILER_HAS_BUILTIN_LAUNDER +#define _LIBCPP_COMPILER_HAS_BUILTIN_LAUNDER #endif +#if !__is_identifier(__has_unique_object_representations) +#define _LIBCPP_HAS_UNIQUE_OBJECT_REPRESENTATIONS +#endif + #elif defined(_LIBCPP_COMPILER_GCC) #define _ALIGNAS(x) __attribute__((__aligned__(x))) @@ -547,9 +551,13 @@ namespace std { #endif #if _GNUC_VER >= 700 -#define _LIBCPP_COMPILER_HAS_BUILTIN_LAUNDER +#define _LIBCPP_COMPILER_HAS_BUILTIN_LAUNDER #endif +#if _GNUC_VER >= 700 +#define _LIBCPP_HAS_UNIQUE_OBJECT_REPRESENTATIONS +#endif + #elif defined(_LIBCPP_COMPILER_MSVC) #define _LIBCPP_TOSTRING2(x) #x @@ -980,9 +988,10 @@ template struct __static_assert_check {}; #define _LIBCPP_NODISCARD_AFTER_CXX17 #endif -// FIXME: Remove all usages of this macro once compilers catch up. -#if !defined(__cpp_inline_variables) || (__cpp_inline_variables < 201606L) -# define _LIBCPP_HAS_NO_INLINE_VARIABLES +#if _LIBCPP_STD_VER > 14 && defined(__cpp_inline_variables) && (__cpp_inline_variables >= 201606L) +# define _LIBCPP_INLINE_VAR inline +#else +# define _LIBCPP_INLINE_VAR #endif #ifdef _LIBCPP_HAS_NO_RVALUE_REFERENCES Modified: projects/clang600-import/contrib/libc++/include/__functional_base ============================================================================== --- projects/clang600-import/contrib/libc++/include/__functional_base Sat Jan 6 23:24:52 2018 (r327656) +++ projects/clang600-import/contrib/libc++/include/__functional_base Sat Jan 6 23:44:14 2018 (r327657) @@ -564,7 +564,7 @@ struct _LIBCPP_TEMPLATE_VIS allocator_arg_t { }; #if defined(_LIBCPP_CXX03_LANG) || defined(_LIBCPP_BUILDING_MEMORY) extern const allocator_arg_t allocator_arg; #else -constexpr allocator_arg_t allocator_arg = allocator_arg_t(); +/* _LIBCPP_INLINE_VAR */ constexpr allocator_arg_t allocator_arg = allocator_arg_t(); #endif // uses_allocator @@ -601,7 +601,7 @@ struct _LIBCPP_TEMPLATE_VIS uses_allocator #if _LIBCPP_STD_VER > 14 template -constexpr size_t uses_allocator_v = uses_allocator<_Tp, _Alloc>::value; +_LIBCPP_INLINE_VAR constexpr size_t uses_allocator_v = uses_allocator<_Tp, _Alloc>::value; #endif #ifndef _LIBCPP_CXX03_LANG Modified: projects/clang600-import/contrib/libc++/include/__mutex_base ============================================================================== --- projects/clang600-import/contrib/libc++/include/__mutex_base Sat Jan 6 23:24:52 2018 (r327656) +++ projects/clang600-import/contrib/libc++/include/__mutex_base Sat Jan 6 23:44:14 2018 (r327657) @@ -82,9 +82,9 @@ extern const adopt_lock_t adopt_lock; #else -constexpr defer_lock_t defer_lock = defer_lock_t(); -constexpr try_to_lock_t try_to_lock = try_to_lock_t(); -constexpr adopt_lock_t adopt_lock = adopt_lock_t(); +/* _LIBCPP_INLINE_VAR */ constexpr defer_lock_t defer_lock = defer_lock_t(); +/* _LIBCPP_INLINE_VAR */ constexpr try_to_lock_t try_to_lock = try_to_lock_t(); +/* _LIBCPP_INLINE_VAR */ constexpr adopt_lock_t adopt_lock = adopt_lock_t(); #endif Modified: projects/clang600-import/contrib/libc++/include/chrono ============================================================================== --- projects/clang600-import/contrib/libc++/include/chrono Sat Jan 6 23:24:52 2018 (r327656) +++ projects/clang600-import/contrib/libc++/include/chrono Sat Jan 6 23:44:14 2018 (r327657) @@ -26,7 +26,7 @@ duration_cast(const duration& fd); template struct treat_as_floating_point : is_floating_point {}; -template constexpr bool treat_as_floating_point_v +template inline constexpr bool treat_as_floating_point_v = treat_as_floating_point::value; // C++17 template @@ -419,7 +419,8 @@ template struct _LIBCPP_TEMPLATE_VIS treat_as_floating_point : is_floating_point<_Rep> {}; #if _LIBCPP_STD_VER > 14 && !defined(_LIBCPP_HAS_NO_VARIABLE_TEMPLATES) -template _LIBCPP_CONSTEXPR bool treat_as_floating_point_v +template +_LIBCPP_INLINE_VAR _LIBCPP_CONSTEXPR bool treat_as_floating_point_v = treat_as_floating_point<_Rep>::value; #endif Modified: projects/clang600-import/contrib/libc++/include/functional ============================================================================== --- projects/clang600-import/contrib/libc++/include/functional Sat Jan 6 23:24:52 2018 (r327656) +++ projects/clang600-import/contrib/libc++/include/functional Sat Jan 6 23:44:14 2018 (r327657) @@ -213,9 +213,9 @@ template struct is_bind_expression; template struct is_placeholder; // See C++14 20.9.9, Function object binders -template constexpr bool is_bind_expression_v +template inline constexpr bool is_bind_expression_v = is_bind_expression::value; // C++17 -template constexpr int is_placeholder_v +template inline constexpr int is_placeholder_v = is_placeholder::value; // C++17 @@ -1991,7 +1991,7 @@ template struct _LIBCPP_TEMPLATE_VIS is_bin #if _LIBCPP_STD_VER > 14 template -constexpr size_t is_bind_expression_v = is_bind_expression<_Tp>::value; +_LIBCPP_INLINE_VAR constexpr size_t is_bind_expression_v = is_bind_expression<_Tp>::value; #endif template struct __is_placeholder : public integral_constant {}; @@ -2000,7 +2000,7 @@ template struct _LIBCPP_TEMPLATE_VIS is_pla #if _LIBCPP_STD_VER > 14 template -constexpr size_t is_placeholder_v = is_placeholder<_Tp>::value; +_LIBCPP_INLINE_VAR constexpr size_t is_placeholder_v = is_placeholder<_Tp>::value; #endif namespace placeholders @@ -2020,16 +2020,16 @@ _LIBCPP_FUNC_VIS extern const __ph<8> _8; _LIBCPP_FUNC_VIS extern const __ph<9> _9; _LIBCPP_FUNC_VIS extern const __ph<10> _10; #else -constexpr __ph<1> _1{}; -constexpr __ph<2> _2{}; -constexpr __ph<3> _3{}; -constexpr __ph<4> _4{}; -constexpr __ph<5> _5{}; -constexpr __ph<6> _6{}; -constexpr __ph<7> _7{}; -constexpr __ph<8> _8{}; -constexpr __ph<9> _9{}; -constexpr __ph<10> _10{}; +/* _LIBCPP_INLINE_VAR */ constexpr __ph<1> _1{}; +/* _LIBCPP_INLINE_VAR */ constexpr __ph<2> _2{}; +/* _LIBCPP_INLINE_VAR */ constexpr __ph<3> _3{}; +/* _LIBCPP_INLINE_VAR */ constexpr __ph<4> _4{}; +/* _LIBCPP_INLINE_VAR */ constexpr __ph<5> _5{}; +/* _LIBCPP_INLINE_VAR */ constexpr __ph<6> _6{}; +/* _LIBCPP_INLINE_VAR */ constexpr __ph<7> _7{}; +/* _LIBCPP_INLINE_VAR */ constexpr __ph<8> _8{}; +/* _LIBCPP_INLINE_VAR */ constexpr __ph<9> _9{}; +/* _LIBCPP_INLINE_VAR */ constexpr __ph<10> _10{}; #endif // defined(_LIBCPP_CXX03_LANG) || defined(_LIBCPP_BUILDING_BIND) } // placeholders Modified: projects/clang600-import/contrib/libc++/include/memory ============================================================================== --- projects/clang600-import/contrib/libc++/include/memory Sat Jan 6 23:24:52 2018 (r327656) +++ projects/clang600-import/contrib/libc++/include/memory Sat Jan 6 23:44:14 2018 (r327657) @@ -18,7 +18,7 @@ namespace std { struct allocator_arg_t { }; -constexpr allocator_arg_t allocator_arg = allocator_arg_t(); +inline constexpr allocator_arg_t allocator_arg = allocator_arg_t(); template struct uses_allocator; @@ -630,6 +630,9 @@ template template struct hash; template struct hash >; template struct hash >; + +template + inline constexpr bool uses_allocator_v = uses_allocator::value; // Pointer safety enum class pointer_safety { relaxed, preferred, strict }; Modified: projects/clang600-import/contrib/libc++/include/mutex ============================================================================== --- projects/clang600-import/contrib/libc++/include/mutex Sat Jan 6 23:24:52 2018 (r327656) +++ projects/clang600-import/contrib/libc++/include/mutex Sat Jan 6 23:44:14 2018 (r327657) @@ -91,9 +91,9 @@ struct defer_lock_t {}; struct try_to_lock_t {}; struct adopt_lock_t {}; -constexpr defer_lock_t defer_lock{}; -constexpr try_to_lock_t try_to_lock{}; -constexpr adopt_lock_t adopt_lock{}; +inline constexpr defer_lock_t defer_lock{}; +inline constexpr try_to_lock_t try_to_lock{}; +inline constexpr adopt_lock_t adopt_lock{}; template class lock_guard Modified: projects/clang600-import/contrib/libc++/include/optional ============================================================================== --- projects/clang600-import/contrib/libc++/include/optional Sat Jan 6 23:24:52 2018 (r327656) +++ projects/clang600-import/contrib/libc++/include/optional Sat Jan 6 23:44:14 2018 (r327657) @@ -22,7 +22,7 @@ namespace std { // 23.6.4, no-value state indicator struct nullopt_t{see below }; - constexpr nullopt_t nullopt(unspecified ); + inline constexpr nullopt_t nullopt(unspecified ); // 23.6.5, class bad_optional_access class bad_optional_access; @@ -195,7 +195,7 @@ struct nullopt_t _LIBCPP_INLINE_VISIBILITY constexpr explicit nullopt_t(__secret_tag, __secret_tag) noexcept {} }; -/* inline */ constexpr nullopt_t nullopt{nullopt_t::__secret_tag{}, nullopt_t::__secret_tag{}}; +_LIBCPP_INLINE_VAR constexpr nullopt_t nullopt{nullopt_t::__secret_tag{}, nullopt_t::__secret_tag{}}; template ::value> struct __optional_destruct_base; Modified: projects/clang600-import/contrib/libc++/include/ratio ============================================================================== --- projects/clang600-import/contrib/libc++/include/ratio Sat Jan 6 23:24:52 2018 (r327656) +++ projects/clang600-import/contrib/libc++/include/ratio Sat Jan 6 23:44:14 2018 (r327657) @@ -63,17 +63,17 @@ typedef ratio< 1000000000000000000000, 1> zetta; // typedef ratio<1000000000000000000000000, 1> yotta; // not supported // 20.11.5, ratio comparison - template constexpr bool ratio_equal_v + template inline constexpr bool ratio_equal_v = ratio_equal::value; // C++17 - template constexpr bool ratio_not_equal_v + template inline constexpr bool ratio_not_equal_v = ratio_not_equal::value; // C++17 - template constexpr bool ratio_less_v + template inline constexpr bool ratio_less_v = ratio_less::value; // C++17 - template constexpr bool ratio_less_equal_v + template inline constexpr bool ratio_less_equal_v = ratio_less_equal::value; // C++17 - template constexpr bool ratio_greater_v + template inline constexpr bool ratio_greater_v = ratio_greater::value; // C++17 - template constexpr bool ratio_greater_equal_v + template inline constexpr bool ratio_greater_equal_v = ratio_greater_equal::value; // C++17 } */ @@ -501,22 +501,28 @@ struct __ratio_gcd }; #if _LIBCPP_STD_VER > 14 && !defined(_LIBCPP_HAS_NO_VARIABLE_TEMPLATES) -template _LIBCPP_CONSTEXPR bool ratio_equal_v +template +_LIBCPP_INLINE_VAR _LIBCPP_CONSTEXPR bool ratio_equal_v = ratio_equal<_R1, _R2>::value; -template _LIBCPP_CONSTEXPR bool ratio_not_equal_v +template +_LIBCPP_INLINE_VAR _LIBCPP_CONSTEXPR bool ratio_not_equal_v = ratio_not_equal<_R1, _R2>::value; -template _LIBCPP_CONSTEXPR bool ratio_less_v +template +_LIBCPP_INLINE_VAR _LIBCPP_CONSTEXPR bool ratio_less_v = ratio_less<_R1, _R2>::value; -template _LIBCPP_CONSTEXPR bool ratio_less_equal_v +template +_LIBCPP_INLINE_VAR _LIBCPP_CONSTEXPR bool ratio_less_equal_v = ratio_less_equal<_R1, _R2>::value; -template _LIBCPP_CONSTEXPR bool ratio_greater_v +template +_LIBCPP_INLINE_VAR _LIBCPP_CONSTEXPR bool ratio_greater_v = ratio_greater<_R1, _R2>::value; -template _LIBCPP_CONSTEXPR bool ratio_greater_equal_v +template +_LIBCPP_INLINE_VAR _LIBCPP_CONSTEXPR bool ratio_greater_equal_v = ratio_greater_equal<_R1, _R2>::value; #endif Modified: projects/clang600-import/contrib/libc++/include/system_error ============================================================================== --- projects/clang600-import/contrib/libc++/include/system_error Sat Jan 6 23:24:52 2018 (r327656) +++ projects/clang600-import/contrib/libc++/include/system_error Sat Jan 6 23:44:14 2018 (r327657) @@ -47,10 +47,10 @@ template struct is_error_condition_enum : public false_type {}; template -constexpr size_t is_error_condition_enum_v = is_error_condition_enum<_Tp>::value; // C++17 +inline constexpr size_t is_error_condition_enum_v = is_error_condition_enum<_Tp>::value; // C++17 template -constexpr size_t is_error_code_enum_v = is_error_code_enum<_Tp>::value; // C++17 +inline constexpr size_t is_error_code_enum_v = is_error_code_enum<_Tp>::value; // C++17 class error_code { @@ -246,7 +246,7 @@ struct _LIBCPP_TEMPLATE_VIS is_error_code_enum #if _LIBCPP_STD_VER > 14 template -constexpr size_t is_error_code_enum_v = is_error_code_enum<_Tp>::value; +_LIBCPP_INLINE_VAR constexpr size_t is_error_code_enum_v = is_error_code_enum<_Tp>::value; #endif // is_error_condition_enum @@ -257,7 +257,7 @@ struct _LIBCPP_TEMPLATE_VIS is_error_condition_enum #if _LIBCPP_STD_VER > 14 template -constexpr size_t is_error_condition_enum_v = is_error_condition_enum<_Tp>::value; +_LIBCPP_INLINE_VAR constexpr size_t is_error_condition_enum_v = is_error_condition_enum<_Tp>::value; #endif // Some error codes are not present on all platforms, so we provide equivalents Modified: projects/clang600-import/contrib/libc++/include/tuple ============================================================================== --- projects/clang600-import/contrib/libc++/include/tuple Sat Jan 6 23:24:52 2018 (r327656) +++ projects/clang600-import/contrib/libc++/include/tuple Sat Jan 6 23:44:14 2018 (r327657) @@ -70,7 +70,7 @@ class tuple { (public) void swap(tuple&) noexcept(AND(swap(declval(), declval())...)); }; -const unspecified ignore; +inline constexpr unspecified ignore; template tuple make_tuple(T&&...); // constexpr in C++14 template tuple forward_as_tuple(T&&...) noexcept; // constexpr in C++14 @@ -87,7 +87,7 @@ template template class tuple_size; // undefined template class tuple_size>; template - constexpr size_t tuple_size_v = tuple_size::value; // C++17 + inline constexpr size_t tuple_size_v = tuple_size::value; // C++17 template class tuple_element; // undefined template class tuple_element>; template @@ -1079,7 +1079,7 @@ struct __ignore_t }; namespace { - constexpr __ignore_t ignore = __ignore_t(); + _LIBCPP_INLINE_VAR constexpr __ignore_t ignore = __ignore_t(); } template @@ -1368,7 +1368,7 @@ pair<_T1, _T2>::pair(piecewise_construct_t, #if _LIBCPP_STD_VER > 14 template -constexpr size_t tuple_size_v = tuple_size<_Tp>::value; +_LIBCPP_INLINE_VAR constexpr size_t tuple_size_v = tuple_size<_Tp>::value; #define _LIBCPP_NOEXCEPT_RETURN(...) noexcept(noexcept(__VA_ARGS__)) { return __VA_ARGS__; } Modified: projects/clang600-import/contrib/libc++/include/type_traits ============================================================================== --- projects/clang600-import/contrib/libc++/include/type_traits Sat Jan 6 23:24:52 2018 (r327656) +++ projects/clang600-import/contrib/libc++/include/type_traits Sat Jan 6 23:44:14 2018 (r327657) @@ -132,6 +132,8 @@ namespace std template struct has_virtual_destructor; + template struct has_unique_object_representations; // C++17 + // Relationships between types: template struct is_same; template struct is_base_of; @@ -223,173 +225,175 @@ namespace std using void_t = void; // C++17 // See C++14 20.10.4.1, primary type categories - template constexpr bool is_void_v + template inline constexpr bool is_void_v = is_void::value; // C++17 - template constexpr bool is_null_pointer_v + template inline constexpr bool is_null_pointer_v = is_null_pointer::value; // C++17 - template constexpr bool is_integral_v + template inline constexpr bool is_integral_v = is_integral::value; // C++17 - template constexpr bool is_floating_point_v + template inline constexpr bool is_floating_point_v = is_floating_point::value; // C++17 - template constexpr bool is_array_v + template inline constexpr bool is_array_v = is_array::value; // C++17 - template constexpr bool is_pointer_v + template inline constexpr bool is_pointer_v = is_pointer::value; // C++17 - template constexpr bool is_lvalue_reference_v + template inline constexpr bool is_lvalue_reference_v = is_lvalue_reference::value; // C++17 - template constexpr bool is_rvalue_reference_v + template inline constexpr bool is_rvalue_reference_v = is_rvalue_reference::value; // C++17 - template constexpr bool is_member_object_pointer_v + template inline constexpr bool is_member_object_pointer_v = is_member_object_pointer::value; // C++17 - template constexpr bool is_member_function_pointer_v + template inline constexpr bool is_member_function_pointer_v = is_member_function_pointer::value; // C++17 - template constexpr bool is_enum_v + template inline constexpr bool is_enum_v = is_enum::value; // C++17 - template constexpr bool is_union_v + template inline constexpr bool is_union_v = is_union::value; // C++17 - template constexpr bool is_class_v + template inline constexpr bool is_class_v = is_class::value; // C++17 - template constexpr bool is_function_v + template inline constexpr bool is_function_v = is_function::value; // C++17 // See C++14 20.10.4.2, composite type categories - template constexpr bool is_reference_v + template inline constexpr bool is_reference_v = is_reference::value; // C++17 - template constexpr bool is_arithmetic_v + template inline constexpr bool is_arithmetic_v = is_arithmetic::value; // C++17 - template constexpr bool is_fundamental_v + template inline constexpr bool is_fundamental_v = is_fundamental::value; // C++17 - template constexpr bool is_object_v + template inline constexpr bool is_object_v = is_object::value; // C++17 - template constexpr bool is_scalar_v + template inline constexpr bool is_scalar_v = is_scalar::value; // C++17 - template constexpr bool is_compound_v + template inline constexpr bool is_compound_v = is_compound::value; // C++17 - template constexpr bool is_member_pointer_v + template inline constexpr bool is_member_pointer_v = is_member_pointer::value; // C++17 // See C++14 20.10.4.3, type properties - template constexpr bool is_const_v + template inline constexpr bool is_const_v = is_const::value; // C++17 - template constexpr bool is_volatile_v + template inline constexpr bool is_volatile_v = is_volatile::value; // C++17 - template constexpr bool is_trivial_v + template inline constexpr bool is_trivial_v = is_trivial::value; // C++17 - template constexpr bool is_trivially_copyable_v + template inline constexpr bool is_trivially_copyable_v = is_trivially_copyable::value; // C++17 - template constexpr bool is_standard_layout_v + template inline constexpr bool is_standard_layout_v = is_standard_layout::value; // C++17 - template constexpr bool is_pod_v + template inline constexpr bool is_pod_v = is_pod::value; // C++17 - template constexpr bool is_literal_type_v + template inline constexpr bool is_literal_type_v = is_literal_type::value; // C++17 - template constexpr bool is_empty_v + template inline constexpr bool is_empty_v = is_empty::value; // C++17 - template constexpr bool is_polymorphic_v + template inline constexpr bool is_polymorphic_v = is_polymorphic::value; // C++17 - template constexpr bool is_abstract_v + template inline constexpr bool is_abstract_v = is_abstract::value; // C++17 - template constexpr bool is_final_v + template inline constexpr bool is_final_v = is_final::value; // C++17 - template constexpr bool is_aggregate_v + template inline constexpr bool is_aggregate_v = is_aggregate::value; // C++17 - template constexpr bool is_signed_v + template inline constexpr bool is_signed_v = is_signed::value; // C++17 - template constexpr bool is_unsigned_v + template inline constexpr bool is_unsigned_v = is_unsigned::value; // C++17 - template constexpr bool is_constructible_v + template inline constexpr bool is_constructible_v = is_constructible::value; // C++17 - template constexpr bool is_default_constructible_v + template inline constexpr bool is_default_constructible_v = is_default_constructible::value; // C++17 - template constexpr bool is_copy_constructible_v + template inline constexpr bool is_copy_constructible_v = is_copy_constructible::value; // C++17 - template constexpr bool is_move_constructible_v + template inline constexpr bool is_move_constructible_v = is_move_constructible::value; // C++17 - template constexpr bool is_assignable_v + template inline constexpr bool is_assignable_v = is_assignable::value; // C++17 - template constexpr bool is_copy_assignable_v + template inline constexpr bool is_copy_assignable_v = is_copy_assignable::value; // C++17 - template constexpr bool is_move_assignable_v + template inline constexpr bool is_move_assignable_v = is_move_assignable::value; // C++17 - template constexpr bool is_swappable_with_v + template inline constexpr bool is_swappable_with_v = is_swappable_with::value; // C++17 - template constexpr bool is_swappable_v + template inline constexpr bool is_swappable_v = is_swappable::value; // C++17 - template constexpr bool is_destructible_v + template inline constexpr bool is_destructible_v = is_destructible::value; // C++17 - template constexpr bool is_trivially_constructible_v + template inline constexpr bool is_trivially_constructible_v = is_trivially_constructible::value; // C++17 - template constexpr bool is_trivially_default_constructible_v + template inline constexpr bool is_trivially_default_constructible_v = is_trivially_default_constructible::value; // C++17 - template constexpr bool is_trivially_copy_constructible_v + template inline constexpr bool is_trivially_copy_constructible_v = is_trivially_copy_constructible::value; // C++17 - template constexpr bool is_trivially_move_constructible_v + template inline constexpr bool is_trivially_move_constructible_v = is_trivially_move_constructible::value; // C++17 - template constexpr bool is_trivially_assignable_v + template inline constexpr bool is_trivially_assignable_v = is_trivially_assignable::value; // C++17 - template constexpr bool is_trivially_copy_assignable_v + template inline constexpr bool is_trivially_copy_assignable_v = is_trivially_copy_assignable::value; // C++17 - template constexpr bool is_trivially_move_assignable_v + template inline constexpr bool is_trivially_move_assignable_v = is_trivially_move_assignable::value; // C++17 - template constexpr bool is_trivially_destructible_v + template inline constexpr bool is_trivially_destructible_v = is_trivially_destructible::value; // C++17 - template constexpr bool is_nothrow_constructible_v + template inline constexpr bool is_nothrow_constructible_v = is_nothrow_constructible::value; // C++17 - template constexpr bool is_nothrow_default_constructible_v + template inline constexpr bool is_nothrow_default_constructible_v = is_nothrow_default_constructible::value; // C++17 - template constexpr bool is_nothrow_copy_constructible_v + template inline constexpr bool is_nothrow_copy_constructible_v = is_nothrow_copy_constructible::value; // C++17 - template constexpr bool is_nothrow_move_constructible_v + template inline constexpr bool is_nothrow_move_constructible_v = is_nothrow_move_constructible::value; // C++17 - template constexpr bool is_nothrow_assignable_v + template inline constexpr bool is_nothrow_assignable_v = is_nothrow_assignable::value; // C++17 - template constexpr bool is_nothrow_copy_assignable_v + template inline constexpr bool is_nothrow_copy_assignable_v = is_nothrow_copy_assignable::value; // C++17 - template constexpr bool is_nothrow_move_assignable_v + template inline constexpr bool is_nothrow_move_assignable_v = is_nothrow_move_assignable::value; // C++17 - template constexpr bool is_nothrow_swappable_with_v + template inline constexpr bool is_nothrow_swappable_with_v = is_nothrow_swappable_with::value; // C++17 - template constexpr bool is_nothrow_swappable_v + template inline constexpr bool is_nothrow_swappable_v = is_nothrow_swappable::value; // C++17 - template constexpr bool is_nothrow_destructible_v + template inline constexpr bool is_nothrow_destructible_v = is_nothrow_destructible::value; // C++17 - template constexpr bool has_virtual_destructor_v + template inline constexpr bool has_virtual_destructor_v = has_virtual_destructor::value; // C++17 + template inline constexpr bool has_unique_object_representations_v // C++17 + = has_unique_object_representations::value; // See C++14 20.10.5, type property queries - template constexpr size_t alignment_of_v + template inline constexpr size_t alignment_of_v = alignment_of::value; // C++17 - template constexpr size_t rank_v + template inline constexpr size_t rank_v = rank::value; // C++17 - template constexpr size_t extent_v + template inline constexpr size_t extent_v = extent::value; // C++17 // See C++14 20.10.6, type relations - template constexpr bool is_same_v + template inline constexpr bool is_same_v = is_same::value; // C++17 - template constexpr bool is_base_of_v + template inline constexpr bool is_base_of_v = is_base_of::value; // C++17 - template constexpr bool is_convertible_v + template inline constexpr bool is_convertible_v = is_convertible::value; // C++17 - template constexpr bool is_invocable_v + template inline constexpr bool is_invocable_v = is_invocable::value; // C++17 - template constexpr bool is_invocable_r_v + template inline constexpr bool is_invocable_r_v = is_invocable_r::value; // C++17 - template constexpr bool is_nothrow_invocable_v + template inline constexpr bool is_nothrow_invocable_v = is_nothrow_invocable::value; // C++17 - template constexpr bool is_nothrow_invocable_r_v + template inline constexpr bool is_nothrow_invocable_r_v = is_nothrow_invocable_r::value; // C++17 // [meta.logical], logical operator traits: template struct conjunction; // C++17 template - constexpr bool conjunction_v = conjunction::value; // C++17 + inline constexpr bool conjunction_v = conjunction::value; // C++17 template struct disjunction; // C++17 template - constexpr bool disjunction_v = disjunction::value; // C++17 + inline constexpr bool disjunction_v = disjunction::value; // C++17 template struct negation; // C++17 template - constexpr bool negation_v = negation::value; // C++17 + inline constexpr bool negation_v = negation::value; // C++17 } @@ -619,7 +623,8 @@ template struct _LIBCPP_TEMPLATE_VIS is_co template struct _LIBCPP_TEMPLATE_VIS is_const<_Tp const> : public true_type {}; #if _LIBCPP_STD_VER > 14 && !defined(_LIBCPP_HAS_NO_VARIABLE_TEMPLATES) -template _LIBCPP_CONSTEXPR bool is_const_v +template +_LIBCPP_INLINE_VAR _LIBCPP_CONSTEXPR bool is_const_v = is_const<_Tp>::value; #endif @@ -629,7 +634,8 @@ template struct _LIBCPP_TEMPLATE_VIS is_vo template struct _LIBCPP_TEMPLATE_VIS is_volatile<_Tp volatile> : public true_type {}; #if _LIBCPP_STD_VER > 14 && !defined(_LIBCPP_HAS_NO_VARIABLE_TEMPLATES) -template _LIBCPP_CONSTEXPR bool is_volatile_v +template +_LIBCPP_INLINE_VAR _LIBCPP_CONSTEXPR bool is_volatile_v = is_volatile<_Tp>::value; #endif @@ -666,7 +672,8 @@ template struct _LIBCPP_TEMPLATE_VIS is_vo : public __libcpp_is_void::type> {}; #if _LIBCPP_STD_VER > 14 && !defined(_LIBCPP_HAS_NO_VARIABLE_TEMPLATES) -template _LIBCPP_CONSTEXPR bool is_void_v +template +_LIBCPP_INLINE_VAR _LIBCPP_CONSTEXPR bool is_void_v = is_void<_Tp>::value; #endif @@ -683,7 +690,8 @@ template struct _LIBCPP_TEMPLATE_VIS is_nu : public __is_nullptr_t_impl::type> {}; #if _LIBCPP_STD_VER > 14 && !defined(_LIBCPP_HAS_NO_VARIABLE_TEMPLATES) -template _LIBCPP_CONSTEXPR bool is_null_pointer_v +template +_LIBCPP_INLINE_VAR _LIBCPP_CONSTEXPR bool is_null_pointer_v = is_null_pointer<_Tp>::value; #endif #endif @@ -717,7 +725,8 @@ template struct _LIBCPP_TEMPLATE_VIS is_in : public __libcpp_is_integral::type> {}; #if _LIBCPP_STD_VER > 14 && !defined(_LIBCPP_HAS_NO_VARIABLE_TEMPLATES) -template _LIBCPP_CONSTEXPR bool is_integral_v +template +_LIBCPP_INLINE_VAR _LIBCPP_CONSTEXPR bool is_integral_v = is_integral<_Tp>::value; #endif @@ -732,7 +741,8 @@ template struct _LIBCPP_TEMPLATE_VIS is_fl : public __libcpp_is_floating_point::type> {}; #if _LIBCPP_STD_VER > 14 && !defined(_LIBCPP_HAS_NO_VARIABLE_TEMPLATES) -template _LIBCPP_CONSTEXPR bool is_floating_point_v +template +_LIBCPP_INLINE_VAR _LIBCPP_CONSTEXPR bool is_floating_point_v = is_floating_point<_Tp>::value; #endif @@ -746,7 +756,8 @@ template struct _LIBCPP_TEMPLA : public true_type {}; #if _LIBCPP_STD_VER > 14 && !defined(_LIBCPP_HAS_NO_VARIABLE_TEMPLATES) -template _LIBCPP_CONSTEXPR bool is_array_v +template +_LIBCPP_INLINE_VAR _LIBCPP_CONSTEXPR bool is_array_v = is_array<_Tp>::value; #endif @@ -759,7 +770,8 @@ template struct _LIBCPP_TEMPLATE_VIS is_po : public __libcpp_is_pointer::type> {}; #if _LIBCPP_STD_VER > 14 && !defined(_LIBCPP_HAS_NO_VARIABLE_TEMPLATES) -template _LIBCPP_CONSTEXPR bool is_pointer_v +template +_LIBCPP_INLINE_VAR _LIBCPP_CONSTEXPR bool is_pointer_v = is_pointer<_Tp>::value; #endif @@ -780,13 +792,16 @@ template struct _LIBCPP_TEMPLATE_VIS is_re #endif #if _LIBCPP_STD_VER > 14 && !defined(_LIBCPP_HAS_NO_VARIABLE_TEMPLATES) -template _LIBCPP_CONSTEXPR bool is_reference_v +template +_LIBCPP_INLINE_VAR _LIBCPP_CONSTEXPR bool is_reference_v = is_reference<_Tp>::value; -template _LIBCPP_CONSTEXPR bool is_lvalue_reference_v +template +_LIBCPP_INLINE_VAR _LIBCPP_CONSTEXPR bool is_lvalue_reference_v = is_lvalue_reference<_Tp>::value; -template _LIBCPP_CONSTEXPR bool is_rvalue_reference_v +template +_LIBCPP_INLINE_VAR _LIBCPP_CONSTEXPR bool is_rvalue_reference_v = is_rvalue_reference<_Tp>::value; #endif // is_union @@ -805,7 +820,8 @@ template struct _LIBCPP_TEMPLATE_VIS is_un #endif #if _LIBCPP_STD_VER > 14 && !defined(_LIBCPP_HAS_NO_VARIABLE_TEMPLATES) -template _LIBCPP_CONSTEXPR bool is_union_v +template +_LIBCPP_INLINE_VAR _LIBCPP_CONSTEXPR bool is_union_v = is_union<_Tp>::value; #endif @@ -830,7 +846,8 @@ template struct _LIBCPP_TEMPLATE_VIS is_cl #endif #if _LIBCPP_STD_VER > 14 && !defined(_LIBCPP_HAS_NO_VARIABLE_TEMPLATES) -template _LIBCPP_CONSTEXPR bool is_class_v +template +_LIBCPP_INLINE_VAR _LIBCPP_CONSTEXPR bool is_class_v = is_class<_Tp>::value; #endif @@ -840,7 +857,8 @@ template struct _LIBCPP_TEMPLAT template struct _LIBCPP_TEMPLATE_VIS is_same<_Tp, _Tp> : public true_type {}; #if _LIBCPP_STD_VER > 14 && !defined(_LIBCPP_HAS_NO_VARIABLE_TEMPLATES) -template _LIBCPP_CONSTEXPR bool is_same_v +template +_LIBCPP_INLINE_VAR _LIBCPP_CONSTEXPR bool is_same_v = is_same<_Tp, _Up>::value; #endif @@ -870,7 +888,8 @@ template struct _LIBCPP_TEMPLATE_VIS is_fu : public __libcpp_is_function<_Tp> {}; #if _LIBCPP_STD_VER > 14 && !defined(_LIBCPP_HAS_NO_VARIABLE_TEMPLATES) -template _LIBCPP_CONSTEXPR bool is_function_v +template +_LIBCPP_INLINE_VAR _LIBCPP_CONSTEXPR bool is_function_v = is_function<_Tp>::value; #endif @@ -897,7 +916,8 @@ template struct _LIBCPP_TEMPLATE_VIS is_me : public __libcpp_is_member_function_pointer::type>::type {}; #if _LIBCPP_STD_VER > 14 && !defined(_LIBCPP_HAS_NO_VARIABLE_TEMPLATES) -template _LIBCPP_CONSTEXPR bool is_member_function_pointer_v +template +_LIBCPP_INLINE_VAR _LIBCPP_CONSTEXPR bool is_member_function_pointer_v = is_member_function_pointer<_Tp>::value; #endif @@ -910,7 +930,8 @@ template struct _LIBCPP_TEMPLATE_VIS is_me : public __libcpp_is_member_pointer::type> {}; #if _LIBCPP_STD_VER > 14 && !defined(_LIBCPP_HAS_NO_VARIABLE_TEMPLATES) -template _LIBCPP_CONSTEXPR bool is_member_pointer_v +template +_LIBCPP_INLINE_VAR _LIBCPP_CONSTEXPR bool is_member_pointer_v = is_member_pointer<_Tp>::value; #endif @@ -921,7 +942,8 @@ template struct _LIBCPP_TEMPLATE_VIS is_me !is_member_function_pointer<_Tp>::value> {}; #if _LIBCPP_STD_VER > 14 && !defined(_LIBCPP_HAS_NO_VARIABLE_TEMPLATES) -template _LIBCPP_CONSTEXPR bool is_member_object_pointer_v +template +_LIBCPP_INLINE_VAR _LIBCPP_CONSTEXPR bool is_member_object_pointer_v = is_member_object_pointer<_Tp>::value; #endif @@ -949,7 +971,8 @@ template struct _LIBCPP_TEMPLATE_VIS is_en #endif #if _LIBCPP_STD_VER > 14 && !defined(_LIBCPP_HAS_NO_VARIABLE_TEMPLATES) -template _LIBCPP_CONSTEXPR bool is_enum_v +template +_LIBCPP_INLINE_VAR _LIBCPP_CONSTEXPR bool is_enum_v = is_enum<_Tp>::value; #endif @@ -960,7 +983,8 @@ template struct _LIBCPP_TEMPLATE_VIS is_ar is_floating_point<_Tp>::value> {}; #if _LIBCPP_STD_VER > 14 && !defined(_LIBCPP_HAS_NO_VARIABLE_TEMPLATES) -template _LIBCPP_CONSTEXPR bool is_arithmetic_v +template +_LIBCPP_INLINE_VAR _LIBCPP_CONSTEXPR bool is_arithmetic_v = is_arithmetic<_Tp>::value; #endif @@ -972,7 +996,8 @@ template struct _LIBCPP_TEMPLATE_VIS is_fu is_arithmetic<_Tp>::value> {}; #if _LIBCPP_STD_VER > 14 && !defined(_LIBCPP_HAS_NO_VARIABLE_TEMPLATES) -template _LIBCPP_CONSTEXPR bool is_fundamental_v +template +_LIBCPP_INLINE_VAR _LIBCPP_CONSTEXPR bool is_fundamental_v = is_fundamental<_Tp>::value; #endif @@ -988,7 +1013,8 @@ template struct _LIBCPP_TEMPLATE_VIS is_sc template <> struct _LIBCPP_TEMPLATE_VIS is_scalar : public true_type {}; #if _LIBCPP_STD_VER > 14 && !defined(_LIBCPP_HAS_NO_VARIABLE_TEMPLATES) -template _LIBCPP_CONSTEXPR bool is_scalar_v +template +_LIBCPP_INLINE_VAR _LIBCPP_CONSTEXPR bool is_scalar_v = is_scalar<_Tp>::value; #endif @@ -1001,7 +1027,8 @@ template struct _LIBCPP_TEMPLATE_VIS is_ob is_class<_Tp>::value > {}; #if _LIBCPP_STD_VER > 14 && !defined(_LIBCPP_HAS_NO_VARIABLE_TEMPLATES) -template _LIBCPP_CONSTEXPR bool is_object_v +template +_LIBCPP_INLINE_VAR _LIBCPP_CONSTEXPR bool is_object_v = is_object<_Tp>::value; #endif @@ -1011,7 +1038,8 @@ template struct _LIBCPP_TEMPLATE_VIS is_co : public integral_constant::value> {}; #if _LIBCPP_STD_VER > 14 && !defined(_LIBCPP_HAS_NO_VARIABLE_TEMPLATES) -template _LIBCPP_CONSTEXPR bool is_compound_v +template +_LIBCPP_INLINE_VAR _LIBCPP_CONSTEXPR bool is_compound_v = is_compound<_Tp>::value; #endif @@ -1210,7 +1238,8 @@ template struct __libcpp_is_signed<_Tp, fa template struct _LIBCPP_TEMPLATE_VIS is_signed : public __libcpp_is_signed<_Tp> {}; #if _LIBCPP_STD_VER > 14 && !defined(_LIBCPP_HAS_NO_VARIABLE_TEMPLATES) -template _LIBCPP_CONSTEXPR bool is_signed_v +template +_LIBCPP_INLINE_VAR _LIBCPP_CONSTEXPR bool is_signed_v = is_signed<_Tp>::value; #endif @@ -1230,7 +1259,8 @@ template struct __libcpp_is_unsigned<_Tp, template struct _LIBCPP_TEMPLATE_VIS is_unsigned : public __libcpp_is_unsigned<_Tp> {}; #if _LIBCPP_STD_VER > 14 && !defined(_LIBCPP_HAS_NO_VARIABLE_TEMPLATES) -template _LIBCPP_CONSTEXPR bool is_unsigned_v +template +_LIBCPP_INLINE_VAR _LIBCPP_CONSTEXPR bool is_unsigned_v = is_unsigned<_Tp>::value; #endif @@ -1244,7 +1274,8 @@ template struct _LIBCPP_TEMPLA : public integral_constant::value + 1> {}; #if _LIBCPP_STD_VER > 14 && !defined(_LIBCPP_HAS_NO_VARIABLE_TEMPLATES) -template _LIBCPP_CONSTEXPR size_t rank_v +template +_LIBCPP_INLINE_VAR _LIBCPP_CONSTEXPR size_t rank_v = rank<_Tp>::value; #endif @@ -1262,7 +1293,8 @@ template struct : public integral_constant::value> {}; *** DIFF OUTPUT TRUNCATED AT 1000 LINES ***