top | item 43663283

(no title)

hsfzxjy | 10 months ago

Looks cursed to me.

But TIL dollar sign $ is also valid character for identifiers.

discuss

order

tempodox|10 months ago

> $ is also valid character for identifiers.

Has been like that in C since forever.

skullt|10 months ago

It's a common extension but it's not standard. Both C23 and C++23 only allow identifiers to start with a Unicode XID_START character, which excludes $. And with older standards, it was just Latin letters, the underscore, and explicit \u escapes.

If you look in the project's pedantic.cmake, you'll find a add_c_and_cxx_compile_options("-Wno-dollar-in-identifier-extension") just to suppress warnings about this.

ksherlock|10 months ago

VMS used $ - eg

    sts = sys$getjpiw(0, 0, 0, &jpi_itm_lst, 0, 0, 0);
    if ((sts & STS$M_SEVERITY) != STS$K_SUCCESS)
That might be why GCC originally included $ support.