Skip to content
Snippets Groups Projects
  • Jordan Rose's avatar
    7d0dcd2d
    Omit arguments of __builtin_object_size from the CFG. · 7d0dcd2d
    Jordan Rose authored
    This builtin does not actually evaluate its arguments for side effects,
    so we shouldn't include them in the CFG. In the analyzer, rely on the
    constant expression evaluator to get the proper semantics, at least for
    now. (In the future, we could get ambitious and try to provide path-
    sensitive size values.)
    
    In theory, this does pose a problem for liveness analysis: a variable can
    be used within the __builtin_object_size argument expression but not show
    up as live. However, it is very unlikely that such a value would be used
    to compute the object size and not used to access the object in some way.
    
    <rdar://problem/14760817>
    
    git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@188679 91177308-0d34-0410-b5e6-96231b3b80d8
    7d0dcd2d
    History
    Omit arguments of __builtin_object_size from the CFG.
    Jordan Rose authored
    This builtin does not actually evaluate its arguments for side effects,
    so we shouldn't include them in the CFG. In the analyzer, rely on the
    constant expression evaluator to get the proper semantics, at least for
    now. (In the future, we could get ambitious and try to provide path-
    sensitive size values.)
    
    In theory, this does pose a problem for liveness analysis: a variable can
    be used within the __builtin_object_size argument expression but not show
    up as live. However, it is very unlikely that such a value would be used
    to compute the object size and not used to access the object in some way.
    
    <rdar://problem/14760817>
    
    git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@188679 91177308-0d34-0410-b5e6-96231b3b80d8
Code owners
Assign users and groups as approvers for specific file changes. Learn more.