Changeset 647
- Timestamp:
- 08/28/10 22:09:17 (14 years ago)
- Files:
-
- trunk/src/cppmangle.c (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/src/cppmangle.c
r594 r647 92 92 { 93 93 if (!cms->substitute(buf, s)) 94 94 { 95 95 Dsymbol *p = s->toParent(); 96 96 if (p && !p->isModule()) 97 97 { 98 98 prefix_name(buf, cms, p); 99 99 } 100 100 source_name(buf, s); 101 101 } 102 102 } 103 103 104 104 void cpp_mangle_name(OutBuffer *buf, CppMangleState *cms, Dsymbol *s) 105 105 { 106 106 Dsymbol *p = s->toParent(); 107 107 if (p && !p->isModule()) 108 108 { 109 109 buf->writeByte('N'); 110 110 111 111 FuncDeclaration *fd = s->isFuncDeclaration(); 112 if (!fd) 113 { 114 s->error("C++ static variables not supported"); 115 } 116 else 112 117 if (fd->isConst()) 113 118 buf->writeByte('K'); 114 119 115 120 prefix_name(buf, cms, p); 116 121 source_name(buf, s); 117 122 118 123 buf->writeByte('E'); 119 124 } 120 125 else 121 126 source_name(buf, s); 122 127 } 123 128 124 129 125 130 char *cpp_mangle(Dsymbol *s) 126 131 { 127 132 /* 128 133 * <mangled-name> ::= _Z <encoding> 129 134 * <encoding> ::= <function name> <bare-function-type> 130 135 * ::= <data name> 131 136 * ::= <special-name>
