[PATCH 2/3] gcc: Fix nonportable shell syntax in "test" and "[" commands [PR105831]

Jonathan Wakely jwakely@redhat.com
Thu May 18 12:56:46 GMT 2023


POSIX sh does not support the == for string comparisons, use = instead.

The gen_directive_tests script uses a bash shebang so == does work, but
there's no reason this script can't just use the more portable form
anyway.

	PR bootstrap/105831

gcc/ChangeLog:

	* config.gcc: Use = operator instead of ==.

gcc/testsuite/ChangeLog:

	* gcc.test-framework/gen_directive_tests: Use = operator instead
	of ==.
---
 gcc/config.gcc                                       |  2 +-
 gcc/testsuite/gcc.test-framework/gen_directive_tests | 12 ++++++------
 2 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/gcc/config.gcc b/gcc/config.gcc
index e08c67d7cde..d88071773c9 100644
--- a/gcc/config.gcc
+++ b/gcc/config.gcc
@@ -2441,7 +2441,7 @@ riscv*-*-elf* | riscv*-*-rtems*)
 	  tmake_file="${tmake_file} riscv/t-rtems"
 	  ;;
 	*)
-	  if test "x${with_multilib_generator}" == xdefault; then
+	  if test "x${with_multilib_generator}" = xdefault; then
 		  case "x${enable_multilib}" in
 		  xno) ;;
 		  xyes) tmake_file="${tmake_file} riscv/t-elf-multilib" ;;
diff --git a/gcc/testsuite/gcc.test-framework/gen_directive_tests b/gcc/testsuite/gcc.test-framework/gen_directive_tests
index 29f0a734877..87b3f3d1b40 100644
--- a/gcc/testsuite/gcc.test-framework/gen_directive_tests
+++ b/gcc/testsuite/gcc.test-framework/gen_directive_tests
@@ -283,8 +283,8 @@ one() {
     echo "${GOOD_PROG}" >> $FILE1
     echo "${GOOD_PROG}" > $FILE2
 
-    if [ "${FAIL_VERSION}" == "yes" ]; then
-	if [ "${EXP}" == "${EXP_PASS}" ]; then
+    if [ "${FAIL_VERSION}" = "yes" ]; then
+	if [ "${EXP}" = "${EXP_PASS}" ]; then
 	    NAME=${KIND}-${EXP_FAIL}
 	else
 	    NAME=${KIND}-${EXP_XFAIL}
@@ -322,8 +322,8 @@ two() {
     echo "${GOOD_PROG}" >> $FILE1
     echo "${GOOD_PROG}" > $FILE2
 
-    if [ "${FAIL_VERSION}" == "yes" ]; then
-	if [ "${EXP}" == "${EXP_PASS}" ]; then
+    if  "yes" ]; then
+	if [ "${EXP}" = "${EXP_PASS}" ]; then
 	    NAME=${KIND1}-${KIND2}-${EXP_FAIL}
 	else
 	    NAME=${KIND1}-${KIND2}-${EXP_XFAIL}
@@ -364,8 +364,8 @@ three() {
     echo "${GOOD_PROG}" >> $FILE1
     echo "${GOOD_PROG}" > $FILE2
 
-    if [ "${FAIL_VERSION}" == "${yes}" ]; then
-	if [ "${EXP}" == "${EXP_PASS}" ]; then
+    if [ "${FAIL_VERSION}" = "${yes}" ]; then
+	if [ "${EXP}" = "${EXP_PASS}" ]; then
 	    NAME=${KIND1}-${KIND2}-${KIND3}-${EXP_FAIL}
 	else
 	    NAME=${KIND1}-${KIND2}-${KIND3}-${EXP_XFAIL}
-- 
2.40.1



More information about the Gcc-patches mailing list