Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

camlidl: unknown attributes are not ignored correctly #3171

Closed
vicuna opened this issue Jan 27, 2002 · 1 comment
Closed

camlidl: unknown attributes are not ignored correctly #3171

vicuna opened this issue Jan 27, 2002 · 1 comment

Comments

@vicuna
Copy link

vicuna commented Jan 27, 2002

Original bug ID: 836
Reporter: administrator
Status: closed
Resolution: fixed
Priority: normal
Severity: minor
Category: -for CamlIDL use https://github.com/xavierleroy/camlidl/issues

Bug description

This happens if "import" statement present in the source:

[---noimport.idl---]
[
object,
helpstring("Something"),
]
interface IInterface : IUnknown
{
}
[---end of noimport.idl---]

C:\Work\Ocaml\camlidl\test>camlidl noimport.idl
noimport.idl
File noimport.idl, line 7, column 0: Warning: attribute `helpstring'
unknown, malformed or not applicable here, ignored.

That's OK (although the line number is slightly confusing). But

[---import1.idl---]
/* empty */
[---end of import1.idl---]

[---import.idl---]
import "import1.idl";

[
object,
helpstring("Something")
]
interface IInterface : IUnknown
{
}
[---end of import.idl---]

gives

C:\Work\Ocaml\camlidl\test>camlidl import.idl
import.idl
import1.idl
Fatal error: exception
Sys_error("C:\DOCUME1\bely\LOCALS1\Temp\camlidl17.idl: No such file or
directory")

Probably, camlidl loses the context after "import", and any warning/syntax
error will lead to the same result.

It would also be nice (but of course, not necessary) if camlidl allowed
optional semicolon after an interface definition:

[ object ] interface IInterface : IUnknown {}; // currently syntax error

and generated warning (not syntax error), if an unknown attrubute for
function is encountered:

[ object ] interface IInterface : IUnknown
{
[helpstring("something for MIDL")] HRESULT f(); // currently systax error
}

Hope to hear from you soon,
Dmitry

@vicuna
Copy link
Author

vicuna commented Apr 19, 2002

Comment author: administrator

Fixed 2002-04-19 by XL

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant