- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Anyone hve any idea why the len intrinsic below is returning zero instead of 3 billion for this EM64T app? Setting local ints to 8 bytes via /4I8 does not seem to help. I'm trying to determine if the hidden length argument passed with characters are kind=4 or 8 on EM64T. I've looked in the docs plenty, but am notquite sure if rules about such things apply equally to IA64 and EM64T.
System is Windows XP x64 release version, AMD 64, SDK 3790.
Thanks in advance, Ian.
program main
integer(int_ptr_kind()), parameter :: nclen=3000000000
character(len=nclen) :: cmsg
print*,len(cmsg,8),nclen
print*,len(cmsg,8),nclen
stop
end
end
d: tengine>ifort /4I8 hello.f90
Intel Fortran Compiler for Intel EM64T-based applications, Version 8.1 Build 20050518 Packa
ge ID: w_fce_pc_8.1.019
Copyright (C) 1985-2005 Intel Corporation. All rights reserved.
Microsoft Incremental Linker Version 8.00.40310.39
Copyright (C) Microsoft Corporation. All rights reserved.
Copyright (C) Microsoft Corporation. All rights reserved.
-out:hello.exe
-subsystem:console
-entry:mainCRTStartup
hello.obj
-subsystem:console
-entry:mainCRTStartup
hello.obj
d:
tengine>hello
0 3000000000
0 3000000000
d:
tengine>
Link Copied
3 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Looks like a bug - please report it. When you do, please reference T55818.
Message Edited by sblionel on 06-08-2005 03:40 PM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Submitted. But, would you know if the hidden character length passed by value followinga character variable address usingthe em64T compiler in a call like:
call sub( cvar )
is int_ptr_kind() or integer(4) ? I looked at some assembler, and I think its int_ptr_kind() same as the address, regardless of the compile integer setting.
The docs say IA64 is integer(8), so em64t is?
Thanks, Ian
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
It is 8 bytes on EM64T, same as Itanium.

Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page