Commit ea08176
authored
fortitude: Enable nonportable-shortcircuit-inquiry rule (#45)
(from fortitude's explanation)
Unlike many other languages, the Fortran standard doesn't mandate (or prohibit)
short-circuiting in logical expressions, so different compilers have different
behaviour when it comes to evaluating such expressions. This is commonly encountered
when using present() with an optional dummy argument and checking its value in the
same expression. Without short-circuiting, this can lead to segmentation faults when
the expression is evaluated if the argument isn't present.1 parent 32fbffb commit ea08176
3 files changed
Lines changed: 20 additions & 11 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
7 | | - | |
8 | 7 | | |
9 | 8 | | |
10 | 9 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
271 | 271 | | |
272 | 272 | | |
273 | 273 | | |
274 | | - | |
275 | | - | |
| 274 | + | |
| 275 | + | |
| 276 | + | |
| 277 | + | |
276 | 278 | | |
277 | 279 | | |
278 | 280 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
266 | 266 | | |
267 | 267 | | |
268 | 268 | | |
269 | | - | |
270 | | - | |
| 269 | + | |
| 270 | + | |
| 271 | + | |
| 272 | + | |
271 | 273 | | |
272 | 274 | | |
273 | 275 | | |
| |||
684 | 686 | | |
685 | 687 | | |
686 | 688 | | |
687 | | - | |
688 | | - | |
| 689 | + | |
| 690 | + | |
| 691 | + | |
| 692 | + | |
689 | 693 | | |
690 | 694 | | |
691 | 695 | | |
| |||
778 | 782 | | |
779 | 783 | | |
780 | 784 | | |
781 | | - | |
782 | | - | |
| 785 | + | |
| 786 | + | |
| 787 | + | |
| 788 | + | |
783 | 789 | | |
784 | 790 | | |
785 | 791 | | |
| |||
838 | 844 | | |
839 | 845 | | |
840 | 846 | | |
841 | | - | |
842 | | - | |
| 847 | + | |
| 848 | + | |
| 849 | + | |
| 850 | + | |
843 | 851 | | |
844 | 852 | | |
845 | 853 | | |
| |||
0 commit comments