[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