Hey again)<br><br>Now I have next code:<br><br>; ModuleID = 'sample.lz'<br>@.str1 = internal global [8 x i8] c" world!\00"         ; <[8 x i8]*> [#uses=1]<br>@.str2 = internal global [8 x i8] c"hello, \00"         ; <[8 x i8]*> [#uses=1]
<br>@.str7 = internal global [21 x i8] c"welcome to out hall!\00"           ; <[21 x i8]*> [#uses=1]<br><br>declare i32 @puts(i8*)<br><br>declare i8* @strcat(i8*, i8*)<br><br>declare void @llvm.memcpy.i32(i8*, i8*, i32, i32)
<br><br>define i32 @main() {<br>mainBlock:<br>        %.str3 = getelementptr [8 x i8]* @.str2, i64 0, i64 0           ; <i8*> [#uses=1]<br>        %.str4 = getelementptr [8 x i8]* @.str1, i64 0, i64 0           ; <i8*> [#uses=1]
<br>        %tmp5 = call i8* @strcat( i8* %.str3, i8* %.str4 )              ; <i8*> [#uses=1]<br>        %tmp6 = call i32 @puts( i8* %tmp5 )             ; <i32> [#uses=0]<br>        %.str8 = getelementptr [21 x i8]* @.str7, i64 0, i64 0          ; <i8*> [#uses=1]
<br>        %tmp9 = call i32 @puts( i8* %.str8 )            ; <i32> [#uses=0]<br>        ret i32 0<br>}<br><br>After compilation I see next(without %):<br><br>%<br>hello,  world!<br>world!<br><br>what is the trouble now?
<br>but next code runs ok:<br>; ModuleID = 'sample.lz'<br>@.str1 = internal global [7 x i8] c"father\00"          ; <[7 x i8]*> [#uses=1]<br>@.str2 = internal global [8 x i8] c"mother \00"         ; <[8 x i8]*> [#uses=1]
<br><br>declare i32 @puts(i8*)<br><br>declare i8* @strcat(i8*, i8*)<br><br>declare void @llvm.memcpy.i32(i8*, i8*, i32, i32)<br><br>define i32 @main() {<br>mainBlock:<br>        %.str3 = getelementptr [8 x i8]* @.str2, i64 0, i64 0           ; <i8*> [#uses=1]
<br>        %.str4 = getelementptr [7 x i8]* @.str1, i64 0, i64 0           ; <i8*> [#uses=1]<br>        %tmp5 = call i8* @strcat( i8* %.str3, i8* %.str4 )              ; <i8*> [#uses=1]<br>        %tmp6 = call i32 @puts( i8* %tmp5 )             ; <i32> [#uses=0]
<br>        ret i32 0<br>}<br><br>After running:<br>%<br>mother father<br><br>It's ok, but in prev. example (when I call strcat more than one times) program works incorrectly<br>help me please...<br><br>Best regards,<br>
   Zalunin Pavel<br>