Author: yug
Date: 2011-11-19 09:27:08 -0500 (Sat, 19 Nov 2011)
New Revision: 3816

Modified:
   trunk/osprey/be/cg/cgemit.cxx
Log:
fix bug920. wrong handling of modifier '%P'.
Code Review: Sun Chan and David Coakley.


Modified: trunk/osprey/be/cg/cgemit.cxx
===================================================================
--- trunk/osprey/be/cg/cgemit.cxx       2011-11-19 14:20:17 UTC (rev 3815)
+++ trunk/osprey/be/cg/cgemit.cxx       2011-11-19 14:27:08 UTC (rev 3816)
@@ -3526,13 +3526,19 @@
       asm_string = Replace_Substring(asm_string, replace, name);
       *name = tmp;
     }
-    if (strstr(asm_string, "%P")) {
-      char replace[5];
-      sprintf(replace, "%%P%d", position);
-      // OSP_323, with "%P", we ignore the first character '$'
+  }
+
+  /* fix open64.net bug 920 */
+  if (strstr(asm_string, "%P")) {
+    char replace[5];
+    sprintf(replace, "%%P%d", position);
+    // OSP_323, with "%P", we ignore the first character '$'
+    if (*name == '$')
       asm_string = Replace_Substring(asm_string, replace, name+1);
-    }
+    else
+      asm_string = Replace_Substring(asm_string, replace, name);
   }
+  
   // Follow the zero dialect_number implementation as in 
   // gcc/final.c:output_asm_insn and handle {, } and | operators
   if (strchr(asm_string, '{')) {


------------------------------------------------------------------------------
All the data continuously generated in your IT infrastructure 
contains a definitive record of customers, application performance, 
security threats, fraudulent activity, and more. Splunk takes this 
data and makes sense of it. IT sense. And common sense.
http://p.sf.net/sfu/splunk-novd2d
_______________________________________________
Open64-devel mailing list
Open64-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/open64-devel

Reply via email to