reginfo.c (fix_register): Avoid inserting English word in diagnostic sentence.
authorJoseph Myers <joseph@codesourcery.com>
Thu, 11 Nov 2010 18:28:46 +0000 (18:28 +0000)
committerJoseph Myers <jsm28@gcc.gnu.org>
Thu, 11 Nov 2010 18:28:46 +0000 (18:28 +0000)
* reginfo.c (fix_register): Avoid inserting English word in
diagnostic sentence.  Use %qs for quoting and %'.

From-SVN: r166610

gcc/ChangeLog
gcc/reginfo.c

index fc31229946089687c1cda90064ee9a36f80d1c71..542d95953d657d5cf5f6cac7e35bdf0e36801523 100644 (file)
@@ -1,3 +1,8 @@
+2010-11-11  Joseph Myers  <joseph@codesourcery.com>
+
+       * reginfo.c (fix_register): Avoid inserting English word in
+       diagnostic sentence.  Use %qs for quoting and %'.
+
 2010-11-11  H.J. Lu  <hongjiu.lu@intel.com>
 
        * config/i386/driver-i386.c (host_detect_local_cpu): Support
index c8192dec0e93a86eb41cc9457f1e30d2f18c280c..65243cb2865b672c4fb2000238cffcea7fda5b07 100644 (file)
@@ -770,12 +770,40 @@ fix_register (const char *name, int fixed, int call_used)
           )
          && (fixed == 0 || call_used == 0))
        {
-         static const char * const what_option[2][2] = {
-           { "call-saved", "call-used" },
-           { "no-such-option", "fixed" }};
+         switch (fixed)
+           {
+           case 0:
+             switch (call_used)
+               {
+               case 0:
+                 error ("can%'t use %qs as a call-saved register", name);
+                 break;
+
+               case 1:
+                 error ("can%'t use %qs as a call-used register", name);
+                 break;
+
+               default:
+                 gcc_unreachable ();
+               }
+             break;
 
-         error ("can't use '%s' as a %s register", name,
-                what_option[fixed][call_used]);
+           case 1:
+             switch (call_used)
+               {
+               case 1:
+                 error ("can%'t use %qs as a fixed register", name);
+                 break;
+
+               case 0:
+               default:
+                 gcc_unreachable ();
+               }
+             break;
+
+           default:
+             gcc_unreachable ();
+           }
        }
       else
        {