Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ICU-22522 Remove -Wno-ambiguous-reversed-operator #2714

Merged
merged 4 commits into from
Dec 4, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
54 changes: 0 additions & 54 deletions icu4c/source/aclocal.m4
Original file line number Diff line number Diff line change
Expand Up @@ -12,60 +12,6 @@
# PARTICULAR PURPOSE.

m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])])
# ===========================================================================
# https://www.gnu.org/software/autoconf-archive/ax_check_compile_flag.html
# ===========================================================================
#
# SYNOPSIS
#
# AX_CHECK_COMPILE_FLAG(FLAG, [ACTION-SUCCESS], [ACTION-FAILURE], [EXTRA-FLAGS], [INPUT])
#
# DESCRIPTION
#
# Check whether the given FLAG works with the current language's compiler
# or gives an error. (Warnings, however, are ignored)
#
# ACTION-SUCCESS/ACTION-FAILURE are shell commands to execute on
# success/failure.
#
# If EXTRA-FLAGS is defined, it is added to the current language's default
# flags (e.g. CFLAGS) when the check is done. The check is thus made with
# the flags: "CFLAGS EXTRA-FLAGS FLAG". This can for example be used to
# force the compiler to issue an error when a bad flag is given.
#
# INPUT gives an alternative input source to AC_COMPILE_IFELSE.
#
# NOTE: Implementation based on AX_CFLAGS_GCC_OPTION. Please keep this
# macro in sync with AX_CHECK_{PREPROC,LINK}_FLAG.
#
# LICENSE
#
# Copyright (c) 2008 Guido U. Draheim <[email protected]>
# Copyright (c) 2011 Maarten Bosmans <[email protected]>
#
# Copying and distribution of this file, with or without modification, are
# permitted in any medium without royalty provided the copyright notice
# and this notice are preserved. This file is offered as-is, without any
# warranty.

#serial 6

AC_DEFUN([AX_CHECK_COMPILE_FLAG],
[AC_PREREQ(2.64)dnl for _AC_LANG_PREFIX and AS_VAR_IF
AS_VAR_PUSHDEF([CACHEVAR],[ax_cv_check_[]_AC_LANG_ABBREV[]flags_$4_$1])dnl
AC_CACHE_CHECK([whether _AC_LANG compiler accepts $1], CACHEVAR, [
ax_check_save_flags=$[]_AC_LANG_PREFIX[]FLAGS
_AC_LANG_PREFIX[]FLAGS="$[]_AC_LANG_PREFIX[]FLAGS $4 $1"
AC_COMPILE_IFELSE([m4_default([$5],[AC_LANG_PROGRAM()])],
[AS_VAR_SET(CACHEVAR,[yes])],
[AS_VAR_SET(CACHEVAR,[no])])
_AC_LANG_PREFIX[]FLAGS=$ax_check_save_flags])
AS_VAR_IF(CACHEVAR,yes,
[m4_default([$2], :)],
[m4_default([$3], :)])
AS_VAR_POPDEF([CACHEVAR])dnl
])dnl AX_CHECK_COMPILE_FLAGS

dnl pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*-
dnl serial 11 (pkg-config-0.29.1)
dnl
Expand Down
52 changes: 0 additions & 52 deletions icu4c/source/configure
Original file line number Diff line number Diff line change
Expand Up @@ -4264,8 +4264,6 @@ fi
#AC_CHECK_PROG(AUTOCONF, autoconf, autoconf, true)
#AC_CHECK_PROG(STRIP, strip, strip, true)



# TODO(ICU-20301): Remove fallback to Python 2.
for ac_prog in python3 "py -3" python "py"
do
Expand Down Expand Up @@ -7980,56 +7978,6 @@ fi
# Now that we're done using CPPFLAGS etc. for tests, we can change it
# for build.

ac_ext=cpp
ac_cpp='$CXXCPP $CPPFLAGS'
ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_cxx_compiler_gnu

# Silence a Clang warning about ambiguous operators with C++20 rewritten
# expressions that possibly or maybe even probably is a mistake (ICU-20973).
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C++ compiler accepts -Wambiguous-reversed-operator" >&5
$as_echo_n "checking whether C++ compiler accepts -Wambiguous-reversed-operator... " >&6; }
if ${ax_cv_check_cxxflags__Werror__Wambiguous_reversed_operator+:} false; then :
$as_echo_n "(cached) " >&6
else

ax_check_save_flags=$CXXFLAGS
CXXFLAGS="$CXXFLAGS -Werror -Wambiguous-reversed-operator"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */

int
main ()
{

;
return 0;
}
_ACEOF
if ac_fn_cxx_try_compile "$LINENO"; then :
ax_cv_check_cxxflags__Werror__Wambiguous_reversed_operator=yes
else
ax_cv_check_cxxflags__Werror__Wambiguous_reversed_operator=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
CXXFLAGS=$ax_check_save_flags
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cxxflags__Werror__Wambiguous_reversed_operator" >&5
$as_echo "$ax_cv_check_cxxflags__Werror__Wambiguous_reversed_operator" >&6; }
if test "x$ax_cv_check_cxxflags__Werror__Wambiguous_reversed_operator" = xyes; then :
CXXFLAGS+=" -Wno-ambiguous-reversed-operator"
else
:
fi

ac_ext=c
ac_cpp='$CPP $CPPFLAGS'
ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_c_compiler_gnu


if test "${CC}" = "clang"; then
CLANGCFLAGS="-Qunused-arguments -Wno-parentheses-equality"
else
Expand Down
12 changes: 0 additions & 12 deletions icu4c/source/configure.ac
Original file line number Diff line number Diff line change
Expand Up @@ -199,8 +199,6 @@ fi
#AC_CHECK_PROG(AUTOCONF, autoconf, autoconf, true)
#AC_CHECK_PROG(STRIP, strip, strip, true)

m4_ifndef([AX_CHECK_COMPILE_FLAG], [AC_MSG_ERROR(['autoconf-archive' is missing])])

# TODO(ICU-20301): Remove fallback to Python 2.
AC_CHECK_PROGS(PYTHON, python3 "py -3" python "py")
AC_SUBST(PYTHON)
Expand Down Expand Up @@ -1314,16 +1312,6 @@ fi
# Now that we're done using CPPFLAGS etc. for tests, we can change it
# for build.

AC_LANG_PUSH([C++])
# Silence a Clang warning about ambiguous operators with C++20 rewritten
# expressions that possibly or maybe even probably is a mistake (ICU-20973).
AX_CHECK_COMPILE_FLAG(
[-Wambiguous-reversed-operator],
[CXXFLAGS+=" -Wno-ambiguous-reversed-operator"],
[],
[-Werror])
AC_LANG_POP([C++])

if test "${CC}" = "clang"; then
CLANGCFLAGS="-Qunused-arguments -Wno-parentheses-equality"
else
Expand Down
2 changes: 1 addition & 1 deletion icu4c/source/test/intltest/pluralmaptest.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@

class PluralMapForPluralMapTest : public PluralMap<UnicodeString> {
public:
bool operator==(const PluralMapForPluralMapTest &other) {
bool operator==(const PluralMapForPluralMapTest &other) const {
return equals(other, strEqual);
}
private:
Expand Down