// The Construct // // Copyright (C) The Construct Developers, Authors & Contributors // Copyright (C) 2016-2020 Jason Volk // // Permission to use, copy, modify, and/or distribute this software for any // purpose with or without fee is hereby granted, provided that the above // copyright notice and this permission notice is present in all copies. The // full license for this software is available in the LICENSE file. #pragma once #pragma clang system_header #define HAVE_IRCD_SPIRIT_BOOST_H // Disables asserts in spirit headers even when we're NDEBUG due to // some false asserts around boolean character tests in spirit. #define BOOST_DISABLE_ASSERTS // These trip include guards on some headers which pollute the unit such as // those which include , etc. These headers contain static objects // and initializations which prevent optimization of our static grammars. #if defined(__clang__) #define BOOST_PROTO_DEBUG_HPP_EAN_12_31_2006 #define BOOST_SPIRIT_DEBUG_HANDLER_DECEMBER_05_2008_0734PM #define BOOST_SPIRIT_SIMPLE_TRACE_DECEMBER_06_2008_1102AM #define BOOST_SPIRIT_KARMA_DEBUG_HANDLER_APR_21_2010_0148PM #define BOOST_SPIRIT_KARMA_SIMPLE_TRACE_APR_21_2010_0155PM #define BOOST_PHOENIX_DEBUG_HPP #endif // These must be included prior to the internal visibility/linkage sections. #include #include #include // Upstream includes for spirit; these would otherwise generate layers of // template noise in the symbol table but they can be strongly hidden. #pragma GCC visibility push(internal) #pragma clang attribute push(__attribute__((internal_linkage)), apply_to=any(function,record,variable)) #include #include "function.h" #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include "expr.h" #pragma clang attribute pop #pragma GCC visibility pop // Spirit includes #pragma GCC visibility push(protected) #include #include #include "qi_rule.h" #include "qi_char.h" #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wdangling-pointer" #include #pragma GCC diagnostic pop #include "karma_rule.h" #include #include #pragma GCC visibility pop