r245914 - Reimplement the PPC explicit option checking to be a bit more obvious

Hal Finkel via cfe-commits cfe-commits at lists.llvm.org
Tue Aug 25 15:51:01 PDT 2015


Hi Eric,

Can you please update the test case for this change?

Thanks again,
Hal

----- Original Message -----
> From: "Eric Christopher via cfe-commits" <cfe-commits at lists.llvm.org>
> To: cfe-commits at lists.llvm.org
> Sent: Monday, August 24, 2015 7:59:11 PM
> Subject: r245914 - Reimplement the PPC explicit option checking to be a bit more obvious
> 
> Author: echristo
> Date: Mon Aug 24 19:59:11 2015
> New Revision: 245914
> 
> URL: http://llvm.org/viewvc/llvm-project?rev=245914&view=rev
> Log:
> Reimplement the PPC explicit option checking to be a bit more obvious
> that we're looking for conflicting options and give an explanation.
> 
> Modified:
>     cfe/trunk/lib/Basic/Targets.cpp
> 
> Modified: cfe/trunk/lib/Basic/Targets.cpp
> URL:
> http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Basic/Targets.cpp?rev=245914&r1=245913&r2=245914&view=diff
> ==============================================================================
> --- cfe/trunk/lib/Basic/Targets.cpp (original)
> +++ cfe/trunk/lib/Basic/Targets.cpp Mon Aug 24 19:59:11 2015
> @@ -1070,14 +1070,25 @@ bool PPCTargetInfo::handleTargetFeatures
>      // TODO: Finish this list and add an assert that we've handled
>      them
>      // all.
>    }
> -  if (!HasVSX && (HasP8Vector || HasDirectMove)) {
> -    if (HasP8Vector)
> -      Diags.Report(diag::err_opt_not_valid_with_opt) <<
> "-mpower8-vector" <<
> -                                                        "-mno-vsx";
> -    else if (HasDirectMove)
> -      Diags.Report(diag::err_opt_not_valid_with_opt) <<
> "-mdirect-move" <<
> -                                                        "-mno-vsx";
> -    return false;
> +
> +  // Handle explicit options being passed to the compiler here: if
> we've
> +  // explicitly turned off vsx and turned on power8-vector or
> direct-move then
> +  // go ahead and error since the customer has expressed a somewhat
> incompatible
> +  // set of options.
> +  if (std::find(Features.begin(), Features.end(), "-vsx") !=
> Features.end()) {
> +    if (std::find(Features.begin(), Features.end(),
> "+power8-vector") !=
> +        Features.end()) {
> +      Diags.Report(diag::err_opt_not_valid_with_opt) <<
> "-mpower8-vector"
> +                                                     << "-mno-vsx";
> +      return false;
> +    }
> +
> +    if (std::find(Features.begin(), Features.end(), "+direct-move")
> !=
> +        Features.end()) {
> +      Diags.Report(diag::err_opt_not_valid_with_opt) <<
> "-mdirect-move"
> +                                                     << "-mno-vsx";
> +      return false;
> +    }
>    }
>  
>    return true;
> 
> 
> _______________________________________________
> cfe-commits mailing list
> cfe-commits at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
> 

-- 
Hal Finkel
Assistant Computational Scientist
Leadership Computing Facility
Argonne National Laboratory


More information about the cfe-commits mailing list