Jump to page: 1 2
Thread overview
[Issue 21932] importC: struct 'STRUCT' conflicts with struct 'STRUCT'
May 19, 2021
Iain Buclaw
May 20, 2021
Iain Buclaw
May 24, 2021
Iain Buclaw
May 27, 2021
Walter Bright
May 27, 2021
Iain Buclaw
[Issue 21932] importC: enum 'ENUM' conflicts with enum 'ENUM'
Jun 21, 2021
Iain Buclaw
Jun 21, 2021
Iain Buclaw
Jun 21, 2021
Dlang Bot
Jun 21, 2021
Iain Buclaw
Jun 30, 2021
Dlang Bot
Jul 15, 2021
Iain Buclaw
May 19, 2021
https://issues.dlang.org/show_bug.cgi?id=21932

Iain Buclaw <ibuclaw@gdcproject.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |ibuclaw@gdcproject.org

--- Comment #1 from Iain Buclaw <ibuclaw@gdcproject.org> ---
(In reply to Iain Buclaw from comment #0)
> The parser allows implicit typedefs, which is not valid C.
> ---
> struct STRUCT { void *opaque; };
> STRUCT mystruct;  // Should error.
> ---
This is probably not so easily solvable though, as the error should happen in the semantic (but the semantic follows D rules!)

The immediate issue should focus on getting `struct S s;` working.

--
May 20, 2021
https://issues.dlang.org/show_bug.cgi?id=21932

Iain Buclaw <ibuclaw@gdcproject.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |importC

--
May 24, 2021
https://issues.dlang.org/show_bug.cgi?id=21932

Iain Buclaw <ibuclaw@gdcproject.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |accepts-invalid,
                   |                            |rejects-valid

--
May 27, 2021
https://issues.dlang.org/show_bug.cgi?id=21932

Walter Bright <bugzilla@digitalmars.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |bugzilla@digitalmars.com

--- Comment #2 from Walter Bright <bugzilla@digitalmars.com> ---
This is actually how C++ works, and it compiles C fine.

It is not rigorous C, to be sure, but I think we're all right with it.

--
May 27, 2021
https://issues.dlang.org/show_bug.cgi?id=21932

Iain Buclaw <ibuclaw@gdcproject.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|accepts-invalid             |

--- Comment #3 from Iain Buclaw <ibuclaw@gdcproject.org> ---
(In reply to Walter Bright from comment #2)
> This is actually how C++ works, and it compiles C fine.
> 
> It is not rigorous C, to be sure, but I think we're all right with it.

Yeah, I'll removed the accepts-invalid tag.  In principle there's nothing wrong will accepting more than what a typical C compiler would so long as it can be justified.

--
June 21, 2021
https://issues.dlang.org/show_bug.cgi?id=21932

Iain Buclaw <ibuclaw@gdcproject.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|importC: struct 'STRUCT'    |importC: enum 'ENUM'
                   |conflicts with struct       |conflicts with enum 'ENUM'
                   |'STRUCT'                    |

--
June 21, 2021
https://issues.dlang.org/show_bug.cgi?id=21932

--- Comment #4 from Iain Buclaw <ibuclaw@gdcproject.org> ---
The struct test case has been fixed with the introduction of TypeTag.

The enum test case still fails, however.

---
enum ENUM { ENUM_a };
enum ENUM myenum;  // Error

--
June 21, 2021
https://issues.dlang.org/show_bug.cgi?id=21932

Dlang Bot <dlang-bot@dlang.rocks> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |pull

--- Comment #5 from Dlang Bot <dlang-bot@dlang.rocks> ---
@ibuclaw created dlang/dmd pull request #12723 "fix Issue 21932, 22060 - importC: Multiple forward declarations result in error struct conflicts with struct" fixing this issue:

- fix Issue 21932 - importC: enum 'ENUM' conflicts with enum 'ENUM'

https://github.com/dlang/dmd/pull/12723

--
June 21, 2021
https://issues.dlang.org/show_bug.cgi?id=21932

Iain Buclaw <ibuclaw@gdcproject.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|pull                        |

--
June 30, 2021
https://issues.dlang.org/show_bug.cgi?id=21932

Dlang Bot <dlang-bot@dlang.rocks> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |pull

--- Comment #6 from Dlang Bot <dlang-bot@dlang.rocks> ---
@WalterBright created dlang/dmd pull request #12787 "fix Issue 21932 ImportC: enum ENUM conflicst with enum ENUM" fixing this issue:

- fix Issue 21932 ImportC: enum ENUM conflicst with enum ENUM

https://github.com/dlang/dmd/pull/12787

--
« First   ‹ Prev
1 2