[clang] [Clang] Constant Expressions inside of GCC' asm strings (PR #131003)

2025-03-17 Thread via cfe-commits
https://github.com/cor3ntin closed https://github.com/llvm/llvm-project/pull/131003 ___ cfe-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang] Constant Expressions inside of GCC' asm strings (PR #131003)

2025-03-17 Thread Erich Keane via cfe-commits
@@ -1958,6 +1958,24 @@ references can be used instead of numeric references. return -1; } + +Constexpr strings in GNU ASM statememts +=== + +In C++11 mode (and greater), Clang supports specifying the template, +constraints, and clobb

[clang] [Clang] Constant Expressions inside of GCC' asm strings (PR #131003)

2025-03-17 Thread Erich Keane via cfe-commits
@@ -3326,9 +3325,11 @@ class GCCAsmStmt : public AsmStmt { //===--- Asm String Analysis ---===// - const StringLiteral *getAsmString() const { return AsmStr; } - StringLiteral *getAsmString() { return AsmStr; } - void setAsmString(StringLiteral *E) { AsmStr = E; } + con

[clang] [Clang] Constant Expressions inside of GCC' asm strings (PR #131003)

2025-03-17 Thread Erich Keane via cfe-commits
@@ -3326,9 +3325,11 @@ class GCCAsmStmt : public AsmStmt { //===--- Asm String Analysis ---===// - const StringLiteral *getAsmString() const { return AsmStr; } - StringLiteral *getAsmString() { return AsmStr; } - void setAsmString(StringLiteral *E) { AsmStr = E; } + con

[clang] [Clang] Constant Expressions inside of GCC' asm strings (PR #131003)

2025-03-17 Thread via cfe-commits
@@ -3326,9 +3325,11 @@ class GCCAsmStmt : public AsmStmt { //===--- Asm String Analysis ---===// - const StringLiteral *getAsmString() const { return AsmStr; } - StringLiteral *getAsmString() { return AsmStr; } - void setAsmString(StringLiteral *E) { AsmStr = E; } + con

[clang] [Clang] Constant Expressions inside of GCC' asm strings (PR #131003)

2025-03-17 Thread via cfe-commits
@@ -1958,6 +1958,24 @@ references can be used instead of numeric references. return -1; } + +Constexpr strings in GNU ASM statememts +=== + +In C++11 mode (and greater), Clang supports specifying the template, +constraints, and clobb

[clang] [Clang] Constant Expressions inside of GCC' asm strings (PR #131003)

2025-03-17 Thread Erich Keane via cfe-commits
@@ -3326,9 +3325,11 @@ class GCCAsmStmt : public AsmStmt { //===--- Asm String Analysis ---===// - const StringLiteral *getAsmString() const { return AsmStr; } - StringLiteral *getAsmString() { return AsmStr; } - void setAsmString(StringLiteral *E) { AsmStr = E; } + con

[clang] [Clang] Constant Expressions inside of GCC' asm strings (PR #131003)

2025-03-17 Thread Erich Keane via cfe-commits
@@ -1958,6 +1958,24 @@ references can be used instead of numeric references. return -1; } + +Constexpr strings in GNU ASM statememts +=== + +In C++11 mode (and greater), Clang supports specifying the template, +constraints, and clobb

[clang] [Clang] Constant Expressions inside of GCC' asm strings (PR #131003)

2025-03-17 Thread Erich Keane via cfe-commits
@@ -3302,21 +3302,20 @@ class GCCAsmStmt : public AsmStmt { friend class ASTStmtReader; SourceLocation RParenLoc; - StringLiteral *AsmStr; + Expr *AsmStr; // FIXME: If we wanted to, we could allocate all of these in one big array. - StringLiteral **Constraints = nu

[clang] [Clang] Constant Expressions inside of GCC' asm strings (PR #131003)

2025-03-17 Thread Erich Keane via cfe-commits
https://github.com/erichkeane approved this pull request. https://github.com/llvm/llvm-project/pull/131003 ___ cfe-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang] Constant Expressions inside of GCC' asm strings (PR #131003)

2025-03-14 Thread via cfe-commits
@@ -328,20 +328,20 @@ void StmtProfiler::VisitGCCAsmStmt(const GCCAsmStmt *S) { VisitStmt(S); ID.AddBoolean(S->isVolatile()); ID.AddBoolean(S->isSimple()); - VisitStringLiteral(S->getAsmString()); + VisitExpr(S->getAsmStringExpr()); cor3ntin wrote: #13

[clang] [Clang] Constant Expressions inside of GCC' asm strings (PR #131003)

2025-03-14 Thread Erich Keane via cfe-commits
@@ -328,20 +328,20 @@ void StmtProfiler::VisitGCCAsmStmt(const GCCAsmStmt *S) { VisitStmt(S); ID.AddBoolean(S->isVolatile()); ID.AddBoolean(S->isSimple()); - VisitStringLiteral(S->getAsmString()); + VisitExpr(S->getAsmStringExpr()); erichkeane wrote: T

[clang] [Clang] Constant Expressions inside of GCC' asm strings (PR #131003)

2025-03-14 Thread via cfe-commits
@@ -328,20 +328,20 @@ void StmtProfiler::VisitGCCAsmStmt(const GCCAsmStmt *S) { VisitStmt(S); ID.AddBoolean(S->isVolatile()); ID.AddBoolean(S->isSimple()); - VisitStringLiteral(S->getAsmString()); + VisitExpr(S->getAsmStringExpr()); cor3ntin wrote: We

[clang] [Clang] Constant Expressions inside of GCC' asm strings (PR #131003)

2025-03-13 Thread via cfe-commits
https://github.com/cor3ntin edited https://github.com/llvm/llvm-project/pull/131003 ___ cfe-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits