# HG changeset patch # User William Astle # Date 1359702259 25200 # Node ID 0c4b3e8b4d0bcdaf023da417c13e800be51ba85e # Parent ebda5c96665e09729db3b6c04cedce3fbb941157 Fix pragma nosymbolcase interaction with -D Actually make --pragma=nosymbolcase flag symbols defined subsequently on the command line as not being case sensitive. Otherwise, things don't behave quite as expected. There is still a gotcha in that if the -D appears before the --pragma option, the symbol will still be case sensitive. diff -r ebda5c96665e -r 0c4b3e8b4d0b lwasm/pragma.c --- a/lwasm/pragma.c Thu Jan 31 19:34:54 2013 -0700 +++ b/lwasm/pragma.c Fri Feb 01 00:04:19 2013 -0700 @@ -73,6 +73,7 @@ while (np) { p = lw_token(np, ',', &np); + debug_message(as, 200, "Setting pragma %s", p); for (i = 0; set_pragmas[i].setstr; i++) { if (!strcasecmp(p, set_pragmas[i].setstr)) diff -r ebda5c96665e -r 0c4b3e8b4d0b lwasm/symbol.c --- a/lwasm/symbol.c Thu Jan 31 19:34:54 2013 -0700 +++ b/lwasm/symbol.c Fri Feb 01 00:04:19 2013 -0700 @@ -185,6 +185,10 @@ { nse -> flags |= symbol_flag_nocase; } + if (!cl && (as -> pragmas & PRAGMA_SYMBOLNOCASE)) + { + nse -> flags |= symbol_flag_nocase; + } nse -> value = lw_expr_copy(val); nse -> symbol = lw_strdup(sym); nse -> right = NULL;