ifc icon indicating copy to clipboard operation
ifc copied to clipboard

Revisit `BasicSpecifiers::External` for user-authored `extern`

Open cdacamar opened this issue 1 year ago • 1 comments

Revisit this one the IFC has a better representation for the syntactic extern on function declarations vs compiler-generated/implicit external-linkage.

e.g.

extern void f();
void g();

On MSVC, both of the functions above have external-linkage, but BasicSpecifiers::External is insufficient for telling us whether the user wrote extern or external-linkage was generated by the compiler.

cdacamar avatar Dec 05 '24 21:12 cdacamar

On MSVC, both of the functions above have external-linkage, but BasicSpecifiers::External is insufficient for telling us whether the user wrote extern or external-linkage was generated by the compiler.

This is a recent change in the MSVC behavior - not intended by the original IFC spec. The IFC aims, at its core, to persist semantic resolution.

GabrielDosReis avatar Dec 06 '24 13:12 GabrielDosReis