diff options
author | Rafael Espindola <rafael.espindola@gmail.com> | 2010-12-30 22:59:32 +0000 |
---|---|---|
committer | Rafael Espindola <rafael.espindola@gmail.com> | 2010-12-30 22:59:32 +0000 |
commit | c56f847a965ce547b82b1d4471b41d808f80cd4b (patch) | |
tree | fced1aa78b4f7523fb4de578b59d43c693ea0958 /clang/lib/CodeGen/CGDecl.cpp | |
parent | 570dd787a6caf902fc918eff212e35a72662fe58 (diff) | |
download | bcm5719-llvm-c56f847a965ce547b82b1d4471b41d808f80cd4b.tar.gz bcm5719-llvm-c56f847a965ce547b82b1d4471b41d808f80cd4b.zip |
Add support for declaring register contraints in variables. They are only used
in asm statements:
register int foo asm("rdi");
asm("..." : ... "r" (foo) ...
We also only accept these variables if the constraint in the asm statement is "r".
This fixes most of PR3933.
llvm-svn: 122643
Diffstat (limited to 'clang/lib/CodeGen/CGDecl.cpp')
-rw-r--r-- | clang/lib/CodeGen/CGDecl.cpp | 3 |
1 files changed, 0 insertions, 3 deletions
diff --git a/clang/lib/CodeGen/CGDecl.cpp b/clang/lib/CodeGen/CGDecl.cpp index 2c54332185b..77984b11cca 100644 --- a/clang/lib/CodeGen/CGDecl.cpp +++ b/clang/lib/CodeGen/CGDecl.cpp @@ -104,9 +104,6 @@ void CodeGenFunction::EmitDecl(const Decl &D) { /// EmitVarDecl - This method handles emission of any variable declaration /// inside a function, including static vars etc. void CodeGenFunction::EmitVarDecl(const VarDecl &D) { - if (D.hasAttr<AsmLabelAttr>()) - CGM.ErrorUnsupported(&D, "__asm__"); - switch (D.getStorageClass()) { case SC_None: case SC_Auto: |