On Dec 11, 2012, at 5:02 AM, NAKAMURA Takumi <[email protected]> wrote:

> 2012/11/8 Douglas Gregor <[email protected]>:
>> Author: dgregor
>> Date: Wed Nov  7 11:46:15 2012
>> New Revision: 167539
>> 
>> URL: http://llvm.org/viewvc/llvm-project?rev=167539&view=rev
>> Log:
>> When loading a module fails because it is out of date, rebuild that
>> module in place. <rdar://problem/10138913>
> 
>> Added: cfe/trunk/test/Modules/modify-module.m
>> URL: 
>> http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Modules/modify-module.m?rev=167539&view=auto
>> ==============================================================================
>> --- cfe/trunk/test/Modules/modify-module.m (added)
>> +++ cfe/trunk/test/Modules/modify-module.m Wed Nov  7 11:46:15 2012
>> @@ -0,0 +1,23 @@
>> +// Test that if we modify one of the input files used to form a
>> +// header, that module and dependent modules get rebuilt.
>> +
>> +// RUN: rm -rf %t
>> +// RUN: mkdir -p %t/include
>> +// RUN: cp %S/Inputs/Modified/A.h %t/include
>> +// RUN: cp %S/Inputs/Modified/B.h %t/include
>> +// RUN: cp %S/Inputs/Modified/module.map %t/include
>> +// RUN: %clang_cc1 -fmodule-cache-path %t/cache -fmodules -I %t/include %s 
>> -verify
>> +// expected-no-diagnostics
> 
> Doug, excuse me to comment older commit.
> 
> Should be?
> // {expected-no-diagnostics}
> 
> Or I can see below;
> 
> error: no expected directives found: consider use of 'expected-no-diagnostics'
> 1 error generated.
> 
> (But clang exits successfully regardless of braces…)

This might be weirdness with the Windows file system, which we've seen before. 
We could replace the 'touch' command with an rm/cp pair, so we're certain that 
the B.h getting included is different.

        - Doug

>> +// RUN: touch %t/include/B.h
>> +// RUN: %clang_cc1 -fmodule-cache-path %t/cache -fmodules -I %t/include %s 
>> -verify
>> +// RUN: echo 'int getA(); int getA2();' > %t/include/A.h
>> +// RUN: %clang_cc1 -fmodule-cache-path %t/cache -fmodules -I %t/include %s 
>> -verify
>> +
>> +@__experimental_modules_import B;
>> +
>> +int getValue() { return getA() + getB(); }


_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to