erichkeane wrote:
> > No worries, and I reverted it for you. When you have the fix ready, I'm
> > happy to verify it on our builders before you reland.
>
> Can you also reopen this PR, please? For documentation/history reasons, it's
> probably better to provide a fix within the scope of this P
temyurchenko wrote:
> No worries, and I reverted it for you. When you have the fix ready, I'm happy
> to verify it on our builders before you reland.
Can you also reopen this PR, please? For documentation/history reasons, it's
probably better to provide a fix within the scope of this PR.
http
gulfemsavrun wrote:
> Unfortunately, I don't have the right to revert.
No worries, and I reverted for you. When you have the fix ready, I'm happy to
verify it on our builders before you reland.
https://github.com/llvm/llvm-project/pull/93131
___
cfe
temyurchenko wrote:
> We started seeing an lldb test failure, and I bisected to this commit:
I see the source of the bug, I'm thinking how to address it best. If it's
urgent, I can produce an urgent fix.
https://github.com/llvm/llvm-project/pull/93131
__
gulfemsavrun wrote:
We started seeing an lldb test failure, and I bisected to this commit:
```
--
Command Output (stderr):
--
FAIL: LLDB (/b/s/w/ir/x/w/llvm_build/bin/clang-x86_64) :: test_completions
(TestDAP_completions.TestDAP_completions.test_completions)
FAIL: LLDB (/b/s/w/ir/x/w/llvm_build
github-actions[bot] wrote:
@temyurchenko Congratulations on having your first Pull Request (PR) merged
into the LLVM Project!
Your changes will be combined with recent changes from other authors, then
tested
by our [build bots](https://lab.llvm.org/buildbot/). If there is a problem with
a b
https://github.com/erichkeane closed
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
temyurchenko wrote:
> > What should be the next step following the approvals?
>
> If you do not have 'squash and merge' rights here, one of us can do it for
> you once testing completes.
I don't have them, would be glad if you could do that!
https://github.com/llvm/llvm-project/pull/93131
___
erichkeane wrote:
> What should be the next step following the approvals?
If you do not have 'squash and merge' rights here, one of us can do it for you
once testing completes.
https://github.com/llvm/llvm-project/pull/93131
___
cfe-commits mailing l
temyurchenko wrote:
What should be the next step following the approvals?
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
https://github.com/temyurchenko updated
https://github.com/llvm/llvm-project/pull/93131
>From fac45476736cd04f044f046fd0df9e59450a926b Mon Sep 17 00:00:00 2001
From: Artem Yurchenko
Date: Wed, 22 May 2024 23:41:35 -0400
Subject: [PATCH] [clang][AST] fix ast-print of `extern ` with >=2
declarat
@@ -662,6 +678,11 @@ void DeclPrinter::VisitFunctionDecl(FunctionDecl *D) {
CXXConversionDecl *ConversionDecl = dyn_cast(D);
CXXDeductionGuideDecl *GuideDecl = dyn_cast(D);
if (!Policy.SuppressSpecifiers) {
+if (const char *lang = tryGetUnbracedLinkageLanguage(D)) {
+
https://github.com/temyurchenko updated
https://github.com/llvm/llvm-project/pull/93131
>From b1490a354b4ddcbcf0bfd7790c9f4fd8bd799751 Mon Sep 17 00:00:00 2001
From: Artem Yurchenko
Date: Wed, 22 May 2024 23:41:35 -0400
Subject: [PATCH] [clang][AST] fix ast-print of `extern ` with >=2
declarat
@@ -1064,6 +1090,8 @@ void
DeclPrinter::VisitNamespaceAliasDecl(NamespaceAliasDecl *D) {
void DeclPrinter::VisitEmptyDecl(EmptyDecl *D) {
prettyPrintAttributes(D);
+ if (const char *lang = tryGetUnbracedLinkageLanguage(D))
+Out << "extern \"" << lang << "\";";
@@ -662,6 +678,11 @@ void DeclPrinter::VisitFunctionDecl(FunctionDecl *D) {
CXXConversionDecl *ConversionDecl = dyn_cast(D);
CXXDeductionGuideDecl *GuideDecl = dyn_cast(D);
if (!Policy.SuppressSpecifiers) {
+if (const char *lang = tryGetUnbracedLinkageLanguage(D)) {
+
@@ -932,6 +953,11 @@ void DeclPrinter::VisitVarDecl(VarDecl *D) {
: D->getASTContext().getUnqualifiedObjCPointerType(D->getType());
if (!Policy.SuppressSpecifiers) {
+if (const char *lang = tryGetUnbracedLinkageLanguage(D)) {
+ // the "extern" specifier is impli
https://github.com/AaronBallman approved this pull request.
LGTM aside from some coding style nits. Because AST printing is not part of the
public interface for Clang, I don't think these changes need a release note.
https://github.com/llvm/llvm-project/pull/93131
__
https://github.com/AaronBallman edited
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
https://github.com/temyurchenko updated
https://github.com/llvm/llvm-project/pull/93131
>From a8f15038fa0fbe3ba55d136eb459f511d73b0b34 Mon Sep 17 00:00:00 2001
From: Artem Yurchenko
Date: Wed, 22 May 2024 23:41:35 -0400
Subject: [PATCH] [clang][AST] fix ast-print of `extern ` with >=2
declarat
https://github.com/temyurchenko updated
https://github.com/llvm/llvm-project/pull/93131
>From 0fd91ab5ba81c42594551d2662534d8a76c60d77 Mon Sep 17 00:00:00 2001
From: Artem Yurchenko
Date: Wed, 22 May 2024 23:41:35 -0400
Subject: [PATCH] [clang][AST] fix ast-print of `extern ` with >=2
declarat
https://github.com/temyurchenko updated
https://github.com/llvm/llvm-project/pull/93131
>From b67bd3dc6a47aad978b699ae5451b5a595479546 Mon Sep 17 00:00:00 2001
From: Artem Yurchenko
Date: Wed, 22 May 2024 23:41:35 -0400
Subject: [PATCH] [clang][AST] fix ast-print of `extern ` with >=2
declarat
github-actions[bot] wrote:
:warning: C/C++ code formatter, clang-format found issues in your code.
:warning:
You can test this locally with the following command:
``bash
git-clang-format --diff 2ba08386156ef25913b1bee170d8fe95aaceb234
ae5225aa51a0a8f79ed134d9d5013d5774d2c04d --
https://github.com/huixie90 updated
https://github.com/llvm/llvm-project/pull/93131
>From ae5225aa51a0a8f79ed134d9d5013d5774d2c04d Mon Sep 17 00:00:00 2001
From: Artem Yurchenko
Date: Wed, 22 May 2024 23:41:35 -0400
Subject: [PATCH] [clang][AST] fix ast-print of `extern ` with >=2
declarators
@@ -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:
Hopefully, the new implementation has fixed the
https://github.com/temyurchenko updated
https://github.com/llvm/llvm-project/pull/93131
>From 3e19f7566f8dc96116c463e7c4fae0c094d3640c Mon Sep 17 00:00:00 2001
From: Artem Yurchenko
Date: Wed, 22 May 2024 23:41:35 -0400
Subject: [PATCH] [clang][AST] fix ast-print of `extern ` with >=2
declarat
https://github.com/temyurchenko edited
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
@@ -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:
> ideally, we want to reproduce exactly what was
https://github.com/temyurchenko edited
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
@@ -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 brace
https://github.com/AaronBallman commented:
I think we're going to be printing incorrect code either way, but with this
patch, we're more likely to be closer to the original intent of the code than
without the patch. So even though this isn't perfect, it's forward progress and
I think we're fin
@@ -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
https://github.com/AaronBallman edited
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
https://github.com/temyurchenko updated
https://github.com/llvm/llvm-project/pull/93131
>From 10670795596129c33ae021a3970411b630637b80 Mon Sep 17 00:00:00 2001
From: Artem Yurchenko
Date: Wed, 22 May 2024 23:41:35 -0400
Subject: [PATCH 1/2] [clang][AST] fix ast-print of `extern ` with >=2
decl
@@ -1145,13 +1145,15 @@ void DeclPrinter::VisitLinkageSpecDecl(LinkageSpecDecl
*D) {
l = "C++";
}
+ bool HasMoreThanOneDecl =
+ *D->decls_begin() && D->decls_begin()->getNextDeclInContext();
temyurchenko wrote:
Got it!
https://github.com/llvm/ll
@@ -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++" {
+// CHECK-NEXT: int f(int);
+// CHECK-NEXT: int g(int);
+// CHECK-NEXT: }
+extern
@@ -1145,13 +1145,15 @@ void DeclPrinter::VisitLinkageSpecDecl(LinkageSpecDecl
*D) {
l = "C++";
}
+ bool HasMoreThanOneDecl =
+ *D->decls_begin() && D->decls_begin()->getNextDeclInContext();
erichkeane wrote:
It just seems a bit more readable to
@@ -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++" {
erichkeane wrote:
We don't really have much guarantees besides 'best
@@ -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++" {
+// CHECK-NEXT: int f(int);
+// CHECK-NEXT: int g(int);
+// CHECK-NEXT: }
+extern
@@ -1145,13 +1145,15 @@ void DeclPrinter::VisitLinkageSpecDecl(LinkageSpecDecl
*D) {
l = "C++";
}
+ bool HasMoreThanOneDecl =
+ *D->decls_begin() && D->decls_begin()->getNextDeclInContext();
temyurchenko wrote:
Sure!
For my own education though,
@@ -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:
Unfortunately, I'm not aware of the design goals
@@ -1145,13 +1145,15 @@ void DeclPrinter::VisitLinkageSpecDecl(LinkageSpecDecl
*D) {
l = "C++";
}
+ bool HasMoreThanOneDecl =
+ *D->decls_begin() && D->decls_begin()->getNextDeclInContext();
erichkeane wrote:
```suggestion
!D->decls().empty
@@ -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++" {
+// CHECK-NEXT: int f(int);
+// CHECK-NEXT: int g(int);
+// CHECK-NEXT: }
+extern
@@ -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++" {
erichkeane wrote:
@AaronBallman : What do we think of this? This is
temyurchenko wrote:
Fixes #93085
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
llvmbot wrote:
@llvm/pr-subscribers-clang
Author: Artem Yurchenko (temyurchenko)
Changes
Problem: the printer used to ignore all but the first declarator for unbraced
language linkage declarators. Furthemore, that one would be printed without the
final semicolon.
Solution: when there is
github-actions[bot] wrote:
Thank you for submitting a Pull Request (PR) to the LLVM Project!
This PR will be automatically labeled and the relevant teams will be
notified.
If you wish to, you can add reviewers by using the "Reviewers" section on this
page.
If this is not working for you, it
https://github.com/temyurchenko created
https://github.com/llvm/llvm-project/pull/93131
Problem: the printer used to ignore all but the first declarator for unbraced
language linkage declarators. Furthemore, that one would be printed without the
final semicolon.
Solution: when there is more t
47 matches
Mail list logo