diff options
| author | Volker Weißmann <volker.weissmann@gmx.de> | 2025-06-02 18:04:50 +0200 |
|---|---|---|
| committer | Jussi Pakkanen <jussi.pakkanen@mailbox.org> | 2025-06-09 21:01:09 +0300 |
| commit | 4a57a5fd0cdd5064a03566f40b61c827f27ea529 (patch) | |
| tree | 575074ebb07a3d786787e62c328c121653e53433 /test cases | |
| parent | a3f43cbc5b3738bd26f421d00c1b53736364954c (diff) | |
| download | meson-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.json | 5 | ||||
| -rw-r--r-- | test cases/rewrite/7 tricky dataflow/info.json | 5 | ||||
| -rw-r--r-- | test cases/rewrite/7 tricky dataflow/meson.build | 6 | ||||
| -rw-r--r-- | test cases/unit/120 rewrite/meson.build | 6 |
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 |
