aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--mesonbuild/interpreter.py7
-rw-r--r--test cases/common/236 invalid standard overriden to valid/main.c3
-rw-r--r--test cases/common/236 invalid standard overriden to valid/meson.build8
-rw-r--r--test cases/common/236 invalid standard overriden to valid/test.json9
4 files changed, 22 insertions, 5 deletions
diff --git a/mesonbuild/interpreter.py b/mesonbuild/interpreter.py
index f670aec..2bc1afb 100644
--- a/mesonbuild/interpreter.py
+++ b/mesonbuild/interpreter.py
@@ -2476,13 +2476,10 @@ class Interpreter(InterpreterBase):
# TODO: Why is this in interpreter.py and not CoreData or Environment?
def get_non_matching_default_options(self) -> T.Iterator[T.Tuple[str, str, coredata.UserOption]]:
- env = self.environment
for def_opt_name, def_opt_value in self.project_default_options.items():
cur_opt_value = self.coredata.options.get(def_opt_name)
- if cur_opt_value is not None:
- def_opt_value = env.coredata.validate_option_value(def_opt_name, def_opt_value)
- if def_opt_value != cur_opt_value.value:
- yield (str(def_opt_name), def_opt_value, cur_opt_value)
+ if cur_opt_value is not None and def_opt_value != cur_opt_value.value:
+ yield (str(def_opt_name), def_opt_value, cur_opt_value)
def build_func_dict(self):
self.funcs.update({'add_global_arguments': self.func_add_global_arguments,
diff --git a/test cases/common/236 invalid standard overriden to valid/main.c b/test cases/common/236 invalid standard overriden to valid/main.c
new file mode 100644
index 0000000..9b6bdc2
--- /dev/null
+++ b/test cases/common/236 invalid standard overriden to valid/main.c
@@ -0,0 +1,3 @@
+int main(void) {
+ return 0;
+}
diff --git a/test cases/common/236 invalid standard overriden to valid/meson.build b/test cases/common/236 invalid standard overriden to valid/meson.build
new file mode 100644
index 0000000..9463e43
--- /dev/null
+++ b/test cases/common/236 invalid standard overriden to valid/meson.build
@@ -0,0 +1,8 @@
+project(
+ 'invalid C standard overriden to valid one',
+ 'c',
+ default_options : ['c_std=invalid99'],
+)
+
+exe = executable('main', 'main.c')
+test('main', exe)
diff --git a/test cases/common/236 invalid standard overriden to valid/test.json b/test cases/common/236 invalid standard overriden to valid/test.json
new file mode 100644
index 0000000..c9b00ce
--- /dev/null
+++ b/test cases/common/236 invalid standard overriden to valid/test.json
@@ -0,0 +1,9 @@
+{
+ "matrix": {
+ "options": {
+ "c_std": [
+ { "val": "c89" }
+ ]
+ }
+ }
+}