Stropt_none

Is defined as:

(*
** HX: [stropt_none] is just the null pointer
*)
fun stropt_none (): stropt (~1) = “mac#%”

How do I read it? :slight_smile: Is that a -1 here? What does “mac#%” refer to? When I
use mac#% in my own code I get something like undefined reference to
`045’.

Haitao

You need to define ‘ATS_PACKNAME’; ‘%’ is the value of ‘ATS_PACKNAME’.

Say we have

#define ATS_PACKNAME “XYZ”

fun stropt_none (): stropt(~1) = “mac#%”

The function declaration indicates to the compiler that any call
‘stropt_none()’
should be translated into XYZ_stropt_none(); ‘mac’ means ‘XYZ_stropt_none’
should not be given a C-interface.On Friday, January 24, 2014 12:57:55 AM UTC-5, H Zhang wrote:

Should I understand it as that the real stropt_none is a macro defined in
string.cats:

#define atspre_stropt_none() atsptr_null

And here is just a mode of the macro. Does “mac#%” preserve the name but
require the prefix string to be defined?

On Thursday, January 23, 2014 9:52:04 PM UTC-8, H Zhang wrote:

Is defined as:

(*
** HX: [stropt_none] is just the null pointer
*)
fun stropt_none (): stropt (~1) = “mac#%”

How do I read it? :slight_smile: Is that a -1 here? What does “mac#%” refer to? When
I use mac#% in my own code I get something like undefined reference to
`045’.

Haitao

Should I understand it as that the real stropt_none is a macro defined in
string.cats:

#define atspre_stropt_none() atsptr_null

And here is just a mode of the macro. Does “mac#%” preserve the name but
require the prefix string to be defined?On Thursday, January 23, 2014 9:52:04 PM UTC-8, H Zhang wrote:

Is defined as:

(*
** HX: [stropt_none] is just the null pointer
*)
fun stropt_none (): stropt (~1) = “mac#%”

How do I read it? :slight_smile: Is that a -1 here? What does “mac#%” refer to? When
I use mac#% in my own code I get something like undefined reference to
`045’.

Haitao