HPlogo HP C/HP-UX Release Notes for HP-UX 11i: HP 9000 Computers > Chapter 4 Problem Descriptions and Fixes

Defect fixes

» 

Technical documentation

Complete book in PDF

 » Table of Contents

This section describes defect fixes in the HP ANSI C compiler. Error message descriptions for errors referenced in these defect lists can be found in the HP C Online Help, which is bundled with the compiler.

HP C Version B.11.01.22 (March 2001)

The following defects were fixed in version B.11.01.22 of the HP C/ANSI C compiler. Where possible, the associated defect tracking number ("JAGxxxxxxx") is noted with the description of the defect.

  • JAGab17723 — The compiler generated an error message that stated that the compiler did not recognize the #error <varargs.h> preprocessor directive.

  • JAGaa73797 — The C compiler had a limitation of 255 characters for identifiers. This has been increased to 2048 characters.

  • JAGac00055 — Signal 11 errors were generated in the compiler due to syntax errors.

  • JAGac29093 — Signal 11 errors were generated when variables greater than 1020 bytes were used.

  • JAGac39582 — Lint generated errors, complaining about illegal compiler syntax.

  • JAGac59791 — Error 1521 (init of global variable fails) was being generated by the compiler and lint.

  • JAGad01628 — Signal 11 errors occurred when +DA1.1 flag and +O2 optimization levels used.

  • JAGad01887 — Macro expansion was being performed on #pragma STDC arguments. This violated the C9X standard, whcih states that these pragmas should not be subject to macro substitution.

  • JAGad03310 — Compiler produced wrong version executable.

  • JAGad04122 — Signal 11 errors were generated when +O3 optimization was used.

  • JAGad07976 / JAGad0751 — Optimization level 3 (+O3) was failing when used with profile-based optimization (PBO). Symptoms included errors when attempting to link .o files built at +O3.

  • JAGad12111 — Warning 2 was being generated when the +DOosname option was being used.

  • JAGad14074 — Signal 11 errors were being generated by the compiler upon invocation of cpp.ansi.

  • JAGad15486 — When compiling a C program in wide mode (+DA2.0W or +DD64), warning 724 was not being emitted in the default warning level.

  • JAGad29182 — The HP_OPT_DATA pragma, previously part of the HP C compiler for HP-UX 10.20, was never implemented for 11x until this release of the compiler. See "“HP_OPT_DATA on 11x”" in this release note for more information.

  • JAGad30595 — +Opromote_indirect_calls was not being enabled at +O4 using PBO. See "“OpenMP pragmas and options”" in this release note for more information.

  • JAGad34318 — Errors were being generated by the C compiler due to incorrect behavior.

  • JAGad37085 — The fusion of intrinsic calls were not on when +Olibcalls was used.

  • JAGad38191 — Signal 11 errors occurred when optimization level +O4 was used.

HP C Version B.11.01.21 (October 2000)

The following defects were fixed in version B.11.01.21 of the HP C/ANSI C compiler. Where possible, the associated defect tracking number ("JAGxxxxxxx") is noted with the description of the defect.

  • JAGad11294 — Signal 11 occurred in ccom.

  • JAGad10939 — Compile failed with a Signal 11 when +Olibcalls was specified on the compile line.

  • JAGad09629 — Partially initialized cons variables truncated at +O3.

  • JAGad07781 — Internal Error:7108 was encountered when compiling with patch PHSS_21223 installed.

  • JAGad07501 — Error occurred when compiling with PBO and +O3.

  • JAGad04840 — Excessive debugging messages have been removed from the HP C compiler.

  • JAGad04768 — The compiler driver was confused by +O0=foo option to turn off optimization in a specific function.

  • JAGad04509 — Compiler aborted with a Signal 11 when compiling at +O3.

  • JAGad03310 — The compiler produced the wrong version of the executable.

  • JAGad03244 — When compiling the SpecInt95 benchmark ijpeg at +O4 and PBO, version B.11.01.20 of the ANSI C compiler died and produced a ucomp Signal 11 error.

  • JAGad03160 — The -O default optimization switch produced incorrect code.

  • JAGad02692 — Warning 714 occurred when the C compiler did not recognize _asm (built-in function).

  • JAGad02497 — Spinlock deadlock panic occurred with an incomplete crashdump state.

  • JAGad02322 — Compilation problems occurred with conditional assignments at initialization time.

  • JAGad01539 — A large application took five minutes to compile at +O0 but took ~150 minutes to compile with -O.

  • JAGad01539 — +O2 optimization took hours longer than +O0.

  • JAGad01348 — Changed default update action to "update now" instead of saving to disk.

  • JAGad01123 —+O2 optimization was invoked when cc -O +O0 was specified.

  • JAGad00829 — Signal 11 (Error 7815) occurred with long path names and +objdebug.

  • JAGad00760 / JAGad00073— Error 5219 occured with _asm LDBS when compiling with +DA2.0W on long register result.

  • JAGad00080 — Optimizer warnings were displayed when compiling in 64-bit mode.

  • JAGac59702 — IOC_IN macro in sys/ioctl.h caused Warning 541 (int overflow).

  • JAGac40882 — Bad code for +Oentrysched was found.

  • JAGac29093 — Signal 11 occurred when variables of more than 1203 bytes were used.

  • JAGab25923 — Error 8901 occurred with +O3 +Oparallel using a loop stride of 2.

  • JAGab16729 — Signal 11 occurred when compiling with -O -g.

  • JAGaa68045 — DA2.0W +O4 created duplicates of inline destructors.

  • There was an error in the HP C HTML Online Help in version B.11.01.20 of the HP C compiler. The pragma syntax described in the section "Compiling & Running HP C Programs" contained a string of superfluous information that preceded the actual pragma syntax. This information was displayed as follows:

       font=* charset='iso8859-1' code=35
                   TeX='\num ' descr='[num]'

    Note that syntax for each pragma should begin with the string pragma followed by the pragma name, such as pragma LIST { ON }.

  • xdb, the HP-UX debugging tool, has been replaced by HP's gdb product WDB. All references to xdb in the HP C Online Help and HP C documentation should actually refer to WDB. To obtain more information about WDB, visit the HP WDB web site at http://www.hp.com/go/wdb.

HP C Version B.11.01.20 (June 2000)

The following defects were fixed in version B.11.01.20 of the HP C/ANSI C compiler. Where possible, the associated defect tracking number ("JAGxxxxxxx") is noted with the description of the defect.

  • JAGaa78850 — The binary created by compiler does not work the same as previous compiler binaries.

  • JAGaa78856 — If an inline function contained a simple boolean expression where one operand was a bool, bad code generation sometimes occurred.

  • JAGaa79841 — Execution of a big switch statement went into a loop when compiled with +DD64 at +O1 or higher.

  • JAGac39817 — Duplicate of JAGab16729. Signal 11 occurred when compiling with -O -g.

  • JAGaa78566 — Boolean A = B || A, or A = B && A failed.

  • JAGaa78821 — Incorrect debug information was generated.

  • JAAGaa78848 — Incorrect code generated for accessing data in text subspace.

  • JAGab78867 — pragma HP_ALIGN NOPADDING did not work in 64-bit mode.

  • JAGaa73985 — +pa failed with Comdat and .tools_routines.

  • JAGaa7855 — C application was hanged at +O2.

  • JAGaa78839 — Incorrect error message about pc relative access for 64-bit linker.

  • JAGaa78840 — Incorrect code generated for pc rel fixup.

  • JAGaa78665 — The compiler generated poor code when comparing values against "sizeof" operators in 64-bit mode on HP-UX 11.0.

  • JAGab15575 — The compiler was not writing all the necessary information into the elf .o, resulting in less information in the elf .o than in the som .o file.

  • JAGab81693 — Unexpected signal 11 when compiling Spec CPU2000 tools.

  • JAGaa95493 — N-class not recognized as being PA-RISC 2.0.

  • JAGab70505 — When compiled with -O +DA1.0 +DS1.1, ccom terminated with a Signal 11.

  • JAGab68749 — PBO data was ignored even when the source/timestamp was not changed.

  • JAGaa78598 — When compiling the frontend with +DA2.0 and PBO, an alignment trap in make_space occurred.

  • JAGab75118 — When compiling a Sybase file with PBO and +ESlit, the compiler emitted Error 7108.

  • JAGaa93548 — Invalid code was generated at +O2 for fields in union.

  • JAGab68267— When compiling some code in Sybase, the C compiler emitted bad code.

  • JAGab82656 — A Signal 11 occurred when when compiling with +pal and +O2.

  • JAGab14297 — Nested Triadic expressions cause compiler to core dump.

  • JAGaa68621 — Application optimized with +O3/+O4 works on HP-UX 10.20 but failed under 11.0.

  • JAGab43749 — Patch PHSS_18301 has install problems.

  • JAGab31896 — Compiling at +O2 aborted with Error 1405 Signal 11 but worked successfully with +O1.

  • JAGab71490 — When applications were compiled at +O2, the compiler emitted Error 1405.

  • JAGab72754 — Bad TLS pointers were generated when compiling with +DA2.0W +O2 +Optrs_strongly_typed.

  • JAGab70528 — SPEC CPU2000 produced wrong answers at +O3 but ran fine at +O2 and +O4.

  • JAGaa78740 — nm command did not print proper sizes for elf binaries.

  • JAGaa71343 — Compiler Internal Error 5172 occurred: "Backend Assert ** Block number not in lex or static mem tables."

  • JAGaa68298 — Signal 6 returned by ccom when compiling with +O3.

  • JAGaa72645 —When the compiler autoparallelized a loop, it was not properly assigning an element in a 200 element array.

  • JAGaa68020 — A ucomp error at line 0 occurred: "cannot mmap file -errno."

  • JAGaa71413 — An error stride of unbounded shape occurred at +O3+Oparallel.

  • JAGaa68356 — Signal 11 occurred while linking with -P (PBO).

  • JAGaa68329 — Aborts occurred with Joining expressions that had different sizes.

  • JAGaa72653 — There was a problem with the loop unrolling and real numbers when run at +O3.

  • JAGaa71957 — The warning that variables need to be in LOOP_PRIVATE were not always generated.

  • JAGaa68349 — Public Domain application failed at runtime with some noticeable output differences.

  • JAGaa68307 — The compiler aborted when compiling with cc +o.

  • JAGaa93376 — 64-bit optimizer generated poor code, invalid code for field copy.

  • JAGab71106 — Signal 11 occurred when using +o.

  • JAGab69983 — ccom entered an infinite loop when using the combination of +Onolimit +Odataprefetch +O3 +Oprocelim +Olibcalls.

  • JAGab68751 — When compiling at +O3, a Signal 11 occurred.

  • JAGab68756 — When compiling at +O3 on a Sybase file, a Signal 11 occurred.

  • JAGab68748 — When compiling at +O3 on a Sybase file, a ucomp error occurred.

  • JAGaa78819 — Error 7831" "Bad symbol type" was emitted when the +DA2.0W and +ESlit options were used together.

  • JAGaa79850 — Compiling PRO/E with the ANSI C compiler at optimization levels +O3 and +O4 resulted in Error 8901.

  • JAGaa92788 — PRO/E header files failed to compile.

  • JAGaa94874 — Constant expression overflow messages are mistakenly supporessed during the build of the OS kernel.

  • JAGab15384 — Warning 555 was unnecessarily emitted when the application source contained the same struct name as the API name.

  • JAGab16468 — +O[no]extern=putchar option is not recognized when the +Olibcalls option is used. This resulted in applications crashing with illegal instructions.

  • JAGab16732 — Bad debug information was generated for function arguments, which are pointers to integral (char, int) types.

  • JAGab17869, JAGab17870, JGab17871 — ANSI C filesets did not specify attributes for architecture, machine_type, os_name, os_release, and v.

  • JAGab71889 — Error 1404: "can't find the process" and archive linking errors occurred when attempting to build an ISV application.

  • JAGab68316 — swverify directory errors occurred.

  • JAGab69121 — Stdarg failed on struct-by-value and ref when used with +DA2.0W.

  • JAGab73312 — The ANSI C compiler aborted with segmentation violations when using the combination of the +o +L +DA2.0W options.

  • JAGab84846 — lint(1) message files could not be opened because LANG environment variable was not set to C.

  • JAGac29525 — Default +ESlit behavior emitted an unexpected Warning 611 message.

  • JAGac56982—In the 64-bit environment, using the +ESlit option with the +DA2.OW option resulted in an errors. The combination of these options tells the code generator to locate the const data in the readonly code segment so that it becomes an error in the 64-bit environment. In the 32-bit environment, however, this error occurs silently. The linker will only detect and display error information for this inconsistency on 64-bit addressing.

  • JAGac59791 — Global variable initialization failed, resulting in Error 1521.

  • JAGac95076 — The compiler prohibited the combination of +P and -g, resulting in Warning 446: "+P and -g are mutually exclusive. +P option ignored."

  • +Onoinline has been corrected so that, when specified, inlining does not occur.

  • Inlining previously dropped the register storage class of a variable. This has been corrected.

  • HP C implements enumeration types and bit fields as signed by default, as specified by the ANSI C standard. As of HP-UX 11.0, HP C/ANSI C in 64-bit mode only incorrectly implemented enumeration types and bit fields as unsigned by default. This defect has been fixed in version A.11.01.00 of HP C/ANSI C. That is, in 64-bit mode, HP C/ANSI C now correctly implements enumeration types and bit fields as signed by default.

© 2000 - Hewlett-Packard Development Company, L.P.