@@ -4490,18 +4490,18 @@ class RecordDecl : public TagDecl {
44904490};
44914491
44924492class FileScopeAsmDecl : public Decl {
4493- StringLiteral *AsmString;
4493+ Expr *AsmString;
44944494 SourceLocation RParenLoc;
44954495
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) {}
44994499
45004500 virtual void anchor ();
45014501
45024502public:
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,
45054505 SourceLocation RParenLoc);
45064506
45074507 static FileScopeAsmDecl *CreateDeserialized (ASTContext &C, GlobalDeclID ID);
@@ -4513,9 +4513,11 @@ class FileScopeAsmDecl : public Decl {
45134513 return SourceRange (getAsmLoc (), getRParenLoc ());
45144514 }
45154515
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 ;
45194521
45204522 static bool classof (const Decl *D) { return classofKind (D->getKind ()); }
45214523 static bool classofKind (Kind K) { return K == FileScopeAsm; }
0 commit comments