Please use GitHub pull requests for new patches. Avoid migrating existing patches. Phabricator shutdown timeline
Changeset View
Changeset View
Standalone View
Standalone View
clang/lib/Sema/Sema.cpp
Show First 20 Lines • Show All 2,033 Lines • ▼ Show 20 Lines | if (IsRetTy && !TI.hasFPReturn() && (IsDouble || IsFloat)) { | ||||
<< Context.getTargetInfo().getTriple().str()) { | << Context.getTargetInfo().getTriple().str()) { | ||||
if (D) | if (D) | ||||
D->setInvalidDecl(); | D->setInvalidDecl(); | ||||
} | } | ||||
if (D) | if (D) | ||||
targetDiag(D->getLocation(), diag::note_defined_here, FD) << D; | targetDiag(D->getLocation(), diag::note_defined_here, FD) << D; | ||||
} | } | ||||
if (Ty->isRVVType(/* Bitwidth */ 16, /* IsFloat */ true) && | |||||
!Context.getTargetInfo().hasFeature("experimental-zvfh")) { | |||||
Diag(Loc, diag::err_riscv_type_requires_extension, FD) | |||||
<< Ty << "zvfh"; | |||||
craig.topper: experimental- is an internal naming scheme. "experimental-" is not used in -march so it should… | |||||
} | |||||
// Don't allow SVE types in functions without a SVE target. | // Don't allow SVE types in functions without a SVE target. | ||||
if (Ty->isSVESizelessBuiltinType() && FD && FD->hasBody()) { | if (Ty->isSVESizelessBuiltinType() && FD && FD->hasBody()) { | ||||
llvm::StringMap<bool> CallerFeatureMap; | llvm::StringMap<bool> CallerFeatureMap; | ||||
Context.getFunctionFeatureMap(CallerFeatureMap, FD); | Context.getFunctionFeatureMap(CallerFeatureMap, FD); | ||||
if (!Builtin::evaluateRequiredTargetFeatures( | if (!Builtin::evaluateRequiredTargetFeatures( | ||||
"sve", CallerFeatureMap)) | "sve", CallerFeatureMap)) | ||||
Diag(D->getLocation(), diag::err_sve_vector_in_non_sve_target) << Ty; | Diag(D->getLocation(), diag::err_sve_vector_in_non_sve_target) << Ty; | ||||
} | } | ||||
▲ Show 20 Lines • Show All 677 Lines • Show Last 20 Lines |
experimental- is an internal naming scheme. "experimental-" is not used in -march so it should be in the error message.