From fc4054d7346c7584f863de4d763c75138f38bc7d Mon Sep 17 00:00:00 2001 From: Marius Gerbershagen Date: Sun, 20 Dec 2020 20:13:55 +0100 Subject: [PATCH] fix some compiler warnings __attribute__((unused)) suppresses unused variable warnings for the_env in dpp generated code. :case keyword argument in translate-pathname is unused and not required by the ANSI spec. espace_flag in sharp_colon_reader is unused and not necessary for the current implementation. ihs_function_name is unused and duplicated as ihs-fname in lsp/top.lsp --- src/c/character.d | 1 - src/c/dpp.c | 11 ++++------- src/c/pathname.d | 2 +- src/c/read.d | 4 ---- src/c/stacks.d | 28 ---------------------------- src/c/threads/rwlock.d | 1 - 6 files changed, 5 insertions(+), 42 deletions(-) diff --git a/src/c/character.d b/src/c/character.d index c3ef328a..3b6699fa 100644 --- a/src/c/character.d +++ b/src/c/character.d @@ -102,7 +102,6 @@ ecl_string_case(cl_object s) /* Returns 1 if string is all uppercase, -1 if all lowercase, and 0 if mixed case */ int upcase; cl_index i; - ecl_base_char *text; switch (ecl_t_of(s)) { #ifdef ECL_UNICODE diff --git a/src/c/dpp.c b/src/c/dpp.c index 646846ee..462361f9 100755 --- a/src/c/dpp.c +++ b/src/c/dpp.c @@ -723,14 +723,11 @@ put_declaration(void) put_lineno(); the_env_defined = 1; fprintf(out, - "#ifdef __clang__\n" - "#pragma clang diagnostic push\n" - "#pragma clang diagnostic ignored \"-Wunused-variable\"\n" - "#endif\n" + "#if defined(__clang__) || defined(__GNUC__)\n" + "\t__attribute__((unused)) const cl_env_ptr the_env = ecl_process_env();\n" + "#else\n" "\tconst cl_env_ptr the_env = ecl_process_env();\n" - "#ifdef __clang__\n" - "#pragma clang diagnostic pop\n" - "#endif\n" ); + "#endif\n"); for (i = 0; i < nopt; i++) { put_lineno(); fprintf(out, "\tcl_object %s;\n", optional[i].o_var); diff --git a/src/c/pathname.d b/src/c/pathname.d index 2ec922ba..9c73eefd 100644 --- a/src/c/pathname.d +++ b/src/c/pathname.d @@ -1709,7 +1709,7 @@ copy_list_wildcards(cl_object *wilds, cl_object to) return l; } -@(defun translate-pathname (source from to &key ((:case scase) @':local')) +@(defun translate-pathname (source from to &key) cl_object wilds, d; cl_object host, device, directory, name, type, version; cl_object fromcase, tocase; diff --git a/src/c/read.d b/src/c/read.d index ec5ba4ac..c928f547 100644 --- a/src/c/read.d +++ b/src/c/read.d @@ -962,7 +962,6 @@ sharp_colon_reader(cl_object in, cl_object ch, cl_object d) { cl_object rtbl = ecl_current_readtable(); enum ecl_chattrib a; - bool escape_flag; int c; cl_object output, token; @@ -970,7 +969,6 @@ sharp_colon_reader(cl_object in, cl_object ch, cl_object d) extra_argument(':', in, d); c = ecl_read_char_noeof(in); a = ecl_readtable_get(rtbl, c, NULL); - escape_flag = FALSE; token = si_get_buffer_string(); goto L; for (;;) { @@ -984,9 +982,7 @@ sharp_colon_reader(cl_object in, cl_object ch, cl_object d) if (a == cat_single_escape) { c = ecl_read_char_noeof(in); a = cat_constituent; - escape_flag = TRUE; } else if (a == cat_multiple_escape) { - escape_flag = TRUE; for (;;) { c = ecl_read_char_noeof(in); a = ecl_readtable_get(rtbl, c, NULL); diff --git a/src/c/stacks.d b/src/c/stacks.d index c0125ed2..98572784 100644 --- a/src/c/stacks.d +++ b/src/c/stacks.d @@ -435,34 +435,6 @@ ecl_bds_set(cl_env_ptr env, cl_object s, cl_object value) /******************** INVOCATION STACK **********************/ -static cl_object -ihs_function_name(cl_object x) -{ - cl_object y; - - switch (ecl_t_of(x)) { - case t_symbol: - return(x); - - case t_bclosure: - x = x->bclosure.code; - - case t_bytecodes: - y = x->bytecodes.name; - if (Null(y)) - return(@'lambda'); - else - return y; - - case t_cfun: - case t_cfunfixed: - return(x->cfun.name); - - default: - return(ECL_NIL); - } -} - static ecl_ihs_ptr get_ihs_ptr(cl_index n) { diff --git a/src/c/threads/rwlock.d b/src/c/threads/rwlock.d index 04a9b4c9..e55f29a1 100644 --- a/src/c/threads/rwlock.d +++ b/src/c/threads/rwlock.d @@ -198,7 +198,6 @@ mp_get_rwlock_write_nowait(cl_object lock) cl_object mp_get_rwlock_write_wait(cl_object lock) { - cl_env_ptr env = ecl_process_env(); if (ecl_t_of(lock) != t_rwlock) FEerror_not_a_rwlock(lock); #ifdef ECL_RWLOCK