Temporary header file '/tmp/419IyByj3p/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/simgrid/Exception.hpp"
  #include "/usr/include/simgrid/actor.h"
  #include "/usr/include/simgrid/barrier.h"
  #include "/usr/include/simgrid/chrono.hpp"
  #include "/usr/include/simgrid/comm.h"
  #include "/usr/include/simgrid/cond.h"
  #include "/usr/include/simgrid/config.h"
  #include "/usr/include/simgrid/disk.h"
  #include "/usr/include/simgrid/engine.h"
  #include "/usr/include/simgrid/exec.h"
  #include "/usr/include/simgrid/forward.h"
  #include "/usr/include/simgrid/host.h"
  #include "/usr/include/simgrid/instr.h"
  #include "/usr/include/simgrid/kernel/ProfileBuilder.hpp"
  #include "/usr/include/simgrid/kernel/Timer.hpp"
  #include "/usr/include/simgrid/kernel/resource/Action.hpp"
  #include "/usr/include/simgrid/kernel/resource/Model.hpp"
  #include "/usr/include/simgrid/kernel/resource/NetworkModelIntf.hpp"
  #include "/usr/include/simgrid/kernel/routing/ClusterZone.hpp"
  #include "/usr/include/simgrid/kernel/routing/DijkstraZone.hpp"
  #include "/usr/include/simgrid/kernel/routing/DragonflyZone.hpp"
  #include "/usr/include/simgrid/kernel/routing/EmptyZone.hpp"
  #include "/usr/include/simgrid/kernel/routing/FatTreeZone.hpp"
  #include "/usr/include/simgrid/kernel/routing/FloydZone.hpp"
  #include "/usr/include/simgrid/kernel/routing/FullZone.hpp"
  #include "/usr/include/simgrid/kernel/routing/NetPoint.hpp"
  #include "/usr/include/simgrid/kernel/routing/NetZoneImpl.hpp"
  #include "/usr/include/simgrid/kernel/routing/RoutedZone.hpp"
  #include "/usr/include/simgrid/kernel/routing/StarZone.hpp"
  #include "/usr/include/simgrid/kernel/routing/TorusZone.hpp"
  #include "/usr/include/simgrid/kernel/routing/VivaldiZone.hpp"
  #include "/usr/include/simgrid/kernel/routing/WifiZone.hpp"
  #include "/usr/include/simgrid/link.h"
  #include "/usr/include/simgrid/mailbox.h"
  #include "/usr/include/simgrid/modelchecker.h"
  #include "/usr/include/simgrid/msg.h"
  #include "/usr/include/simgrid/mutex.h"
  #include "/usr/include/simgrid/plugins/ProducerConsumer.hpp"
  #include "/usr/include/simgrid/plugins/dvfs.h"
  #include "/usr/include/simgrid/plugins/energy.h"
  #include "/usr/include/simgrid/plugins/file_system.h"
  #include "/usr/include/simgrid/plugins/live_migration.h"
  #include "/usr/include/simgrid/plugins/load.h"
  #include "/usr/include/simgrid/plugins/ns3.hpp"
  #include "/usr/include/simgrid/s4u/Activity.hpp"
  #include "/usr/include/simgrid/s4u/Actor.hpp"
  #include "/usr/include/simgrid/s4u/Barrier.hpp"
  #include "/usr/include/simgrid/s4u/Comm.hpp"
  #include "/usr/include/simgrid/s4u/ConditionVariable.hpp"
  #include "/usr/include/simgrid/s4u/Disk.hpp"
  #include "/usr/include/simgrid/s4u/Engine.hpp"
  #include "/usr/include/simgrid/s4u/Exec.hpp"
  #include "/usr/include/simgrid/s4u/Host.hpp"
  #include "/usr/include/simgrid/s4u/Io.hpp"
  #include "/usr/include/simgrid/s4u/Link.hpp"
  #include "/usr/include/simgrid/s4u/Mailbox.hpp"
  #include "/usr/include/simgrid/s4u/Mutex.hpp"
  #include "/usr/include/simgrid/s4u/NetZone.hpp"
  #include "/usr/include/simgrid/s4u/Semaphore.hpp"
  #include "/usr/include/simgrid/s4u/VirtualMachine.hpp"
  #include "/usr/include/simgrid/s4u.hpp"
  #include "/usr/include/simgrid/semaphore.h"
  #include "/usr/include/simgrid/simix.h"
  #include "/usr/include/simgrid/simix.hpp"
  #include "/usr/include/simgrid/version.h"
  #include "/usr/include/simgrid/vm.h"
  #include "/usr/include/simgrid/zone.h"
  #include "/usr/include/smpi/forward.hpp"
  #include "/usr/include/smpi/mpi.h"
  #include "/usr/include/smpi/mpif.h"
  #include "/usr/include/smpi/sampi.h"
  #include "/usr/include/smpi/smpi.h"
  #include "/usr/include/smpi/smpi_extended_traces.h"
  #include "/usr/include/smpi/smpi_extended_traces_fortran.h"
  #include "/usr/include/smpi/smpi_helpers.h"
  #include "/usr/include/smpi/smpi_helpers_internal.h"
  #include "/usr/include/smpi/smpi_main.h"
  #include "/usr/include/xbt/Extendable.hpp"
  #include "/usr/include/xbt/PropertyHolder.hpp"
  #include "/usr/include/xbt/asserts.h"
  #include "/usr/include/xbt/asserts.hpp"
  #include "/usr/include/xbt/automaton.h"
  #include "/usr/include/xbt/automaton.hpp"
  #include "/usr/include/xbt/backtrace.hpp"
  #include "/usr/include/xbt/base.h"
  #include "/usr/include/xbt/config.h"
  #include "/usr/include/xbt/config.hpp"
  #include "/usr/include/xbt/dict.h"
  #include "/usr/include/xbt/dynar.h"
  #include "/usr/include/xbt/ex.h"
  #include "/usr/include/xbt/file.hpp"
  #include "/usr/include/xbt/function_types.h"
  #include "/usr/include/xbt/functional.hpp"
  #include "/usr/include/xbt/graph.h"
  #include "/usr/include/xbt/log.h"
  #include "/usr/include/xbt/log.hpp"
  #include "/usr/include/xbt/mallocator.h"
  #include "/usr/include/xbt/misc.h"
  #include "/usr/include/xbt/module.h"
  #include "/usr/include/xbt/parmap.h"
  #include "/usr/include/xbt/parse_units.hpp"
  #include "/usr/include/xbt/promise.hpp"
  #include "/usr/include/xbt/random.hpp"
  #include "/usr/include/xbt/range.hpp"
  #include "/usr/include/xbt/replay.hpp"
  #include "/usr/include/xbt/signal.hpp"
  #include "/usr/include/xbt/str.h"
  #include "/usr/include/xbt/string.hpp"
  #include "/usr/include/xbt/sysdep.h"
  #include "/usr/include/xbt/system_error.hpp"
  #include "/usr/include/xbt/utility.hpp"
  #include "/usr/include/xbt/virtu.h"
  #include "/usr/include/xbt/xbt_os_time.h"
  #include "/usr/include/xbt.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 concepts{typedef int tmp_add_type_2;}}
  boost::concepts::tmp_add_type_2 tmp_add_func_2(){return 0;};
  namespace boost{namespace concepts{namespace detail{typedef int tmp_add_type_3;}}}
  boost::concepts::detail::tmp_add_type_3 tmp_add_func_3(){return 0;};
  namespace boost{namespace core{typedef int tmp_add_type_4;}}
  boost::core::tmp_add_type_4 tmp_add_func_4(){return 0;};
  namespace boost{namespace detail{typedef int tmp_add_type_5;}}
  boost::detail::tmp_add_type_5 tmp_add_func_5(){return 0;};
  namespace boost{namespace detail{namespace variant{typedef int tmp_add_type_6;}}}
  boost::detail::variant::tmp_add_type_6 tmp_add_func_6(){return 0;};
  namespace boost{namespace heap{typedef int tmp_add_type_7;}}
  boost::heap::tmp_add_type_7 tmp_add_func_7(){return 0;};
  namespace boost{namespace heap{namespace detail{typedef int tmp_add_type_8;}}}
  boost::heap::detail::tmp_add_type_8 tmp_add_func_8(){return 0;};
  namespace boost{namespace heap{namespace tag{typedef int tmp_add_type_9;}}}
  boost::heap::tag::tmp_add_type_9 tmp_add_func_9(){return 0;};
  namespace boost{namespace integer{typedef int tmp_add_type_10;}}
  boost::integer::tmp_add_type_10 tmp_add_func_10(){return 0;};
  namespace boost{namespace integer{namespace detail{typedef int tmp_add_type_11;}}}
  boost::integer::detail::tmp_add_type_11 tmp_add_func_11(){return 0;};
  namespace boost{namespace intrusive{typedef int tmp_add_type_12;}}
  boost::intrusive::tmp_add_type_12 tmp_add_func_12(){return 0;};
  namespace boost{namespace intrusive{namespace detail{typedef int tmp_add_type_13;}}}
  boost::intrusive::detail::tmp_add_type_13 tmp_add_func_13(){return 0;};
  namespace boost{namespace iterators{typedef int tmp_add_type_14;}}
  boost::iterators::tmp_add_type_14 tmp_add_func_14(){return 0;};
  namespace boost{namespace iterators{namespace detail{typedef int tmp_add_type_15;}}}
  boost::iterators::detail::tmp_add_type_15 tmp_add_func_15(){return 0;};
  namespace boost{namespace movelib{typedef int tmp_add_type_16;}}
  boost::movelib::tmp_add_type_16 tmp_add_func_16(){return 0;};
  namespace boost{namespace movelib{namespace detail{typedef int tmp_add_type_17;}}}
  boost::movelib::detail::tmp_add_type_17 tmp_add_func_17(){return 0;};
  namespace boost{namespace mp11{typedef int tmp_add_type_18;}}
  boost::mp11::tmp_add_type_18 tmp_add_func_18(){return 0;};
  namespace boost{namespace mp11{namespace detail{typedef int tmp_add_type_19;}}}
  boost::mp11::detail::tmp_add_type_19 tmp_add_func_19(){return 0;};
  namespace boost{namespace mpl{typedef int tmp_add_type_20;}}
  boost::mpl::tmp_add_type_20 tmp_add_func_20(){return 0;};
  namespace boost{namespace mpl{namespace aux{typedef int tmp_add_type_21;}}}
  boost::mpl::aux::tmp_add_type_21 tmp_add_func_21(){return 0;};
  namespace boost{namespace mpl{namespace placeholders{typedef int tmp_add_type_22;}}}
  boost::mpl::placeholders::tmp_add_type_22 tmp_add_func_22(){return 0;};
  namespace boost{namespace parameter{typedef int tmp_add_type_23;}}
  boost::parameter::tmp_add_type_23 tmp_add_func_23(){return 0;};
  namespace boost{namespace parameter{namespace aux{typedef int tmp_add_type_24;}}}
  boost::parameter::aux::tmp_add_type_24 tmp_add_func_24(){return 0;};
  namespace boost{namespace typeindex{typedef int tmp_add_type_25;}}
  boost::typeindex::tmp_add_type_25 tmp_add_func_25(){return 0;};
  namespace boost{namespace typeindex{namespace detail{typedef int tmp_add_type_26;}}}
  boost::typeindex::detail::tmp_add_type_26 tmp_add_func_26(){return 0;};
  namespace simgrid{typedef int tmp_add_type_27;}
  simgrid::tmp_add_type_27 tmp_add_func_27(){return 0;};
  namespace simgrid{namespace config{typedef int tmp_add_type_28;}}
  simgrid::config::tmp_add_type_28 tmp_add_func_28(){return 0;};
  namespace simgrid{namespace instr{typedef int tmp_add_type_29;}}
  simgrid::instr::tmp_add_type_29 tmp_add_func_29(){return 0;};
  namespace simgrid{namespace kernel{typedef int tmp_add_type_30;}}
  simgrid::kernel::tmp_add_type_30 tmp_add_func_30(){return 0;};
  namespace simgrid{namespace kernel{namespace activity{typedef int tmp_add_type_31;}}}
  simgrid::kernel::activity::tmp_add_type_31 tmp_add_func_31(){return 0;};
  namespace simgrid{namespace kernel{namespace actor{typedef int tmp_add_type_32;}}}
  simgrid::kernel::actor::tmp_add_type_32 tmp_add_func_32(){return 0;};
  namespace simgrid{namespace kernel{namespace context{typedef int tmp_add_type_33;}}}
  simgrid::kernel::context::tmp_add_type_33 tmp_add_func_33(){return 0;};
  namespace simgrid{namespace kernel{namespace lmm{typedef int tmp_add_type_34;}}}
  simgrid::kernel::lmm::tmp_add_type_34 tmp_add_func_34(){return 0;};
  namespace simgrid{namespace kernel{namespace profile{typedef int tmp_add_type_35;}}}
  simgrid::kernel::profile::tmp_add_type_35 tmp_add_func_35(){return 0;};
  namespace simgrid{namespace kernel{namespace resource{typedef int tmp_add_type_36;}}}
  simgrid::kernel::resource::tmp_add_type_36 tmp_add_func_36(){return 0;};
  namespace simgrid{namespace kernel{namespace routing{typedef int tmp_add_type_37;}}}
  simgrid::kernel::routing::tmp_add_type_37 tmp_add_func_37(){return 0;};
  namespace simgrid{namespace kernel{namespace routing{namespace vivaldi{typedef int tmp_add_type_38;}}}}
  simgrid::kernel::routing::vivaldi::tmp_add_type_38 tmp_add_func_38(){return 0;};
  namespace simgrid{namespace kernel{namespace timer{typedef int tmp_add_type_39;}}}
  simgrid::kernel::timer::tmp_add_type_39 tmp_add_func_39(){return 0;};
  namespace simgrid{namespace mc{typedef int tmp_add_type_40;}}
  simgrid::mc::tmp_add_type_40 tmp_add_func_40(){return 0;};
  namespace simgrid{namespace msg{typedef int tmp_add_type_41;}}
  simgrid::msg::tmp_add_type_41 tmp_add_func_41(){return 0;};
  namespace simgrid{namespace plugin{typedef int tmp_add_type_42;}}
  simgrid::plugin::tmp_add_type_42 tmp_add_func_42(){return 0;};
  namespace simgrid{namespace s4u{typedef int tmp_add_type_43;}}
  simgrid::s4u::tmp_add_type_43 tmp_add_func_43(){return 0;};
  namespace simgrid{namespace smpi{typedef int tmp_add_type_44;}}
  simgrid::smpi::tmp_add_type_44 tmp_add_func_44(){return 0;};
  namespace simgrid{namespace xbt{typedef int tmp_add_type_45;}}
  simgrid::xbt::tmp_add_type_45 tmp_add_func_45(){return 0;};
  namespace simgrid{namespace xbt{namespace bits{typedef int tmp_add_type_46;}}}
  simgrid::xbt::bits::tmp_add_type_46 tmp_add_func_46(){return 0;};
  namespace simgrid{namespace xbt{namespace random{typedef int tmp_add_type_47;}}}
  simgrid::xbt::random::tmp_add_type_47 tmp_add_func_47(){return 0;};
  namespace boost{namespace detail{namespace aligned_storage{typedef int tmp_add_type_48;}}}
  boost::detail::aligned_storage::tmp_add_type_48 tmp_add_func_48(){return 0;};
  namespace boost{namespace detail{namespace indirect_traits{typedef int tmp_add_type_49;}}}
  boost::detail::indirect_traits::tmp_add_type_49 tmp_add_func_49(){return 0;};
  namespace boost{namespace exception_detail{typedef int tmp_add_type_50;}}
  boost::exception_detail::tmp_add_type_50 tmp_add_func_50(){return 0;};
  namespace boost{namespace intrusive{namespace function_detector{typedef int tmp_add_type_51;}}}
  boost::intrusive::function_detector::tmp_add_type_51 tmp_add_func_51(){return 0;};
  namespace boost{namespace move_detail{typedef int tmp_add_type_52;}}
  boost::move_detail::tmp_add_type_52 tmp_add_func_52(){return 0;};
  namespace boost{namespace optional_config{typedef int tmp_add_type_53;}}
  boost::optional_config::tmp_add_type_53 tmp_add_func_53(){return 0;};
  namespace boost{namespace optional_detail{typedef int tmp_add_type_54;}}
  boost::optional_detail::tmp_add_type_54 tmp_add_func_54(){return 0;};
  namespace boost{namespace optional_ns{typedef int tmp_add_type_55;}}
  boost::optional_ns::tmp_add_type_55 tmp_add_func_55(){return 0;};
  namespace boost{namespace tt_align_ns{typedef int tmp_add_type_56;}}
  boost::tt_align_ns::tmp_add_type_56 tmp_add_func_56(){return 0;};
  namespace boost{namespace type_traits{typedef int tmp_add_type_57;}}
  boost::type_traits::tmp_add_type_57 tmp_add_func_57(){return 0;};
  namespace boost{namespace type_traits_detail{typedef int tmp_add_type_58;}}
  boost::type_traits_detail::tmp_add_type_58 tmp_add_func_58(){return 0;};
  namespace boost_move_adl_swap{typedef int tmp_add_type_59;}
  boost_move_adl_swap::tmp_add_type_59 tmp_add_func_59(){return 0;};
  namespace boost_optional_detail{typedef int tmp_add_type_60;}
  boost_optional_detail::tmp_add_type_60 tmp_add_func_60(){return 0;};
  namespace boost_swap_impl{typedef int tmp_add_type_61;}
  boost_swap_impl::tmp_add_type_61 tmp_add_func_61(){return 0;};
  namespace mpl_{typedef int tmp_add_type_62;}
  mpl_::tmp_add_type_62 tmp_add_func_62(){return 0;};
  namespace mpl_{namespace aux{typedef int tmp_add_type_63;}}
  mpl_::aux::tmp_add_type_63 tmp_add_func_63(){return 0;};
  namespace simgrid{namespace s4u{namespace this_actor{typedef int tmp_add_type_64;}}}
  simgrid::s4u::this_actor::tmp_add_type_64 tmp_add_func_64(){return 0;};

  // add classes
  _G_fpos64_t* tmp_add_class_0;
  _G_fpos_t* tmp_add_class_1;
  _IO_cookie_io_functions_t* tmp_add_class_2;
  itimerval* tmp_add_class_3;
  option* tmp_add_class_4;
  s_xbt_dict_cursor* tmp_add_class_5;
  s_xbt_dictelm* tmp_add_class_6;
  xbt_dynar_s* tmp_add_class_7;
  xbt_edge* tmp_add_class_8;
  xbt_graph* tmp_add_class_9;
  xbt_log_category_s* tmp_add_class_10;
  xbt_log_event_s* tmp_add_class_11;
  xbt_node* tmp_add_class_12;

The GCC parameters:
  gcc -fdump-lang-raw -fkeep-inline-functions -c -x c++ -fpermissive -w "/tmp/419IyByj3p/dump1.h"  -I/usr/include/simgrid

In file included from /tmp/419IyByj3p/dump1.h:81:
/usr/include/smpi/mpif.h:8:7: error: missing terminating ' character
    8 | ! SMPI's Fortran 77 include file
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/smpi/mpif.h:1:1: error: expected unqualified-id before ‘!’ token
    1 | ! -*- fortran -*-
      | ^
/usr/include/smpi/mpif.h:5:34: error: ‘you’ does not name a type
    5 | ! This program is free software; you can redistribute it and/or modify it
      |                                  ^~~
In file included from /tmp/419IyByj3p/dump1.h:85:
/usr/include/smpi/smpi_extended_traces_fortran.h:1:1: error: expected unqualified-id before ‘!’ token
    1 | ! Copyright (c) 2016-2022. The SimGrid Team. All rights reserved.
      | ^
/usr/include/smpi/smpi_extended_traces_fortran.h:3:34: error: ‘you’ does not name a type
    3 | ! This program is free software; you can redistribute it and/or modify it
      |                                  ^~~
In file included from /tmp/419IyByj3p/dump1.h:94:
/usr/include/xbt/automaton.hpp:22:20: error: ‘xbt_automaton_propositional_symbol_t’ does not name a type; did you mean ‘MC_automaton_new_propositional_symbol’?
   22 | template <class F> xbt_automaton_propositional_symbol_t add_proposition(const_xbt_automaton_t a, const char* id, F f)
      |                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                    MC_automaton_new_propositional_symbol

