[prev in list] [next in list] [prev in thread] [next in thread] 

List:       cfe-commits
Subject:    Re: r243718 - [modules] Fix issue where building a module from a relative path when -working-directo
From:       Argyrios Kyrtzidis <akyrtzi () gmail ! com>
Date:       2015-07-31 1:41:07
Message-ID: 00F02EF0-F88D-4416-AE21-EF0810085947 () gmail ! com
[Download RAW message or body]

[Attachment #2 (multipart/alternative)]


Good catch, r243727.
Thanks for reviewing!

> On Jul 30, 2015, at 6:04 PM, Richard Smith <richard@metafoo.co.uk> wrote:
> 
> On Thu, Jul 30, 2015 at 5:58 PM, Argyrios Kyrtzidis <akyrtzi@gmail.com \
>                 <mailto:akyrtzi@gmail.com>> wrote:
> Author: akirtzidis
> Date: Thu Jul 30 19:58:32 2015
> New Revision: 243718
> 
> URL: http://llvm.org/viewvc/llvm-project?rev=243718&view=rev \
> <http://llvm.org/viewvc/llvm-project?rev=243718&view=rev> Log:
> [modules] Fix issue where building a module from a relative path when \
> -working-directory option is set, results in error. 
> The error was "module '<name>' was built in directory '<path>' but now resides in \
> directory '<path>' rdar://21330027
> 
> Added:
> cfe/trunk/test/Modules/Inputs/working-dir-test/
> cfe/trunk/test/Modules/Inputs/working-dir-test/Test.framework/
> cfe/trunk/test/Modules/Inputs/working-dir-test/Test.framework/Headers/
> cfe/trunk/test/Modules/Inputs/working-dir-test/Test.framework/Headers/Test.h
> cfe/trunk/test/Modules/Inputs/working-dir-test/Test.framework/Modules/
> cfe/trunk/test/Modules/Inputs/working-dir-test/Test.framework/Modules/module.modulemap
>  cfe/trunk/test/Modules/working-dir-flag.m
> Modified:
> cfe/trunk/include/clang/Basic/FileManager.h
> cfe/trunk/lib/Basic/FileManager.cpp
> cfe/trunk/lib/Serialization/ASTWriter.cpp
> 
> Modified: cfe/trunk/include/clang/Basic/FileManager.h
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/FileManager.h?rev=243718&r1=243717&r2=243718&view=diff \
> <http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/FileManager.h?rev=243718&r1=243717&r2=243718&view=diff>
>  ==============================================================================
> --- cfe/trunk/include/clang/Basic/FileManager.h (original)
> +++ cfe/trunk/include/clang/Basic/FileManager.h Thu Jul 30 19:58:32 2015
> @@ -254,7 +254,13 @@ public:
> /// \brief If path is not absolute and FileSystemOptions set the working
> /// directory, the path is modified to be relative to the given
> /// working directory.
> -  void FixupRelativePath(SmallVectorImpl<char> &path) const;
> +  /// \returns true if \c path changed.
> +  bool FixupRelativePath(SmallVectorImpl<char> &path) const;
> +
> +  /// Makes \c Path absolute taking into account FileSystemOptions and the
> +  /// working directory option.
> +  /// \returns true if \c Path changed to absolute.
> +  bool makeAbsolutePath(SmallVectorImpl<char> &Path) const;
> 
> /// \brief Produce an array mapping from the unique IDs assigned to each
> /// file to the corresponding FileEntry pointer.
> 
> Modified: cfe/trunk/lib/Basic/FileManager.cpp
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Basic/FileManager.cpp?rev=243718&r1=243717&r2=243718&view=diff \
> <http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Basic/FileManager.cpp?rev=243718&r1=243717&r2=243718&view=diff>
>  ==============================================================================
> --- cfe/trunk/lib/Basic/FileManager.cpp (original)
> +++ cfe/trunk/lib/Basic/FileManager.cpp Thu Jul 30 19:58:32 2015
> @@ -389,16 +389,28 @@ FileManager::getVirtualFile(StringRef Fi
> return UFE;
> }
> 
> -void FileManager::FixupRelativePath(SmallVectorImpl<char> &path) const {
> +bool FileManager::FixupRelativePath(SmallVectorImpl<char> &path) const {
> StringRef pathRef(path.data(), path.size());
> 
> if (FileSystemOpts.WorkingDir.empty()
> > > llvm::sys::path::is_absolute(pathRef))
> -    return;
> +    return false;
> 
> SmallString<128> NewPath(FileSystemOpts.WorkingDir);
> llvm::sys::path::append(NewPath, pathRef);
> path = NewPath;
> +  return true;
> +}
> +
> +bool FileManager::makeAbsolutePath(SmallVectorImpl<char> &Path) const {
> +  bool Changed = FixupRelativePath(Path);
> +
> +  if (!llvm::sys::path::is_absolute(StringRef(Path.data(), Path.size()))) {
> +    llvm::sys::fs::make_absolute(Path);
> +    Changed = true;
> +  }
> +
> +  return Changed;
> }
> 
> llvm::ErrorOr<std::unique_ptr<llvm::MemoryBuffer>>
> 
> Modified: cfe/trunk/lib/Serialization/ASTWriter.cpp
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Serialization/ASTWriter.cpp?rev=243718&r1=243717&r2=243718&view=diff \
> <http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Serialization/ASTWriter.cpp?rev=243718&r1=243717&r2=243718&view=diff>
>  ==============================================================================
> --- cfe/trunk/lib/Serialization/ASTWriter.cpp (original)
> +++ cfe/trunk/lib/Serialization/ASTWriter.cpp Thu Jul 30 19:58:32 2015
> @@ -1074,14 +1074,7 @@ void ASTWriter::WriteBlockInfoBlock() {
> /// \return \c true if the path was changed.
> static bool cleanPathForOutput(FileManager &FileMgr,
> SmallVectorImpl<char> &Path) {
> -  bool Changed = false;
> -
> -  if (!llvm::sys::path::is_absolute(StringRef(Path.data(), Path.size()))) {
> -    llvm::sys::fs::make_absolute(Path);
> -    Changed = true;
> -  }
> -
> -  return Changed | FileMgr.removeDotPaths(Path);
> +  return FileMgr.makeAbsolutePath(Path) | FileMgr.removeDotPaths(Path);
> 
> These two operations are unsequenced, and I suspect the order in which they're \
> performed matters... 
> }
> 
> /// \brief Adjusts the given filename to only write out the portion of the
> @@ -1429,7 +1422,7 @@ void ASTWriter::WriteControlBlock(Prepro
> 
> SmallString<128> OutputPath(OutputFile);
> 
> -    llvm::sys::fs::make_absolute(OutputPath);
> +    SM.getFileManager().makeAbsolutePath(OutputPath);
> StringRef origDir = llvm::sys::path::parent_path(OutputPath);
> 
> RecordData Record;
> 
> Added: cfe/trunk/test/Modules/Inputs/working-dir-test/Test.framework/Headers/Test.h
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Modules/Inputs/working-dir-test/Test.framework/Headers/Test.h?rev=243718&view=auto \
> <http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Modules/Inputs/working-dir-test/Test.framework/Headers/Test.h?rev=243718&view=auto>
>  ==============================================================================
> --- cfe/trunk/test/Modules/Inputs/working-dir-test/Test.framework/Headers/Test.h \
>                 (added)
> +++ cfe/trunk/test/Modules/Inputs/working-dir-test/Test.framework/Headers/Test.h \
> Thu Jul 30 19:58:32 2015 @@ -0,0 +1 @@
> +void test_me_call(void);
> 
> Added: cfe/trunk/test/Modules/Inputs/working-dir-test/Test.framework/Modules/module.modulemap
>                 
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Modules/Inputs/working-dir-test/Test.framework/Modules/module.modulemap?rev=243718&view=auto \
> <http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Modules/Inputs/working-dir-test/Test.framework/Modules/module.modulemap?rev=243718&view=auto>
>  ==============================================================================
> --- cfe/trunk/test/Modules/Inputs/working-dir-test/Test.framework/Modules/module.modulemap \
>                 (added)
> +++ cfe/trunk/test/Modules/Inputs/working-dir-test/Test.framework/Modules/module.modulemap \
> Thu Jul 30 19:58:32 2015 @@ -0,0 +1,6 @@
> +framework module Test {
> +  umbrella header "Test.h"
> +
> +  export *
> +  module * { export * }
> +}
> 
> Added: cfe/trunk/test/Modules/working-dir-flag.m
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Modules/working-dir-flag.m?rev=243718&view=auto \
> <http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Modules/working-dir-flag.m?rev=243718&view=auto>
>  ==============================================================================
> --- cfe/trunk/test/Modules/working-dir-flag.m (added)
> +++ cfe/trunk/test/Modules/working-dir-flag.m Thu Jul 30 19:58:32 2015
> @@ -0,0 +1,9 @@
> +// RUN: rm -rf %t.mcp
> +// RUN: %clang_cc1 -fmodules-cache-path=%t.mcp -fmodules -fimplicit-module-maps -F \
> . -working-directory=%S/Inputs/working-dir-test %s -verify +// \
> expected-no-diagnostics +
> +@import Test;
> +
> +void foo() {
> +  test_me_call();
> +}
> 
> 
> _______________________________________________
> cfe-commits mailing list
> cfe-commits@cs.uiuc.edu <mailto:cfe-commits@cs.uiuc.edu>
> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits \
> <http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits>


[Attachment #5 (text/html)]

<html><head><meta http-equiv="Content-Type" content="text/html \
charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: \
space; -webkit-line-break: after-white-space;" class=""><div class="">Good catch, \
r243727.</div><div class="">Thanks for reviewing!</div><br class=""><div><blockquote \
type="cite" class=""><div class="">On Jul 30, 2015, at 6:04 PM, Richard Smith &lt;<a \
href="mailto:richard@metafoo.co.uk" class="">richard@metafoo.co.uk</a>&gt; \
wrote:</div><br class="Apple-interchange-newline"><div class=""><div dir="ltr" \
style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: \
normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: \
auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; \
widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><div \
class="gmail_extra"><div class="gmail_quote">On Thu, Jul 30, 2015 at 5:58 PM, \
Argyrios Kyrtzidis<span class="Apple-converted-space">&nbsp;</span><span dir="ltr" \
class="">&lt;<a href="mailto:akyrtzi@gmail.com" target="_blank" \
class="">akyrtzi@gmail.com</a>&gt;</span><span \
class="Apple-converted-space">&nbsp;</span>wrote:<br class=""><blockquote \
class="gmail_quote" style="margin: 0px 0px 0px 0.8ex; border-left-width: 1px; \
border-left-color: rgb(204, 204, 204); border-left-style: solid; padding-left: \
1ex;">Author: akirtzidis<br class="">Date: Thu Jul 30 19:58:32 2015<br class="">New \
Revision: 243718<br class=""><br class="">URL:<span \
class="Apple-converted-space">&nbsp;</span><a \
href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproje \
ct-3Frev-3D243718-26view-3Drev&d=AwMFAg&c=8hUWFZcy2Z-Za5rBPlktOQ&r=BSqEv9KvKMW_Ob8Syng \
J70KdZISM_ASROnREeq0cCxk&m=wTJ2KuyiMlUKW1QpD8_bL3QsL2tIlq8pym-yv6CMOIY&s=vT57aqZ4fGKU8YCbpiPMeu0usvcf0x3_dOrvziri_n0&e=" \
rel="noreferrer" target="_blank" \
class="">http://llvm.org/viewvc/llvm-project?rev=243718&amp;view=rev</a><br \
class="">Log:<br class="">[modules] Fix issue where building a module from a relative \
path when -working-directory option is set, results in error.<br class=""><br \
class="">The error was "module '&lt;name&gt;' was built in directory '&lt;path&gt;' \
but now resides in directory '&lt;path&gt;'<br class=""><a href="rdar://21330027" \
class="">rdar://21330027</a><br class=""><br class="">Added:<br class="">&nbsp; \
&nbsp;<span class="Apple-converted-space">&nbsp;</span>cfe/trunk/test/Modules/Inputs/working-dir-test/<br \
class="">&nbsp; &nbsp;<span \
class="Apple-converted-space">&nbsp;</span>cfe/trunk/test/Modules/Inputs/working-dir-test/Test.framework/<br \
class="">&nbsp; &nbsp;<span \
class="Apple-converted-space">&nbsp;</span>cfe/trunk/test/Modules/Inputs/working-dir-test/Test.framework/Headers/<br \
class="">&nbsp; &nbsp;<span \
class="Apple-converted-space">&nbsp;</span>cfe/trunk/test/Modules/Inputs/working-dir-test/Test.framework/Headers/Test.h<br \
class="">&nbsp; &nbsp;<span \
class="Apple-converted-space">&nbsp;</span>cfe/trunk/test/Modules/Inputs/working-dir-test/Test.framework/Modules/<br \
class="">&nbsp; &nbsp;<span \
class="Apple-converted-space">&nbsp;</span>cfe/trunk/test/Modules/Inputs/working-dir-test/Test.framework/Modules/module.modulemap<br \
class="">&nbsp; &nbsp;<span \
class="Apple-converted-space">&nbsp;</span>cfe/trunk/test/Modules/working-dir-flag.m<br \
class="">Modified:<br class="">&nbsp; &nbsp;<span \
class="Apple-converted-space">&nbsp;</span>cfe/trunk/include/clang/Basic/FileManager.h<br \
class="">&nbsp; &nbsp;<span \
class="Apple-converted-space">&nbsp;</span>cfe/trunk/lib/Basic/FileManager.cpp<br \
class="">&nbsp; &nbsp;<span \
class="Apple-converted-space">&nbsp;</span>cfe/trunk/lib/Serialization/ASTWriter.cpp<br \
class=""><br class="">Modified: cfe/trunk/include/clang/Basic/FileManager.h<br \
class="">URL:<span class="Apple-converted-space">&nbsp;</span><a \
href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproje \
ct_cfe_trunk_include_clang_Basic_FileManager.h-3Frev-3D243718-26r1-3D243717-26r2-3D243 \
718-26view-3Ddiff&d=AwMFAg&c=8hUWFZcy2Z-Za5rBPlktOQ&r=BSqEv9KvKMW_Ob8SyngJ70KdZISM_ASR \
OnREeq0cCxk&m=wTJ2KuyiMlUKW1QpD8_bL3QsL2tIlq8pym-yv6CMOIY&s=WexRpeTjiVa3_wLTFrw3vKcI65JVR2nWipvg1JiyAzU&e=" \
rel="noreferrer" target="_blank" \
class="">http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/FileManager.h?rev=243718&amp;r1=243717&amp;r2=243718&amp;view=diff</a><br \
class="">==============================================================================<br \
class="">--- cfe/trunk/include/clang/Basic/FileManager.h (original)<br class="">+++ \
cfe/trunk/include/clang/Basic/FileManager.h Thu Jul 30 19:58:32 2015<br class="">@@ \
-254,7 +254,13 @@ public:<br class="">&nbsp; &nbsp;/// \brief If path is not absolute \
and FileSystemOptions set the working<br class="">&nbsp; &nbsp;/// directory, the \
path is modified to be relative to the given<br class="">&nbsp; &nbsp;/// working \
directory.<br class="">-&nbsp; void FixupRelativePath(SmallVectorImpl&lt;char&gt; \
&amp;path) const;<br class="">+&nbsp; /// \returns true if \c path changed.<br \
class="">+&nbsp; bool FixupRelativePath(SmallVectorImpl&lt;char&gt; &amp;path) \
const;<br class="">+<br class="">+&nbsp; /// Makes \c Path absolute taking into \
account FileSystemOptions and the<br class="">+&nbsp; /// working directory \
option.<br class="">+&nbsp; /// \returns true if \c Path changed to absolute.<br \
class="">+&nbsp; bool makeAbsolutePath(SmallVectorImpl&lt;char&gt; &amp;Path) \
const;<br class=""><br class="">&nbsp; &nbsp;/// \brief Produce an array mapping from \
the unique IDs assigned to each<br class="">&nbsp; &nbsp;/// file to the \
corresponding FileEntry pointer.<br class=""><br class="">Modified: \
cfe/trunk/lib/Basic/FileManager.cpp<br class="">URL:<span \
class="Apple-converted-space">&nbsp;</span><a \
href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproje \
ct_cfe_trunk_lib_Basic_FileManager.cpp-3Frev-3D243718-26r1-3D243717-26r2-3D243718-26vi \
ew-3Ddiff&d=AwMFAg&c=8hUWFZcy2Z-Za5rBPlktOQ&r=BSqEv9KvKMW_Ob8SyngJ70KdZISM_ASROnREeq0c \
Cxk&m=wTJ2KuyiMlUKW1QpD8_bL3QsL2tIlq8pym-yv6CMOIY&s=EZP1iVfuzGE6knWSA6bv-3xOyzLY7snWsCLWuhPSWpM&e=" \
rel="noreferrer" target="_blank" \
class="">http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Basic/FileManager.cpp?rev=243718&amp;r1=243717&amp;r2=243718&amp;view=diff</a><br \
class="">==============================================================================<br \
class="">--- cfe/trunk/lib/Basic/FileManager.cpp (original)<br class="">+++ \
cfe/trunk/lib/Basic/FileManager.cpp Thu Jul 30 19:58:32 2015<br class="">@@ -389,16 \
+389,28 @@ FileManager::getVirtualFile(StringRef Fi<br class="">&nbsp; &nbsp;return \
UFE;<br class="">&nbsp;}<br class=""><br class="">-void \
FileManager::FixupRelativePath(SmallVectorImpl&lt;char&gt; &amp;path) const {<br \
class="">+bool FileManager::FixupRelativePath(SmallVectorImpl&lt;char&gt; &amp;path) \
const {<br class="">&nbsp; &nbsp;StringRef pathRef(path.data(), path.size());<br \
class=""><br class="">&nbsp; &nbsp;if (FileSystemOpts.WorkingDir.empty()<br \
class="">&nbsp; &nbsp; &nbsp; &nbsp;|| llvm::sys::path::is_absolute(pathRef))<br \
class="">-&nbsp; &nbsp; return;<br class="">+&nbsp; &nbsp; return false;<br \
class=""><br class="">&nbsp; &nbsp;SmallString&lt;128&gt; \
NewPath(FileSystemOpts.WorkingDir);<br class="">&nbsp; \
&nbsp;llvm::sys::path::append(NewPath, pathRef);<br class="">&nbsp; &nbsp;path = \
NewPath;<br class="">+&nbsp; return true;<br class="">+}<br class="">+<br \
class="">+bool FileManager::makeAbsolutePath(SmallVectorImpl&lt;char&gt; &amp;Path) \
const {<br class="">+&nbsp; bool Changed = FixupRelativePath(Path);<br class="">+<br \
class="">+&nbsp; if (!llvm::sys::path::is_absolute(StringRef(Path.data(), \
Path.size()))) {<br class="">+&nbsp; &nbsp; llvm::sys::fs::make_absolute(Path);<br \
class="">+&nbsp; &nbsp; Changed = true;<br class="">+&nbsp; }<br class="">+<br \
class="">+&nbsp; return Changed;<br class="">&nbsp;}<br class=""><br \
class="">&nbsp;llvm::ErrorOr&lt;std::unique_ptr&lt;llvm::MemoryBuffer&gt;&gt;<br \
class=""><br class="">Modified: cfe/trunk/lib/Serialization/ASTWriter.cpp<br \
class="">URL:<span class="Apple-converted-space">&nbsp;</span><a \
href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproje \
ct_cfe_trunk_lib_Serialization_ASTWriter.cpp-3Frev-3D243718-26r1-3D243717-26r2-3D24371 \
8-26view-3Ddiff&d=AwMFAg&c=8hUWFZcy2Z-Za5rBPlktOQ&r=BSqEv9KvKMW_Ob8SyngJ70KdZISM_ASROn \
REeq0cCxk&m=wTJ2KuyiMlUKW1QpD8_bL3QsL2tIlq8pym-yv6CMOIY&s=emPsCdDNmo_lrqWf-BQCGR-xjYOyLerHuEYxwyOApmw&e=" \
rel="noreferrer" target="_blank" \
class="">http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Serialization/ASTWriter.cpp?rev=243718&amp;r1=243717&amp;r2=243718&amp;view=diff</a><br \
class="">==============================================================================<br \
class="">--- cfe/trunk/lib/Serialization/ASTWriter.cpp (original)<br class="">+++ \
cfe/trunk/lib/Serialization/ASTWriter.cpp Thu Jul 30 19:58:32 2015<br class="">@@ \
-1074,14 +1074,7 @@ void ASTWriter::WriteBlockInfoBlock() {<br class="">&nbsp;/// \
\return \c true if the path was changed.<br class="">&nbsp;static bool \
cleanPathForOutput(FileManager &amp;FileMgr,<br class="">&nbsp; &nbsp; &nbsp; &nbsp; \
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; \
&nbsp;<span class="Apple-converted-space">&nbsp;</span>SmallVectorImpl&lt;char&gt; \
&amp;Path) {<br class="">-&nbsp; bool Changed = false;<br class="">-<br \
class="">-&nbsp; if (!llvm::sys::path::is_absolute(StringRef(Path.data(), \
Path.size()))) {<br class="">-&nbsp; &nbsp; llvm::sys::fs::make_absolute(Path);<br \
class="">-&nbsp; &nbsp; Changed = true;<br class="">-&nbsp; }<br class="">-<br \
class="">-&nbsp; return Changed | FileMgr.removeDotPaths(Path);<br class="">+&nbsp; \
return FileMgr.makeAbsolutePath(Path) | FileMgr.removeDotPaths(Path);<br \
class=""></blockquote><div class=""><br class=""></div><div class="">These two \
operations are unsequenced, and I suspect the order in which they're performed \
matters...</div><div class="">&nbsp;</div><blockquote class="gmail_quote" \
style="margin: 0px 0px 0px 0.8ex; border-left-width: 1px; border-left-color: rgb(204, \
204, 204); border-left-style: solid; padding-left: 1ex;">&nbsp;}<br class=""><br \
class="">&nbsp;/// \brief Adjusts the given filename to only write out the portion of \
the<br class="">@@ -1429,7 +1422,7 @@ void ASTWriter::WriteControlBlock(Prepro<br \
class=""><br class="">&nbsp; &nbsp; &nbsp;SmallString&lt;128&gt; \
OutputPath(OutputFile);<br class=""><br class="">-&nbsp; &nbsp; \
llvm::sys::fs::make_absolute(OutputPath);<br class="">+&nbsp; &nbsp; \
SM.getFileManager().makeAbsolutePath(OutputPath);<br class="">&nbsp; &nbsp; \
&nbsp;StringRef origDir = llvm::sys::path::parent_path(OutputPath);<br class=""><br \
class="">&nbsp; &nbsp; &nbsp;RecordData Record;<br class=""><br class="">Added: \
cfe/trunk/test/Modules/Inputs/working-dir-test/Test.framework/Headers/Test.h<br \
class="">URL:<span class="Apple-converted-space">&nbsp;</span><a \
href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproje \
ct_cfe_trunk_test_Modules_Inputs_working-2Ddir-2Dtest_Test.framework_Headers_Test.h-3F \
rev-3D243718-26view-3Dauto&d=AwMFAg&c=8hUWFZcy2Z-Za5rBPlktOQ&r=BSqEv9KvKMW_Ob8SyngJ70K \
dZISM_ASROnREeq0cCxk&m=wTJ2KuyiMlUKW1QpD8_bL3QsL2tIlq8pym-yv6CMOIY&s=3GnIBb2ZtZ2SWlo-9zqVun9Y5axlHIpPnuw9VADaURY&e=" \
rel="noreferrer" target="_blank" \
class="">http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Modules/Inputs/working-dir-test/Test.framework/Headers/Test.h?rev=243718&amp;view=auto</a><br \
class="">==============================================================================<br \
class="">--- cfe/trunk/test/Modules/Inputs/working-dir-test/Test.framework/Headers/Test.h \
(added)<br class="">+++ \
cfe/trunk/test/Modules/Inputs/working-dir-test/Test.framework/Headers/Test.h Thu Jul \
30 19:58:32 2015<br class="">@@ -0,0 +1 @@<br class="">+void test_me_call(void);<br \
class=""><br class="">Added: \
cfe/trunk/test/Modules/Inputs/working-dir-test/Test.framework/Modules/module.modulemap<br \
class="">URL:<span class="Apple-converted-space">&nbsp;</span><a \
href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproje \
ct_cfe_trunk_test_Modules_Inputs_working-2Ddir-2Dtest_Test.framework_Modules_module.mo \
dulemap-3Frev-3D243718-26view-3Dauto&d=AwMFAg&c=8hUWFZcy2Z-Za5rBPlktOQ&r=BSqEv9KvKMW_O \
b8SyngJ70KdZISM_ASROnREeq0cCxk&m=wTJ2KuyiMlUKW1QpD8_bL3QsL2tIlq8pym-yv6CMOIY&s=TRCSeJnqBC0BfnLazRkZv10jmEt1_e0mRr04N_vlsNk&e=" \
rel="noreferrer" target="_blank" \
class="">http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Modules/Inputs/working-dir-test/Test.framework/Modules/module.modulemap?rev=243718&amp;view=auto</a><br \
class="">==============================================================================<br \
class="">--- cfe/trunk/test/Modules/Inputs/working-dir-test/Test.framework/Modules/module.modulemap \
(added)<br class="">+++ \
cfe/trunk/test/Modules/Inputs/working-dir-test/Test.framework/Modules/module.modulemap \
Thu Jul 30 19:58:32 2015<br class="">@@ -0,0 +1,6 @@<br class="">+framework module \
Test {<br class="">+&nbsp; umbrella header "Test.h"<br class="">+<br class="">+&nbsp; \
export *<br class="">+&nbsp; module * { export * }<br class="">+}<br class=""><br \
class="">Added: cfe/trunk/test/Modules/working-dir-flag.m<br class="">URL:<span \
class="Apple-converted-space">&nbsp;</span><a \
href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproje \
ct_cfe_trunk_test_Modules_working-2Ddir-2Dflag.m-3Frev-3D243718-26view-3Dauto&d=AwMFAg \
&c=8hUWFZcy2Z-Za5rBPlktOQ&r=BSqEv9KvKMW_Ob8SyngJ70KdZISM_ASROnREeq0cCxk&m=wTJ2KuyiMlUK \
W1QpD8_bL3QsL2tIlq8pym-yv6CMOIY&s=DxpayDF8aXP3oQ5QpxHkJYJ6mlYdgi6yhg41JdbLsPs&e=" \
rel="noreferrer" target="_blank" \
class="">http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Modules/working-dir-flag.m?rev=243718&amp;view=auto</a><br \
class="">==============================================================================<br \
class="">--- cfe/trunk/test/Modules/working-dir-flag.m (added)<br class="">+++ \
cfe/trunk/test/Modules/working-dir-flag.m Thu Jul 30 19:58:32 2015<br class="">@@ \
-0,0 +1,9 @@<br class="">+// RUN: rm -rf %t.mcp<br class="">+// RUN: %clang_cc1 \
-fmodules-cache-path=%t.mcp -fmodules -fimplicit-module-maps -F . \
-working-directory=%S/Inputs/working-dir-test %s -verify<br class="">+// \
expected-no-diagnostics<br class="">+<br class="">+@import Test;<br class="">+<br \
class="">+void foo() {<br class="">+&nbsp; test_me_call();<br class="">+}<br \
class=""><br class=""><br class="">_______________________________________________<br \
class="">cfe-commits mailing list<br class=""><a \
href="mailto:cfe-commits@cs.uiuc.edu" class="">cfe-commits@cs.uiuc.edu</a><br \
class=""><a href="http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits" \
rel="noreferrer" target="_blank" \
class="">http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits</a></blockquote></div></div></div></div></blockquote></div><br \
class=""></body></html>



_______________________________________________
cfe-commits mailing list
cfe-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic