language-c-0.9.0.2: Analysis and generation of C code
Safe HaskellNone
LanguageHaskell2010

Language.C.Analysis.ConstEval

Synopsis

Documentation

data MachineDesc #

Constructors

MachineDesc 

Fields

intExpr :: (Pos n, MonadName m) => n -> Integer -> m CExpr #

sizeofType :: (MonadTrav m, CNode n) => MachineDesc -> n -> Type -> m Integer #

alignofType :: (MonadTrav m, CNode n) => MachineDesc -> n -> Type -> m Integer #

compSizeAndAlign #

Arguments

:: MonadTrav m 
=> MachineDesc 
-> CompTypeRef 
-> m (Integer, Integer)

(size, alignment)

roundToAlignment #

Arguments

:: Integer

The alignment

-> Integer

The value to align

-> Integer

The next multiple of alignment

Find the next multiple of an alignment

intOp :: CBinaryOp -> Integer -> Integer -> Integer #

intUnOp :: CUnaryOp -> Integer -> Maybe Integer #

withWordBytes :: Int -> Integer -> Integer #

boolValue :: CExpr -> Maybe Bool #

intValue :: CExpr -> Maybe Integer #