Removed {insert, extract}element and shufflevector pragmas.

They have been superseeded by the inline IR pragma and ldc.simd,
and have only been around for a short time (and not in any
released version).
This commit is contained in:
David Nadlinger
2012-11-27 21:35:30 +01:00
parent ce3518f508
commit dfa1bd954d
5 changed files with 0 additions and 101 deletions

View File

@@ -105,28 +105,6 @@ Pragma DtoGetPragma(Scope *sc, PragmaDeclaration *decl, std::string &arg1str)
return LLVMalloca;
}
// pragma(shufflevector) { funcdecl(s) }
else if (ident == Id::Shufflevector)
{
if (args && args->dim > 0)
{
error("takes no parameters");
fatal();
}
return LLVMshufflevector;
}
// pragma(extractelement or insertelement) { funcdecl(s) }
else if (ident == Id::Extractelement || ident == Id::Insertelement)
{
if (args && args->dim > 0)
{
error("takes no parameters");
fatal();
}
return ident == Id::Extractelement ? LLVMextractelement : LLVMinsertelement;
}
// pragma(va_start) { templdecl(s) }
else if (ident == Id::vastart)
{
@@ -385,31 +363,6 @@ void DtoCheckPragma(PragmaDeclaration *decl, Dsymbol *s,
}
break;
case LLVMshufflevector:
if (FuncDeclaration* fd = s->isFuncDeclaration())
{
fd->llvmInternal = llvm_internal;
}
else
{
error("the '%s' pragma must only be used on function declarations.", ident->toChars());
fatal();
}
break;
case LLVMextractelement:
case LLVMinsertelement:
if (FuncDeclaration* fd = s->isFuncDeclaration())
{
fd->llvmInternal = llvm_internal;
}
else
{
error("the '%s' pragma must only be used on function declarations.", ident->toChars());
fatal();
}
break;
case LLVMinline_asm:
if (TemplateDeclaration* td = s->isTemplateDeclaration())
{