Hello all, I've recently purchased a second copy of Intel Fortran for windows (Win7) with Visual Studio 2103. I'm getting two copies of the same source code file opening in the Visual Studio editor. The file paths shown when you hover on the window-tab are almost the same, except one has "/" as the last path separator instead of "\".
The 2nd window opens when I double click on a syntax error in the output or error-list windows. I notice that the filename in the error window has its last separator invalid. eg: C:\Users\kskinn\checkouts\tmp_170815\common/Filenames.f90(20): error #6850
As well as being very confusing, this is causing an message on compiling/saving of "file altered outside of editor, do you want to reload?".
Can anyone advise?
I have not come across any previous report of this behavior. I do not experience this under VS 2013 or 2012 when using our VS integrations from our PSXE 2016 Update 4 or PSXE 2017 Update 2 so perhaps you are using an earlier version.
Under Help > About what version of Intel Parallel Studio XE for Fortran is installed?
If you click on that Fortran entry, in the Product Details pane, what is the version of the integrations reported?
If you are using a version earlier than PSXE 2016 and you need to use that earlier compiler, you could perhaps install a newer release with newer integrations and then via Tools > Options > Intel Compilers and Tools > Visual Fortran > Compilers set Selected compiler to the older version compiler you need. You could perhaps also opt out of installing everything from the PSXE 2016 release except the VS integrations.
Does this open in a new vertical tab group?
Right-Click Select your project in the Solution Explorer choose properties, then Fortran, and General. Under some property that will present an edit window (Additional Include Directories), choose Edit (you are not going to edit anything). In the Edit box, you should see a button for Macros. Click that and examine all the defined macros to find one ending in /. This may be the problematic one.
If the particular macro is also an environment variable, then you will need to edit your environment variables to correct this error.
The (C:\Users\kskinn\checkouts\tmp_170815\common/Filenames.f90) path does not seem like a typical Visual Studio generated Project/Solution folder. How did it come about that Filenames.f90 is located there?
Thanks Kevin for your reply, below is info from help/about as requested. My install is only a few weeks old, but I have done one upgrade so far.
Microsoft Visual Studio 2013 Shell (Integrated) Version 12.0.21005.1 REL Microsoft .NET Framework Version 4.6.01055 Installed Version: IDE Standard Intel® Parallel Studio XE 2017 Update 1 Composer Edition for Fortran Windows* Package ID: w_comp_lib_2017.1.143 Intel® Parallel Studio XE 2017 Update 1 Composer Edition for Fortran Windows* Integration for Microsoft Visual Studio* 2013, Version 17.0.0040.12, Copyright © 2002-2016 Intel Corporation. All rights reserved. * Other names and brands may be claimed as the property of others.
Microsoft Visual Studio 2013 Shell (Integrated)
Version 12.0.21005.1 REL
Microsoft .NET Framework
Installed Version: IDE Standard
Intel® Parallel Studio XE 2017 Update 1 Composer Edition for Fortran Windows* Package ID: w_comp_lib_2017.1.143
Intel® Parallel Studio XE 2017 Update 1 Composer Edition for Fortran Windows* Integration for Microsoft Visual Studio* 2013, Version 17.0.0040.12, Copyright © 2002-2016 Intel Corporation. All rights reserved.
* Other names and brands may be claimed as the property of others.
Hi Jim, thank you for your reply. To answer your questions
I don't think its a new vertical tab group (sorry I'm a bit unfamiliar with terms), my editor window has two tabs with the same filename (with different path separators) across the op bar (I couldn't figure out how to include an image of it in this post).
I tried your suggestion to open an edit window, but only had OK/Cancel buttons, no macro button. Sorry if I come across as a newbie, but I have been using Intel Fortran for years now.
My projects are held in separate folders below a root folder, common just holds source code common to many projects, all were setup using VS new/project.
Any more help is gratefully accepted.
Create/Open a C++ project, and do the same.
There must be an issue with the Fortran integrations that omit this button on the Additional Include Directories | <Edit> window.
There may be a different way to get to a window that displays $(macrosNameHere).
Thank you for the integration info Karl. Good to know the versions of those and I note you are using VS2013 Shell, maybe that's a clue and was a version I hadn't tried earlier.
Our integration developers have not heard of this behavior either.
At your convenience, could you attach a .vfproj file and a build log for a project with an error for which this issue was observed?
Hi Kevin, I thought a couple of images would help to show the problem of duplicate files in the edit pane and the wrong path separator in the output window. A colleague of mine who purchased Intel Fortran as the same time as me is also getting the same problem.
I've included the 2 files you asked for, but had to rename buildlog as .htm.txt as the .htm file would not upload. I know the project is riddled with syntax errors and the like (you caught me in the middle of a refactoring), but I guess that is not a problem. Let me know if you need more.
Thank you. I can reproduce this. This is a combination of having Fortran > Preprocessor > Preprocess Source File enabled, the source file residing at least one-level above the project file, and using Visual Studio 2013 Shell. It does not occur under other VS non-Shell versions.
In your case, I expect you see this for files that reside in your “..\common” area.
I have not found any convenient work around. I expect preprocessing is enabled for a valid purpose and relocating the "common" area within the project folder does not sound possible. I will let you know if I learn of a convenient work around besides dismissing once instance should two become opened.
(Internal tracking id: DPD200419130)
Hi Kevin, thanks, I'm glad you can reproduce the bug. I use the pre-processor to switch my unit-test code on and off. The project I'm working on at the moment is a separate project dedicated to unit-testing code common to all my other projects, I can in fact get round the problem by hard-coding the tests. My other production projects also contain unit-tests that I cannot control other than by the preprocessor unless I permanently include the test-code and add a clunky "unit_test=.true." line.
The problem is fairly serious for me as it has caused quite a bit of loss of work as typing in the wrong window will be silently overwritten.
Is the problem in VS2015? Bizarrely a colleague of mine who bought Intel Fortran six months before me has VS2015 and I'm on VS2013.
The reproducer I created for VS 2013 Shell (which you are using) does not exhibit the same issue under VS2015 so there must be another combination of things that cause it with other VS versions/editions. I informed Development this can occur under VS2015 also to ensure they investigate that possibility once the root cause w/VS 2013 Shell is understood.
Sorry about the inconvenience due to this.
A possible work around might be to place your unit test code into a separate project that generates a static library. Then make your application project dependent upon the unit test library.