Temporary header file '/tmp/7c9SBQ8HWa/dump1.h' with the following content will be compiled to create GCC translation unit dump:

  // add defines
  #define __STDC_VERSION__ 201710L
#define _GXX_NULLPTR_T
#define CLUTTER_ENABLE_COMPOSITOR_API 1
#define _REGEX_NELTS(n)
#define _Atomic
#define PACKED
#define getaddrinfo_a(a,b,c,d)

  // add includes
  #include "/usr/include/polybori/groebner/BitMask.h"
  #include "/usr/include/polybori/groebner/BlockOrderHelper.h"
  #include "/usr/include/polybori/groebner/BoundedDivisorsOf.h"
  #include "/usr/include/polybori/groebner/ChainCriterion.h"
  #include "/usr/include/polybori/groebner/ChainVariableCriterion.h"
  #include "/usr/include/polybori/groebner/CheckChainCriterion.h"
  #include "/usr/include/polybori/groebner/CountCriterion.h"
  #include "/usr/include/polybori/groebner/DegOrderHelper.h"
  #include "/usr/include/polybori/groebner/ExpGreater.h"
  #include "/usr/include/polybori/groebner/ExpLexLess.h"
  #include "/usr/include/polybori/groebner/FGLMStrategy.h"
  #include "/usr/include/polybori/groebner/GetNthPoly.h"
  #include "/usr/include/polybori/groebner/GroebnerOptions.h"
  #include "/usr/include/polybori/groebner/GroebnerStrategy.h"
  #include "/usr/include/polybori/groebner/HasTRepOrExtendedProductCriterion.h"
  #include "/usr/include/polybori/groebner/IJPairData.h"
  #include "/usr/include/polybori/groebner/IsEcart0Predicate.h"
  #include "/usr/include/polybori/groebner/IsVariableOfIndex.h"
  #include "/usr/include/polybori/groebner/LLReduction.h"
  #include "/usr/include/polybori/groebner/LLReductor.h"
  #include "/usr/include/polybori/groebner/LMLessCompare.h"
  #include "/usr/include/polybori/groebner/LMLessComparePS.h"
  #include "/usr/include/polybori/groebner/LargerDegreeComparer.h"
  #include "/usr/include/polybori/groebner/LeadingTerms.h"
  #include "/usr/include/polybori/groebner/LeadingTerms00.h"
  #include "/usr/include/polybori/groebner/LeadingTerms11.h"
  #include "/usr/include/polybori/groebner/LessCombinedManySizesInStrat.h"
  #include "/usr/include/polybori/groebner/LessEcartThenLessWeightedLengthInStrat.h"
  #include "/usr/include/polybori/groebner/LessUsedTailVariablesThenLessWeightedLengthInStrat.h"
  #include "/usr/include/polybori/groebner/LessWeightedLengthInStrat.h"
  #include "/usr/include/polybori/groebner/LessWeightedLengthInStratModified.h"
  #include "/usr/include/polybori/groebner/LexBucket.h"
  #include "/usr/include/polybori/groebner/LexHelper.h"
  #include "/usr/include/polybori/groebner/LexOrderGreaterComparer.h"
  #include "/usr/include/polybori/groebner/LiteralFactorization.h"
  #include "/usr/include/polybori/groebner/LiteralFactorizationIterator.h"
  #include "/usr/include/polybori/groebner/Long64From32BitsPair.h"
  #include "/usr/include/polybori/groebner/MatrixMonomialOrderTables.h"
  #include "/usr/include/polybori/groebner/MinimalLeadingTerms.h"
  #include "/usr/include/polybori/groebner/MonomialHasher.h"
  #include "/usr/include/polybori/groebner/MonomialPlusOneTerms.h"
  #include "/usr/include/polybori/groebner/MonomialTerms.h"
  #include "/usr/include/polybori/groebner/NBitsUsed.h"
  #include "/usr/include/polybori/groebner/NextSpoly.h"
  #include "/usr/include/polybori/groebner/PSCompareByEl.h"
  #include "/usr/include/polybori/groebner/PairData.h"
  #include "/usr/include/polybori/groebner/PairE.h"
  #include "/usr/include/polybori/groebner/PairECompare.h"
  #include "/usr/include/polybori/groebner/PairLS.h"
  #include "/usr/include/polybori/groebner/PairLSCompare.h"
  #include "/usr/include/polybori/groebner/PairManager.h"
  #include "/usr/include/polybori/groebner/PairManagerFacade.h"
  #include "/usr/include/polybori/groebner/PairStatusSet.h"
  #include "/usr/include/polybori/groebner/PolyEntry.h"
  #include "/usr/include/polybori/groebner/PolyEntryBase.h"
  #include "/usr/include/polybori/groebner/PolyEntryIndices.h"
  #include "/usr/include/polybori/groebner/PolyEntryPtrLmLess.h"
  #include "/usr/include/polybori/groebner/PolyEntryReference.h"
  #include "/usr/include/polybori/groebner/PolyEntryVector.h"
  #include "/usr/include/polybori/groebner/PolyFromPolyEntry.h"
  #include "/usr/include/polybori/groebner/PolyMonomialPairComparerLess.h"
  #include "/usr/include/polybori/groebner/PolyMonomialPairComparerLexLess.h"
  #include "/usr/include/polybori/groebner/PolyPairData.h"
  #include "/usr/include/polybori/groebner/PolynomialSugar.h"
  #include "/usr/include/polybori/groebner/PseudoLongLong.h"
  #include "/usr/include/polybori/groebner/PseudoLongProduct.h"
  #include "/usr/include/polybori/groebner/RankingVector.h"
  #include "/usr/include/polybori/groebner/RedTailNth.h"
  #include "/usr/include/polybori/groebner/ReductionOptions.h"
  #include "/usr/include/polybori/groebner/ReductionStrategy.h"
  #include "/usr/include/polybori/groebner/ReductionTerms.h"
  #include "/usr/include/polybori/groebner/RelatedTerms.h"
  #include "/usr/include/polybori/groebner/RelatedTermsBase.h"
  #include "/usr/include/polybori/groebner/SetAssociatedMinimal.h"
  #include "/usr/include/polybori/groebner/SetBitUInt.h"
  #include "/usr/include/polybori/groebner/ShorterEliminationLength.h"
  #include "/usr/include/polybori/groebner/ShorterEliminationLengthModified.h"
  #include "/usr/include/polybori/groebner/SlimgbReduction.h"
  #include "/usr/include/polybori/groebner/TermsFacade.h"
  #include "/usr/include/polybori/groebner/TimesConstantImplication.h"
  #include "/usr/include/polybori/groebner/TimesVariableSubstitution.h"
  #include "/usr/include/polybori/groebner/VariablePairData.h"
  #include "/usr/include/polybori/groebner/ZeroFunction.h"
  #include "/usr/include/polybori/groebner/add_up.h"
  #include "/usr/include/polybori/groebner/cache_manager.h"
  #include "/usr/include/polybori/groebner/contained_variables.h"
  #include "/usr/include/polybori/groebner/dlex4data.h"
  #include "/usr/include/polybori/groebner/dp_asc4data.h"
  #include "/usr/include/polybori/groebner/draw_matrix.h"
  #include "/usr/include/polybori/groebner/fixed_path_divisors.h"
  #include "/usr/include/polybori/groebner/groebner.h"
  #include "/usr/include/polybori/groebner/groebner_alg.h"
  #include "/usr/include/polybori/groebner/groebner_defs.h"
  #include "/usr/include/polybori/groebner/interpolate.h"
  #include "/usr/include/polybori/groebner/linear_algebra_step.h"
  #include "/usr/include/polybori/groebner/ll_red_nf.h"
  #include "/usr/include/polybori/groebner/lp4data.h"
  #include "/usr/include/polybori/groebner/minimal_elements.h"
  #include "/usr/include/polybori/groebner/nf.h"
  #include "/usr/include/polybori/groebner/pairs.h"
  #include "/usr/include/polybori/groebner/polynomial_properties.h"
  #include "/usr/include/polybori/groebner/randomset.h"
  #include "/usr/include/polybori/groebner/red_tail.h"
  #include "/usr/include/polybori/groebner/tables.h"

  // add namespaces
  namespace boost{typedef int tmp_add_type_1;}
  boost::tmp_add_type_1 tmp_add_func_1(){return 0;};
  namespace boost{namespace detail{typedef int tmp_add_type_2;}}
  boost::detail::tmp_add_type_2 tmp_add_func_2(){return 0;};
  namespace boost{namespace integer{typedef int tmp_add_type_3;}}
  boost::integer::tmp_add_type_3 tmp_add_func_3(){return 0;};
  namespace boost{namespace iterators{typedef int tmp_add_type_4;}}
  boost::iterators::tmp_add_type_4 tmp_add_func_4(){return 0;};
  namespace boost{namespace iterators{namespace detail{typedef int tmp_add_type_5;}}}
  boost::iterators::detail::tmp_add_type_5 tmp_add_func_5(){return 0;};
  namespace boost{namespace movelib{typedef int tmp_add_type_6;}}
  boost::movelib::tmp_add_type_6 tmp_add_func_6(){return 0;};
  namespace boost{namespace movelib{namespace detail{typedef int tmp_add_type_7;}}}
  boost::movelib::detail::tmp_add_type_7 tmp_add_func_7(){return 0;};
  namespace boost{namespace mpl{typedef int tmp_add_type_8;}}
  boost::mpl::tmp_add_type_8 tmp_add_func_8(){return 0;};
  namespace boost{namespace mpl{namespace aux{typedef int tmp_add_type_9;}}}
  boost::mpl::aux::tmp_add_type_9 tmp_add_func_9(){return 0;};
  namespace boost{namespace mpl{namespace placeholders{typedef int tmp_add_type_10;}}}
  boost::mpl::placeholders::tmp_add_type_10 tmp_add_func_10(){return 0;};
  namespace boost{namespace random{typedef int tmp_add_type_11;}}
  boost::random::tmp_add_type_11 tmp_add_func_11(){return 0;};
  namespace boost{namespace random{namespace detail{typedef int tmp_add_type_12;}}}
  boost::random::detail::tmp_add_type_12 tmp_add_func_12(){return 0;};
  namespace boost{namespace random{namespace traits{typedef int tmp_add_type_13;}}}
  boost::random::traits::tmp_add_type_13 tmp_add_func_13(){return 0;};
  namespace polybori{typedef int tmp_add_type_14;}
  polybori::tmp_add_type_14 tmp_add_func_14(){return 0;};
  namespace polybori{namespace groebner{typedef int tmp_add_type_15;}}
  polybori::groebner::tmp_add_type_15 tmp_add_func_15(){return 0;};
  namespace boost{namespace detail{namespace dynamic_bitset_impl{typedef int tmp_add_type_16;}}}
  boost::detail::dynamic_bitset_impl::tmp_add_type_16 tmp_add_func_16(){return 0;};
  namespace boost{namespace detail{namespace indirect_traits{typedef int tmp_add_type_17;}}}
  boost::detail::indirect_traits::tmp_add_type_17 tmp_add_func_17(){return 0;};
  namespace boost{namespace detail{namespace is_incrementable_{typedef int tmp_add_type_18;}}}
  boost::detail::is_incrementable_::tmp_add_type_18 tmp_add_func_18(){return 0;};
  namespace boost{namespace detail{namespace static_log2_impl{typedef int tmp_add_type_19;}}}
  boost::detail::static_log2_impl::tmp_add_type_19 tmp_add_func_19(){return 0;};
  namespace boost{namespace exception_detail{typedef int tmp_add_type_20;}}
  boost::exception_detail::tmp_add_type_20 tmp_add_func_20(){return 0;};
  namespace boost{namespace hash_detail{typedef int tmp_add_type_21;}}
  boost::hash_detail::tmp_add_type_21 tmp_add_func_21(){return 0;};
  namespace boost{namespace move_detail{typedef int tmp_add_type_22;}}
  boost::move_detail::tmp_add_type_22 tmp_add_func_22(){return 0;};
  namespace boost{namespace type_traits{typedef int tmp_add_type_23;}}
  boost::type_traits::tmp_add_type_23 tmp_add_func_23(){return 0;};
  namespace boost{namespace type_traits_detail{typedef int tmp_add_type_24;}}
  boost::type_traits_detail::tmp_add_type_24 tmp_add_func_24(){return 0;};
  namespace mpl_{typedef int tmp_add_type_25;}
  mpl_::tmp_add_type_25 tmp_add_func_25(){return 0;};
  namespace mpl_{namespace aux{typedef int tmp_add_type_26;}}
  mpl_::aux::tmp_add_type_26 tmp_add_func_26(){return 0;};

  // add classes
  DdCache* tmp_add_class_0;
  DdChildren* tmp_add_class_1;
  DdGen* tmp_add_class_2;
  DdHashItem* tmp_add_class_3;
  DdHashTable* tmp_add_class_4;
  DdHook* tmp_add_class_5;
  DdLevelQueue* tmp_add_class_6;
  DdLocalCache* tmp_add_class_7;
  DdLocalCacheItem* tmp_add_class_8;
  DdNode* tmp_add_class_9;
  DdQueueItem* tmp_add_class_10;
  DdSubtable* tmp_add_class_11;
  Move* tmp_add_class_12;
  _G_fpos64_t* tmp_add_class_13;
  _G_fpos_t* tmp_add_class_14;
  _IO_cookie_io_functions_t* tmp_add_class_15;
  mzd_t* tmp_add_class_16;
  mzp_t* tmp_add_class_17;
  pbori_DdManager* tmp_add_class_18;

The GCC parameters:
  gcc -fdump-lang-raw -fkeep-inline-functions -c -x c++ -fpermissive -w "/tmp/7c9SBQ8HWa/dump1.h"

In file included from /tmp/7c9SBQ8HWa/dump1.h:13:
/usr/include/polybori/groebner/BlockOrderHelper.h: In static member function ‘static polybori::groebner::Polynomial polybori::groebner::BlockOrderHelper::sum_range(std::vector<polybori::BooleMonomial>&, iterator_type, iterator_type, polybori::groebner::Polynomial)’:
/usr/include/polybori/groebner/BlockOrderHelper.h:51:14: error: ‘add_up_generic’ was not declared in this scope
   51 |       return add_up_generic(vec, init);
      |              ^~~~~~~~~~~~~~
In file included from /tmp/7c9SBQ8HWa/dump1.h:33:
/usr/include/polybori/groebner/LMLessComparePS.h: At global scope:
/usr/include/polybori/groebner/LMLessComparePS.h:30:26: error: ‘PolynomialSugar’ does not name a type; did you mean ‘PolynomialVector’?
   30 |   bool operator() (const PolynomialSugar& p1, const PolynomialSugar& p2){
      |                          ^~~~~~~~~~~~~~~
      |                          PolynomialVector
/usr/include/polybori/groebner/LMLessComparePS.h:30:53: error: ‘PolynomialSugar’ does not name a type; did you mean ‘PolynomialVector’?
   30 |   bool operator() (const PolynomialSugar& p1, const PolynomialSugar& p2){
      |                                                     ^~~~~~~~~~~~~~~
      |                                                     PolynomialVector
/usr/include/polybori/groebner/LMLessComparePS.h: In member function ‘bool polybori::groebner::LMLessComparePS::operator()(const int&, const int&)’:
/usr/include/polybori/groebner/LMLessComparePS.h:31:15: error: request for member ‘lead’ in ‘p1’, which is of non-class type ‘const int’
   31 |     return p1.lead()<p2.lead();
      |               ^~~~
/usr/include/polybori/groebner/LMLessComparePS.h:31:25: error: request for member ‘lead’ in ‘p2’, which is of non-class type ‘const int’
   31 |     return p1.lead()<p2.lead();
      |                         ^~~~
In file included from /tmp/7c9SBQ8HWa/dump1.h:56:
/usr/include/polybori/groebner/PSCompareByEl.h: At global scope:
/usr/include/polybori/groebner/PSCompareByEl.h:30:26: error: ‘PolynomialSugar’ does not name a type; did you mean ‘PolynomialVector’?
   30 |   bool operator() (const PolynomialSugar& p1, const PolynomialSugar& p2){
      |                          ^~~~~~~~~~~~~~~
      |                          PolynomialVector
/usr/include/polybori/groebner/PSCompareByEl.h:30:53: error: ‘PolynomialSugar’ does not name a type; did you mean ‘PolynomialVector’?
   30 |   bool operator() (const PolynomialSugar& p1, const PolynomialSugar& p2){
      |                                                     ^~~~~~~~~~~~~~~
      |                                                     PolynomialVector
/usr/include/polybori/groebner/PSCompareByEl.h: In member function ‘bool polybori::groebner::PSCompareByEl::operator()(const int&, const int&)’:
/usr/include/polybori/groebner/PSCompareByEl.h:31:17: error: request for member ‘getSugar’ in ‘p1’, which is of non-class type ‘const int’
   31 |     return ((p1.getSugar()<p2.getSugar()) ||((p1.getSugar()<=p2.getSugar()) && (p1.eliminationLength()<p2.eliminationLength())));
      |                 ^~~~~~~~
/usr/include/polybori/groebner/PSCompareByEl.h:31:31: error: request for member ‘getSugar’ in ‘p2’, which is of non-class type ‘const int’
   31 |     return ((p1.getSugar()<p2.getSugar()) ||((p1.getSugar()<=p2.getSugar()) && (p1.eliminationLength()<p2.eliminationLength())));
      |                               ^~~~~~~~
/usr/include/polybori/groebner/PSCompareByEl.h:31:50: error: request for member ‘getSugar’ in ‘p1’, which is of non-class type ‘const int’
   31 |     return ((p1.getSugar()<p2.getSugar()) ||((p1.getSugar()<=p2.getSugar()) && (p1.eliminationLength()<p2.eliminationLength())));
      |                                                  ^~~~~~~~
/usr/include/polybori/groebner/PSCompareByEl.h:31:65: error: request for member ‘getSugar’ in ‘p2’, which is of non-class type ‘const int’
   31 |     return ((p1.getSugar()<p2.getSugar()) ||((p1.getSugar()<=p2.getSugar()) && (p1.eliminationLength()<p2.eliminationLength())));
      |                                                                 ^~~~~~~~
/usr/include/polybori/groebner/PSCompareByEl.h:31:84: error: request for member ‘eliminationLength’ in ‘p1’, which is of non-class type ‘const int’
   31 |     return ((p1.getSugar()<p2.getSugar()) ||((p1.getSugar()<=p2.getSugar()) && (p1.eliminationLength()<p2.eliminationLength())));
      |                                                                                    ^~~~~~~~~~~~~~~~~
/usr/include/polybori/groebner/PSCompareByEl.h:31:107: error: request for member ‘eliminationLength’ in ‘p2’, which is of non-class type ‘const int’
   31 |     return ((p1.getSugar()<p2.getSugar()) ||((p1.getSugar()<=p2.getSugar()) && (p1.eliminationLength()<p2.eliminationLength())));
      |                                                                                                           ^~~~~~~~~~~~~~~~~
In file included from /tmp/7c9SBQ8HWa/dump1.h:79:
/usr/include/polybori/groebner/RedTailNth.h: In member function ‘const polybori::groebner::PolyEntry& polybori::groebner::RedTailNth::get(polybori::groebner::PolyEntryReference)’:
/usr/include/polybori/groebner/RedTailNth.h:46:20: error: ‘red_tail’ was not declared in this scope
   46 |     return entry = red_tail(m_strat, entry.get().p);
      |                    ^~~~~~~~

