[llvm] r251181 - ScalarReplAggregates.cpp: Try to appease clash of anonymous::SROA in modules build.

Sean Silva via llvm-commits llvm-commits at lists.llvm.org
Mon Oct 26 15:06:32 PDT 2015


On Sat, Oct 24, 2015 at 9:15 AM, David Blaikie via llvm-commits <
llvm-commits at lists.llvm.org> wrote:

>
>
> On Fri, Oct 23, 2015 at 11:42 PM, NAKAMURA Takumi via llvm-commits <
> llvm-commits at lists.llvm.org> wrote:
>
>> Author: chapuni
>> Date: Sat Oct 24 01:42:42 2015
>> New Revision: 251181
>>
>> URL: http://llvm.org/viewvc/llvm-project?rev=251181&view=rev
>> Log:
>> ScalarReplAggregates.cpp: Try to appease clash of anonymous::SROA in
>> modules build.
>>
>
> Um... - where's this clashing with? Is there an anonymous namespace with a
> SROA thing in a header somewhere? That really shouldn't be there. What else
> would this be colliding with in a modules build?
>

I think what's happening is that this is pulling in a top-level module
`LLVM_Transforms` from include/llvm/module.modulemap, which
includes llvm/Transforms/Scalar/SROA.h, which defines a class `SROA`.
There's probably a missing special case to sprinkle somewhere so that we
uphold the weird name hiding thing we do for submodules.

-- Sean Silva


>
>
>>
>> Modified:
>>     llvm/trunk/lib/Transforms/Scalar/ScalarReplAggregates.cpp
>>
>> Modified: llvm/trunk/lib/Transforms/Scalar/ScalarReplAggregates.cpp
>> URL:
>> http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Transforms/Scalar/ScalarReplAggregates.cpp?rev=251181&r1=251180&r2=251181&view=diff
>>
>> ==============================================================================
>> --- llvm/trunk/lib/Transforms/Scalar/ScalarReplAggregates.cpp (original)
>> +++ llvm/trunk/lib/Transforms/Scalar/ScalarReplAggregates.cpp Sat Oct 24
>> 01:42:42 2015
>> @@ -60,6 +60,7 @@ STATISTIC(NumAdjusted,  "Number of scala
>>  STATISTIC(NumConverted, "Number of aggregates converted to scalar");
>>
>>  namespace {
>> +#define SROA SROA_
>>    struct SROA : public FunctionPass {
>>      SROA(int T, bool hasDT, char &ID, int ST, int AT, int SLT)
>>        : FunctionPass(ID), HasDomTree(hasDT) {
>>
>>
>> _______________________________________________
>> llvm-commits mailing list
>> llvm-commits at lists.llvm.org
>> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits
>>
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20151026/9a8e0b87/attachment.html>


More information about the llvm-commits mailing list