Each release of the PGI compilers brings a number of technical corrections to problems discovered by PGI and by users. Problems found can be emailed directly to PGI Technical Support or submitted through the web-based Support Request form. PGI refers to all such reports as Technical Problem Reports, or TPRs.
The following table is a list of most, but not all, of the problems being addressed in the next release. Descriptions as provided may be incomplete due to proprietary nature of the sample code. In such cases simple replacement examples may not be available.
Note: ICE stands for Internal Compiler Error.
| TPR | Compiler/Other | Symptoms/Description |
|---|---|---|
| 2978 | pgcc/pgCC | Bad code in cast of int to char |
| 3693 | Windows libs | Windows lacks erf erfc routines in our installation |
| 3741 | pgf90 | High level optimization with -tp piii causes compiler to crash |
| 3768 | pgf90 | Loop interchange runs much slower than manual loop interchange |
| 3795 | pgf90 | -tp p6 and -fastsse causes ICE |
| 3799 | all | nodes are sharing the same scratch file name |
| 3805 | pgcc | Missing C99 Macro variable "__STDC_VERSION__" |
| 3869 | pgcc/pgCC | Request for -dN and/or -dD to list predefs in compilation |
| 3888 | Docs | -Mfptrap vs. -Mnofptrap vs. -Kieee vs. -Ktrap |
| 3892 | pgcc | C99 math.h prototypes not being used |
| 3911 | pgf90 | -Mchkptr mistakenly decides associated(x) as a dereference of x |
| 3916 | Docs | Add setvbuf3f documentation to the PGI fortran reference manual |
| 3922 | All | Reference to sched_yield in non OpenMP programs and causes link problems |
| 3925 | pgf90 | Initializer Alt2 = (/(3.0*i, i=1,nn)/) 'Illegal implied DO expression' wrong |
| 3930 | pgf90 | ICHAR problem in the initialization process |
| 3946 | pgf90 | Example causes ICE 'flowgraph: node is zero' in -tp x64, not in -tp p7-64 or -tp k8-64 |
| 3947 | pgf90 | NIMROD example -- ICE 'Errors in Lowering' |
| 3955 | pgcc/pgCC | Driver does not recognize suffix .h file for preprocess |
| 3965 | pgf90 | Optimization opportunity in program missed. |
| 3969 | pgf90 on Windows | __builtin_stinit is not available when linking vc++ with a PGI-generated shared lib on Win32 |
| 3971 | Docs | Fortran ref Manual lacking information on BINARY, CONVERT |
| 3972 | pgcc/pgCC | DWARF debug info in 6.2-3 looks wrong |
| 3975 | pgf90 | Assembly Error during compilation 64-bit pgf90 error "suffix or operands invalid for `movsd'" |
| 3977 | pgf90 | Compiled code should detect error with -Mstandard, but does not |
| 3980 | pgf90 | Program causes compiler to crash |
| 3982 | pgf90 | mod files of same name, but only one used, confuses pgf90 |
| 3985 | All | Set up default options for a site |
| 3988 | All | Set up default options for a site |
| 3990 | pgf90 | User code seg faults when using a passed procedure in an internal function |
| 3991 | pgf90 | Save attribute ignored in pgf90 64-bit example |
| 3992 | pgf90 | DIM argument to minval and maxval appears broken |
| 3993 | pgf90 | Program fails because of -Mchkptr |
| 3995 | pgf90 | Vectorization results in wrong answers |
| 3997 | pgf90 | Example cause errors at higher optimization levels |
| 3998 | pgf90 | Progrma fails to link when compiled -g |
| 4000 | pgf90 | $TMPDIR set to invalid directory causes compiler hang |
| 4005 | pgcc | vla fails with pgcc, not gcc |
| 4006 | pgf90 | compilation failure for a valid FORTRAN program |
| 4007 | install instructions | Installation instructions about rc.d/init.d are not consistent across Linux versions |
| 4008 | pgf77 | Program compiled -Minline crashes pgf77 |
| 4010 | pgcc/pgCC | Typo in cpprc causes "--use_pch" to fail |
| 4012 | pgf90 | ICE with -Mvect " wrong loop indices when computing distances" |
| 4014 | pgf90 | pgf90 64-bit Code compiled -g causes compiler crash |
| 4015 | pgf90/pgf77 | pgf90 code causes ICE 'Lowering Error: logical result for arithmetic operation' |
| 4018 | pgf90 | WRF V2.2 Fails to compile |
| 4019 | pgf90 on Windows | Using .o on Windows with Fortran compilers causes link failure |
| 4020 | special libs added | Customer libs made available for users on certain systems. |
| 4021 | pgf90 | error with lbound of an assumed-shape array causes segfault. |
| 4022 | Windows Documents | Show how to run win32/win64 compiled codes on targets w/o PGI compilers |
| 4024 | pgf90 | pgf90 ICE - 'transform_call:Array Expression can't be here' |
| 4025 | pgf90 | OPEN and INQUIRE handle file names with a trailing NULL character differently. |
| 4027 | pgf90 | errors with threadprivate common block containing a pointer |
| 4028 | pgf90 | incorrect example causes compiler ICE - 'sym_of_ast: unexpected ast' |
| 4029 | pgf90 | pgf90 example with RECORD problem generates ICE |
| 4031 | pgf90 | pgf90 program causes seg fault in compiler. |
| 4032 | pgcc/pgCC | OpenMPI compile fails with ICE because of struct copy containing bool |
| 4034 | pgf90 | PGF90 example creates ICE ' unexpected ast type in initialization expr' |
| 4036 | pgf90 | threadprivate global variable not used in contained subprograms |
| 4038 | pgcc/pgCC | pgcpp -MM should only give user include header file dependencies, instead gives all headers |
| 4041 | pgf90 | Module variables not imported correctly when used in a DLL |
| 4043 | pgf90/pgf77 | failures when running with multiple threads on a RHEL3 Opteron machine |
| 4045 | pgf90/pgf77 | Forall gives wrong answer when lhs is an allocatable array in a derived type |
| 4048 | pgf90/pgf77 | Manuals should remove references to Netscape |
| 4050 | pgf90/pgf77 | libpgc.a in the 64-bit libso directory has non-fpic compiled objects |
| 4052 | pgf90/pgf77 | call exit(code) fails to echo 'code' |
| 4053 | pgcc/pgCC | PGI include file stdlib not properly adding include_next |
| 4054 | pgcc/pgCC | C example gives correct answer at -O1, fails at -O2 |
| 4055 | Docs | Release notes confusing wrt new fast math intrinsic |
| 4056 | pgcc/pgCC | pgcc inline assembly fails with this example |
| 4057 | pgf90 | async I/O library routines need to be removed from libqk_pgf90.a |
| 4059 | pgf90 | problem linking application |
| 4062 | pgcc/pgCC | OpenMPI fails to build because filenames too long |
| 4067 | pgcc/pgCC | pgf90 example gives different answers than gfortran |
| 4072 | pgcc/pgCC | User code causes pgcpp2 to seg fault when compiled with "-Mipa" |
| 4073 | pgcc/pgCC | "-lrt" missing from link line when -pgf90libs or -pgf77libs is used wiht pgcc |
| 4076 | pgcc/pgCC | VLA after a block that reads size gives ICE on RHEL 4 |
| 4077 | pgf90 | pgf90 link with -mcmodel=medium 'Could not resolve generic procedure fu_explain_neq_shape' |
| 4078 | pgcc/pgCC | strip breaks sua executables |
| 4080 | windows | liblapack and libblas missing from Windows products |
| TPR | Compiler/Other | Symptoms/Description |
|---|---|---|
| 2978 | pgcc | pgcc generates bad code for a cast of an integer quantity to character |
| 3620 | pgcc | pgcc fails to act same at -O2 as -O1 and -O3 |
| 3668 | pgf90 | pgf90 compiled program terminates the compiler |
| 3715 | All | RHEL 4 Numa support addedRHEL 4 Numa support added |
| 3743 | pgf90 | Long compilation time for large array data initialization |
| 3757 | pgf90 | Support for Dummat Args as allocatables |
| 3802 | pgf77/pgf90 | pgi preprocessor inow displays predefined macros |
| 3874 | pgCC | C++ code fails to print 'long double' data type using cout |
| 3900 | all | Minimum thread limit for libraries is now 8. |
| 3904 | Install | PGI install scripts are enabled for Foreign Languages |
| 3908 | pgf90 | Fortran I/O on 64-bit systems much slower with -mcmodel=medium |
| 3919 | pgf90 | Fortran example misses opportunity to hoist costly dsin from loop |
| 3923 | pgf90 | Loop bounds passed in struct, stored locally, aren't countable |
| 3940 | pgf90 | memory leak in allocatable components |
| 3945 | Docs | Large array coding examples added to the User Guide |
| 4011 | pgf90 | 2.0**66 causes a floating exception with -Ktrap=fp |
| 4016 | pgf90 | pgCC fails with '__attribute__((aligned (16))) ' in code |
| 4026 | pgf90 | IMPLIED DO error where there is none, and compiler crash where there is an error |
| 4044 | pgf90 | Seg Fault executing a write with multiply by array section |
| 4045 | pgf90 | Forall gives wrong answer when lhs is an allocatable array in a derived type |
| 4060 | pgf90 | Program seg faults with character length >64, and Transfer function |
| 4065 | pgf90 | Simple fortran OPEN test works with pgf77, fails with pgf90 |
| 4069 | pgf90 | CDK mpif90, mpif77, etc scripts need to act exactly like pgf90 -Mmpi or -Mmpi2 |
| 4083 | pgCC | 32-bit pgCC does not read back 'long long' from file properly |
| 4087 | pgf90 | pgf90 bug for Pointers in COMMONs - storage order messed up |
| 4099 | pgf90 | stack command shows only current routine on win32 |
| 4110 | All | SUA64: MP Correctness test report stack overflow when compiled with "-Mchkstk" |
| 4118 | pgf90 | Release 7.0-2 pgf90 no longer supports !DEC$ directives the way 6.2-5 did |
| 4119 | pgf90 | endparallel is not treated the same as 'end parallel' in OpenMP |
| 4145 | pgf90 | OpenMP Directive NUM_THREADS extends outside scope of current section |
| TPR | Compiler/Other | Symptoms/Description |
|---|---|---|
| 3556 | pgcc | example does not produce fp exception at -O2 as expected |
| 3899 | pgf90 | Mbounds triggers error for allocating character array of size zero, but not for integer array |
| 4003 | pgf90 | Defective program breaks compiler rather than emit error info. |
| 4117 | pgf90 | pgf90 -Mstandard flags variable name length after decorating it |
| 4137 | All | New driver behavior should have switch to go back to old behavior |
| 4146 | pgf90 | TARGET attribute disables optimizations |
| 4157 | pgf90 | Overlap warnings portend difficult ICE 'module:new_dtype, dt nfd' |
| TPR | Compiler/Other | Symptoms/Description |
|---|---|---|
| 3610 | pgf90 | SHAPE intrinsic fails with -i8 |
| 3692 | pgf90 | Performance and correctness changes with loop count size w/wo -Kieee |
| 4082 | pgCC 32-bit | fastsse -Minline=levels:10' causes ICE 'sym_is_refd: bad sptr' on 32-bit |
| 4085 | pgcc | pgcc aborts with 'Source file too large to compile at this opt level' |
| 4112 | pgf90 | pgf90 ICE 'mismatched carry-around expression' with -Mlre |
| 4177 | pgf90 | pgf90 switch combination causes compiler to hang |
| 4211 | pgf90 | Modfile compiled with 7.0-2 in file compiled 7.0-3 causes ICE 'Errors in ILM file' |
| TPR | Compiler/Other | Symptoms/Description |
|---|---|---|
| 4178 | All 32-bit | 32-bit libpgc.so does not define __pgi_trace as 'weak' the way 64-bit does |
| 4216 | pgCC | pgCC crashes on BOOST PYTHON Component |
| 4220 | pgf90 | pgf90 gets lowering error for mixing logical, real data types |
| TPR | Compiler/Other | Symptoms/Description |
|---|---|---|
| 4135 | pgf90 | Example with PARAMETER declaration causes ICE 'module:new_dtype, dt nfd' |
| 4152 | pgf90 | pgf90 example ICE - unexpected data type at assignment |
| 4155 | pgCC | C++ overload issue |
| 4209 | pgf90 | PGF90-S-0000-Internal compiler error. ipa_import: loop directive |
| 4221 | pgf90 | PGF90-F-0000-Internal compiler error. module:new_dtype, dt nfd 39 |
| 4236 | pgf90 | Transfer function in 64-bit fails, 32-bit works |
| 4238 | pgCC | pgCC fails to compile Ternary Operator Expressions |
| 4240 | pgf90 | legal f90 fails with 'Illegal use of symbol - must have the TARGET or POINTER attribute' |
| 4258 | pgf90 | pgf90 ICE - 'transform_call:Array Expression can't be here' |
| 4261 | pgf90 | WHERE construct incorrectly gens severe error |
| 4262 | pgf90 | matmul function does not produce correct answers |
| 4267 | All | PGI EVAL license prevents shared library creation |