[llvm-dev] Environment variables

Matthias Braun via llvm-dev llvm-dev at lists.llvm.org
Thu Sep 6 10:31:05 PDT 2018


> On Sep 6, 2018, at 7:09 AM, David Greene via llvm-dev <llvm-dev at lists.llvm.org> wrote:
> 
> Ok, thanks!  I'm not dealing with UTF-8 so I don't think Process::GetEnv
> will work.  I was looking for something that caches calls to getenv so
> checks could be put into tight(-ish) loops without too much performance
> impact.

Sorry for the snarky answer but we already have that:

// outside of loop
bool enableFooBar = getenv("ENABLE_FOO_BAR");
while (...) {
    // it's not getting re-checked every loop iteration:
    enableFooBar;
}

Generally we don't really look at env vars today (I think for clang you can mostly affect some search paths with them) and IMO it is a good thing to force being explicit on the command line instead...

- Matthias

> 
>                           -David
> 
> Reid Kleckner via llvm-dev <llvm-dev at lists.llvm.org> writes:
> 
>> llvm::Process::GetEnv looks like it does the right thing.
>> 
>> I think we added it to deal with Unicode on Windows, though. We have
>> plenty of calls to getenv that are mostly looking for '1', '0', or
>> variable presence, and they pretty much work.
>> 
>> On Wed, Sep 5, 2018 at 2:12 PM David Greene via llvm-dev
>> <llvm-dev at lists.llvm.org> wrote:
>> 
>>    Is there an LLVM-ish way to handle environment variables?
>>    Specifically,
>>    I want to check existence and/or value of an environment variable
>>    and
>>    take appropriate action.
>> 
>>    I was kind of surprised that LLVM doesn't seem to have any
>>    special/optimized way to deal with environment variables. The one
>>    Stackoverflow I found on it suggested using getenv().
>> 
>>    Thanks!
>> 
>>    -David
>>    _______________________________________________
>>    LLVM Developers mailing list
>>    llvm-dev at lists.llvm.org
>>    http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
>> 
>> _______________________________________________
>> LLVM Developers mailing list
>> llvm-dev at lists.llvm.org
>> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
> _______________________________________________
> LLVM Developers mailing list
> llvm-dev at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev



More information about the llvm-dev mailing list