]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
Output negations of unused alternatives, even if one of the
authorRichard Kenner <kenner@gcc.gnu.org>
Fri, 20 Oct 1995 22:57:04 +0000 (18:57 -0400)
committerRichard Kenner <kenner@gcc.gnu.org>
Fri, 20 Oct 1995 22:57:04 +0000 (18:57 -0400)
alternatives is selected.

From-SVN: r10489

gcc/genmultilib

index 158d93fb683eb48bfe2de481ad411c0be7e9fa5b..d4cc7ff7fe50d5a028e8e6a208ef8333f92a0d27 100644 (file)
 #   genmultilib "m68000/m68020 msoft-float" "m68000 m68020 msoft-float"
 #              "m68000=mc68000"
 # This produces:
-#   #define MULTILIB_MATCHES "\
-#   m68000/msoft-float m68000 msoft-float;\
-#   m68000/msoft-float mc68000 msoft-float;\
-#   m68020/msoft-float m68020 msoft-float;\
-#   msoft-float !m68000 !mc68000 !m68020 msoft-float;\
-#   m68000 m68000 !msoft-float;\
-#   m68000 mc60000 !msoft-float;\
-#   m68020 m68020 !msoft-float;\
+#   #define MULTILIB_SELECT "\
 #   . !m68000 !mc68000 !m68020 !msoft-float;\
+#   m68000 m68000 !m68020 !msoft-float;\
+#   m68000 mc60000 !m68020 !msoft-float;\
+#   m68020 !m68000 !mc68000 m68020 !msoft-float;\
+#   msoft-float !m68000 !mc68000 !m68020 msoft-float;\
+#   m68000/msoft-float m68000 !m68020 msoft-float;\
+#   m68000/msoft-float mc68000 !m68020 msoft-float;\
+#   m68020/msoft-float !m68000 !mc68000 m68020 msoft-float;\
 #   "
 # The effect is that `gcc -msoft-float' (for example) will append
 # msoft-float to the directory name when searching for libraries or
@@ -200,24 +200,17 @@ for combo in ${combinations}; do
   dirout=`echo ${dirout} | sed -e 's|^/||' -e 's|/$||g'`
 
   # Look through the options.  We must output each option that is
-  # present, and negate each option that is not present.  If an
-  # element of a set is present, we need not negate the other elements
-  # of the set.
+  # present, and negate each option that is not present.
   optout=
   for set in ${options}; do
     setopts=`echo ${set} | sed -e 's|/| |g'`
-    found=
     for opt in ${setopts}; do
       if expr "${combo} " : ".*/${opt}/.*" > /dev/null; then
        optout="${optout} ${opt}"
-       found=yes
+      else
+       optout="${optout} !${opt}"
       fi
     done
-    if [ "${found}" = "" ]; then
-      for opt in ${setopts}; do
-       optout="${optout} !${opt}"
-      done
-    fi
   done
   optout=`echo ${optout} | sed -e 's/^ //'`