I don't have the C compiler, but that code looks to me like a function call. That is, the C compiler is interpreting the line as a normal invocation of the "_asm" subroutine. Do you need a special compiler option, such as GENASM, for the compiler to recognize _asm as something special?
Also, when I cut'n'paste from this page: http://publibz.boulder.ibm.com/cgi-bin/bookmgr_OS390/BOOKS/cbclr1b0/7.8.2 The pasted code has two leading underscore characters __asm("x DC F'0' ":"XL:DS:4"(x)); You are only showing one leading _ in your message. On Sun, 2012-10-28 at 00:39 +0800, Johnny Luo wrote: > Hi, List, > > After upgrading from z/OS 1.9 to z/OS 1.11, all our metal c programs just > won't pass the compilation process. > > Take a simple test program for example: > > #include <metal.h> > #include <string.h> > void main() > { > _asm(" here we are " ); > } > > It does pass the compilation, but the generated asm code is different from > before: > > 56 * _asm(" here we are " ); > 57 LR 14,11 > 58 OILH 14,X'8000' > 59 L 15,=V(@ASM) > 60 LA 1,76(,13) > 61 ST 14,76(,13) > 62 MVC 8(4,13),#NAB_1 > 63 BASR 14,15 > > I remember clearly that in z/OS 1.9 "here we are" will be generated as-is > in the asm souce code. > > Ok, let's add the ":": > > #include <metal.h> > #include <string.h> > void main() > { > _asm(" here we are " : : : ); > } > > Then the compilation failed: > > 5 1 | _asm(" here we are " : : : ); > ===========> .......................a................................. > *=ERROR===========> a - CCN3276 Syntax error: possible missing ')'? > > > Actually all our programs which use ':' in _asm code encounter the same > 'missing ')' ' error. > > And those programs work well in the past. > > My search parm is : > > NOSEARCH,SOURCE,SEARCH(/usr/include/metal/) > > It seems to me that metal c compiler suddenly goes crazy... > > Any hint? > > Thanks. > > > > > Best Regards, > Johnny Luo > > ---------------------------------------------------------------------- > For IBM-MAIN subscribe / signoff / archive access instructions, > send email to [email protected] with the message: INFO IBM-MAIN -- John McKown Maranatha! <>< ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [email protected] with the message: INFO IBM-MAIN
