Technical Problem Reports

What problems have been fixed in release 9.0?

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 problems that have been fixed in each 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 Release Compiler/Other Symptoms/Description
3450 9.0-4 Fortran Request for f2003 PROCEDURE statements
Corrected the support for procedure statements.
15980 9.0-4 Fortran pgf90 reports an error for 'procedure (proc_template), nopass, pointer :: proc => null ()'
Corrected the support of procedure pointers.
15995 9.0-4 Fortran pgf90 reports the error, "transform_call:Array Expression can't be here"
Corrected the processing of array expressions as arguments to elemental procedures.
15998 9.0-4 Fortran pgf90 reports the error, "Lowering Error: bad ast optype in expression [ast= "
Corrected the processing any argument that is an array expression that contains the use of LBOUND of a pointer or allocatable component.
16003 9.0-4 Fortran pgf90 reports the error, "Derived type has not been declared" for an IMPORT
Corrected the IMPORT processing when the name of the imported object is the same as the name of a component.
16006 9.0-4 Fortran pgf90 reports the error, "Illegal use of derived type"
Corrected the support of C_ASSOCIATED.
16007 9.0-4 Fortran pgf90 reports the error, "Syntax error at or near ,"
Allow the presence of both PUBLIC and BIND in a TYPE declaration.
16008 9.0-4 Fortran pgf90 reports the warning 'association of scalar actual arg to array dummy arg'
Allow a characater scalar to be associated with a character array.
16009 9.0-4 Fortran pgf90 reports the error, "check_member: cannot match member with derived type"
Corrected processing of a nested MATMUL of array pointer components.
16013 9.0-4 Fortran Very long file name causes a seg fault in pgf90
Corrected the compiler's handling of a file name when its length exceeds the limit.
16017 9.0-4 C/C++ pgCC example with long bit fields fails
Corrected the compiler's handling of long bit fields when wider than 32 bits,
16035 9.0-4 Fortran pghpf reports the error, "distribute_fval: fval not ID"
The HPF compiler can only replace the result of an array-valued function with the left-hand side of an assignment when the left-hand side is an identifier.
16037 9.0-4 Fortran User program seg faults on exit
Corrected that array temporaries of insufficent size were being created for the results of nested calls to array-value functions.
16040 9.0-4 Fortran problems with -gopt on corefiles read with gdb
Do not generate a bogus address for an argument not saved in memory.
16042 9.0-4 C/C++ pgCC --zc_eh can't process lists
Corrected the processing when throws appear within a parameter list.
16043 9.0-4 C/C++ Compiling --zc_eh cause pgCC to seg fault
Corrected creating a "dtor" routine with a missing "this" parameter.
16047 9.0-4 32-bit Fortran pgf90 reports the error, "Subprogram too large to compile at this optimization level", with -Mcray=pointer
Corrected the management of certain data structures internal to the compiler.
16061 9.0-4 Fortran pgf90 preprocessing problems of a file with a very long file name
Corrected the preprocessor's handling of a file name when its length exceeds the limit.
16064 9.0-4 Fortran C_F_POINTER should allow C_LOC() as cptr argument
Corrected the compiler to allow C_LOC() as cptr argument.
16066 9.0-4 C/C++ pgCC --zc_eh num_regions error
Corrected the processing of --zc_eh for lexical blocks.
16071 9.0-4 Fortran f90 Code hangs when compiled -mp
Corrected the processing of private allocatables and pointers.
16073 9.0-4 C/C++ pgCC --zc_eh error when deleting conditionals
Corrected the processing -f --zc_eh when dead code is removed.
16074 9.0-4 C/C++ pgCC --zc_eh causes pgCC to crash
Corrected the compiler.
16079 9.0-4 C/C++ pgCC --zc_eh error with function that throws inside a static initializer
Corrected the processing of a region within an initializer
16086 9.0-4 C/C++ pgCC --zc_eh error within a "for" expression
Corrected the processing of a region within a for-init expression.
16087 9.0-4 C/C++ pgcc -mp errors
Corrected declaring the same private variable with multiple clauses.
16088 9.0-4 Fortran Windows "-pgcpplibs" flag includes the Linux C++ runtime
Corrected the driver so that "libcpp" is included instead of "libC".
16090 9.0-4 C/C++ pgCC ---zc_eh error with nested constructors
Corrected the processing of zc_eh regions within nested constructors.
16098 9.0-4 32-bit C/C++ OSX86 driver does not send '-arch i386' to 'as'
On OSX, corrected the 32-bit driver to invoke the assembler, as, with the "-arch -i386" option.
3994 9.0-3 PVF Remove resource file option from new file dialog
Removed the resource file from the Add | New item dialog.
4337 9.0-3 C/C++ Compiling --exceptions reports the error: 'calc_dw_tag: no tag'
Corrected the generation of debug information for --exceptions and -mp.
12280 9.0-3 PVF Contents of new file dialogs differ
The sort order of fixed- and free-formatted files is now the same.
14936 9.0-3 C/C++ pgcpp generating incorrect debug information
Corrected the generation of debug information.
15826 9.0-3 PVF Stopping debugging causes unspecified error in VS 2008
Corrected how processes are terminated at the end of debugging.
15908 9.0-3 PVF Command in immediate window causes loss of scope under VS 2008
Corrected the attribute of the event used for expression evaluation.
15911 9.0-3 Installation Add MPI dialog and install instructions to PVF install package
Adding a message box detailing the MSMPI co-requirements.
15913 9.0-3 PVF Too many bound breakpoints
Corrected the program name associated with bound breakpoints.
15949 9.0-3 ALL MP_BLIST and OMP_NUM_THREAD have different maximum number of cores
Changed the MP_BLIST maximum to the same as the OMP_NUM_THREAD maximum (64).
15954 9.0-3 64-bit C/C++ pgCC example gives incorrect answers with -fast autoinline.
Corrected the last value computation of a pointer.
15962 9.0-3 Fortran pgf90 example gives incorrect answers with -Mvect
Cannot compute the last value of an induction variable not assigned on every iteration of its loop
15963 9.0-3 Fortran pgf90 example yields the error 'assem.c-put_skip old, new not in sync'
Corrected the initialization of a derived type containing component initializers.
15966 9.0-3 C/C++ pgcc/pgCC doesn't reject 'schedule(auto,2)' clause - no chunk size permitted.
Corrected the compiler to emit an error if a chunk size is specified for auto or runtime schedules.
15970 9.0-3 Fortran Illegal implied DO expression in an initializer
Added the support for the '**' operator in an initializer
15977 9.0-3 64-bit C/C++ pow(3) produces nonstandard results with -Kieee
Corrected the -Kieee version of the run-time routine for double precision pow.
15978 9.0-3 Fortran pgf90 -mp fails to detect 'chunk size when specifying an auto schedule'.
Corrected the compiler to emit an error if a chunk size is specified for auto or runtime schedules.
15981 9.0-3 C/C++ Failure with single to double vectorization.
Corrected the single-to-double vectorization of a divide expression.
15982 9.0-3 Profiler 32-bit pgsampt cannot find libpgc.so
Corrected the build of pgsampt to statically link lilbpgc.
15983 9.0-3 Installation Add check for and use of JDK to installers
The Windows install script now searches for the JDK if the JRE is not found.
15985 9.0-3 Fortran pgf90 example fails with 'Could not resolve generic procedure'
Corrected the processing of a user generic when there exists a specific of the same name
15986 9.0-3 Fortran pgcollect gives error 'pserv_init:task_for_pid failed'
Set the correct permissions for pgsampt.
15987 9.0-3 Fortran index.htm in CDK and Mac OS X are broken
Corrected the index.htm files for the CDK and OSX.
15988 9.0-3 Documentation OSX install creates an incorrect doc area
Fixed the install to include the correct documentation.
15993 9.0-3 C/C++ pgcc issues the error 'check_ilm0: illegal store' when using __m128
Corrected the processing of multiple assignments of __m128 variables.
15994 9.0-3 Fortran pgf90 program gives the error 'get_ac_op: unexpected operator in initialization expr'
Added the support for logical and relational operators in an initializer
15997 9.0-3 C/C++ pgcc program reports the error 'fold_const: bad args'
Corrected the processing of expressions containing long double complex constants.
15999 9.0-3 32-bit Fortran Need to be able to debug subroutines compiled with -Mnoframe
Corrected the debug information for stack-based local variables.
16000 9.0-3 64-bit Fortran Parameter passed by value cannot be used in array bounds
Corrected the processing of value arguments in specification expressions.
16005 9.0-3 C/C++ c99 feature reports the error ' ad_func: illegal arg'.
Corrected processing of the declaration of a prototyped function with VLA arguments.
16023 9.0-3 Fortran OpenMP fatal error 'DO loop expected after COLLAPSE' when using a named do construct in inner loop
Allow a construct name for a DO loop within the scope of a COLLAPSE."
16031 9.0-3 64-bit Fortran pgf90 example causes compiler to terminate.
Corrected the processing of subscripted member references during the processing of generics.
16033 9.0-3 Accelerator pgaccelinfo reports a false number of threads per block.
Corrected pgaccelinfo.
16038 9.0-3 64-bit Fortran pgf90 code causes pgf901 seg fault.
Corrected the optimizer when examining pointer components.
15961 9.0-2 64-bit Fortran pgf90 reports the error, "unable to resolve generic".
Corrected the processing of a user generic declared PUBLIC where its same-named module procedure is PRIVATE
15952 9.0-2 64-bit C/C++ offsetof() header entry fails on RHEL4, 64-bit, C
Corrected the definition of offsetof in stddef.h.
15951 9.0-2 OSX INSTALL.txt missing a continuation line.
Added the required line to INSTALL.txt.
15943 9.0-2 Fortran pgf90 reports the error, "expression must be character type" for a MERGE
Corrected the compiler's handling of merge when one argument source is assumed-length character and the other source is adjustable-length character.
15887 9.0-2 Fortran pgf90 -fast causes errors for a PRINT of a pointer section
Corrected optimizing the reference to a whole pointer section when appearing as an I/O item.
3204 9.0-1 32-bit Fortran Debug line information unavailable for include files.
The compilers now emit debug line information for code from include files.
3662 9.0-1 64-bit Fortran MPI program fails to complete.
Corrected the I/O run-time and MPI process extends a direct access unformatted file.
4013 9.0-1 64-bit C/C++ pgcpp gnu linkonce and Suse 9.3 linker incompatibility
pgcpp now generates linkonce.r sections for the cases where the incompatibilities occurred.
4139 9.0-1 Fortran Error not reported for an OpenMP example containing statement functions
If a variable appears in the definition of a statement function, the compiler now reports the appearance of that same variable in a PRIVATE clause as an error.
4153 9.0-1 Fortran Warnings imply -r8 affecting variables declared with specific kind.
Corrected how compiler processes certain intrinsics when the -r8 option is present.
4154 9.0-1 Fortran time() and ctime() return integer*8 - not integer*4 as documentation indicates.
Corrected the documentation of time & ctime.
4347 9.0-1 Fortran An intrinsic returning the wrong kind of answer.
Corrected how the compiler processes certain intrinsics when the -r8 option is present.
14856 9.0-1 Fortran Compiler fails to catch INTENT errors
The compiler now reports errors for mismatched INTENT.
14971 9.0-1 64-bit C/C++ pgcpp inlining generates bad code
Corrected the inliner to not discard the value of arguments if they could have side-effects.
15417 9.0-1 Fortran pgf90 issues severe error for IMPORT
The compiler now supports the f2003 feature: IMPORT.
15449 9.0-1 All libacml gives wrong answer compared to lapack, blas.
Corrected a failure in zgemm which only occurred for certain matrix sizes.
15482 9.0-1 All PGI User Guide OpenMP examples need adjustment.
Revised the OpenMP examples and explanations.
15559 9.0-1 Fortran OpenMP program causes compiler crash.
Corrected how compiler processes a recursive function call within a TASK construct.
15575 9.0-1 C/C++ pgcc issues error for a multi-dimensional variable length array
Corrected the processing of a declaration of a formal VLA whose bounds contain pointer dereferences.
15576 9.0-1 Fortran NAMELIST boundary problems.
Updated the namelist read to properly handle character constants which span multiple lines.
15609 9.0-1 Fortran IMPLICIT NONE rules fail to work on pgf90.
Corrected the compiler to report an error for the use of an undeclared variable in a derived type constructor.
15624 9.0-1 Fortran Thread race condition with pgf90
Corrected passing pointer arguments to assumed-shape dummy arguments when appearing in a parallel region.
15632 9.0-1 Debugger Higher optimization levels excessively hinder ability to debug.
Fixed the compiler to present the correct line number of the first executable of a subprogram.
15637 9.0-1 C/C++ Error in default constructor for THREADPRIVATE classes
Corrected the compiler and run-time to account for classes which do not have defined destructors.
15644 9.0-1 C/C++ C compilers fail to support C99 hexadecimal floating-point constants.
Added the recognition of hex floating-point constants.
15646 9.0-1 Fortran Use of %VAL causes the error," exp_call bad ili" on Windows
Allow %VAL expression to appear as an argument passed to a STDCALL routine.
15652 9.0-1 Documentation emacs on windows should not appear in the PGI Users Guide.
Removed the references to emacs from the documentation.
15656 9.0-1 Fortran Improper assignment from contained function (pgf90).
Corrected an optimization where the compiler was directly assigning the result of an internal function to a host-associated array variable.
15659 9.0-1 Fortran use-associated' module error is false, code should compile.
Corrected the compiler to not report the error for a PRIVATE module variable.
15660 9.0-1 64-bit Fortran MAX intrinsic KIND arg should not be changed by -r8.
Corrected the compiler's processing of certain intrinsics when the -r8 option is present.
15661 9.0-1 C/C++ pgcpp reports the error 'unexpected default type'.
Corrected the compiler's handling of the DEFAULT(NONE) clause for OpenMP constructs.
15662 9.0-1 C/C++ Windows C99 header files.
Added the include files, stdint.h and inttypes.h.
15694 9.0-1 Installation Request to update CDK MVAPICH.
Added the newer version of mvapich to the CDK.
15703 9.0-1 Fortran Missing C_LOC() error in module with ISO_C_BINDING included.
Corrected the USE of a module which contains a USE of iso_c_binding
15708 9.0-1 Fortran Examples using TRIM() report the error 'string_expr_length: ast not string op'.
Correct the processing of a TRIM expression appearing as an item in an array constructor.
15716 9.0-1 Fortran pgf90 example yields "Lowering" errors.
Corrected the processing of an ELEMENTAL function returning derived type.
15718 9.0-1 Fortran Feature request - F2003 version of intrinsic SIZE.
Added the support of the SIZE intrinsic.
15719 9.0-1 Documentation -dD' is not supported in pgcpp, just pgcc.
Updated the documentation and help to indicate that '-dD' is for pgcc-only.
15720 9.0-1 Installation ubuntu not recognized in lmgrd.rc
Updated lmgrd.rc to account for ubuntu.
15721 9.0-1 Fortran Example fails with the error, 'mismatched carry-around expression'.
Corrected the compiler to account for duplicate expressions in the LRE optimization.
15728 9.0-1 Fortran Dummy procedure args show up in object as undefined external refs.
Corrected the processing of MODULEs where certain dummy procedures of routines in INTERFACEs were showing up as global symbols.
15732 9.0-1 64-bit Fortran pgcpp example seg faults when compiled -tp x64.
Corrected references of certain local pointers in the presence of unified binary.
15733 9.0-1 Documentation Man pages indicate -O3 is the same as -O4.
Updated the man pages.
15737 9.0-1 Fortran Optimized code reports wrong result for size() intrinsic.
Corrected the computation of SIZE of a pointer whose target is an array section where all but the last dimension is ':'.
15744 9.0-1 C++ C++ template example crashes pgcpp
Corrected how the compiler processes templates.
15748 9.0-1 Fortran Legal f2003 code causes severe error 'Statement may not appear in an INTERFACE block'.
Added support of the f2003 statement: IMPORT.
15749 9.0-1 32-bit C/C++ pgcpp example problems with -mp.
Corrected the processing of field members within parallel regions.
15750 9.0-1 Fortran f90 example hangs during compilation.
Corrected the processing a derived type PARAMETER.
15761 9.0-1 Fortran Single to Double conversion(vectorized) failure with Cray pointers.
Corrected the vectorization of the single to double conversion when the source is a Cray pointer.
15784 9.0-1 32-bit C/C++ Extended asm gets syntax error "Can't find a register in class 'AREG' for extended ASM operand 4".
Correct the processing of "write only operands" when the operand has a "matching constraint".
15794 9.0-1 C/C++ Inconsistent interpretation of extended asm output parameters.
Fixed the processing of the 'm' constraints.

Click me