================ @@ -0,0 +1,27 @@ +// RUN: %clang_cc1 -ast-print %s -o - | FileCheck %s + +// CHECK: extern "C" int printf(const char *, ...); +extern "C" int printf(const char *...); + +// CHECK: extern "C++" { ---------------- temyurchenko wrote:
> Oofda, there are differences between the braced and non-braced versions, so > ideally, we want to reproduce exactly what was in the user's source to avoid > accidentally changing the meaning of code You are completely right, my bad. I'll work on fixing this. > z, y, and z are external, a, b, and c are not: https://godbolt.org/z/evG9KPKMM I believe, they all have external linkage. However, x, y and z are also definitions, while a, b, and c are just declarations. So, for example, you can reference `x` from another translation unit and the value will be `0`. https://github.com/llvm/llvm-project/pull/93131 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits