Temporary header file '/tmp/f74OwtFYU8/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/modsecurity/actions/action.h"
  #include "/usr/include/modsecurity/anchored_set_variable.h"
  #include "/usr/include/modsecurity/anchored_set_variable_translation_proxy.h"
  #include "/usr/include/modsecurity/anchored_variable.h"
  #include "/usr/include/modsecurity/audit_log.h"
  #include "/usr/include/modsecurity/collection/collection.h"
  #include "/usr/include/modsecurity/collection/collections.h"
  #include "/usr/include/modsecurity/debug_log.h"
  #include "/usr/include/modsecurity/intervention.h"
  #include "/usr/include/modsecurity/modsecurity.h"
  #include "/usr/include/modsecurity/reading_logs_via_rule_message.h"
  #include "/usr/include/modsecurity/rule.h"
  #include "/usr/include/modsecurity/rule_marker.h"
  #include "/usr/include/modsecurity/rule_message.h"
  #include "/usr/include/modsecurity/rule_unconditional.h"
  #include "/usr/include/modsecurity/rule_with_actions.h"
  #include "/usr/include/modsecurity/rule_with_operator.h"
  #include "/usr/include/modsecurity/rules.h"
  #include "/usr/include/modsecurity/rules_exceptions.h"
  #include "/usr/include/modsecurity/rules_set.h"
  #include "/usr/include/modsecurity/rules_set_phases.h"
  #include "/usr/include/modsecurity/rules_set_properties.h"
  #include "/usr/include/modsecurity/transaction.h"
  #include "/usr/include/modsecurity/variable_origin.h"
  #include "/usr/include/modsecurity/variable_value.h"

  // add namespaces
  namespace modsecurity{typedef int tmp_add_type_1;}
  modsecurity::tmp_add_type_1 tmp_add_func_1(){return 0;};
  namespace modsecurity{namespace actions{typedef int tmp_add_type_2;}}
  modsecurity::actions::tmp_add_type_2 tmp_add_func_2(){return 0;};
  namespace modsecurity{namespace actions{namespace disruptive{typedef int tmp_add_type_3;}}}
  modsecurity::actions::disruptive::tmp_add_type_3 tmp_add_func_3(){return 0;};
  namespace modsecurity{namespace actions{namespace transformations{typedef int tmp_add_type_4;}}}
  modsecurity::actions::transformations::tmp_add_type_4 tmp_add_func_4(){return 0;};
  namespace modsecurity{namespace collection{typedef int tmp_add_type_5;}}
  modsecurity::collection::tmp_add_type_5 tmp_add_func_5(){return 0;};
  namespace modsecurity{namespace intervention{typedef int tmp_add_type_6;}}
  modsecurity::intervention::tmp_add_type_6 tmp_add_func_6(){return 0;};
  namespace modsecurity{namespace operators{typedef int tmp_add_type_7;}}
  modsecurity::operators::tmp_add_type_7 tmp_add_func_7(){return 0;};
  namespace modsecurity{namespace Parser{typedef int tmp_add_type_8;}}
  modsecurity::Parser::tmp_add_type_8 tmp_add_func_8(){return 0;};
  namespace modsecurity{namespace RequestBodyProcessor{typedef int tmp_add_type_9;}}
  modsecurity::RequestBodyProcessor::tmp_add_type_9 tmp_add_func_9(){return 0;};
  namespace modsecurity{namespace Utils{typedef int tmp_add_type_10;}}
  modsecurity::Utils::tmp_add_type_10 tmp_add_func_10(){return 0;};
  namespace modsecurity{namespace variables{typedef int tmp_add_type_11;}}
  modsecurity::variables::tmp_add_type_11 tmp_add_func_11(){return 0;};
  namespace modsecurity{namespace audit_log{typedef int tmp_add_type_12;}}
  modsecurity::audit_log::tmp_add_type_12 tmp_add_func_12(){return 0;};
  namespace modsecurity{namespace audit_log{namespace writer{typedef int tmp_add_type_13;}}}
  modsecurity::audit_log::writer::tmp_add_type_13 tmp_add_func_13(){return 0;};
  namespace modsecurity{namespace debug_log{typedef int tmp_add_type_14;}}
  modsecurity::debug_log::tmp_add_type_14 tmp_add_func_14(){return 0;};

  // add classes
  ReadingLogsViaRuleMessage* tmp_add_class_0;
  _G_fpos64_t* tmp_add_class_1;
  _G_fpos_t* tmp_add_class_2;
  _IO_cookie_io_functions_t* tmp_add_class_3;
  data_ms* tmp_add_class_4;

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

In file included from /tmp/f74OwtFYU8/dump1.h:22:
/usr/include/modsecurity/reading_logs_via_rule_message.h: In member function ‘int ReadingLogsViaRuleMessage::process()’:
/usr/include/modsecurity/reading_logs_via_rule_message.h:143:43: error: invalid use of incomplete type ‘class modsecurity::RulesSet’
  143 |         rules = new modsecurity::RulesSet();
      |                                           ^
In file included from /usr/include/modsecurity/rule.h:28,
                 from /usr/include/modsecurity/actions/action.h:25,
                 from /tmp/f74OwtFYU8/dump1.h:12:
/usr/include/modsecurity/transaction.h:105:7: note: forward declaration of ‘class modsecurity::RulesSet’
  105 | class RulesSet;
      |       ^~~~~~~~
/usr/include/modsecurity/reading_logs_via_rule_message.h:144:18: error: invalid use of incomplete type ‘class modsecurity::RulesSet’
  144 |         if (rules->loadFromUri(m_rules.c_str()) < 0) {
      |                  ^~
/usr/include/modsecurity/transaction.h:105:7: note: forward declaration of ‘class modsecurity::RulesSet’
  105 | class RulesSet;
      |       ^~~~~~~~
/usr/include/modsecurity/reading_logs_via_rule_message.h:146:31: error: invalid use of incomplete type ‘class modsecurity::RulesSet’
  146 |             std::cout << rules->m_parserError.str() << std::endl;
      |                               ^~
/usr/include/modsecurity/transaction.h:105:7: note: forward declaration of ‘class modsecurity::RulesSet’
  105 | class RulesSet;
      |       ^~~~~~~~

