Handle errors in system headers

This commit is contained in:
christos 2017-01-13 01:14:27 +00:00
parent 717c531541
commit 8e7ebb8f8c
3 changed files with 30 additions and 20 deletions

View File

@ -75,6 +75,20 @@
#include <linux/posix_types.h>
#endif
#if SANITIZER_FREEBSD
# include <sys/consio.h>
# include <sys/kbio.h>
# include <sys/link_elf.h>
# include <net/ethernet.h>
#endif
#if SANITIZER_NETBSD
# include <link_elf.h>
# include <net/if_ether.h>
# define statfs statvfs
# define d_ino d_fileno
#endif
#if SANITIZER_FREEBSD || SANITIZER_NETBSD
# include <sys/mount.h>
# include <sys/sockio.h>
@ -104,19 +118,6 @@
#undef INLINE // to avoid clashes with sanitizers' definitions
#endif
#if SANITIZER_FREEBSD
# include <sys/consio.h>
# include <sys/kbio.h>
# include <sys/link_elf.h>
# include <net/ethernet.h>
#endif
#if SANITIZER_NETBSD
# include <link_elf.h>
# include <net/if_ether.h>
# define statfs statvfs
# define d_ino d_fileno
#endif
#if SANITIZER_FREEBSD || SANITIZER_IOS || SANITIZER_NETBSD
#undef IOC_DIRMASK

View File

@ -110,7 +110,7 @@ struct _Aux_require_same<_Tp,_Tp> { typedef _Tp _Type; };
struct _SameTypeConcept
{
void __constraints() {
typedef typename _Aux_require_same<_Tp1, _Tp2>::_Type _Required;
typedef typename _Aux_require_same<_Tp1, _Tp2>::_Type _Required _IsUnused;
}
};
@ -440,11 +440,11 @@ struct _Aux_require_same<_Tp,_Tp> { typedef _Tp _Type; };
void __constraints() {
__function_requires< _TrivialIteratorConcept<_Tp> >();
// require iterator_traits typedef's
typedef typename std::iterator_traits<_Tp>::difference_type _Diff;
typedef typename std::iterator_traits<_Tp>::difference_type _Diff _IsUnused;
// __function_requires< _SignedIntegerConcept<_Diff> >();
typedef typename std::iterator_traits<_Tp>::reference _Ref;
typedef typename std::iterator_traits<_Tp>::pointer _Pt;
typedef typename std::iterator_traits<_Tp>::iterator_category _Cat;
typedef typename std::iterator_traits<_Tp>::reference _Ref _IsUnused;
typedef typename std::iterator_traits<_Tp>::pointer _Pt _IsUnused;
typedef typename std::iterator_traits<_Tp>::iterator_category _Cat _IsUnused;
__function_requires< _ConvertibleConcept<
typename std::iterator_traits<_Tp>::iterator_category,
std::input_iterator_tag> >();
@ -528,7 +528,7 @@ struct _Aux_require_same<_Tp,_Tp> { typedef _Tp _Type; };
typename std::iterator_traits<_Tp>::iterator_category,
std::random_access_iterator_tag> >();
// ??? We don't use _Ref, are we just checking for "referenceability"?
typedef typename std::iterator_traits<_Tp>::reference _Ref;
typedef typename std::iterator_traits<_Tp>::reference _Ref _IsUnused;
__i += __n; // require assignment addition operator
__i = __i + __n; __i = __n + __i; // require addition with difference type

View File

@ -1,4 +1,4 @@
# $NetBSD: Makefile,v 1.24 2016/04/20 17:18:52 christos Exp $
# $NetBSD: Makefile,v 1.25 2017/01/13 01:14:27 christos Exp $
REQUIRETOOLS= yes
NOLINT= # defined
@ -57,9 +57,18 @@ COPTS.functexcept.cc += -Wno-stack-protector
COPTS.valarray-inst.cc += -Wno-stack-protector
COPTS.wlocale-inst.cc += -Wno-stack-protector
COPTS.snprintf_lite.cc += -Wno-stack-protector
# From system headers.
COPTS.cxx11-wlocale-inst.cc +=-Wno-stack-protector
COPTS.cxx11-locale-inst.cc +=-Wno-stack-protector
COPTS.cxx11-wlocale-inst.cc +=-Wno-stack-protector
COPTS.compatibility-thread-c++0x.cc += -Wno-deprecated-declarations
COPTS.concept-inst.cc += -fimplicit-templates
COPTS.hashtable_c++0x.cc += -fimplicit-templates
COPTS.bitmap_allocator.cc += -fimplicit-templates
COPTS.functexcept.cc += -Wno-deprecated-declarations
COPTS.future.cc += -Wno-deprecated-declarations
COPTS.shared_ptr.cc += -Wno-deprecated-declarations
COPTS.thread.cc += -Wno-deprecated-declarations
CPPFLAGS.strstream.cc += -I$(GLIBCPP_INCLUDE_DIR)/backward -Wno-deprecated
CPPFLAGS.cp-demangle.cc += -DIN_GLIBCPP_V3