Skip to content

Commit 817cdfd

Browse files
committed
Add LINK_TO_ILL_FORMED
1 parent 6d32b28 commit 817cdfd

1 file changed

Lines changed: 8 additions & 12 deletions

File tree

‎flowchart.dot.m4‎

Lines changed: 8 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,10 @@ $1 -> $4 [label="No"]
2020
define(`ILL_FORMED_NODE', `$1 [label="The program is ill-formed.", shape=box, style=filled, color=red, fontcolor=white]
2121
')
2222

23+
define(`LINK_TO_ILL_FORMED', `$1 -> $1'`__generated_ill_formed $2'`
24+
ILL_FORMED_NODE(`$1'`__generated_ill_formed')
25+
')
26+
2327
digraph initialization {
2428
start [label="So you want to initialize something?\n[dcl.init]/16", style=filled, fillcolor=green, shape=box, color=green, fontcolor=white]
2529
start -> is_braced
@@ -336,10 +340,8 @@ digraph initialization {
336340
LINK_TO_DONE(reference_temp_implicit_conv_materialize_is_dest_rval, [label="No"])
337341

338342
QUESTION_NODE(reference_temp_implicit_conv_materialize_is_source_lval, `Is the initializer an lvalue?', `[dcl.init.ref]/5.4.4')
339-
reference_temp_implicit_conv_materialize_is_source_lval -> reference_temp_implicit_conv_materialize_source_lval_ill_formed [label="Yes"]
343+
LINK_TO_ILL_FORMED(reference_temp_implicit_conv_materialize_is_source_lval, [label="Yes"])
340344
LINK_TO_DONE(reference_temp_implicit_conv_materialize_is_source_lval, [label="No"])
341-
342-
ILL_FORMED_NODE(reference_temp_implicit_conv_materialize_source_lval_ill_formed)
343345
}
344346

345347
subgraph value_initialization {
@@ -463,11 +465,9 @@ digraph initialization {
463465
list_class_ctors -> list_class_is_narrowing
464466

465467
QUESTION_NODE(list_class_is_narrowing, `Is a narrowing conversion required to convert any of the arguments?', `[dcl.init.list]/3.7')
466-
list_class_is_narrowing -> list_class_narrowing_ill_formed [label="Yes"]
468+
LINK_TO_ILL_FORMED(list_class_is_narrowing, [label="Yes"])
467469
LINK_TO_DONE(list_class_is_narrowing, [label="No"])
468470

469-
ILL_FORMED_NODE(list_class_narrowing_ill_formed)
470-
471471
YN_QUESTION_NODE(list_is_enum, `Is the type an enumeration?', `[dcl.init.list]/3.8', list_enum_is_fixed, list_final_is_singleton)
472472

473473
YN_QUESTION_NODE(list_enum_is_fixed, `Does the enumeration have fixed underlying type?', `[dcl.init.list]/3.8', list_enum_underlying_defn, list_final_is_singleton)
@@ -484,9 +484,7 @@ digraph initialization {
484484

485485
YN_QUESTION_NODE(list_enum_is_direct, `Is the initialization direct-list-initialization?', `[dcl.init.list]/3.8', list_enum_is_narrowing, list_final_is_singleton)
486486

487-
list_enum_is_narrowing [label="Is a narrowing conversion required to convert v to U?\n[dcl.init.list]/3.8"]
488-
list_enum_is_narrowing -> list_enum_narrowing_ill_formed [label="Yes"]
489-
list_enum_is_narrowing -> list_enum_initialization [label="No"]
487+
YN_QUESTION_NODE(list_enum_is_narrowing, `Is a narrowing conversion required to convert v to U?', `[dcl.init.list]/3.8', list_enum_narrowing_ill_formed, list_enum_initialization)
490488

491489
INSTRUCTION_NODE(list_enum_initialization, `The object is initialized with the value T(u).')
492490
LINK_TO_DONE(list_enum_initialization)
@@ -515,10 +513,8 @@ digraph initialization {
515513
list_final_singleton_copy -> list_final_singleton_is_narrowing
516514

517515
QUESTION_NODE(list_final_singleton_is_narrowing, `Is a narrowing conversion required to convert the element to the destination type?', `[dcl.init.list]/3.9')
516+
LINK_TO_ILL_FORMED(list_final_singleton_is_narrowing, [label="Yes"])
518517
LINK_TO_DONE(list_final_singleton_is_narrowing, [label="No"])
519-
list_final_singleton_is_narrowing -> list_final_singleton_narrowing_ill_formed [label="Yes"]
520-
521-
ILL_FORMED_NODE(list_final_singleton_narrowing_ill_formed)
522518

523519
YN_QUESTION_NODE(list_ref_prvalue_is_ref, `Is the destination type a reference type?', `[dcl.init.list]/3.10', list_ref_prvalue_prvalue_generated, list_final_is_empty)
524520

0 commit comments

Comments
 (0)