Details
- Reviewers
dyung rsmith hansw - Commits
- rL374605: Merging r373275:
rG171c0c22c464: Merging r373275:
rGf18d747107de: Fix Driver/modules.cpp test to work when build directory name contains '.s'
rC373275: Fix Driver/modules.cpp test to work when build directory name contains '.s'
rL373275: Fix Driver/modules.cpp test to work when build directory name contains '.s'
Diff Detail
- Repository
- rL LLVM
Event Timeline
It's probably a pathological case, but wouldn't this still fail if the build directory contained ".s" followed by a space in the name? Something like "build-foo.s bar"?
Taking a step back and thinking about this, the compile command uses "-S", but explicitly specifies the output file to be "%t/module.pcm.o" (even though it is generating an assembly file instead of an object file), could we change the test to just check for "-o {{.*}}module.pcm.o "? That would work in all cases I think except for the extreme corner case where that string was part of the build directory name.
clang/test/Driver/modules.cpp | ||
---|---|---|
19 ↗ | (On Diff #214960) | I'm not sure what the regex module{{2*}} is supposed to match, or prevent from matching? Was this intentional? It seems it would match "module", "module2", "module22", "module222", etc. When would the compiler ever generate anything other than the first? Unless you are trying to protect yourself against a build directory that contains module in the name, but I'm not sure how this helps that... |
Ping. This is a really silly issue, and one that could be fixed trivially, so it'd be really nice to actually fix it.
clang/test/Driver/modules.cpp | ||
---|---|---|
19 ↗ | (On Diff #214960) | This CHECK line is used by two different RUN lines, the first writes to module.pcm.o and the second writes to module2.pcm.o. |