From cbb126917f136f7a3595a1e715676074f6858f43 Mon Sep 17 00:00:00 2001 From: Simon Tatham Date: Fri, 14 Mar 2003 21:20:32 +0000 Subject: [PATCH] While I'm adding explanatory comments by the coroutine macros, it occurs to me that would also be a good place to put a copy of the instructions for disabling Edit and Continue debugging. Nobody _actually_ reads the README, after all... [originally from svn r2935] --- ssh.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/ssh.c b/ssh.c index 82fbf152..662d521f 100644 --- a/ssh.c +++ b/ssh.c @@ -277,6 +277,17 @@ enum { PKT_END, PKT_INT, PKT_CHAR, PKT_DATA, PKT_STR, PKT_BIGNUM }; * http://www.chiark.greenend.org.uk/~sgtatham/coroutines.html * * which explains the theory behind these macros. + * + * In particular, if you are getting `case expression not constant' + * errors when building with MS Visual Studio, this is because MS's + * Edit and Continue debugging feature causes their compiler to + * violate ANSI C. To disable Edit and Continue debugging: + * + * - right-click ssh.c in the FileView + * - click Settings + * - select the C/C++ tab and the General category + * - under `Debug info:', select anything _other_ than `Program + * Database for Edit and Continue'. */ #define crBegin(v) { int *crLine = &v; switch(v) { case 0:; #define crState(t) \ -- 2.45.2