Problems with __int64, unsigned __int64 and DImode/ILP32 on ia64
Jim Wilson
wilson@tuliptree.org
Tue Jun 24 06:51:00 GMT 2003
H. J. Lu wrote:
> record_builtin_type (RID_LONG, "__int64",
> long_integer_type_node);
I don't see any targets calling record_builtin_type, so this looks
suspect. Usually, target dependent types for intrinsics are defined in
the intrinsic header file, via typedefs or defines. A define would work
here, but wouldn't be pretty. I suggest asking the Intel compiler group
to fix the instrinsic API to be more friendly to other compilers, i.e.
don't assume that __int64 exists as a keyword. They could use standard
types like int64_t and uint64_t. If they don't want to use though, they
should at least have a __uint64 type.
This only matters if __int64 is visible to the users. If it isn't then
there is no need to replicate this part of the intrinsic API. I tried
looking at the manual, but it didn't work with my copy of Mozilla. I
also find it curious that I have to go to utexas to see Intel documentation.
> Does anyone know how to make gcc to take "unsigned __int64"?
I don't think you can without changing the parsers. The
record_builtin_type function doesn't affect the parser. It just creates
the type tree nodes needed by the parser, and gives them default names
that are similar to what the C front end will accept.
Jim
More information about the Gcc
mailing list