@@ -4490,18 +4490,18 @@ class RecordDecl : public TagDecl {
4490
4490
};
4491
4491
4492
4492
class FileScopeAsmDecl : public Decl {
4493
- StringLiteral *AsmString;
4493
+ Expr *AsmString;
4494
4494
SourceLocation RParenLoc;
4495
4495
4496
- FileScopeAsmDecl (DeclContext *DC, StringLiteral *asmstring,
4497
- SourceLocation StartL, SourceLocation EndL)
4498
- : Decl(FileScopeAsm, DC, StartL), AsmString(asmstring), RParenLoc(EndL) {}
4496
+ FileScopeAsmDecl (DeclContext *DC, Expr *asmstring, SourceLocation StartL ,
4497
+ SourceLocation EndL)
4498
+ : Decl(FileScopeAsm, DC, StartL), AsmString(asmstring), RParenLoc(EndL) {}
4499
4499
4500
4500
virtual void anchor ();
4501
4501
4502
4502
public:
4503
- static FileScopeAsmDecl *Create (ASTContext &C, DeclContext *DC,
4504
- StringLiteral *Str, SourceLocation AsmLoc,
4503
+ static FileScopeAsmDecl *Create (ASTContext &C, DeclContext *DC, Expr *Str,
4504
+ SourceLocation AsmLoc,
4505
4505
SourceLocation RParenLoc);
4506
4506
4507
4507
static FileScopeAsmDecl *CreateDeserialized (ASTContext &C, GlobalDeclID ID);
@@ -4513,9 +4513,11 @@ class FileScopeAsmDecl : public Decl {
4513
4513
return SourceRange (getAsmLoc (), getRParenLoc ());
4514
4514
}
4515
4515
4516
- const StringLiteral *getAsmString () const { return AsmString; }
4517
- StringLiteral *getAsmString () { return AsmString; }
4518
- void setAsmString (StringLiteral *Asm) { AsmString = Asm; }
4516
+ const Expr *getAsmStringExpr () const { return AsmString; }
4517
+ Expr *getAsmStringExpr () { return AsmString; }
4518
+ void setAsmString (Expr *Asm) { AsmString = Asm; }
4519
+
4520
+ std::string getAsmString () const ;
4519
4521
4520
4522
static bool classof (const Decl *D) { return classofKind (D->getKind ()); }
4521
4523
static bool classofKind (Kind K) { return K == FileScopeAsm; }
0 commit comments