(root)/
gcc-13.2.0/
gcc/
testsuite/
gm2/
pim/
run/
pass/
conststr2.mod
MODULE conststr2 ;

FROM StrLib IMPORT StrLen ;
FROM libc IMPORT printf, exit ;


TYPE
   opaque = POINTER TO CHAR ;


(*
   local -
*)

PROCEDURE local (p: opaque; a: ARRAY OF CHAR) ;
BEGIN
   IF StrLen (a) # 2
   THEN
      printf ("\\n string should be 2 characters long in Modula-2\n") ;
      r := 1
   END
END local ;


PROCEDURE func (p: opaque; a: ARRAY OF CHAR) : CARDINAL ;
BEGIN
   IF StrLen (a) # 2
   THEN
      printf ("\\n string should be 2 characters long in Modula-2\n") ;
      r := 1
   END ;
   RETURN 2
END func ;


VAR
   r: INTEGER ;
   p: opaque ;
BEGIN
   p := NIL ;
   r := 0 ;
   local (p, "\n") ;
   local (p, '\n') ;
   IF func (p, "\n") # 2
   THEN
      printf ("string escape failed\n") ;
      r := 1
   END ;
   IF r = 0
   THEN
      printf ("very basic escaped strings pass\n")
   END ;
   exit (r)
END conststr2.