summaryrefslogtreecommitdiff
path: root/test cases
diff options
context:
space:
mode:
authorVolker Weißmann <volker.weissmann@gmx.de>2025-06-02 18:04:50 +0200
committerJussi Pakkanen <jussi.pakkanen@mailbox.org>2025-06-09 21:01:09 +0300
commit4a57a5fd0cdd5064a03566f40b61c827f27ea529 (patch)
tree575074ebb07a3d786787e62c328c121653e53433 /test cases
parenta3f43cbc5b3738bd26f421d00c1b53736364954c (diff)
downloadmeson-4a57a5fd0cdd5064a03566f40b61c827f27ea529.tar.gz
AstInterpreter: Fix dead-code-crash
Without this commit, the rewriter and the static introspection tool crash if `meson.build` contains something like ```meson if false foo = not_defined endif ``` or ```meson if false message(not_defined) endif ``` While it could be argued, that you should not write stuff like this, this used to raise a `MesonBugException`, which we have to fix. Fixes #14667
Diffstat (limited to 'test cases')
-rw-r--r--test cases/rewrite/7 tricky dataflow/addSrc.json5
-rw-r--r--test cases/rewrite/7 tricky dataflow/info.json5
-rw-r--r--test cases/rewrite/7 tricky dataflow/meson.build6
-rw-r--r--test cases/unit/120 rewrite/meson.build6
4 files changed, 22 insertions, 0 deletions
diff --git a/test cases/rewrite/7 tricky dataflow/addSrc.json b/test cases/rewrite/7 tricky dataflow/addSrc.json
index 1b6aa485b..17e42926f 100644
--- a/test cases/rewrite/7 tricky dataflow/addSrc.json
+++ b/test cases/rewrite/7 tricky dataflow/addSrc.json
@@ -68,5 +68,10 @@
"type": "target",
"target": "tgt6",
"operation": "info"
+ },
+ {
+ "type": "target",
+ "target": "tgt7",
+ "operation": "info"
}
]
diff --git a/test cases/rewrite/7 tricky dataflow/info.json b/test cases/rewrite/7 tricky dataflow/info.json
index 5fc65dd8c..8d4ac553a 100644
--- a/test cases/rewrite/7 tricky dataflow/info.json
+++ b/test cases/rewrite/7 tricky dataflow/info.json
@@ -28,5 +28,10 @@
"type": "target",
"target": "tgt6",
"operation": "info"
+ },
+ {
+ "type": "target",
+ "target": "tgt7",
+ "operation": "info"
}
]
diff --git a/test cases/rewrite/7 tricky dataflow/meson.build b/test cases/rewrite/7 tricky dataflow/meson.build
index 4c183ed97..ab572ea59 100644
--- a/test cases/rewrite/7 tricky dataflow/meson.build
+++ b/test cases/rewrite/7 tricky dataflow/meson.build
@@ -33,3 +33,9 @@ dont_add_here_6 = ['foo.c']
gen = generator(find_program('cp'), output: '@BASENAME@_copy.c', arguments: ['@INPUT@', '@OUTPUT@'])
generated = gen.process(dont_add_here_6)
executable('tgt6', generated)
+
+if false
+ # Should produce a warning, but should not crash
+ var = not_defined_1
+ executable('tgt7', not_defined_2, var)
+endif
diff --git a/test cases/unit/120 rewrite/meson.build b/test cases/unit/120 rewrite/meson.build
index 545bb0fde..654b09d16 100644
--- a/test cases/unit/120 rewrite/meson.build
+++ b/test cases/unit/120 rewrite/meson.build
@@ -190,5 +190,11 @@ if a \
debug('help!')
endif
+if false
+ # Should produce a warning, but should not crash
+ foo = not_defined
+ message(not_defined)
+endif
+
# End of file comment with no linebreak \ No newline at end of file