From owner-svn-src-user@FreeBSD.ORG Sun Apr 28 01:59:24 2013 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 6C1947AF; Sun, 28 Apr 2013 01:59:24 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 5B1D712F0; Sun, 28 Apr 2013 01:59:24 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r3S1xOi0066567; Sun, 28 Apr 2013 01:59:24 GMT (envelope-from adrian@svn.freebsd.org) Received: (from adrian@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r3S1xLVu066546; Sun, 28 Apr 2013 01:59:21 GMT (envelope-from adrian@svn.freebsd.org) Message-Id: <201304280159.r3S1xLVu066546@svn.freebsd.org> From: Adrian Chadd Date: Sun, 28 Apr 2013 01:59:21 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r250010 - in user/adrian/net80211_tx: . bin/mkdir bin/rm bin/sh contrib/libc++ contrib/libc++/include contrib/libc++/include/ext contrib/libc++/src contrib/libcxxrt include lib/libc/gen... X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 28 Apr 2013 01:59:24 -0000 Author: adrian Date: Sun Apr 28 01:59:20 2013 New Revision: 250010 URL: http://svnweb.freebsd.org/changeset/base/250010 Log: MFH Added: user/adrian/net80211_tx/share/man/man4/man4.arm/devcfg.4 - copied unchanged from r250009, head/share/man/man4/man4.arm/devcfg.4 user/adrian/net80211_tx/sys/arm/conf/ZEDBOARD - copied unchanged from r250009, head/sys/arm/conf/ZEDBOARD user/adrian/net80211_tx/sys/arm/xilinx/ - copied from r250009, head/sys/arm/xilinx/ user/adrian/net80211_tx/sys/boot/fdt/dts/zedboard.dts - copied unchanged from r250009, head/sys/boot/fdt/dts/zedboard.dts user/adrian/net80211_tx/sys/contrib/dev/ath/ - copied from r250009, head/sys/contrib/dev/ath/ user/adrian/net80211_tx/sys/dev/cadence/ - copied from r250009, head/sys/dev/cadence/ user/adrian/net80211_tx/sys/dev/sdhci/sdhci_fdt.c - copied unchanged from r250009, head/sys/dev/sdhci/sdhci_fdt.c Deleted: user/adrian/net80211_tx/tools/build/options/WITH_IDEA Modified: user/adrian/net80211_tx/UPDATING user/adrian/net80211_tx/bin/mkdir/mkdir.c user/adrian/net80211_tx/bin/rm/rm.1 user/adrian/net80211_tx/bin/rm/rm.c user/adrian/net80211_tx/bin/sh/jobs.c user/adrian/net80211_tx/contrib/libc++/CREDITS.TXT user/adrian/net80211_tx/contrib/libc++/LICENSE.TXT user/adrian/net80211_tx/contrib/libc++/include/__bit_reference user/adrian/net80211_tx/contrib/libc++/include/__config user/adrian/net80211_tx/contrib/libc++/include/__debug user/adrian/net80211_tx/contrib/libc++/include/__functional_03 user/adrian/net80211_tx/contrib/libc++/include/__functional_base user/adrian/net80211_tx/contrib/libc++/include/__functional_base_03 user/adrian/net80211_tx/contrib/libc++/include/__hash_table user/adrian/net80211_tx/contrib/libc++/include/__locale user/adrian/net80211_tx/contrib/libc++/include/__mutex_base user/adrian/net80211_tx/contrib/libc++/include/__std_stream user/adrian/net80211_tx/contrib/libc++/include/__tree user/adrian/net80211_tx/contrib/libc++/include/__tuple user/adrian/net80211_tx/contrib/libc++/include/__tuple_03 user/adrian/net80211_tx/contrib/libc++/include/algorithm user/adrian/net80211_tx/contrib/libc++/include/array user/adrian/net80211_tx/contrib/libc++/include/bitset user/adrian/net80211_tx/contrib/libc++/include/chrono user/adrian/net80211_tx/contrib/libc++/include/codecvt user/adrian/net80211_tx/contrib/libc++/include/complex user/adrian/net80211_tx/contrib/libc++/include/condition_variable user/adrian/net80211_tx/contrib/libc++/include/cstddef user/adrian/net80211_tx/contrib/libc++/include/cstring user/adrian/net80211_tx/contrib/libc++/include/cwchar user/adrian/net80211_tx/contrib/libc++/include/deque user/adrian/net80211_tx/contrib/libc++/include/exception user/adrian/net80211_tx/contrib/libc++/include/ext/__hash user/adrian/net80211_tx/contrib/libc++/include/ext/hash_map user/adrian/net80211_tx/contrib/libc++/include/ext/hash_set user/adrian/net80211_tx/contrib/libc++/include/forward_list user/adrian/net80211_tx/contrib/libc++/include/fstream user/adrian/net80211_tx/contrib/libc++/include/functional user/adrian/net80211_tx/contrib/libc++/include/future user/adrian/net80211_tx/contrib/libc++/include/initializer_list user/adrian/net80211_tx/contrib/libc++/include/ios user/adrian/net80211_tx/contrib/libc++/include/iosfwd user/adrian/net80211_tx/contrib/libc++/include/iostream user/adrian/net80211_tx/contrib/libc++/include/istream user/adrian/net80211_tx/contrib/libc++/include/iterator user/adrian/net80211_tx/contrib/libc++/include/limits user/adrian/net80211_tx/contrib/libc++/include/list user/adrian/net80211_tx/contrib/libc++/include/locale user/adrian/net80211_tx/contrib/libc++/include/map user/adrian/net80211_tx/contrib/libc++/include/memory user/adrian/net80211_tx/contrib/libc++/include/mutex user/adrian/net80211_tx/contrib/libc++/include/new user/adrian/net80211_tx/contrib/libc++/include/ostream user/adrian/net80211_tx/contrib/libc++/include/queue user/adrian/net80211_tx/contrib/libc++/include/random user/adrian/net80211_tx/contrib/libc++/include/ratio user/adrian/net80211_tx/contrib/libc++/include/regex user/adrian/net80211_tx/contrib/libc++/include/scoped_allocator user/adrian/net80211_tx/contrib/libc++/include/set user/adrian/net80211_tx/contrib/libc++/include/sstream user/adrian/net80211_tx/contrib/libc++/include/stack user/adrian/net80211_tx/contrib/libc++/include/streambuf user/adrian/net80211_tx/contrib/libc++/include/string user/adrian/net80211_tx/contrib/libc++/include/strstream user/adrian/net80211_tx/contrib/libc++/include/system_error user/adrian/net80211_tx/contrib/libc++/include/thread user/adrian/net80211_tx/contrib/libc++/include/tuple user/adrian/net80211_tx/contrib/libc++/include/type_traits user/adrian/net80211_tx/contrib/libc++/include/typeindex user/adrian/net80211_tx/contrib/libc++/include/unordered_map user/adrian/net80211_tx/contrib/libc++/include/unordered_set user/adrian/net80211_tx/contrib/libc++/include/utility user/adrian/net80211_tx/contrib/libc++/include/valarray user/adrian/net80211_tx/contrib/libc++/include/vector user/adrian/net80211_tx/contrib/libc++/src/chrono.cpp user/adrian/net80211_tx/contrib/libc++/src/debug.cpp user/adrian/net80211_tx/contrib/libc++/src/exception.cpp user/adrian/net80211_tx/contrib/libc++/src/hash.cpp user/adrian/net80211_tx/contrib/libc++/src/iostream.cpp user/adrian/net80211_tx/contrib/libc++/src/locale.cpp user/adrian/net80211_tx/contrib/libc++/src/memory.cpp user/adrian/net80211_tx/contrib/libc++/src/new.cpp user/adrian/net80211_tx/contrib/libc++/src/stdexcept.cpp user/adrian/net80211_tx/contrib/libc++/src/string.cpp user/adrian/net80211_tx/contrib/libc++/src/strstream.cpp user/adrian/net80211_tx/contrib/libc++/src/system_error.cpp user/adrian/net80211_tx/contrib/libc++/src/thread.cpp user/adrian/net80211_tx/contrib/libc++/src/typeinfo.cpp user/adrian/net80211_tx/contrib/libcxxrt/atomic.h user/adrian/net80211_tx/contrib/libcxxrt/exception.cc user/adrian/net80211_tx/include/tgmath.h user/adrian/net80211_tx/lib/libc/gen/sysconf.3 user/adrian/net80211_tx/lib/libc/sys/intro.2 user/adrian/net80211_tx/lib/libcompiler_rt/Makefile user/adrian/net80211_tx/lib/libcompiler_rt/__sync_fetch_and_add_4.c user/adrian/net80211_tx/lib/libcompiler_rt/__sync_fetch_and_add_8.c user/adrian/net80211_tx/lib/libcompiler_rt/__sync_fetch_and_and_4.c user/adrian/net80211_tx/lib/libcompiler_rt/__sync_fetch_and_and_8.c user/adrian/net80211_tx/lib/libcompiler_rt/__sync_fetch_and_op_n.h user/adrian/net80211_tx/lib/libcompiler_rt/__sync_fetch_and_or_4.c user/adrian/net80211_tx/lib/libcompiler_rt/__sync_fetch_and_or_8.c user/adrian/net80211_tx/lib/libcompiler_rt/__sync_fetch_and_sub_4.c user/adrian/net80211_tx/lib/libcompiler_rt/__sync_fetch_and_sub_8.c user/adrian/net80211_tx/lib/libcompiler_rt/__sync_fetch_and_xor_4.c user/adrian/net80211_tx/lib/libcompiler_rt/__sync_fetch_and_xor_8.c user/adrian/net80211_tx/lib/libcompiler_rt/__sync_lock_test_and_set_4.c user/adrian/net80211_tx/lib/libcompiler_rt/__sync_lock_test_and_set_8.c user/adrian/net80211_tx/lib/libcompiler_rt/__sync_val_compare_and_swap_4.c user/adrian/net80211_tx/lib/libcompiler_rt/__sync_val_compare_and_swap_8.c user/adrian/net80211_tx/lib/libcompiler_rt/__sync_val_compare_and_swap_n.h user/adrian/net80211_tx/lib/libthr/thread/thr_umtx.h user/adrian/net80211_tx/sbin/devd/devd.h user/adrian/net80211_tx/sbin/hastd/primary.c user/adrian/net80211_tx/sbin/hastd/refcnt.h user/adrian/net80211_tx/secure/Makefile.inc user/adrian/net80211_tx/secure/lib/libcrypto/Makefile user/adrian/net80211_tx/secure/lib/libcrypto/Makefile.inc user/adrian/net80211_tx/share/examples/etc/make.conf user/adrian/net80211_tx/share/man/man4/man4.arm/Makefile user/adrian/net80211_tx/share/man/man5/make.conf.5 user/adrian/net80211_tx/share/mk/bsd.own.mk user/adrian/net80211_tx/sys/arm/arm/cpufunc.c user/adrian/net80211_tx/sys/arm/arm/identcpu.c user/adrian/net80211_tx/sys/arm/include/armreg.h user/adrian/net80211_tx/sys/boot/fdt/dts/am335x.dtsi user/adrian/net80211_tx/sys/boot/fdt/dts/beaglebone.dts user/adrian/net80211_tx/sys/cam/ata/ata_da.c user/adrian/net80211_tx/sys/cam/cam_periph.c user/adrian/net80211_tx/sys/cam/scsi/scsi_da.c user/adrian/net80211_tx/sys/dev/ath/if_ath.c user/adrian/net80211_tx/sys/dev/ciss/ciss.c user/adrian/net80211_tx/sys/dev/mmc/mmc.c user/adrian/net80211_tx/sys/dev/uart/uart.h user/adrian/net80211_tx/sys/dev/uart/uart_bus_fdt.c user/adrian/net80211_tx/sys/geom/raid/g_raid.c user/adrian/net80211_tx/sys/netinet/in.h user/adrian/net80211_tx/sys/ofed/drivers/infiniband/ulp/ipoib/ipoib_main.c user/adrian/net80211_tx/sys/powerpc/wii/platform_wii.c user/adrian/net80211_tx/sys/powerpc/wii/wii_bus.c user/adrian/net80211_tx/sys/powerpc/wii/wii_fb.c user/adrian/net80211_tx/sys/vm/vm_radix.c user/adrian/net80211_tx/tools/build/mk/OptionalObsoleteFiles.inc user/adrian/net80211_tx/tools/build/options/WITHOUT_JAIL user/adrian/net80211_tx/tools/build/options/WITHOUT_LEGACY_CONSOLE user/adrian/net80211_tx/tools/tools/sysbuild/sysbuild.sh user/adrian/net80211_tx/usr.sbin/bhyve/pci_virtio_net.c user/adrian/net80211_tx/usr.sbin/bsdconfig/share/device.subr user/adrian/net80211_tx/usr.sbin/bsdconfig/share/media/tcpip.subr user/adrian/net80211_tx/usr.sbin/bsdconfig/startup/rcdelete user/adrian/net80211_tx/usr.sbin/syslogd/syslogd.c Directory Properties: user/adrian/net80211_tx/ (props changed) user/adrian/net80211_tx/contrib/libc++/ (props changed) user/adrian/net80211_tx/contrib/libcxxrt/ (props changed) user/adrian/net80211_tx/lib/libc/ (props changed) user/adrian/net80211_tx/sbin/ (props changed) user/adrian/net80211_tx/share/man/man4/ (props changed) user/adrian/net80211_tx/sys/ (props changed) user/adrian/net80211_tx/sys/boot/ (props changed) user/adrian/net80211_tx/usr.sbin/bhyve/ (props changed) Modified: user/adrian/net80211_tx/UPDATING ============================================================================== --- user/adrian/net80211_tx/UPDATING Sun Apr 28 01:02:59 2013 (r250009) +++ user/adrian/net80211_tx/UPDATING Sun Apr 28 01:59:20 2013 (r250010) @@ -32,6 +32,10 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 10 "ln -s 'abort:false,junk:false' /etc/malloc.conf".) 20130426: + The WITHOUT_IDEA option has been removed because + the IDEA patent expired. + +20130426: The sysctl which controls TRIM support under ZFS has been renamed from vfs.zfs.trim_disable -> vfs.zfs.trim.enabled and has been enabled by default. Modified: user/adrian/net80211_tx/bin/mkdir/mkdir.c ============================================================================== --- user/adrian/net80211_tx/bin/mkdir/mkdir.c Sun Apr 28 01:02:59 2013 (r250009) +++ user/adrian/net80211_tx/bin/mkdir/mkdir.c Sun Apr 28 01:59:20 2013 (r250010) @@ -135,7 +135,7 @@ main(int argc, char *argv[]) * Returns 1 if a directory has been created, * 2 if it already existed, and 0 on failure. */ -int +static int build(char *path, mode_t omode) { struct stat sb; @@ -208,7 +208,7 @@ build(char *path, mode_t omode) return (retval); } -void +static void usage(void) { Modified: user/adrian/net80211_tx/bin/rm/rm.1 ============================================================================== --- user/adrian/net80211_tx/bin/rm/rm.1 Sun Apr 28 01:02:59 2013 (r250009) +++ user/adrian/net80211_tx/bin/rm/rm.1 Sun Apr 28 01:59:20 2013 (r250010) @@ -32,7 +32,7 @@ .\" @(#)rm.1 8.5 (Berkeley) 12/5/94 .\" $FreeBSD$ .\" -.Dd March 15, 2013 +.Dd April 25, 2013 .Dt RM 1 .Os .Sh NAME @@ -42,7 +42,7 @@ .Sh SYNOPSIS .Nm .Op Fl f | i -.Op Fl dIPRrvW +.Op Fl dIPRrvWx .Ar .Nm unlink .Ar file @@ -132,6 +132,8 @@ Attempt to undelete the named files. Currently, this option can only be used to recover files covered by whiteouts in a union file system (see .Xr undelete 2 ) . +.It Fl x +When removing a hierarchy, do not cross mount points. .El .Pp The Modified: user/adrian/net80211_tx/bin/rm/rm.c ============================================================================== --- user/adrian/net80211_tx/bin/rm/rm.c Sun Apr 28 01:02:59 2013 (r250009) +++ user/adrian/net80211_tx/bin/rm/rm.c Sun Apr 28 01:59:20 2013 (r250010) @@ -59,19 +59,19 @@ __FBSDID("$FreeBSD$"); #include static int dflag, eval, fflag, iflag, Pflag, vflag, Wflag, stdin_ok; -static int rflag, Iflag; +static int rflag, Iflag, xflag; static uid_t uid; static volatile sig_atomic_t info; -int check(char *, char *, struct stat *); -int check2(char **); -void checkdot(char **); -void checkslash(char **); -void rm_file(char **); -int rm_overwrite(char *, struct stat *); -void rm_tree(char **); +static int check(const char *, const char *, struct stat *); +static int check2(char **); +static void checkdot(char **); +static void checkslash(char **); +static void rm_file(char **); +static int rm_overwrite(const char *, struct stat *); +static void rm_tree(char **); static void siginfo(int __unused); -void usage(void); +static void usage(void); /* * rm -- @@ -106,8 +106,8 @@ main(int argc, char *argv[]) exit(eval); } - Pflag = rflag = 0; - while ((ch = getopt(argc, argv, "dfiIPRrvW")) != -1) + Pflag = rflag = xflag = 0; + while ((ch = getopt(argc, argv, "dfiIPRrvWx")) != -1) switch(ch) { case 'd': dflag = 1; @@ -136,6 +136,9 @@ main(int argc, char *argv[]) case 'W': Wflag = 1; break; + case 'x': + xflag = 1; + break; default: usage(); } @@ -170,7 +173,7 @@ main(int argc, char *argv[]) exit (eval); } -void +static void rm_tree(char **argv) { FTS *fts; @@ -196,6 +199,8 @@ rm_tree(char **argv) flags |= FTS_NOSTAT; if (Wflag) flags |= FTS_WHITEOUT; + if (xflag) + flags |= FTS_XDEV; if (!(fts = fts_open(argv, flags, NULL))) { if (fflag && errno == ENOENT) return; @@ -335,7 +340,7 @@ err: fts_close(fts); } -void +static void rm_file(char **argv) { struct stat sb; @@ -412,8 +417,8 @@ rm_file(char **argv) * System V file system). In a logging or COW file system, you'll have to * have kernel support. */ -int -rm_overwrite(char *file, struct stat *sbp) +static int +rm_overwrite(const char *file, struct stat *sbp) { struct stat sb, sb2; struct statfs fsb; @@ -479,8 +484,8 @@ err: eval = 1; } -int -check(char *path, char *name, struct stat *sp) +static int +check(const char *path, const char *name, struct stat *sp) { int ch, first; char modep[15], *flagsp; @@ -491,7 +496,7 @@ check(char *path, char *name, struct sta else { /* * If it's not a symbolic link and it's unwritable and we're - * talking to a terminal, ask. Symbolic links are excluded + * talking to a terminal, ask. Symbolic links are excluded * because their permissions are meaningless. Check stdin_ok * first because we may not have stat'ed the file. */ @@ -524,7 +529,7 @@ check(char *path, char *name, struct sta } #define ISSLASH(a) ((a)[0] == '/' && (a)[1] == '\0') -void +static void checkslash(char **argv) { char **t, **u; @@ -544,7 +549,7 @@ checkslash(char **argv) } } -int +static int check2(char **argv) { struct stat st; @@ -595,7 +600,7 @@ check2(char **argv) } #define ISDOT(a) ((a)[0] == '.' && (!(a)[1] || ((a)[1] == '.' && !(a)[2]))) -void +static void checkdot(char **argv) { char *p, **save, **t; @@ -619,12 +624,12 @@ checkdot(char **argv) } } -void +static void usage(void) { (void)fprintf(stderr, "%s\n%s\n", - "usage: rm [-f | -i] [-dIPRrvW] file ...", + "usage: rm [-f | -i] [-dIPRrvWx] file ...", " unlink file"); exit(EX_USAGE); } Modified: user/adrian/net80211_tx/bin/sh/jobs.c ============================================================================== --- user/adrian/net80211_tx/bin/sh/jobs.c Sun Apr 28 01:02:59 2013 (r250009) +++ user/adrian/net80211_tx/bin/sh/jobs.c Sun Apr 28 01:59:20 2013 (r250010) @@ -417,13 +417,15 @@ showjobs(int change, int mode) if (change && ! jp->changed) continue; showjob(jp, mode); - jp->changed = 0; - /* Hack: discard jobs for which $! has not been referenced - * in interactive mode when they terminate. - */ - if (jp->state == JOBDONE && !jp->remembered && - (iflag || jp != bgjob)) { - freejob(jp); + if (mode == SHOWJOBS_DEFAULT || mode == SHOWJOBS_VERBOSE) { + jp->changed = 0; + /* Hack: discard jobs for which $! has not been + * referenced in interactive mode when they terminate. + */ + if (jp->state == JOBDONE && !jp->remembered && + (iflag || jp != bgjob)) { + freejob(jp); + } } } } Modified: user/adrian/net80211_tx/contrib/libc++/CREDITS.TXT ============================================================================== --- user/adrian/net80211_tx/contrib/libc++/CREDITS.TXT Sun Apr 28 01:02:59 2013 (r250009) +++ user/adrian/net80211_tx/contrib/libc++/CREDITS.TXT Sun Apr 28 01:59:20 2013 (r250010) @@ -8,69 +8,88 @@ beautification by scripts. The fields a (W), PGP key ID and fingerprint (P), description (D), and snail-mail address (S). -N: Howard Hinnant -E: hhinnant@apple.com -D: Architect and primary author of libc++ +N: Saleem Abdulrasool +E: compnerd@compnerd.org +D: Minor patches and Linux fixes. + +N: Dimitry Andric +E: dimitry@andric.com +D: Visibility fixes, minor FreeBSD portability patches. + +N: Holger Arnold +E: holgerar@gmail.com +D: Minor fix. + +N: Ruben Van Boxem +E: vanboxem dot ruben at gmail dot com +D: Initial Windows patches. + +N: David Chisnall +E: theraven at theravensnest dot org +D: FreeBSD and Solaris ports, libcxxrt support, some atomics work. N: Marshall Clow E: mclow.lists@gmail.com E: marshall@idio.com D: Minor patches and bug fixes. -N: Bjorn Reese -E: breese@users.sourceforge.net -D: Initial regex prototype +N: Google Inc. +D: Copyright owner and contributor of the CityHash algorithm -N: David Chisnall -E: theraven at theravensnest dot org -D: FreeBSD and Solaris ports, libcxxrt support, some atomics work. +N: Howard Hinnant +E: hhinnant@apple.com +D: Architect and primary author of libc++ -N: Ruben Van Boxem -E: vanboxem dot ruben at gmail dot com -D: Initial Windows patches. +N: Hyeon-bin Jeong +E: tuhertz@gmail.com +D: Minor patches and bug fixes. + +N: Argyrios Kyrtzidis +E: kyrtzidis@apple.com +D: Bug fixes. + +N: Michel Morin +E: mimomorin@gmail.com +D: Minor patches to is_convertible. + +N: Andrew Morrow +E: andrew.c.morrow@gmail.com +D: Minor patches and Linux fixes. N: Arvid Picciani E: aep at exys dot org D: Minor patches and musl port. -N: Craig Silverstein -E: csilvers@google.com -D: Implemented Cityhash as the string hash function on 64-bit machines - -N: Google Inc. -D: Copyright owner and contributor of the CityHash algorithm - -N: Jeffrey Yasskin -E: jyasskin@gmail.com -E: jyasskin@google.com -D: Linux fixes. +N: Bjorn Reese +E: breese@users.sourceforge.net +D: Initial regex prototype N: Jonathan Sauer D: Minor patches, mostly related to constexpr +N: Craig Silverstein +E: csilvers@google.com +D: Implemented Cityhash as the string hash function on 64-bit machines + N: Richard Smith D: Minor patches. -N: Andrew Morrow -E: andrew.c.morrow@gmail.com -D: Minor patches and Linux fixes. +N: Michael van der Westhuizen +E: r1mikey at gmail dot com -N: Hyeon-bin Jeong -E: tuhertz@gmail.com -D: Minor patches and bug fixes. +N: Klaas de Vries +E: klaas at klaasgaaf dot nl +D: Minor bug fix. -N: Michel Morin -E: mimomorin@gmail.com -D: Minor patches to is_convertible. - -N: Dimitry Andric -E: dimitry@andric.com -D: Visibility fixes, minor FreeBSD portability patches. +N: Zhang Xiongpang +E: zhangxiongpang@gmail.com +D: Minor patches and bug fixes. -N: Holger Arnold -E: holgerar@gmail.com -D: Minor fix. +N: Jeffrey Yasskin +E: jyasskin@gmail.com +E: jyasskin@google.com +D: Linux fixes. -N: Argyrios Kyrtzidis -E: kyrtzidis@apple.com -D: Bug fixes. +N: Bruce Mitchener, Jr. +E: bruce.mitchener@gmail.com +D: Emscripten-related changes. Modified: user/adrian/net80211_tx/contrib/libc++/LICENSE.TXT ============================================================================== --- user/adrian/net80211_tx/contrib/libc++/LICENSE.TXT Sun Apr 28 01:02:59 2013 (r250009) +++ user/adrian/net80211_tx/contrib/libc++/LICENSE.TXT Sun Apr 28 01:59:20 2013 (r250010) @@ -14,7 +14,7 @@ Full text of the relevant licenses is in University of Illinois/NCSA Open Source License -Copyright (c) 2009-2012 by the contributors listed in CREDITS.TXT +Copyright (c) 2009-2013 by the contributors listed in CREDITS.TXT All rights reserved. @@ -55,7 +55,7 @@ SOFTWARE. ============================================================================== -Copyright (c) 2009-2012 by the contributors listed in CREDITS.TXT +Copyright (c) 2009-2013 by the contributors listed in CREDITS.TXT Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal Modified: user/adrian/net80211_tx/contrib/libc++/include/__bit_reference ============================================================================== --- user/adrian/net80211_tx/contrib/libc++/include/__bit_reference Sun Apr 28 01:02:59 2013 (r250009) +++ user/adrian/net80211_tx/contrib/libc++/include/__bit_reference Sun Apr 28 01:59:20 2013 (r250010) @@ -81,6 +81,16 @@ class __bit_reference<_Cp, false> { }; +template +_LIBCPP_INLINE_VISIBILITY inline +void +swap(__bit_reference<_Cp> __x, __bit_reference<_Cp> __y) _NOEXCEPT +{ + bool __t = __x; + __x = __y; + __y = __t; +} + template _LIBCPP_INLINE_VISIBILITY inline void Modified: user/adrian/net80211_tx/contrib/libc++/include/__config ============================================================================== --- user/adrian/net80211_tx/contrib/libc++/include/__config Sun Apr 28 01:02:59 2013 (r250009) +++ user/adrian/net80211_tx/contrib/libc++/include/__config Sun Apr 28 01:59:20 2013 (r250010) @@ -11,7 +11,7 @@ #ifndef _LIBCPP_CONFIG #define _LIBCPP_CONFIG -#if !_MSC_VER // explicit macro necessary because it is only defined below in this file +#ifndef _MSC_VER // explicit macro necessary because it is only defined below in this file #pragma GCC system_header #endif @@ -96,24 +96,27 @@ # endif #endif // !defined(_LIBCPP_LITTLE_ENDIAN) || !defined(_LIBCPP_BIG_ENDIAN) -#if _WIN32 +#ifdef _WIN32 // only really useful for a DLL #ifdef _LIBCPP_DLL // this should be a compiler builtin define ideally... # ifdef cxx_EXPORTS # define _LIBCPP_HIDDEN -# define _LIBCPP_VISIBLE __declspec(dllexport) +# define _LIBCPP_FUNC_VIS __declspec(dllexport) +# define _LIBCPP_TYPE_VIS __declspec(dllexport) # else # define _LIBCPP_HIDDEN -# define _LIBCPP_VISIBLE __declspec(dllimport) +# define _LIBCPP_FUNC_VIS __declspec(dllimport) +# define _LIBCPP_TYPE_VIS __declspec(dllimport) # endif #else # define _LIBCPP_HIDDEN -# define _LIBCPP_VISIBLE +# define _LIBCPP_FUNC_VIS +# define _LIBCPP_TYPE_VIS #endif #ifndef _LIBCPP_INLINE_VISIBILITY -# if _MSC_VER +# ifdef _MSC_VER # define _LIBCPP_INLINE_VISIBILITY __forceinline # else // MinGW GCC and Clang # define _LIBCPP_INLINE_VISIBILITY __attribute__ ((__always_inline__)) @@ -121,11 +124,11 @@ #endif #ifndef _LIBCPP_EXCEPTION_ABI -#define _LIBCPP_EXCEPTION_ABI _LIBCPP_VISIBLE +#define _LIBCPP_EXCEPTION_ABI _LIBCPP_TYPE_VIS #endif #ifndef _LIBCPP_ALWAYS_INLINE -# if _MSC_VER +# ifdef _MSC_VER # define _LIBCPP_ALWAYS_INLINE __forceinline # endif #endif @@ -136,8 +139,16 @@ #define _LIBCPP_HIDDEN __attribute__ ((__visibility__("hidden"))) #endif -#ifndef _LIBCPP_VISIBLE -#define _LIBCPP_VISIBLE __attribute__ ((__visibility__("default"))) +#ifndef _LIBCPP_FUNC_VIS +#define _LIBCPP_FUNC_VIS __attribute__ ((__visibility__("default"))) +#endif + +#ifndef _LIBCPP_TYPE_VIS +# if __has_attribute(type_visibility) +# define _LIBCPP_TYPE_VIS __attribute__ ((__type_visibility__("default"))) +# else +# define _LIBCPP_TYPE_VIS __attribute__ ((__visibility__("default"))) +# endif #endif #ifndef _LIBCPP_INLINE_VISIBILITY @@ -145,7 +156,7 @@ #endif #ifndef _LIBCPP_EXCEPTION_ABI -#define _LIBCPP_EXCEPTION_ABI __attribute__ ((__visibility__("default"))) +#define _LIBCPP_EXCEPTION_ABI _LIBCPP_TYPE_VIS #endif #ifndef _LIBCPP_CANTTHROW @@ -261,7 +272,7 @@ typedef __char32_t char32_t; #define _LIBCPP_HAS_NO_CONSTEXPR #endif -#if __FreeBSD__ && (__ISO_C_VISIBLE >= 2011 || __cplusplus >= 201103L) +#if defined(__FreeBSD__) && (__ISO_C_VISIBLE >= 2011 || __cplusplus >= 201103L) #define _LIBCPP_HAS_QUICK_EXIT #define _LIBCPP_HAS_C11_FEATURES #endif @@ -424,7 +435,7 @@ template struct __static_asse #endif #ifdef _LIBCPP_HAS_NO_STRONG_ENUMS -#define _LIBCPP_DECLARE_STRONG_ENUM(x) struct _LIBCPP_VISIBLE x { enum __lx +#define _LIBCPP_DECLARE_STRONG_ENUM(x) struct _LIBCPP_TYPE_VIS x { enum __lx #define _LIBCPP_DECLARE_STRONG_ENUM_EPILOG(x) \ __lx __v_; \ _LIBCPP_ALWAYS_INLINE x(__lx __v) : __v_(__v) {} \ @@ -432,7 +443,7 @@ template struct __static_asse _LIBCPP_ALWAYS_INLINE operator int() const {return __v_;} \ }; #else // _LIBCPP_HAS_NO_STRONG_ENUMS -#define _LIBCPP_DECLARE_STRONG_ENUM(x) enum class _LIBCPP_VISIBLE x +#define _LIBCPP_DECLARE_STRONG_ENUM(x) enum class _LIBCPP_TYPE_VIS x #define _LIBCPP_DECLARE_STRONG_ENUM_EPILOG(x) #endif // _LIBCPP_HAS_NO_STRONG_ENUMS @@ -440,18 +451,18 @@ template struct __static_asse #define _LIBCPP_EXTERN_TEMPLATE(...) extern template __VA_ARGS__; #endif -#if __APPLE__ || __FreeBSD__ || _WIN32 || __sun__ +#if defined(__APPLE__) || defined(__FreeBSD__) || defined(_WIN32) || defined(__sun__) #define _LIBCPP_LOCALE__L_EXTENSIONS 1 #endif -#if __FreeBSD__ +#ifdef __FreeBSD__ #define _DECLARE_C99_LDBL_MATH 1 #endif -#if __APPLE__ || __FreeBSD__ +#if defined(__APPLE__) || defined(__FreeBSD__) #define _LIBCPP_HAS_DEFAULTRUNELOCALE #endif -#if __APPLE__ || __FreeBSD__ || __sun__ +#if defined(__APPLE__) || defined(__FreeBSD__) || defined(__sun__) #define _LIBCPP_WCTYPE_IS_MASK #endif Modified: user/adrian/net80211_tx/contrib/libc++/include/__debug ============================================================================== --- user/adrian/net80211_tx/contrib/libc++/include/__debug Sun Apr 28 01:02:59 2013 (r250009) +++ user/adrian/net80211_tx/contrib/libc++/include/__debug Sun Apr 28 01:59:20 2013 (r250010) @@ -16,7 +16,9 @@ # include # include # include -# define _LIBCPP_ASSERT(x, m) ((x) ? (void)0 : (_VSTD::printf("%s\n", m), _VSTD::abort())) +# ifndef _LIBCPP_ASSERT +# define _LIBCPP_ASSERT(x, m) ((x) ? (void)0 : (_VSTD::printf("%s\n", m), _VSTD::abort())) +# endif #endif @@ -24,9 +26,9 @@ _LIBCPP_BEGIN_NAMESPACE_STD -struct _LIBCPP_VISIBLE __c_node; +struct _LIBCPP_TYPE_VIS __c_node; -struct _LIBCPP_VISIBLE __i_node +struct _LIBCPP_TYPE_VIS __i_node { void* __i_; __i_node* __next_; @@ -40,7 +42,7 @@ struct _LIBCPP_VISIBLE __i_node ~__i_node(); }; -struct _LIBCPP_VISIBLE __c_node +struct _LIBCPP_TYPE_VIS __c_node { void* __c_; __c_node* __next_; @@ -117,7 +119,7 @@ _C_node<_Cont>::__subscriptable(const vo return _Cp->__subscriptable(__j, __n); } -class _LIBCPP_VISIBLE __libcpp_db +class _LIBCPP_TYPE_VIS __libcpp_db { __c_node** __cbeg_; __c_node** __cend_; @@ -176,11 +178,11 @@ private: _LIBCPP_HIDDEN __i_node* __find_iterator(const void* __i) const; - friend _LIBCPP_VISIBLE __libcpp_db* __get_db(); + friend _LIBCPP_FUNC_VIS __libcpp_db* __get_db(); }; -_LIBCPP_VISIBLE __libcpp_db* __get_db(); -_LIBCPP_VISIBLE const __libcpp_db* __get_const_db(); +_LIBCPP_FUNC_VIS __libcpp_db* __get_db(); +_LIBCPP_FUNC_VIS const __libcpp_db* __get_const_db(); _LIBCPP_END_NAMESPACE_STD Modified: user/adrian/net80211_tx/contrib/libc++/include/__functional_03 ============================================================================== --- user/adrian/net80211_tx/contrib/libc++/include/__functional_03 Sun Apr 28 01:02:59 2013 (r250009) +++ user/adrian/net80211_tx/contrib/libc++/include/__functional_03 Sun Apr 28 01:59:20 2013 (r250010) @@ -203,7 +203,7 @@ class _LIBCPP_EXCEPTION_ABI bad_function { }; -template class _LIBCPP_VISIBLE function; // undefined +template class _LIBCPP_TYPE_VIS function; // undefined namespace __function { @@ -644,7 +644,7 @@ __func<_Fp, _Alloc, _Rp(_A0, _A1, _A2)>: } // __function template -class _LIBCPP_VISIBLE function<_Rp()> +class _LIBCPP_TYPE_VIS function<_Rp()> { typedef __function::__base<_Rp()> __base; aligned_storage<3*sizeof(void*)>::type __buf_; @@ -928,7 +928,7 @@ function<_Rp()>::target() const #endif // _LIBCPP_NO_RTTI template -class _LIBCPP_VISIBLE function<_Rp(_A0)> +class _LIBCPP_TYPE_VIS function<_Rp(_A0)> : public unary_function<_A0, _Rp> { typedef __function::__base<_Rp(_A0)> __base; @@ -1230,7 +1230,7 @@ function<_Rp(_A0)>::target() const #endif // _LIBCPP_NO_RTTI template -class _LIBCPP_VISIBLE function<_Rp(_A0, _A1)> +class _LIBCPP_TYPE_VIS function<_Rp(_A0, _A1)> : public binary_function<_A0, _A1, _Rp> { typedef __function::__base<_Rp(_A0, _A1)> __base; @@ -1532,7 +1532,7 @@ function<_Rp(_A0, _A1)>::target() const #endif // _LIBCPP_NO_RTTI template -class _LIBCPP_VISIBLE function<_Rp(_A0, _A1, _A2)> +class _LIBCPP_TYPE_VIS function<_Rp(_A0, _A1, _A2)> { typedef __function::__base<_Rp(_A0, _A1, _A2)> __base; aligned_storage<3*sizeof(void*)>::type __buf_; @@ -1860,11 +1860,11 @@ swap(function<_Fp>& __x, function<_Fp>& {return __x.swap(__y);} template struct __is_bind_expression : public false_type {}; -template struct _LIBCPP_VISIBLE is_bind_expression +template struct _LIBCPP_TYPE_VIS is_bind_expression : public __is_bind_expression::type> {}; template struct __is_placeholder : public integral_constant {}; -template struct _LIBCPP_VISIBLE is_placeholder +template struct _LIBCPP_TYPE_VIS is_placeholder : public __is_placeholder::type> {}; namespace placeholders Modified: user/adrian/net80211_tx/contrib/libc++/include/__functional_base ============================================================================== --- user/adrian/net80211_tx/contrib/libc++/include/__functional_base Sun Apr 28 01:02:59 2013 (r250009) +++ user/adrian/net80211_tx/contrib/libc++/include/__functional_base Sun Apr 28 01:59:20 2013 (r250010) @@ -23,21 +23,21 @@ _LIBCPP_BEGIN_NAMESPACE_STD template -struct _LIBCPP_VISIBLE unary_function +struct _LIBCPP_TYPE_VIS unary_function { typedef _Arg argument_type; typedef _Result result_type; }; template -struct _LIBCPP_VISIBLE binary_function +struct _LIBCPP_TYPE_VIS binary_function { typedef _Arg1 first_argument_type; typedef _Arg2 second_argument_type; typedef _Result result_type; }; -template struct _LIBCPP_VISIBLE hash; +template struct _LIBCPP_TYPE_VIS hash; template struct __has_result_type @@ -51,7 +51,7 @@ public: }; template -struct _LIBCPP_VISIBLE less : binary_function<_Tp, _Tp, bool> +struct _LIBCPP_TYPE_VIS less : binary_function<_Tp, _Tp, bool> { _LIBCPP_INLINE_VISIBILITY bool operator()(const _Tp& __x, const _Tp& __y) const {return __x < __y;} @@ -348,7 +348,7 @@ struct __invoke_return }; template -class _LIBCPP_VISIBLE reference_wrapper +class _LIBCPP_TYPE_VIS reference_wrapper : public __weak_result_type<_Tp> { public: Modified: user/adrian/net80211_tx/contrib/libc++/include/__functional_base_03 ============================================================================== --- user/adrian/net80211_tx/contrib/libc++/include/__functional_base_03 Sun Apr 28 01:02:59 2013 (r250009) +++ user/adrian/net80211_tx/contrib/libc++/include/__functional_base_03 Sun Apr 28 01:59:20 2013 (r250010) @@ -996,7 +996,7 @@ struct __invoke_return2 }; template -class _LIBCPP_VISIBLE reference_wrapper +class _LIBCPP_TYPE_VIS reference_wrapper : public __weak_result_type<_Tp> { public: Modified: user/adrian/net80211_tx/contrib/libc++/include/__hash_table ============================================================================== --- user/adrian/net80211_tx/contrib/libc++/include/__hash_table Sun Apr 28 01:02:59 2013 (r250009) +++ user/adrian/net80211_tx/contrib/libc++/include/__hash_table Sun Apr 28 01:59:20 2013 (r250010) @@ -26,7 +26,7 @@ _LIBCPP_BEGIN_NAMESPACE_STD -_LIBCPP_VISIBLE +_LIBCPP_FUNC_VIS size_t __next_prime(size_t __n); template @@ -80,14 +80,14 @@ __next_pow2(size_t __n) } template class __hash_table; -template class _LIBCPP_VISIBLE __hash_const_iterator; -template class _LIBCPP_VISIBLE __hash_map_iterator; -template class _LIBCPP_VISIBLE __hash_map_const_iterator; +template class _LIBCPP_TYPE_VIS __hash_const_iterator; +template class _LIBCPP_TYPE_VIS __hash_map_iterator; +template class _LIBCPP_TYPE_VIS __hash_map_const_iterator; template - class _LIBCPP_VISIBLE unordered_map; + class _LIBCPP_TYPE_VIS unordered_map; template -class _LIBCPP_VISIBLE __hash_iterator +class _LIBCPP_TYPE_VIS __hash_iterator { typedef _NodePtr __node_pointer; @@ -142,14 +142,14 @@ private: {} template friend class __hash_table; - template friend class _LIBCPP_VISIBLE __hash_const_iterator; - template friend class _LIBCPP_VISIBLE __hash_map_iterator; - template friend class _LIBCPP_VISIBLE unordered_map; - template friend class _LIBCPP_VISIBLE unordered_multimap; + template friend class _LIBCPP_TYPE_VIS __hash_const_iterator; + template friend class _LIBCPP_TYPE_VIS __hash_map_iterator; + template friend class _LIBCPP_TYPE_VIS unordered_map; + template friend class _LIBCPP_TYPE_VIS unordered_multimap; }; template -class _LIBCPP_VISIBLE __hash_const_iterator +class _LIBCPP_TYPE_VIS __hash_const_iterator { typedef _ConstNodePtr __node_pointer; @@ -220,15 +220,15 @@ private: {} template friend class __hash_table; - template friend class _LIBCPP_VISIBLE __hash_map_const_iterator; - template friend class _LIBCPP_VISIBLE unordered_map; - template friend class _LIBCPP_VISIBLE unordered_multimap; + template friend class _LIBCPP_TYPE_VIS __hash_map_const_iterator; + template friend class _LIBCPP_TYPE_VIS unordered_map; + template friend class _LIBCPP_TYPE_VIS unordered_multimap; }; -template class _LIBCPP_VISIBLE __hash_const_local_iterator; +template class _LIBCPP_TYPE_VIS __hash_const_local_iterator; template -class _LIBCPP_VISIBLE __hash_local_iterator +class _LIBCPP_TYPE_VIS __hash_local_iterator { typedef _NodePtr __node_pointer; @@ -294,12 +294,12 @@ private: } template friend class __hash_table; - template friend class _LIBCPP_VISIBLE __hash_const_local_iterator; - template friend class _LIBCPP_VISIBLE __hash_map_iterator; + template friend class _LIBCPP_TYPE_VIS __hash_const_local_iterator; + template friend class _LIBCPP_TYPE_VIS __hash_map_iterator; }; template -class _LIBCPP_VISIBLE __hash_const_local_iterator +class _LIBCPP_TYPE_VIS __hash_const_local_iterator { typedef _ConstNodePtr __node_pointer; @@ -384,7 +384,7 @@ private: } template friend class __hash_table; - template friend class _LIBCPP_VISIBLE __hash_map_const_iterator; + template friend class _LIBCPP_TYPE_VIS __hash_map_const_iterator; }; template Modified: user/adrian/net80211_tx/contrib/libc++/include/__locale ============================================================================== --- user/adrian/net80211_tx/contrib/libc++/include/__locale Sun Apr 28 01:02:59 2013 (r250009) +++ user/adrian/net80211_tx/contrib/libc++/include/__locale Sun Apr 28 01:59:20 2013 (r250010) @@ -19,11 +19,11 @@ #include #include #include -#if _WIN32 +#ifdef _WIN32 # include -#elif (__GLIBC__ || __APPLE__ || __FreeBSD__ || __sun__) +#elif (defined(__GLIBC__) || defined(__APPLE__) || defined(__FreeBSD__) || defined(__sun__)) || defined(EMSCRIPTEN) # include -#endif // _WIN32 || __GLIBC__ || __APPLE__ || __FreeBSD_ +#endif // _WIN32 || __GLIBC__ || __APPLE__ || __FreeBSD__ || __sun__ || EMSCRIPTEN #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) #pragma GCC system_header @@ -31,7 +31,7 @@ _LIBCPP_BEGIN_NAMESPACE_STD -class _LIBCPP_VISIBLE locale; +class _LIBCPP_TYPE_VIS locale; template _LIBCPP_INLINE_VISIBILITY @@ -43,12 +43,12 @@ _LIBCPP_INLINE_VISIBILITY const _Facet& use_facet(const locale&); -class _LIBCPP_VISIBLE locale +class _LIBCPP_TYPE_VIS locale { public: // types: - class _LIBCPP_VISIBLE facet; - class _LIBCPP_VISIBLE id; + class _LIBCPP_TYPE_VIS facet; + class _LIBCPP_TYPE_VIS id; typedef int category; static const category // values assigned here are for exposition only @@ -103,7 +103,7 @@ private: template friend const _Facet& use_facet(const locale&); }; -class _LIBCPP_VISIBLE locale::facet +class _LIBCPP_TYPE_VIS locale::facet : public __shared_count { protected: @@ -119,7 +119,7 @@ private: virtual void __on_zero_shared() _NOEXCEPT; }; -class _LIBCPP_VISIBLE locale::id +class _LIBCPP_TYPE_VIS locale::id { once_flag __flag_; int32_t __id_; @@ -175,7 +175,7 @@ use_facet(const locale& __l) // template class collate; template -class _LIBCPP_VISIBLE collate +class _LIBCPP_TYPE_VIS collate : public locale::facet { public: @@ -254,15 +254,15 @@ collate<_CharT>::do_hash(const char_type return static_cast(__h); } -_LIBCPP_EXTERN_TEMPLATE(class _LIBCPP_VISIBLE collate) -_LIBCPP_EXTERN_TEMPLATE(class _LIBCPP_VISIBLE collate) +_LIBCPP_EXTERN_TEMPLATE(class _LIBCPP_TYPE_VIS collate) +_LIBCPP_EXTERN_TEMPLATE(class _LIBCPP_TYPE_VIS collate) // template class collate_byname; -template class _LIBCPP_VISIBLE collate_byname; +template class _LIBCPP_TYPE_VIS collate_byname; template <> -class _LIBCPP_VISIBLE collate_byname +class _LIBCPP_TYPE_VIS collate_byname : public collate { locale_t __l; @@ -281,7 +281,7 @@ protected: }; template <> -class _LIBCPP_VISIBLE collate_byname +class _LIBCPP_TYPE_VIS collate_byname : public collate { locale_t __l; @@ -312,10 +312,10 @@ locale::operator()(const basic_string<_C // template class ctype -class _LIBCPP_VISIBLE ctype_base +class _LIBCPP_TYPE_VIS ctype_base { public: -#if __GLIBC__ +#ifdef __GLIBC__ typedef unsigned short mask; static const mask space = _ISspace; static const mask print = _ISprint; @@ -327,7 +327,7 @@ public: static const mask punct = _ISpunct; static const mask xdigit = _ISxdigit; static const mask blank = _ISblank; -#elif _WIN32 +#elif defined(_WIN32) typedef unsigned short mask; static const mask space = _SPACE; static const mask print = _BLANK|_PUNCT|_ALPHA|_DIGIT; @@ -339,11 +339,13 @@ public: static const mask punct = _PUNCT; static const mask xdigit = _HEX; static const mask blank = _BLANK; -#elif (__APPLE__ || __FreeBSD__) -#if __APPLE__ +#elif (defined(__APPLE__) || defined(__FreeBSD__)) || defined(EMSCRIPTEN) +#ifdef __APPLE__ typedef __uint32_t mask; -#elif __FreeBSD__ +#elif defined(__FreeBSD__) typedef unsigned long mask; +#elif defined(EMSCRIPTEN) + typedef unsigned short mask; #endif static const mask space = _CTYPE_S; static const mask print = _CTYPE_R; @@ -355,7 +357,7 @@ public: static const mask punct = _CTYPE_P; static const mask xdigit = _CTYPE_X; static const mask blank = _CTYPE_B; -#elif __sun__ +#elif defined(__sun__) typedef unsigned int mask; static const mask space = _ISSPACE; static const mask print = _ISPRINT; @@ -367,7 +369,7 @@ public: static const mask punct = _ISPUNCT; static const mask xdigit = _ISXDIGIT; static const mask blank = _ISBLANK; -#else // __GLIBC__ || _WIN32 || __APPLE__ || __FreeBSD__ || __sun__ +#else // __GLIBC__ || _WIN32 || __APPLE__ || __FreeBSD__ || EMSCRIPTEN || __sun__ typedef unsigned long mask; static const mask space = 1<<0; static const mask print = 1<<1; @@ -386,10 +388,10 @@ public: _LIBCPP_ALWAYS_INLINE ctype_base() {} }; -template class _LIBCPP_VISIBLE ctype; +template class _LIBCPP_TYPE_VIS ctype; template <> -class _LIBCPP_VISIBLE ctype +class _LIBCPP_TYPE_VIS ctype : public locale::facet, public ctype_base { @@ -491,7 +493,7 @@ protected: }; template <> -class _LIBCPP_VISIBLE ctype +class _LIBCPP_TYPE_VIS ctype : public locale::facet, public ctype_base { const mask* __tab_; @@ -590,7 +592,7 @@ public: #endif _LIBCPP_ALWAYS_INLINE const mask* table() const _NOEXCEPT {return __tab_;} static const mask* classic_table() _NOEXCEPT; *** DIFF OUTPUT TRUNCATED AT 1000 LINES ***