Branch: Tag:

2004-05-27

2004-05-27 19:01:20 by Martin Stjernholm <mast@lysator.liu.se>

Test that #if conditions inside disabled blocks aren't evaluated.

Rev: src/testsuite.in:1.728

1:   START_MARKER - test_true([["$Id: testsuite.in,v 1.727 2004/05/19 19:00:17 mast Exp $"]]); + test_true([["$Id: testsuite.in,v 1.728 2004/05/27 19:01:20 mast Exp $"]]);      // This triggered a bug only if run sufficiently early.   test_compile_any([[#pike 7.2]])
7582:   mixed a() {return functionp(X(Y));}   ")()->a()]])    + test_do([[ +  Stdio.write_file("testsuite_test.pmod", "#error foo"); +  object orig_master = master(); +  replace_master(object_program(orig_master)()); +  mixed err = catch { +  compile_string(#" + #ifdef NONEXISTING_DEFINE + #error Not expected + #if constant (.testsuite_test) + #error Not expected either + #endif + #endif", "testsuite_test"); +  }; +  replace_master(orig_master); +  if (err) throw (err); + ]]); +  + test_do([[ +  Stdio.write_file("testsuite_test.pmod", "#error foo"); +  object orig_master = master(); +  replace_master(object_program(orig_master)()); +  mixed err = catch { +  compile_string(#" + #if defined (NONEXISTING_DEFINE) && constant (.testsuite_test) + #error Not expected + #endif", "testsuite_test"); +  }; +  replace_master(orig_master); +  if (err) throw (err); + ]]); +    test_any([[    class handler {mapping get_predefines() {return (["x": "1", "y": "", "z": 0]);}};    return cpp ("x y z p", "-", 0, handler());