[cfe-commits] r149227 - in /cfe/trunk: include/clang/Basic/TargetInfo.h lib/Basic/Module.cpp lib/Basic/Targets.cpp lib/Headers/module.map test/Modules/compiler_builtins.m

Sebastian Redl sebastian.redl at getdesigned.at
Mon Jan 30 01:02:50 PST 2012


On 30.01.2012 07:38, Douglas Gregor wrote:
> Author: dgregor
> Date: Mon Jan 30 00:38:25 2012
> New Revision: 149227
>
> URL: http://llvm.org/viewvc/llvm-project?rev=149227&view=rev
> Log:
> Introduce TargetInfo::hasFeature() to query various feature names in
> each of the targets. Use this for module requirements, so that we can
> pin the availability of certain modules to certain target features,
> e.g., provide a module for xmmintrin.h only when SSE support is
> available.
>
> Use these feature names to provide a nearly-complete module map for
> Clang's built-in headers. Only mm_alloc.h and unwind.h are missing,
> and those two are fairly specialized at the moment. Finishes
> <rdar://problem/10710060>.
>
> +    explicit module avx {
> +      requires avx
> +      export sse4_2
> +      header "avxintrin.h"
> +    }
> +
> +    explicit module avx2 {
> +      requires avx2
> +      export acx
> +      header "avx2intrin.h"
> +    }
>
s/acx/avx/

Also, could you use this for resolving the tgmath info? A c99stdlib 
feature or something like that?

Sebastian



More information about the cfe-commits mailing list