c++ - Clang line directive -
i'm writing syntax translator outputs c++ code , have run interesting issue. have 2 files: ln.x , ln.cpp. in ln.x:
abc in ln.cpp:
#line 1 "ln.x" ( when try compile using gcc, prints corresponding line in ln.x:
ln.x:1:1: error: expected unqualified-id @ end of input abc ^ ln.x:1:1: error: expected ‘)’ @ end of inpu however, clang prints line of same file:
ln.x:1:2: error: expected unqualified-id ( ^ ln.x:1:2: error: expected ')' ln.x:1:1: note: match '(' ( ^ 2 errors generated. is there way clang print line of file gcc?
this looks more bug feature. why want it?
printing file nominated #line works long line matches text getting parsed, character-for-character. , if file exists in first place.
i don’t see in gcc preprocessor manual (gcc 4.9 edition). however, there note once upon time (up 2001), gcc assume named file existed locally, or @ least parent directory existed. holdover bug.
and, no, there's no way clang this. has no concept of attempting open file named #line.
Comments
Post a Comment