Thread overview
# line directives
Jun 15, 2003
Josh Rendlesham
Jun 17, 2003
Walter
Jun 17, 2003
Josh Rendlesham
June 15, 2003
Is the compiler unable to handle # (instead of the full #line) line directives?

For example, the line:

# 1 "filename.m"

gives an "identifier expected" error. Once that line is removed, however, the file compiles fine.

Is there an option to allow for the compilation of such constructs (in my case in the C output from an Objective-C preprocessor)?

Thanks,
Josh Rendlesham



June 17, 2003
"Josh Rendlesham" <Josh_member@pathlink.com> wrote in message news:bcgp55$1m5f$1@digitaldaemon.com...
> Is the compiler unable to handle # (instead of the full #line) line
directives?
>
> For example, the line:
>
> # 1 "filename.m"
>
> gives an "identifier expected" error. Once that line is removed, however,
the
> file compiles fine.

I think that's invalid C code.

> Is there an option to allow for the compilation of such constructs (in my
case
> in the C output from an Objective-C preprocessor)?

Probably the easiest way to deal with it is to run a global search/replace for "# " with "#line ".


June 17, 2003
Thanks for the reply.

Apparently the "# " null directive is supported by some preprocessors, with it being noted in the GCC CPP docs that they support it mainly for compatibility with older C code.

Like you suggested, replacing all instances does seem to work quite well.

  Josh


Walter wrote:

> 
> "Josh Rendlesham" <Josh_member@pathlink.com> wrote in message news:bcgp55$1m5f$1@digitaldaemon.com...
>> Is the compiler unable to handle # (instead of the full #line) line
> directives?
>>
>> For example, the line:
>>
>> # 1 "filename.m"
>>
>> gives an "identifier expected" error. Once that line is removed, however,
> the
>> file compiles fine.
> 
> I think that's invalid C code.
> 
>> Is there an option to allow for the compilation of such constructs (in my
> case
>> in the C output from an Objective-C preprocessor)?
> 
> Probably the easiest way to deal with it is to run a global search/replace for "# " with "#line ".