• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

daisytuner / sdfglib / 20764569418

06 Jan 2026 10:50PM UTC coverage: 62.168% (+21.4%) from 40.764%
20764569418

push

github

web-flow
Merge pull request #433 from daisytuner/clang-coverage

updates clang coverage flags

14988 of 24109 relevant lines covered (62.17%)

88.57 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

0.0
/src/data_flow/library_nodes/stdlib/trap.cpp
1
#include "sdfg/data_flow/library_nodes/stdlib/trap.h"
2

3
namespace sdfg {
4
namespace stdlib {
5

6
TrapNode::TrapNode(
7
    size_t element_id, const DebugInfo& debug_info, const graph::Vertex vertex, data_flow::DataFlowGraph& parent
8
)
9
    : LibraryNode(
×
10
          element_id, debug_info, vertex, parent, LibraryNodeType_Trap, {}, {}, true, data_flow::ImplementationType_NONE
×
11
      ) {}
×
12

13
void TrapNode::validate(const Function& function) const {}
×
14

15
symbolic::SymbolSet TrapNode::symbols() const { return symbolic::SymbolSet(); }
×
16

17
std::unique_ptr<data_flow::DataFlowNode> TrapNode::
18
    clone(size_t element_id, const graph::Vertex vertex, data_flow::DataFlowGraph& parent) const {
×
19
    return std::make_unique<TrapNode>(element_id, debug_info_, vertex, parent);
×
20
}
×
21

22
void TrapNode::replace(const symbolic::Expression old_expression, const symbolic::Expression new_expression) {
×
23
    this->size_ = symbolic::subs(this->size_, old_expression, new_expression);
×
24
}
×
25

26
nlohmann::json TrapNodeSerializer::serialize(const data_flow::LibraryNode& library_node) {
×
27
    const TrapNode& node = static_cast<const TrapNode&>(library_node);
×
28

29
    nlohmann::json j;
×
30
    j["code"] = node.code().value();
×
31

32
    return j;
×
33
}
×
34

35
data_flow::LibraryNode& TrapNodeSerializer::deserialize(
36
    const nlohmann::json& j, builder::StructuredSDFGBuilder& builder, structured_control_flow::Block& parent
37
) {
×
38
    assert(j.contains("code"));
×
39
    assert(j.contains("debug_info"));
×
40

41
    auto code = j["code"].get<std::string>();
×
42
    if (code != LibraryNodeType_Trap.value()) {
×
43
        throw InvalidSDFGException("Invalid library node code");
×
44
    }
×
45

46
    sdfg::serializer::JSONSerializer serializer;
×
47
    DebugInfo debug_info = serializer.json_to_debug_info(j["debug_info"]);
×
48

49
    return builder.add_library_node<TrapNode>(parent, debug_info);
×
50
}
×
51

52
TrapNodeDispatcher::TrapNodeDispatcher(
53
    codegen::LanguageExtension& language_extension,
54
    const Function& function,
55
    const data_flow::DataFlowGraph& data_flow_graph,
56
    const TrapNode& node
57
)
58
    : codegen::LibraryNodeDispatcher(language_extension, function, data_flow_graph, node) {}
×
59

60
void TrapNodeDispatcher::dispatch_code(
61
    codegen::PrettyPrinter& stream,
62
    codegen::PrettyPrinter& globals_stream,
63
    codegen::CodeSnippetFactory& library_snippet_factory
64
) {
×
65
    auto& node = static_cast<const TrapNode&>(node_);
×
66

67
    stream << "__builtin_trap()" << ";";
×
68
    stream << std::endl;
×
69
}
×
70

71
} // namespace stdlib
72
} // namespace sdfg
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc