Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:Leap:15.2
include-what-you-use
iwyu_include_picker.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File iwyu_include_picker.patch of Package include-what-you-use
diff --git a/iwyu_include_picker.cc b/iwyu_include_picker.cc index be318e2..089e911 100644 --- a/iwyu_include_picker.cc +++ b/iwyu_include_picker.cc @@ -75,14 +75,14 @@ struct IncludeMapEntry { // A POD so we can make the input static namespace { // Listed below are all IWYU's native symbol and include mappings, -// loosely based on GCC 4.4's libc and libstdc++. +// loosely based on GCC 8's libc and libstdc++. // Symbol -> include mappings for GNU libc const IncludeMapEntry libc_symbol_map[] = { // For library symbols that can be defined in more than one header // file, maps from symbol-name to legitimate header files. // This list was generated via - // grep -R '__.*_defined' /usr/include | perl -nle 'm,/usr/include/([^:]*):#\s*\S+ __(.*)_defined, and print qq@ { "$2", kPublic, "<$1>", kPublic },@' | sort -u + // grep -R '__.*_defined' /usr/include | perl -nle 'm,/usr/include/([^:]*):#\s*\S+ __(.*)_defined, and print qq@ { "$2", kPublic, "<$1>", kPublic },@' | sort -u // I ignored all entries that only appeared once on the list (eg uint32_t). // I then added in NULL, which according to [diff.null] C.2.2.3, can // be defined in <clocale>, <cstddef>, <cstdio>, <cstdlib>, @@ -237,11 +237,28 @@ const IncludeMapEntry libstdcpp_symbol_map[] = { { "std::char_traits", kPrivate, "<string>", kPublic }, { "std::char_traits", kPrivate, "<ostream>", kPublic }, { "std::char_traits", kPrivate, "<istream>", kPublic }, + // Using pair. + { "std::pair", kPrivate, "<map>", kPublic }, + { "std::pair", kPrivate, "<multimap>", kPublic }, + { "std::pair", kPrivate, "<utility>", kPublic }, + // Streams. + { "std::istringstream", kPrivate, "<sstream>", kPublic }, + { "std::ostringstream", kPrivate, "<sstream>", kPublic }, + { "std::stringstream", kPrivate, "<sstream>", kPublic }, + { "std::wistringstream", kPrivate, "<sstream>", kPublic }, + { "std::wostringstream", kPrivate, "<sstream>", kPublic }, + { "std::wstringstream", kPrivate, "<sstream>", kPublic }, + { "std::ifstream", kPrivate, "<fstream>", kPublic }, + { "std::ofstream", kPrivate, "<fstream>", kPublic }, + { "std::fstream", kPrivate, "<fstream>", kPublic }, + { "std::wifstream", kPrivate, "<fstream>", kPublic }, + { "std::wofstream", kPrivate, "<fstream>", kPublic }, + { "std::wfstream", kPrivate, "<fstream>", kPublic }, }; // Private -> public include mappings for GNU libc const IncludeMapEntry libc_include_map[] = { - // ( cd /usr/include && grep '^ *# *include' {sys/,net/,}* | perl -nle 'm/^([^:]+).*<([^>]+)>/ && print qq@ { "<$2>", kPrivate, "<$1>", kPublic },@' | grep bits/ | sort ) + // ( cd /usr/include && grep '^ *# *include' {sys/,net/,}* | perl -nle 'm/^([^:]+).*<([^>]+)>/ && print qq@ { "<$2>", kPrivate, "<$1>", kPublic },@' | grep bits/ | sort ) // When I saw more than one mapping for these, I typically picked // what I thought was the "best" one. { "<bits/a.out.h>", kPrivate, "<a.out.h>", kPublic }, @@ -249,6 +266,7 @@ const IncludeMapEntry libc_include_map[] = { { "<bits/byteswap.h>", kPrivate, "<byteswap.h>", kPublic }, { "<bits/cmathcalls.h>", kPrivate, "<complex.h>", kPublic }, { "<bits/confname.h>", kPrivate, "<unistd.h>", kPublic }, + { "<bits/cpu-set.h>", kPrivate, "<sched.h>", kPublic }, { "<bits/dirent.h>", kPrivate, "<dirent.h>", kPublic }, { "<bits/dlfcn.h>", kPrivate, "<dlfcn.h>", kPublic }, { "<bits/elfclass.h>", kPrivate, "<link.h>", kPublic }, @@ -262,9 +280,18 @@ const IncludeMapEntry libc_include_map[] = { { "<bits/fcntl2.h>", kPrivate, "<fcntl.h>", kPublic }, { "<bits/fenv.h>", kPrivate, "<fenv.h>", kPublic }, { "<bits/fenvinline.h>", kPrivate, "<fenv.h>", kPublic }, + { "<bits/floatn.h>", kPrivate, "<math.h>", kPublic }, + { "<bits/flt-eval-method.h>", kPrivate, "<math.h>", kPublic }, + { "<bits/fp-fast.h>", kPrivate, "<math.h>", kPublic }, + { "<bits/fp-logb.h>", kPrivate, "<math.h>", kPublic }, + { "<bits/getopt_core.h>", kPrivate, "<getopt.h>", kPublic }, + { "<bits/getopt_ext.h>", kPrivate, "<getopt.h>", kPublic }, + { "<bits/getopt_posix.h>", kPrivate, "<stdio.h>", kPublic }, + { "<bits/getopt_posix.h>", kPrivate, "<unistd.h>", kPublic }, { "<bits/huge_val.h>", kPrivate, "<math.h>", kPublic }, { "<bits/huge_valf.h>", kPrivate, "<math.h>", kPublic }, { "<bits/huge_vall.h>", kPrivate, "<math.h>", kPublic }, + { "<bits/huge_val_flt128.h>", kPrivate, "<math.h>", kPublic }, { "<bits/hwcap.h>", kPrivate, "<sys/auxv.h>", kPublic }, { "<bits/inf.h>", kPrivate, "<math.h>", kPublic }, { "<bits/inotify.h>", kPrivate, "<sys/inotify.h>", kPublic }, @@ -272,6 +299,7 @@ const IncludeMapEntry libc_include_map[] = { { "<bits/ioctls.h>", kPrivate, "<sys/ioctl.h>", kPublic }, { "<bits/ipc.h>", kPrivate, "<sys/ipc.h>", kPublic }, { "<bits/ipctypes.h>", kPrivate, "<sys/ipc.h>", kPublic }, + { "<bits/iscanonical.h>", kPrivate, "<math.h>", kPublic }, { "<bits/libio-ldbl.h>", kPrivate, "<libio.h>", kPublic }, { "<bits/link.h>", kPrivate, "<link.h>", kPublic }, { "<bits/locale.h>", kPrivate, "<locale.h>", kPublic }, @@ -305,7 +333,9 @@ const IncludeMapEntry libc_include_map[] = { { "<bits/shm.h>", kPrivate, "<sys/shm.h>", kPublic }, { "<bits/sigaction.h>", kPrivate, "<signal.h>", kPublic }, { "<bits/sigcontext.h>", kPrivate, "<signal.h>", kPublic }, + { "<bits/sigevent-consts.h>", kPrivate, "<signal.h>", kPublic }, { "<bits/siginfo.h>", kPrivate, "<signal.h>", kPublic }, + { "<bits/siginfo-consts.h>", kPrivate, "<signal.h>", kPublic }, { "<bits/signum.h>", kPrivate, "<signal.h>", kPublic }, { "<bits/sigset.h>", kPrivate, "<signal.h>", kPublic }, { "<bits/sigstack.h>", kPrivate, "<signal.h>", kPublic }, @@ -314,10 +344,13 @@ const IncludeMapEntry libc_include_map[] = { { "<bits/socket.h>", kPrivate, "<sys/socket.h>", kPublic }, { "<bits/socket2.h>", kPrivate, "<sys/socket.h>", kPublic }, { "<bits/socket_type.h>", kPrivate, "<sys/socket.h>", kPublic }, + { "<bits/ss_flags.h>", kPrivate, "<signal.h>", kPublic }, { "<bits/stab.def>", kPrivate, "<stab.h>", kPublic }, { "<bits/stat.h>", kPrivate, "<sys/stat.h>", kPublic }, { "<bits/statfs.h>", kPrivate, "<sys/statfs.h>", kPublic }, { "<bits/statvfs.h>", kPrivate, "<sys/statvfs.h>", kPublic }, + { "<bits/stdint-intn.h>", kPrivate, "<stdint.h>", kPublic }, + { "<bits/stdint-uintn.h>", kPrivate, "<stdint.h>", kPublic }, { "<bits/stdio-ldbl.h>", kPrivate, "<stdio.h>", kPublic }, { "<bits/stdio-lock.h>", kPrivate, "<libio.h>", kPublic }, { "<bits/stdio.h>", kPrivate, "<stdio.h>", kPublic }, @@ -330,6 +363,8 @@ const IncludeMapEntry libc_include_map[] = { { "<bits/string.h>", kPrivate, "<string.h>", kPublic }, { "<bits/string2.h>", kPrivate, "<string.h>", kPublic }, { "<bits/string3.h>", kPrivate, "<string.h>", kPublic }, + { "<bits/string_fortified.h>", kPrivate, "<string.h>", kPublic }, + { "<bits/strings_fortified.h>", kPrivate, "<strings.h>", kPublic }, { "<bits/stropts.h>", kPrivate, "<stropts.h>", kPublic }, { "<bits/sys_errlist.h>", kPrivate, "<stdio.h>", kPublic }, { "<bits/syscall.h>", kPrivate, "<sys/syscall.h>", kPrivate }, @@ -342,7 +377,11 @@ const IncludeMapEntry libc_include_map[] = { { "<bits/timerfd.h>", kPrivate, "<sys/timerfd.h>", kPublic }, { "<bits/timex.h>", kPrivate, "<sys/timex.h>", kPublic }, { "<bits/types.h>", kPrivate, "<sys/types.h>", kPublic }, + { "<bits/type_traits.h>", kPrivate, "<pcre_stringpiece.h>", kPublic }, + { "<bits/uintn-identity.h>", kPrivate, "<endian.h>", kPublic }, { "<bits/uio.h>", kPrivate, "<sys/uio.h>", kPublic }, + { "<bits/uio-ext.h>", kPrivate, "<sys/uio.h>", kPublic }, + { "<bits/uio_lim.h>", kPrivate, "<sys/uio.h>", kPublic }, { "<bits/unistd.h>", kPrivate, "<unistd.h>", kPublic }, { "<bits/ustat.h>", kPrivate, "<sys/ustat.h>", kPrivate }, { "<bits/utmp.h>", kPrivate, "<utmp.h>", kPublic }, @@ -353,6 +392,8 @@ const IncludeMapEntry libc_include_map[] = { { "<bits/wchar-ldbl.h>", kPrivate, "<wchar.h>", kPublic }, { "<bits/wchar.h>", kPrivate, "<wchar.h>", kPublic }, { "<bits/wchar2.h>", kPrivate, "<wchar.h>", kPublic }, + { "<bits/wctype-wchar.h>", kPrivate, "<wchar.h>", kPublic }, + { "<bits/wctype-wchar.h>", kPrivate, "<wctype.h>", kPublic }, { "<bits/wordsize.h>", kPrivate, "<limits.h>", kPublic }, { "<bits/xopen_lim.h>", kPrivate, "<limits.h>", kPublic }, { "<bits/xtitypes.h>", kPrivate, "<stropts.h>", kPublic }, @@ -360,24 +401,33 @@ const IncludeMapEntry libc_include_map[] = { // # error "Never use <bits/dlfcn.h> directly; include <dlfcn.h> instead." // or // # error "Never include <bits/socket_type.h> directly; use <sys/socket.h> instead." - // ( cd /usr/include && grep -R '^ *# *error "Never use\|include' * | perl -nle 'm/<([^>]+).*directly.*<([^>]+)/ && print qq@ { "<$1>", kPrivate, "<$2>", kPublic },@' | sort ) + // ( cd /usr/include && grep -R '^ *# *error "Never use\|include' * | perl -nle 'm/<([^>]+).*directly.*<([^>]+)/ && print qq@ { "<$1>", kPrivate, "<$2>", kPublic },@' | sort ) { "<bits/a.out.h>", kPrivate, "<a.out.h>", kPublic }, { "<bits/byteswap-16.h>", kPrivate, "<byteswap.h>", kPublic }, { "<bits/byteswap.h>", kPrivate, "<byteswap.h>", kPublic }, { "<bits/cmathcalls.h>", kPrivate, "<complex.h>", kPublic }, { "<bits/confname.h>", kPrivate, "<unistd.h>", kPublic }, + { "<bits/cpu-set.h>", kPrivate, "<sched.h>", kPublic }, { "<bits/dirent.h>", kPrivate, "<dirent.h>", kPublic }, { "<bits/dlfcn.h>", kPrivate, "<dlfcn.h>", kPublic }, { "<bits/elfclass.h>", kPrivate, "<link.h>", kPublic }, { "<bits/endian.h>", kPrivate, "<endian.h>", kPublic }, { "<bits/epoll.h>", kPrivate, "<sys/epoll.h>", kPublic }, + { "<bits/errno.h>", kPrivate, "<errno.h>", kPublic }, + { "<bits/error.h>", kPrivate, "<error.h>", kPublic }, { "<bits/eventfd.h>", kPrivate, "<sys/eventfd.h>", kPublic }, { "<bits/fcntl-linux.h>", kPrivate, "<fcntl.h>", kPublic }, { "<bits/fcntl.h>", kPrivate, "<fcntl.h>", kPublic }, + { "<bits/fcntl2.h>", kPrivate, "<fcntl.h>", kPublic }, { "<bits/fenv.h>", kPrivate, "<fenv.h>", kPublic }, + { "<bits/flt-eval-method.h>", kPrivate, "<math.h>", kPublic }, + { "<bits/fp-fast.h>", kPrivate, "<math.h>", kPublic }, + { "<bits/fp-logb.h>", kPrivate, "<math.h>", kPublic }, { "<bits/huge_val.h>", kPrivate, "<math.h>", kPublic }, { "<bits/huge_valf.h>", kPrivate, "<math.h>", kPublic }, { "<bits/huge_vall.h>", kPrivate, "<math.h>", kPublic }, + { "<bits/huge_val_flt128.h>", kPrivate, "<math.h>", kPublic }, + { "<bits/hwcap.h>", kPrivate, "<sys/auxv.h>", kPublic }, { "<bits/in.h>", kPrivate, "<netinet/in.h>", kPublic }, { "<bits/inf.h>", kPrivate, "<math.h>", kPublic }, { "<bits/inotify.h>", kPrivate, "<sys/inotify.h>", kPublic }, @@ -385,30 +435,78 @@ const IncludeMapEntry libc_include_map[] = { { "<bits/ioctls.h>", kPrivate, "<sys/ioctl.h>", kPublic }, { "<bits/ipc.h>", kPrivate, "<sys/ipc.h>", kPublic }, { "<bits/ipctypes.h>", kPrivate, "<sys/ipc.h>", kPublic }, + { "<bits/iscanonical.h>", kPrivate, "<math.h>", kPublic }, + { "<bits/libio-ldbl.h>", kPrivate, "<libio.h>", kPublic }, + { "<bits/link.h>", kPrivate, "<link.h>", kPublic }, { "<bits/locale.h>", kPrivate, "<locale.h>", kPublic }, + { "<bits/mathcalls.h>", kPrivate, "<math.h>", kPublic }, { "<bits/math-finite.h>", kPrivate, "<math.h>", kPublic }, - { "<bits/mathdef.h>", kPrivate, "<math.h>", kPublic }, + { "<bits/mathdef.h>", kPrivate, "<complex.h>", kPublic }, { "<bits/mathinline.h>", kPrivate, "<math.h>", kPublic }, { "<bits/mman-linux.h>", kPrivate, "<sys/mman.h>", kPublic }, { "<bits/mman.h>", kPrivate, "<sys/mman.h>", kPublic }, + { "<bits/monetary-ldbl.h>", kPrivate, "<monetary.h>", kPublic }, + { "<bits/mqueue2.h>", kPrivate, "<mqueue.h>", kPublic }, { "<bits/mqueue.h>", kPrivate, "<mqueue.h>", kPublic }, { "<bits/msq.h>", kPrivate, "<sys/msg.h>", kPublic }, { "<bits/nan.h>", kPrivate, "<math.h>", kPublic }, + { "<bits/netdb.h>", kPrivate, "<netdb.h>", kPublic }, { "<bits/param.h>", kPrivate, "<sys/param.h>", kPublic }, { "<bits/poll.h>", kPrivate, "<sys/poll.h>", kPrivate }, - { "<bits/predefs.h>", kPrivate, "<features.h>", kPublic }, + { "<bits/poll2.h>", kPrivate, "<sys/poll.h>", kPrivate }, + { "<bits/printf-ldbl.h>", kPrivate, "<printf.h>", kPublic }, { "<bits/resource.h>", kPrivate, "<sys/resource.h>", kPublic }, + { "<bits/sched.h>", kPrivate, "<sched.h>", kPublic }, + { "<bits/select2.h>", kPrivate, "<sys/select.h>", kPublic }, { "<bits/select.h>", kPrivate, "<sys/select.h>", kPublic }, { "<bits/semaphore.h>", kPrivate, "<semaphore.h>", kPublic }, + { "<bits/sem.h>", kPrivate, "<sys/sem.h>", kPublic }, + { "<bits/setjmp2.h>", kPrivate, "<setjmp.h>", kPublic }, + { "<bits/setjmp.h>", kPrivate, "<setjmp.h>", kPublic }, + { "<bits/shm.h>", kPrivate, "<sys/shm.h>", kPublic }, + { "<bits/sigaction.h>", kPrivate, "<signal.h>", kPublic }, { "<bits/sigcontext.h>", kPrivate, "<signal.h>", kPublic }, + { "<bits/sigevent-consts.h>", kPrivate, "<signal.h>", kPublic }, + { "<bits/siginfo-consts.h>", kPrivate, "<signal.h>", kPublic }, { "<bits/signalfd.h>", kPrivate, "<sys/signalfd.h>", kPublic }, + { "<bits/signum-generic.h>", kPrivate, "<signal.h>", kPublic }, + { "<bits/signum.h>", kPrivate, "<signal.h>", kPublic }, + { "<bits/socket2.h>", kPrivate, "<sys/socket.h>", kPublic }, + { "<bits/socket.h>", kPrivate, "<sys/socket.h>", kPublic }, + { "<bits/socket_type.h>", kPrivate, "<sys/socket.h>", kPublic }, + { "<bits/statfs.h>", kPrivate, "<sys/statfs.h>", kPublic }, + { "<bits/stat.h>", kPrivate, "<sys/stat.h>", kPublic }, + { "<bits/statvfs.h>", kPrivate, "<sys/statvfs.h>", kPublic }, + { "<bits/stdio2.h>", kPrivate, "<stdio.h>", kPublic }, + { "<bits/stdio.h>", kPrivate, "<stdio.h>", kPublic }, + { "<bits/stdio-ldbl.h>", kPrivate, "<stdio.h>", kPublic }, + { "<bits/stdio_lim.h>", kPrivate, "<stdio.h>", kPublic }, { "<bits/stdlib-float.h>", kPrivate, "<stdlib.h>", kPublic }, - { "<bits/string.h>", kPrivate, "<string.h>", kPublic }, - { "<bits/string2.h>", kPrivate, "<string.h>", kPublic }, - { "<bits/string3.h>", kPrivate, "<string.h>", kPublic }, + { "<bits/stdlib.h>", kPrivate, "<stdlib.h>", kPublic }, + { "<bits/stdlib-ldbl.h>", kPrivate, "<stdlib.h>", kPublic }, + { "<bits/string_fortified.h>", kPrivate, "<string.h>", kPublic }, + { "<bits/stropts.h>", kPrivate, "<stropts.h>", kPublic }, { "<bits/syscall.h>", kPrivate, "<sys/syscall.h>", kPrivate }, + { "<bits/sys_errlist.h>", kPrivate, "<stdio.h>", kPublic }, + { "<bits/syslog.h>", kPrivate, "<sys/syslog.h>", kPrivate }, + { "<bits/syslog-ldbl.h>", kPrivate, "<sys/syslog.h>", kPrivate }, + { "<bits/sysmacros.h>", kPrivate, "<sys/sysmacros.h>", kPublic }, + { "<bits/termios.h>", kPrivate, "<termios.h>", kPublic }, { "<bits/timerfd.h>", kPrivate, "<sys/timerfd.h>", kPublic }, { "<bits/typesizes.h>", kPrivate, "<sys/types.h>", kPublic }, + { "<bits/uintn-identity.h>", kPrivate, "<endian.h>", kPublic }, + { "<bits/uio-ext.h>", kPrivate, "<sys/uio.h>", kPublic }, + { "<bits/unistd.h>", kPrivate, "<unistd.h>", kPublic }, + { "<bits/ustat.h>", kPrivate, "<sys/ustat.h>", kPrivate }, + { "<bits/utmp.h>", kPrivate, "<utmp.h>", kPublic }, + { "<bits/utmpx.h>", kPrivate, "<utmpx.h>", kPublic }, + { "<bits/utsname.h>", kPrivate, "<sys/utsname.h>", kPublic }, + { "<bits/waitflags.h>", kPrivate, "<sys/wait.h>", kPublic }, + { "<bits/waitstatus.h>", kPrivate, "<sys/wait.h>", kPublic }, + { "<bits/wchar2.h>", kPrivate, "<wchar.h>", kPublic }, + { "<bits/wchar-ldbl.h>", kPrivate, "<wchar.h>", kPublic }, + { "<bits/wctype-wchar.h>", kPrivate, "<wchar.h>", kPublic }, + { "<bits/xtitypes.h>", kPrivate, "<stropts.h>", kPublic }, // Top-level #includes that just forward to another file: // $ for i in /usr/include/*; do [ -f $i ] && [ `wc -l < $i` = 1 ] && echo $i; done // (poll.h, syscall.h, syslog.h, ustat.h, wait.h). @@ -794,14 +892,14 @@ const IncludeMapEntry libstdcpp_include_map[] = { { "<tr1/hashtable.h>", kPrivate, "<tr1/unordered_map>", kPublic }, { "<tr1/hashtable.h>", kPrivate, "<tr1/unordered_set>", kPublic }, // All .tcc files are gcc internal-include files. We get them from - // ( cd /usr/crosstool/v12/gcc-4.3.1-glibc-2.3.6-grte/x86_64-unknown-linux-gnu/x86_64-unknown-linux-gnu/include/c++/4.3.1 && grep -R '^ *# *include.*tcc' * | perl -nle 'm/^([^:]+).*[<"]([^>"]+)[>"]/ && print qq@ { "<$2>", kPrivate, "<$1>", kPublic },@' | sort ) + // ( cd /usr/include/c++/8 && grep -R '^ *# *include.*tcc' * | perl -nle 'm/^([^:]+).*[<"]([^>"]+)[>"]/ && print qq@ { "<$2>", kPrivate, "<$1>", kPublic },@' | sort ) // I had to manually edit some of the entries to say the map-to is private. { "<bits/cmath.tcc>", kPrivate, "<cmath>", kPublic }, { "<debug/safe_iterator.tcc>", kPrivate, "<debug/safe_iterator.h>", kPublic }, { "<tr1_impl/random.tcc>", kPrivate, "<tr1_impl/random>", kPrivate }, // Some bits->bits #includes: A few files in bits re-export // symbols from other files in bits. - // ( cd /usr/crosstool/v12/gcc-4.3.1-glibc-2.3.6-grte/x86_64-unknown-linux-gnu/x86_64-unknown-linux-gnu/include/c++/4.3.1 && grep '^ *# *include.*bits/' bits/* | perl -nle 'm/^([^:]+).*<([^>]+)>/ && print qq@ { "<$2>", kPrivate, "<$1>", kPrivate },@' | grep bits/ | sort -u) + // ( cd /usr/include/c++/8 && grep '^ *# *include.*bits/' bits/* | perl -nle 'm/^([^:]+).*<([^>]+)>/ && print qq@ { "<$2>", kPrivate, "<$1>", kPrivate },@' | grep bits/ | sort -u) // and carefully picked reasonable-looking results (algorithm // *uses* pair but doesn't *re-export* pair, for instance). { "<bits/c++allocator.h>", kPrivate, "<bits/allocator.h>", kPrivate }, @@ -826,14 +924,19 @@ const IncludeMapEntry libstdcpp_include_map[] = { { "<hash_fun.h>", kPrivate, "<hash_set>", kPublic }, { "<hashtable.h>", kPrivate, "<hash_map>", kPublic }, { "<hashtable.h>", kPrivate, "<hash_set>", kPublic }, - // (This one should perhaps be found automatically somehow.) + // (These should perhaps be found automatically somehow.) + { "<ext/alloc_traits.h>", kPrivate, "<memory>", kPublic }, + { "<ext/alloc_traits.h>", kPrivate, "<string>", kPublic }, + { "<ext/alloc_traits.h>", kPrivate, "<vector>", kPublic }, + { "<ext/alloc_traits.h>", kPrivate, "<map>", kPublic }, + { "<ext/alloc_traits.h>", kPrivate, "<set>", kPublic }, { "<ext/sso_string_base.h>", kPrivate, "<string>", kPublic }, // The iostream .h files are confusing. Lots of private headers, // which are handled above, but we also have public headers // #including each other (eg <iostream> #includes <istream>). We // are pretty forgiving: if a user specifies any public header, we // generally don't require the others. - // ( cd /usr/crosstool/v12/gcc-4.3.1-glibc-2.3.6-grte/x86_64-unknown-linux-gnu/x86_64-unknown-linux-gnu/include/c++/4.3.1 && egrep '^ *# *include <(istream|ostream|iostream|fstream|sstream|streambuf|ios|iosfwd)>' *stream* ios | perl -nle 'm/^([^:]+).*[<"]([^>"]+)[>"]/ and print qq@ { "<$2>", kPublic, "<$1>", kPublic },@' | sort -u ) + // ( cd /usr/include/c++/8 && egrep '^ *# *include <(istream|ostream|iostream|fstream|sstream|streambuf|ios|iosfwd)>' *stream* ios | perl -nle 'm/^([^:]+).*[<"]([^>"]+)[>"]/ and print qq@ { "<$2>", kPublic, "<$1>", kPublic },@' | sort -u ) { "<ios>", kPublic, "<istream>", kPublic }, { "<ios>", kPublic, "<ostream>", kPublic }, { "<iosfwd>", kPublic, "<ios>", kPublic },
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor