The specification doesn't seem very clear on to what extent the __sec_*
operations must act like functions (what happens if someone puts parentheses
around the __sec_* name, for example - that wouldn't work with the keyword
approach).  So the specification should be clarified there, but I think saying 
the
__sec_* operations are syntactically special, like keywords, is more appropriate
than requiring other uses to work.

+   return_int = (int) int_cst_value (fn_arg);
+      else
+   {
+     if (location == UNKNOWN_LOCATION && EXPR_HAS_LOCATION (fn))
+       location = EXPR_LOCATION (fn);
+     error_at (location, "__sec_implicit_index parameter must be a "
+               "constant integer expression");

The term is "integer constant expression" not "constant integer expression".

FIXED!

...it looks like you're going to have to rework all this as a keyword.

OK, CAN I LOOK AT THIS AFTER WE FINISH THE BUILTIN FUNCTION IMPLEMENTATION FIX?

Yes.

Thank you for fixing everything I pointed out. Let's now wait for Joseph to give the final ok. There are some things he suggested, that I didn't look at at all, so I am deferring to him.

Thanks again.

Reply via email to