================
@@ -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++" {
----------------
AaronBallman 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. Consider cases like:
```
extern "C" int a, b, c;

extern "C" {
  int x;
  int y;
  int z;
}
```
`z`, `y`, and `z` are external, `a`, `b`, and `c` are not: 
https://godbolt.org/z/evG9KPKMM


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

Reply via email to