https://issues.dlang.org/show_bug.cgi?id=22816

          Issue ID: 22816
           Summary: [REG 2.099] Parser reads files with other extensions
           Product: D
           Version: D2
          Hardware: All
                OS: All
            Status: NEW
          Severity: regression
          Priority: P1
         Component: dmd
          Assignee: nob...@puremagic.com
          Reporter: ibuc...@gdcproject.org

If I compile `foo.c`, but rather `foo.d` exists instead, the parser will
compile *that* module instead.

---
(stable) $ ls foo*
ls: cannot access 'foo*': No such file or directory

(stable) $ ./generated/linux/release/64/dmd -c foo.c
Error: unable to read module `foo`
       Expected 'foo.c' or 'foo/package.d' in one of the following import
paths:
import path[0] = ./generated/linux/release/64/../../../../../druntime/import
import path[1] = ./generated/linux/release/64/../../../../../phobos

(stable) $ touch foo.d
(stable) $ ./generated/linux/release/64/dmd -c foo.c
(stable) $ ls foo*
foo.d  foo.o
---

Worse, it'll still compile the file as if it were the extension you passed on
the command-line.  i.e: `dmd foo.c` will compile `foo.d` as a C file.

--

Reply via email to