[llvm-commits] CVS: gcc-3.4/gcc/llvm-expand.c

Chris Lattner lattner at cs.uiuc.edu
Tue Mar 9 16:51:01 PST 2004


Changes in directory gcc-3.4/gcc:

llvm-expand.c updated: 1.22 -> 1.23

---
Log message:

Fix PR276: llvm-g++ does not mangle method names that match stdlib function names


---
Diffs of the changes:  (+7 -5)

Index: gcc-3.4/gcc/llvm-expand.c
diff -u gcc-3.4/gcc/llvm-expand.c:1.22 gcc-3.4/gcc/llvm-expand.c:1.23
--- gcc-3.4/gcc/llvm-expand.c:1.22	Mon Mar  8 18:55:07 2004
+++ gcc-3.4/gcc/llvm-expand.c	Tue Mar  9 16:50:42 2004
@@ -6401,11 +6401,13 @@
   if (!DECL_LLVM_SET_P(subr) || DECL_LLVM(subr)->Ty != PFnTy) {
     const char *ExternalName = IDENTIFIER_POINTER(DECL_ASSEMBLER_NAME(subr));
     llvm_value *GlobalVal = llvm_get_global_alias(ExternalName);
-    if (!GlobalVal) {
-      ExternalName = IDENTIFIER_POINTER(DECL_NAME(subr));
-      GlobalVal = llvm_get_global_alias(ExternalName);
-      if (!GlobalVal)
-        ExternalName = IDENTIFIER_POINTER(DECL_ASSEMBLER_NAME(subr));
+    if (!GlobalVal && DECL_BUILT_IN(subr)) {
+      const char *ExternalName2 = IDENTIFIER_POINTER(DECL_NAME(subr));
+      llvm_value *GlobalVal2 = llvm_get_global_alias(ExternalName2);
+      if (GlobalVal2) {
+        ExternalName = ExternalName2;
+        GlobalVal = GlobalVal2;
+      }
     }
     if (!GlobalVal || GlobalVal->Ty != PFnTy) {
       const char *PName = (*lang_hooks.decl_printable_name)(subr, 2);





More information about the llvm-commits mailing list