aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2010-11-11 18:28:46 +0000
committerJoseph Myers <jsm28@gcc.gnu.org>2010-11-11 18:28:46 +0000
commit658bd5ca00275d0a7b1a987018bc663b8a2d4a57 (patch)
tree3c7bb0f1dc6988fc3832bcb1f466d3de6bd0fe12 /gcc
parent12bbb78f64fe08d4b32a328bcc72556199581daf (diff)
downloadgcc-658bd5ca00275d0a7b1a987018bc663b8a2d4a57.zip
gcc-658bd5ca00275d0a7b1a987018bc663b8a2d4a57.tar.gz
gcc-658bd5ca00275d0a7b1a987018bc663b8a2d4a57.tar.bz2
reginfo.c (fix_register): Avoid inserting English word in diagnostic sentence.
* reginfo.c (fix_register): Avoid inserting English word in diagnostic sentence. Use %qs for quoting and %'. From-SVN: r166610
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/reginfo.c38
2 files changed, 38 insertions, 5 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index fc31229..542d959 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -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
diff --git a/gcc/reginfo.c b/gcc/reginfo.c
index c8192de..65243cb 100644
--- a/gcc/reginfo.c
+++ b/gcc/reginfo.c
@@ -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
{