-- addDependentFile examples/golden/program-analysis/selection_omit_external_root.h
-- addDependentFile examples/golden/program-analysis/selection_omit_external_b.h
{-| __C declaration:__ @struct Omitted@

    __defined at:__ @selection_omit_external_root.h 1:8@

    __exported by:__ @program-analysis\/selection_omit_external_b.h@
-}
data Omitted
    = Omitted {omitted_n :: CInt
               {- ^ __C declaration:__ @n@

                    __defined at:__ @selection_omit_external_root.h 2:7@

                    __exported by:__ @program-analysis\/selection_omit_external_b.h@
               -}}
      {- ^ __C declaration:__ @struct Omitted@

           __defined at:__ @selection_omit_external_root.h 1:8@

           __exported by:__ @program-analysis\/selection_omit_external_b.h@
      -}
    deriving stock (Eq, Show)
instance StaticSize Omitted
    where staticSizeOf = \_ -> 4 :: Int
          staticAlignment = \_ -> 4 :: Int
instance ReadRaw Omitted
    where readRaw = \ptr_0 -> pure Omitted <*> readRaw (Proxy @"omitted_n") ptr_0
instance WriteRaw Omitted
    where writeRaw = \ptr_0 -> \s_1 -> case s_1 of
                                       Omitted omitted_n_2 -> writeRaw (Proxy @"omitted_n") ptr_0 omitted_n_2
deriving via (EquivStorable Omitted) instance Storable Omitted
instance HasCField Omitted "omitted_n"
    where type CFieldType Omitted "omitted_n" = CInt
          offset# = \_ -> \_ -> 0
instance TyEq ty (CFieldType Omitted "omitted_n") =>
         HasField "omitted_n" (Ptr Omitted) (Ptr ty)
    where getField = fromPtr (Proxy @"omitted_n")
{-| __C declaration:__ @struct DirectlyDependsOnOmitted@

    __defined at:__ @program-analysis\/selection_omit_external_b.h 4:8@

    __exported by:__ @program-analysis\/selection_omit_external_b.h@
-}
data DirectlyDependsOnOmitted
    = DirectlyDependsOnOmitted {directlyDependsOnOmitted_o :: Omitted
                                {- ^ __C declaration:__ @o@

                                     __defined at:__ @program-analysis\/selection_omit_external_b.h 5:18@

                                     __exported by:__ @program-analysis\/selection_omit_external_b.h@
                                -}}
      {- ^ __C declaration:__ @struct DirectlyDependsOnOmitted@

           __defined at:__ @program-analysis\/selection_omit_external_b.h 4:8@

           __exported by:__ @program-analysis\/selection_omit_external_b.h@
      -}
    deriving stock (Eq, Show)
instance StaticSize DirectlyDependsOnOmitted
    where staticSizeOf = \_ -> 4 :: Int
          staticAlignment = \_ -> 4 :: Int
instance ReadRaw DirectlyDependsOnOmitted
    where readRaw = \ptr_0 -> pure DirectlyDependsOnOmitted <*> readRaw (Proxy @"directlyDependsOnOmitted_o") ptr_0
instance WriteRaw DirectlyDependsOnOmitted
    where writeRaw = \ptr_0 -> \s_1 -> case s_1 of
                                       DirectlyDependsOnOmitted directlyDependsOnOmitted_o_2 -> writeRaw (Proxy @"directlyDependsOnOmitted_o") ptr_0 directlyDependsOnOmitted_o_2
deriving via (EquivStorable DirectlyDependsOnOmitted) instance Storable DirectlyDependsOnOmitted
instance HasCField DirectlyDependsOnOmitted
                   "directlyDependsOnOmitted_o"
    where type CFieldType DirectlyDependsOnOmitted
                          "directlyDependsOnOmitted_o" = Omitted
          offset# = \_ -> \_ -> 0
instance TyEq ty
              (CFieldType DirectlyDependsOnOmitted
                          "directlyDependsOnOmitted_o") =>
         HasField "directlyDependsOnOmitted_o"
                  (Ptr DirectlyDependsOnOmitted)
                  (Ptr ty)
    where getField = fromPtr (Proxy @"directlyDependsOnOmitted_o")
{-| __C declaration:__ @struct IndirectlyDependsOnOmitted@

    __defined at:__ @program-analysis\/selection_omit_external_b.h 8:8@

    __exported by:__ @program-analysis\/selection_omit_external_b.h@
-}
data IndirectlyDependsOnOmitted
    = IndirectlyDependsOnOmitted {indirectlyDependsOnOmitted_d :: DirectlyDependsOnOmitted
                                  {- ^ __C declaration:__ @d@

                                       __defined at:__ @program-analysis\/selection_omit_external_b.h 9:35@

                                       __exported by:__ @program-analysis\/selection_omit_external_b.h@
                                  -}}
      {- ^ __C declaration:__ @struct IndirectlyDependsOnOmitted@

           __defined at:__ @program-analysis\/selection_omit_external_b.h 8:8@

           __exported by:__ @program-analysis\/selection_omit_external_b.h@
      -}
    deriving stock (Eq, Show)
instance StaticSize IndirectlyDependsOnOmitted
    where staticSizeOf = \_ -> 4 :: Int
          staticAlignment = \_ -> 4 :: Int
instance ReadRaw IndirectlyDependsOnOmitted
    where readRaw = \ptr_0 -> pure IndirectlyDependsOnOmitted <*> readRaw (Proxy @"indirectlyDependsOnOmitted_d") ptr_0
instance WriteRaw IndirectlyDependsOnOmitted
    where writeRaw = \ptr_0 -> \s_1 -> case s_1 of
                                       IndirectlyDependsOnOmitted indirectlyDependsOnOmitted_d_2 -> writeRaw (Proxy @"indirectlyDependsOnOmitted_d") ptr_0 indirectlyDependsOnOmitted_d_2
deriving via (EquivStorable IndirectlyDependsOnOmitted) instance Storable IndirectlyDependsOnOmitted
instance HasCField IndirectlyDependsOnOmitted
                   "indirectlyDependsOnOmitted_d"
    where type CFieldType IndirectlyDependsOnOmitted
                          "indirectlyDependsOnOmitted_d" = DirectlyDependsOnOmitted
          offset# = \_ -> \_ -> 0
instance TyEq ty
              (CFieldType IndirectlyDependsOnOmitted
                          "indirectlyDependsOnOmitted_d") =>
         HasField "indirectlyDependsOnOmitted_d"
                  (Ptr IndirectlyDependsOnOmitted)
                  (Ptr ty)
    where getField = fromPtr (Proxy @"indirectlyDependsOnOmitted_d")
