-- addDependentFile examples/golden/program-analysis/selection_fail.h
{-| __C declaration:__ @struct OkBefore@

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

    __exported by:__ @program-analysis\/selection_fail.h@
-}
data OkBefore
    = OkBefore {okBefore_x :: CInt
                {- ^ __C declaration:__ @x@

                     __defined at:__ @program-analysis\/selection_fail.h 2:7@

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

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

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