From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,FREEMAIL_FROM,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED, T_SCC_BODY_TEXT_LINE,UNPARSEABLE_RELAY autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 18327 invoked from network); 15 Sep 2022 02:42:22 -0000 Received: from zero.zsh.org (2a02:898:31:0:48:4558:7a:7368) by inbox.vuxu.org with ESMTPUTF8; 15 Sep 2022 02:42:22 -0000 ARC-Seal: i=1; cv=none; a=rsa-sha256; d=zsh.org; s=rsa-20210803; t=1663209742; b=d7ec1fD/Zwq9UZEBWrVNdFWD8CZfxzsV8PpNRgWTNltXvQAL8fa4qJDaS/tVPAPZutpgqCnMyT fsGaFAv4eRILK9Xv88t1qcWlmrkl7uRXPmYNI80Gz3P6XDYQqNP1TlQ2gkClDdtcYJNNxjDvld avXCwl5aRR4fXfNVqC9pNqnJNvrJAMeYypVNr1eciTi6CA6p7zNK5TT2o0hfXxhYkbspeaAbZx 8X5PJIZWpVmorw0hfGa1rWEqVukFuapzS7RKpKGj1knJYnv2HPha7z8vQ6YbbZdzpDkrudjjeA yKOAq39uQfI9mIFmnveKfxv8xXrH6v4LHuWm615oXJSIjw==; ARC-Authentication-Results: i=1; zsh.org; iprev=pass (mail-qk1-f179.google.com) smtp.remote-ip=209.85.222.179; dkim=pass header.d=gmail.com header.s=20210112 header.a=rsa-sha256; dmarc=pass header.from=gmail.com; arc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed; d=zsh.org; s=rsa-20210803; t=1663209742; bh=FS9iK5k0cpOF8Dcaj9rWHfq4gtZjuVaO9dsiMzYQnkY=; h=List-Archive:List-Owner:List-Post:List-Unsubscribe:List-Subscribe:List-Help: List-Id:Sender:Content-Transfer-Encoding:MIME-Version:Message-ID:Date: Subject:Cc:To:From:DKIM-Signature:DKIM-Signature; b=fVYrgjRyj+mRdsQQj8fBzpCWaFrJ+ifaftW+1TopO7kPHikNH1lzVnAuaewKyB2/0fFcgA+3AY NlCiHCucL8F2yPPuCOsGrtz1Hpqv4Of3L4fxOeGvEV4iOL68FJaALAemdunslIkIEzwHHm7bPG wRe8rVtlH60JAmkkkZLJP0MZcZHn36vJB+qDyTDZkylVGCVJUP0WvpmM/UqY8my209femg+8uu sWA4nrV9tkw81b7tbj/nR7DHr8C5qfWXG+KAVTTwUPLDb7HWBo+XVPryKluEaXmVPRsYl8zaye 8oUzbHj7ZZ6VNsDnaTQK1FpR7iVqLKrp6tTEgEhmMTj9Gw==; DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=zsh.org; s=rsa-20210803; h=List-Archive:List-Owner:List-Post:List-Unsubscribe: List-Subscribe:List-Help:List-Id:Sender:Content-Transfer-Encoding: MIME-Version:Message-Id:Date:Subject:Cc:To:From:Reply-To:Content-Type: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References; bh=neZwEsYH8axgVMGp7xb7jXsDjYhYP8AfVqW+RqNX2JI=; b=bZYygf2AfNTauT56VWvyXgi5Ee IY2zG7qpG0yq5jLxmQu2GnVI5DZjiufe4qaR2vUIpjmojCuqvXK5xo7B5/jVUkLTqbaUpHo9OGDt4 0rEwBAPDapUkCdUAcmpc0cJyhlCIkGk6BDCrqACWNo1C2oZReOGocuYfYPSTph1txAYlHhBF0I8n3 7nIwM+AQ0R7WFu3hM2y6RpaD3DZ+0c2VdXNXWfYZg+hfBdqv6LB3DoZLMVtj3RtRoRDbVVMRsLrHh JN75VbFLNqgTQkoPPOZ729kXezPaE5qpA/4m856Id+j6EQofhA8/KbwqmqJdtA8k7X0UTKk5tjgU3 9wjmMtog==; Received: from authenticated user by zero.zsh.org with local id 1oYepa-000JpR-2P; Thu, 15 Sep 2022 02:42:22 +0000 Authentication-Results: zsh.org; iprev=pass (mail-qk1-f179.google.com) smtp.remote-ip=209.85.222.179; dkim=pass header.d=gmail.com header.s=20210112 header.a=rsa-sha256; dmarc=pass header.from=gmail.com; arc=none Received: from mail-qk1-f179.google.com ([209.85.222.179]:40906) by zero.zsh.org with esmtps (TLS1.3:TLS_AES_128_GCM_SHA256:128) id 1oYekM-000JMi-CM; Thu, 15 Sep 2022 02:36:59 +0000 Received: by mail-qk1-f179.google.com with SMTP id c19so10401191qkm.7 for ; Wed, 14 Sep 2022 19:36:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date; bh=neZwEsYH8axgVMGp7xb7jXsDjYhYP8AfVqW+RqNX2JI=; b=KF2BALPKl9ljM5IQBUlSnlhqX9kRVVCNNXXLXKSWYPG3EJDwbJ1jwXJoDsm2IkzDKr 27Z5a659Z1NtOuEMNhib2UdlEhJskr2AFMNnuTAQ0m4o8pYtiNXQIS8+odoumBSA4RcM DCpGzEWs1r8VhFuSuJDLxgP/cWkVbpCp1HMgwGULrtnnbWhVgpdMEPgqzq5OEB0BJXnr INczMZZW2gmEugk3d9fzjmXDQ/7RiWNO1mD1JBW6QAAiGud0oNtslu+4OTASGXWy65UU eaZtqoa34KwG+wiPnjVFFYk6+Ele0WrvH4XCH77pzuUO+dajWsIDC8NqME+cg1GRz835 V2EA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date; bh=neZwEsYH8axgVMGp7xb7jXsDjYhYP8AfVqW+RqNX2JI=; b=4hgPFCy7KCyLLbaFacQ/ezKj8Rr3fmsBsrA6wM6MksfWIphXzXvna/Ri02NmV+tkcj 7Qa43cnaRAWynFJ0+gAoSdGPaPsk0eug7INyJ2HZ+h7Wg9PTjjT0EOKG6IDodwzQh5de 78X09mclqRMltKeEhPjV/gZ0RoESKuabegA0jvA4Vqn4Ev0z4XtZWY59pLPS5IgvVPBn RwAZM7pTp/gTyGKAoEE1I4j0WprMpjcpm4AdZEBG8fONdATeHAoMUubKIc7h4FkL0bnK kx7SNu6v+Nmd44JUPQaqS6O4E9ZbAhTV7fGbp3H7g6LN743WwM14RoSIk3INQKwxFLOY JSTQ== X-Gm-Message-State: ACgBeo2v8Eyc2TdRwORp0KvucD3S2OAf8T3xnl+Uvc5JACcmWle45o2u W7/oF4DqPV3u/BNdOUHnluvFE0uBrQc= X-Google-Smtp-Source: AA6agR5OWmbhaoNhihpdKaClqE5v94IxGiNf96Yaurf2ZZpdau5ByWsIqK60+I7e+PtHFVzNvx9iqA== X-Received: by 2002:a05:620a:1727:b0:6ce:9bb6:404a with SMTP id az39-20020a05620a172700b006ce9bb6404amr2924262qkb.184.1663209416639; Wed, 14 Sep 2022 19:36:56 -0700 (PDT) Received: from localhost.localdomain ([2602:47:d947:3300:e23f:49ff:fe19:abd0]) by smtp.googlemail.com with ESMTPSA id l19-20020a05620a28d300b006b60d5a7205sm3464974qkp.51.2022.09.14.19.36.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 14 Sep 2022 19:36:56 -0700 (PDT) From: Nicholas Vinson To: zsh-workers@zsh.org Cc: Nicholas Vinson Subject: [PATCH] Fix configure test build errors with clang-15 Date: Wed, 14 Sep 2022 22:36:24 -0400 Message-Id: <20220915023624.3384-1-nvinson234@gmail.com> X-Mailer: git-send-email 2.37.3 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Seq: 50634 Archived-At: X-Loop: zsh-workers@zsh.org Errors-To: zsh-workers-owner@zsh.org Precedence: list Precedence: bulk Sender: zsh-workers-request@zsh.org X-no-archive: yes List-Id: List-Help: List-Subscribe: List-Unsubscribe: List-Post: List-Owner: List-Archive: When building with clang-15.0.0, I discovered several configure tests incorrectly fail because clang-15.0.0 errors with messages similar to: "error: type specifier missing, defaults to 'int'" and similar such errors. These failed tests ultimately cause zsh to be built incorrectly, and can cause commands such as eval to hang indefinitely. For an example of this behavior please see https://bugs.gentoo.org/869539. This patch fixes the configure tests, so they do not incorrectly fail. Thanks, Nicholas Vinson Signed-off-by: Nicholas Vinson --- aczsh.m4 | 58 ++++++++++++++++++++++++------------------- configure.ac | 70 +++++++++++++++++++++++++--------------------------- 2 files changed, 66 insertions(+), 62 deletions(-) diff --git a/aczsh.m4 b/aczsh.m4 index 1209ac614..2cfb4e5db 100644 --- a/aczsh.m4 +++ b/aczsh.m4 @@ -44,6 +44,7 @@ AC_DEFUN(zsh_64_BIT_TYPE, #include #endif +int main() { $1 foo = 0; @@ -146,29 +147,30 @@ char *zsh_gl_sym_addr ; #define RTLD_GLOBAL 0 #endif +int main() { void *handle1, *handle2; void *(*zsh_getaddr1)(), *(*zsh_getaddr2)(); void *sym1, *sym2; handle1 = dlopen("./conftest1.$DL_EXT", RTLD_LAZY | RTLD_GLOBAL); - if(!handle1) exit(1); + if(!handle1) return(1); handle2 = dlopen("./conftest2.$DL_EXT", RTLD_LAZY | RTLD_GLOBAL); - if(!handle2) exit(1); + if(!handle2) return(1); zsh_getaddr1 = (void *(*)()) dlsym(handle1, "${us}zsh_getaddr1"); zsh_getaddr2 = (void *(*)()) dlsym(handle2, "${us}zsh_getaddr2"); sym1 = zsh_getaddr1(); sym2 = zsh_getaddr2(); - if(!sym1 || !sym2) exit(1); - if(sym1 != sym2) exit(1); + if(!sym1 || !sym2) return(1); + if(sym1 != sym2) return(1); dlclose(handle1); handle1 = dlopen("./conftest1.$DL_EXT", RTLD_LAZY | RTLD_GLOBAL); - if(!handle1) exit(1); + if(!handle1) return(1); zsh_getaddr1 = (void *(*)()) dlsym(handle1, "${us}zsh_getaddr1"); sym1 = zsh_getaddr1(); - if(!sym1) exit(1); - if(sym1 != sym2) exit(1); - exit(0); + if(!sym1) return(1); + if(sym1 != sym2) return(1); + return(0); } ]])],[zsh_cv_shared_$1=yes], [zsh_cv_shared_$1=no], @@ -228,19 +230,19 @@ char *zsh_gl_sym_addr ; #define RTLD_GLOBAL 0 #endif - +int main() { void *handle1, *handle2; int (*fred1)(), (*fred2)(); handle1 = dlopen("./conftest1.$DL_EXT", RTLD_LAZY | RTLD_GLOBAL); - if(!handle1) exit(1); + if(!handle1) return(1); handle2 = dlopen("./conftest2.$DL_EXT", RTLD_LAZY | RTLD_GLOBAL); - if(!handle2) exit(1); + if(!handle2) return(1); fred1 = (int (*)()) dlsym(handle1, "${us}fred"); fred2 = (int (*)()) dlsym(handle2, "${us}fred"); - if(!fred1 || !fred2) exit(1); - exit((*fred1)() != 42 || (*fred2)() != 69); + if(!fred1 || !fred2) return(1); + return((*fred1)() != 42 || (*fred2)() != 69); } ]])],[zsh_cv_sys_dynamic_clash_ok=yes], [zsh_cv_sys_dynamic_clash_ok=no], @@ -304,17 +306,18 @@ char *zsh_gl_sym_addr ; #define RTLD_GLOBAL 0 #endif +int main() { void *handle; int (*barneysym)(); handle = dlopen("./conftest1.$DL_EXT", RTLD_LAZY | RTLD_GLOBAL); - if(!handle) exit(1); + if(!handle) return(1); handle = dlopen("./conftest2.$DL_EXT", RTLD_LAZY | RTLD_GLOBAL); - if(!handle) exit(1); + if(!handle) return(1); barneysym = (int (*)()) dlsym(handle, "${us}barney"); - if(!barneysym) exit(1); - exit((*barneysym)() != 69); + if(!barneysym) return(1); + return((*barneysym)() != 69); } ]])],[zsh_cv_sys_dynamic_rtld_global=yes], [zsh_cv_sys_dynamic_rtld_global=no], @@ -374,15 +377,16 @@ char *zsh_gl_sym_addr ; #define RTLD_GLOBAL 0 #endif +int main() { void *handle; int (*barneysym)(); handle = dlopen("./conftest1.$DL_EXT", RTLD_LAZY | RTLD_GLOBAL); - if(!handle) exit(1); + if(!handle) return(1); barneysym = (int (*)()) dlsym(handle, "${us}barney"); - if(!barneysym) exit(1); - exit((*barneysym)() != 69); + if(!barneysym) return(1); + return((*barneysym)() != 69); } int fred () { return 42; } @@ -448,15 +452,16 @@ char *zsh_gl_sym_addr ; #define RTLD_GLOBAL 0 #endif +int main() { void *handle; int (*barneysym)(); handle = dlopen("./conftest1.$DL_EXT", RTLD_LAZY | RTLD_GLOBAL); - if(!handle) exit(1); + if(!handle) return(1); barneysym = (int (*)()) dlsym(handle, "${us}barney"); - if(!barneysym) exit(1); - exit((*barneysym)() != 69); + if(!barneysym) return(1); + return((*barneysym)() != 69); } int fred () { return 42; } @@ -516,15 +521,16 @@ char *zsh_gl_sym_addr ; #define RTLD_GLOBAL 0 #endif +int main() { void *handle; int (*fredsym)(); handle = dlopen("./conftest1.$DL_EXT", RTLD_LAZY | RTLD_GLOBAL); - if(!handle) exit(1); + if(!handle) return(1); fredsym = (int (*)()) dlsym(handle, "${us}fred"); - if(!fredsym) exit(1); - exit((*fredsym)() != 42); + if(!fredsym) return(1); + return((*fredsym)() != 42); } ]])],[zsh_cv_sys_dynamic_strip_lib=yes], [zsh_cv_sys_dynamic_strip_lib=no], diff --git a/configure.ac b/configure.ac index 890ef8dd2..958ac7cd7 100644 --- a/configure.ac +++ b/configure.ac @@ -585,7 +585,7 @@ fi dnl Checking if compiler correctly cast signed to unsigned. AC_CACHE_CHECK(if signed to unsigned casting is broken, zsh_cv_c_broken_signed_to_unsigned_casting, -[AC_RUN_IFELSE([AC_LANG_SOURCE([[main(){return((int)(unsigned char)((char) -1) == 255);}]])],[zsh_cv_c_broken_signed_to_unsigned_casting=yes],[zsh_cv_c_broken_signed_to_unsigned_casting=no],[zsh_cv_c_broken_signed_to_unsigned_casting=no])]) +[AC_RUN_IFELSE([AC_LANG_SOURCE([[int main(){return((int)(unsigned char)((char) -1) == 255);}]])],[zsh_cv_c_broken_signed_to_unsigned_casting=yes],[zsh_cv_c_broken_signed_to_unsigned_casting=no],[zsh_cv_c_broken_signed_to_unsigned_casting=no])]) AH_TEMPLATE([BROKEN_SIGNED_TO_UNSIGNED_CASTING], [Define to 1 if compiler incorrectly cast signed to unsigned.]) if test x$zsh_cv_c_broken_signed_to_unsigned_casting = xyes; then @@ -1046,7 +1046,7 @@ else [AC_RUN_IFELSE([AC_LANG_SOURCE([[ #include -main() { return sizeof(off_t) < 8; } +int main() { return sizeof(off_t) < 8; } ]])],[zsh_cv_off_t_is_64_bit=yes],[zsh_cv_off_t_is_64_bit=no],[zsh_cv_off_t_is_64_bit=no])]) if test x$zsh_cv_off_t_is_64_bit = xyes; then AC_DEFINE(OFF_T_IS_64_BIT) @@ -1056,7 +1056,7 @@ main() { return sizeof(off_t) < 8; } [AC_RUN_IFELSE([AC_LANG_SOURCE([[ #include -main() { return sizeof(ino_t) < 8; } +int main() { return sizeof(ino_t) < 8; } ]])],[zsh_cv_ino_t_is_64_bit=yes],[zsh_cv_ino_t_is_64_bit=no],[zsh_cv_ino_t_is_64_bit=no])]) if test x$zsh_cv_ino_t_is_64_bit = xyes; then AC_DEFINE(INO_T_IS_64_BIT) @@ -1396,7 +1396,7 @@ zsh_cv_func_tgetent_accepts_null, #include int tgetent(char *, char *); char *tgetstr(char *, char **); -main() +int main() { char buf[4096]; int r1 = tgetent(buf, "vt100"); @@ -1407,7 +1407,7 @@ main() tgetstr("cl", &u); creat("conftest.tgetent", 0640); } - exit((r1 != r2) || r2 == -1); + return((r1 != r2) || r2 == -1); } ]])],[if test -f conftest.tgetent; then zsh_cv_func_tgetent_accepts_null=yes @@ -1424,7 +1424,7 @@ zsh_cv_func_tgetent_zero_success, #include int tgetent(char *, char*); char *tgetstr(char *, char **); -main() +int main() { char buf[4096]; int r1 = tgetent(buf, "!@#$%^&*"); @@ -1435,7 +1435,7 @@ main() tgetstr("cl", &u); creat("conftest.tgetent0", 0640); } - exit(r1 == r2); + return(r1 == r2); } ]])],[if test -f conftest.tgetent0; then zsh_cv_func_tgetent_zero_success=yes @@ -1870,7 +1870,7 @@ zsh_cv_rlim_t_is_longer, #endif #include #include -main(){struct rlimit r;exit(sizeof(r.rlim_cur) <= sizeof(long));}]])],[zsh_cv_rlim_t_is_longer=yes],[zsh_cv_rlim_t_is_longer=no],[zsh_cv_rlim_t_is_longer=yes])]) +int main(){struct rlimit r;return(sizeof(r.rlim_cur) <= sizeof(long));}]])],[zsh_cv_rlim_t_is_longer=yes],[zsh_cv_rlim_t_is_longer=no],[zsh_cv_rlim_t_is_longer=yes])]) if test x$zsh_cv_rlim_t_is_longer = xyes; then AC_CACHE_CHECK(if rlim_t is a quad, zsh_cv_rlim_t_is_quad_t, @@ -1881,12 +1881,12 @@ if test x$zsh_cv_rlim_t_is_longer = xyes; then #include #include #include -main() { +int main() { struct rlimit r; char buf[20]; r.rlim_cur = 0; sprintf(buf, "%qd", r.rlim_cur); - exit(strcmp(buf, "0")); + return(strcmp(buf, "0")); }]])],[zsh_cv_rlim_t_is_quad_t=yes],[zsh_cv_rlim_t_is_quad_t=no],[zsh_cv_rlim_t_is_quad_t=no])]) if test x$zsh_cv_rlim_t_is_quad_t = xyes; then AC_DEFINE(RLIM_T_IS_QUAD_T) @@ -1904,7 +1904,7 @@ else #endif #include #include - main(){struct rlimit r;r.rlim_cur=-1;exit(r.rlim_cur<0);}]])],[zsh_cv_type_rlim_t_is_unsigned=yes],[zsh_cv_type_rlim_t_is_unsigned=no],[zsh_cv_type_rlim_t_is_unsigned=no])]) + int main(){struct rlimit r;r.rlim_cur=-1;return(r.rlim_cur<0);}]])],[zsh_cv_type_rlim_t_is_unsigned=yes],[zsh_cv_type_rlim_t_is_unsigned=no],[zsh_cv_type_rlim_t_is_unsigned=no])]) if test x$zsh_cv_type_rlim_t_is_unsigned = xyes; then AC_DEFINE(RLIM_T_IS_UNSIGNED) DEFAULT_RLIM_T="unsigned $DEFAULT_RLIM_T" @@ -2189,7 +2189,7 @@ zsh_cv_sys_fifo, #include #include #include -main() +int main() { char c; int fd; @@ -2203,15 +2203,15 @@ main() exit(1); pid = fork(); if(pid < 0) - exit(1); + return(1); if(pid) { fd = open("/tmp/fifo$$", O_RDONLY); - exit(fd < 0 || read(fd, &c, 1) != 1 || c != 'x'); + return(fd < 0 || read(fd, &c, 1) != 1 || c != 'x'); } fd = open("/tmp/fifo$$", O_WRONLY); ret = (fd < 0 || write(fd, "x", 1) < 1); unlink("/tmp/fifo$$"); - exit(ret); + return(ret); } ]])],[zsh_cv_sys_fifo=yes],[zsh_cv_sys_fifo=no],[zsh_cv_sys_fifo=yes]) ]) @@ -2290,7 +2290,7 @@ zsh_cv_sys_link, #include #include #include -main() +int main() { int ret; char *tmpfile, *newfile; @@ -2299,11 +2299,11 @@ main() unlink(tmpfile); unlink(newfile); if(creat(tmpfile, 0644) < 0) - exit(1); + return(1); ret = link(tmpfile, newfile); unlink(tmpfile); unlink(newfile); - exit(ret<0); + return(ret<0); } ]])],[zsh_cv_sys_link=yes],[zsh_cv_sys_link=no],[zsh_cv_sys_link=yes])]) AH_TEMPLATE([HAVE_LINK], @@ -2323,11 +2323,11 @@ zsh_cv_sys_killesrch, #include #include #include -main() +int main() { int pid = (getpid() + 10000) & 0xffffff; while (pid && (kill(pid, 0) == 0 || errno != ESRCH)) pid >>= 1; - exit(errno!=ESRCH); + return(errno!=ESRCH); } ]])],[zsh_cv_sys_killesrch=yes],[zsh_cv_sys_killesrch=no],[zsh_cv_sys_killesrch=yes])]) AH_TEMPLATE([BROKEN_KILL_ESRCH], @@ -2353,7 +2353,7 @@ int child=0; void handler(sig) int sig; {if(sig==SIGCHLD) child=1;} -main() { +int main() { struct sigaction act; sigset_t set; int pid, ret; @@ -2368,7 +2368,7 @@ main() { if(pid>0) { sigemptyset(&set); ret=sigsuspend(&set); - exit(child==0); + return(child==0); } } ]])],[zsh_cv_sys_sigsuspend=yes],[zsh_cv_sys_sigsuspend=no],[zsh_cv_sys_sigsuspend=yes])]) @@ -2401,14 +2401,14 @@ case "x$zsh_working_tcsetpgrp" in #include #include #include -main() { +int main() { int fd; int ret; fd=open("/dev/tty", O_RDWR); if (fd < 0) exit(2); ret=tcsetpgrp(fd, tcgetpgrp(fd)); if (ret < 0) exit(1); - exit(0); + return(0); } ]])],[zsh_cv_sys_tcsetpgrp=yes],[ case $? in @@ -2448,7 +2448,7 @@ if test x$ac_cv_func_getpwnam = xyes; then #include #include #include -main() { +int main() { struct passwd *pw1, *pw2; char buf[1024], name[1024]; sprintf(buf, "%d:%d", getpid(), rand()); @@ -2456,7 +2456,7 @@ main() { if (pw1) strcpy(name, pw1->pw_name); sprintf(buf, "%d:%d", rand(), getpid()); pw2=getpwnam(buf); - exit(pw1!=0 && pw2!=0 && !strcmp(name, pw2->pw_name)); + return(pw1!=0 && pw2!=0 && !strcmp(name, pw2->pw_name)); } ]])],[zsh_cv_sys_getpwnam_faked=no],[zsh_cv_sys_getpwnam_faked=yes],[zsh_cv_sys_getpwnam_faked=no])]) if test x$zsh_cv_sys_getpwnam_faked = xyes; then @@ -2777,18 +2777,16 @@ elif test "x$dynamic" = xyes; then #include #include #include -main(argc, argv) -int argc; -char *argv[]; +int main(int argc, char *argv[]) { char b[4]; int i = open(argv[0],O_RDONLY); if(i == -1) exit(1); /* fail */ if(read(i,b,4)==4 && b[0]==127 && b[1]=='E' && b[2]=='L' && b[3]=='F') - exit(0); /* succeed (yes, it's ELF) */ + return(0); /* succeed (yes, it's ELF) */ else - exit(1); /* fail */ + return(1); /* fail */ }]])],[zsh_cv_sys_elf=yes],[zsh_cv_sys_elf=no],[zsh_cv_sys_elf=yes])]) # We use [0-9]* in case statements, so need to change quoting @@ -2924,7 +2922,7 @@ LDFLAGS="$old_LDFLAGS") AC_CACHE_CHECK(if your dlsym() needs a leading underscore, zsh_cv_func_dlsym_needs_underscore, [echo failed >conftestval && cat >conftest.c <&AS_MESSAGE_LOG_FD) && AC_TRY_COMMAND($DLLD $LDFLAGS $DLLDFLAGS -o conftest.$DL_EXT conftest.o 1>&AS_MESSAGE_LOG_FD) && @@ -2957,7 +2955,7 @@ char *zsh_gl_sym_addr ; extern int fred() ; -main() +int main() { void * handle ; void * symbol ; @@ -2966,7 +2964,7 @@ main() handle = dlopen("./conftest.$DL_EXT", RTLD_LAZY) ; if (handle == NULL) { fprintf (f, "dlopen failed") ; - exit(1); + return(1); } symbol = dlsym(handle, "fred") ; if (symbol == NULL) { @@ -2974,13 +2972,13 @@ main() symbol = dlsym(handle, "_fred") ; if (symbol == NULL) { fprintf (f, "dlsym failed") ; - exit(1); + return(1); } fprintf (f, "yes") ; } else fprintf (f, "no") ; - exit(0); + return(0); }]])],[zsh_cv_func_dlsym_needs_underscore=`cat conftestval`],[zsh_cv_func_dlsym_needs_underscore=failed dynamic=no],[zsh_cv_func_dlsym_needs_underscore=no])]) if test "x$zsh_cv_func_dlsym_needs_underscore" = xyes; then -- 2.37.3