Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

41516161621212142424223717171727272737373130130130135135135163163163178178178185185185197197197

UB

Class

Description

Guideline

1

Anchor
ub_1
ub_1

(error)

A "shall" or "shall not" requirement that appears outside of a constraint is violated (clause 4).

MSC15-C

2

Anchor
ub_2
ub_2

(warning)

A nonempty source file does not end in a new-line character which is not immediately preceded by a backslash character or ends in a partial preprocessing token or comment (5.1.1.2).


3

Anchor
ub_3
ub_3

(warning)

Token concatenation produces a character sequence matching the syntax of a universal character name (5.1.1.2).

PRE30-C

4

Anchor
ub_4
ub_4

(warning)

A program in a hosted environment does not define a function named main using one of the specified forms (5.1.2.3.2.1).


5
Anchor
ub_5
ub_5

The execution of a program contains a data race (5.1.2.5).

Anchor
ub_6
ub_6

(warning)

A character not in the basic source character set is encountered in a source file, except in an identifier, a character constant, a string literal, a header name, a comment, or a preprocessing token that is never converted to a token (5.2.1).


Anchor
ub_7
ub_7

(warning)

An identifier, comment, string literal, character constant, or header name contains an invalid multibyte character or does not begin and end in the initial shift state (5.2.1.2).


8

Anchor
ub_8
ub_8

(warning)

The same identifier has both internal and external linkage in the same translation unit (6.2.2).

DCL36-C

Anchor
ub_9
ub_9

(error)

An object is referred to outside of its lifetime (6.2.4).

DCL21-C, DCL30-C

10 

Anchor
ub_10
ub_10

(error)

The value of a pointer to an object whose lifetime has ended is used (6.2.4).

DCL30-C, EXP33-C

11

Anchor
ub_11
ub_11

(warning)

The value of an object with automatic storage duration is used while

it is indeterminate

the object has an indeterminate representation (6.2.4, 6.7.

9

11, 6.8).

EXP33-C, MSC22-C

12

Anchor
ub_12
ub_12

(warning)

A

trap

non-value representation is read by an lvalue expression that does not have character type (6.2.6.1).

EXP33-C

13

Anchor
ub_13
ub_13

(warning)

A

trap

non-value representation is produced by a side effect that modifies any part of the

object using

object using an lvalue expression that does not have character type (6.2.6.1).


14

Anchor
ub_14
ub_14

(warning)

The operands to certain operators are such that they could produce a negative zero result, but the implementation does not support negative zeros (6.2.6.2).

Anchor
ub_15ub_15

(warning)

Two declarations of the same object or function specify types that are not compatible (6.2.7).

DCL23-C,
DCL40-C

15

Anchor
ub_

15
ub_

15


A program requires the formation of a composite type from a variable length array type whose size is specified by an expression that is not evaluated (6.2.7).
1617
Anchor
ub_
17
16
ub_
17
16

(warning)

Conversion to or from an integer type produces a value outside the range that can be represented (6.3.1.4).

FLP34-C

1718

Anchor
ub_1817
ub_1817

(warning)

Demotion of one real floating type to another produces a value outside the range that can be represented (6.3.1.5).

FLP34-C

18 19

Anchor
ub_1918
ub_1918

(error)

An lvalue does not designate an object when evaluated (6.3.2.1).


19 20 

Anchor
ub_2019
ub_2019

(warning)

A non-array lvalue with an incomplete type is used in a context that requires the value of the designated object (6.3.2.1).


20 

Anchor
ub_

20
ub_

20


An lvalue designation an object of automatic storage duration that could have been declared with the register storage class is used in a context that requires the value of the designated object, but the object is uninitialized (6.3.2.1).
2122 
Anchor
ub_
22
21
ub_
22
21

(warning)

An lvalue having array type is converted to a pointer to the initial element of the array, and the array object has register storage class (6.3.2.1).


22 23 

Anchor
ub_2322
ub_2322

(warning)

An attempt is made to use the value of a void expression, or an implicit or explicit conversion (except to void) is applied to a void expression (6.3.2.2).


23 24 

Anchor
ub_2423
ub_2423

(warning)

Conversion of a pointer to an integer type produces a value outside the range that can be represented (6.3.2.3).

INT36-C

24 25

Anchor
ub_2524
ub_2524

(warning)

Conversion between two pointer types produces a result that is incorrectly aligned (6.3.2.3).

EXP36-C

2526 

Anchor
ub_2625
ub_2625

(error)

A pointer is used to call a function whose type is not compatible with the

pointed-to type

referenced type (6.3.2.3).

EXP37-C

26 27 

Anchor
ub_2726
ub_2726

(warning)

An unmatched ' or " character is encountered on a logical source line during tokenization (6.4).


27 28 

Anchor
ub_2827
ub_2827

(warning)

A reserved keyword token is used in translation phase 7 or 8 for (5.1.1.2) for some purpose other than as a keyword (6.4.1).


28 29 

Anchor
ub_2928
ub_2928

(warning)

A universal character name in an identifier does not designate a character whose encoding falls into one of the specified ranges (6.4.2.1).


29 30 

Anchor
ub_3029
ub_3029

(warning)

The initial character of an identifier is a universal character name designating a digit (6.4.2.1).


30 31 

Anchor
ub_3130
ub_3130

(warning)

Two identifiers differ only in nonsignificant characters (6.4.2.1).

DCL23-C,
DCL31-C

31 32 

Anchor
ub_3231
ub_3231

(warning)

The identifier __func__ is explicitly declared (6.4.2.2).


32 33 

Anchor
ub_3332
ub_3332

(info)

The program attempts to modify a string literal (6.4.5).

STR30-C

33 34 

Anchor
ub_3433
ub_3433

(warning)

The characters ', back-slash, ", /, or /* occur in the sequence between the < and > delimiters, or the characters ', back-slash, //, or /* occur in the sequence between the " delimiters, in a header name preprocessing token (6.4.7).

EXP39-C

34 35 

Anchor
ub_3534
ub_3534

(warning)

A side effect on a scalar object is unsequenced relative to either a different side effect on the same scalar object or a value computation using the value of the same scalar object object (6.5.1).

EXP30-C

35 36 

Anchor
ub_3635
ub_3635

(warning)

An exceptional condition occurs during the evaluation of an expression (6.5.1).

INT32-C

36 37 

Anchor
ub_3736
ub_3736

(warning)

An object has its stored value accessed other than by an lvalue of an allowable type (6.5.1).

DCL40-C,
EXP39-C

old 37 38

Anchor
ub_3837
ub_3837

(warning)

For a call to a function without a function prototype in scope, the number of arguments does not equal the number of parameters (6.5.2.2).

EXP37-C

old 38 39 

Anchor
ub_3938
ub_3938

(warning)

For call to a function without a function prototype in scope where the function is defined with a function prototype, either the prototype ends with an ellipsis or the types of the arguments after promotion are not compatible with the types of the parameters (6.5.2.2).

EXP37-C

old 39 40 

Anchor
ub_4039
ub_4039

(warning)

For a call to a function without a function prototype in scope where the function is not defined with a function prototype, the types of the arguments after promotion are not compatible with those of the parameters after promotion (with certain exceptions) (6.5.2.2).

EXP37-C

37 41 

Anchor
ub_4137
ub_4137

(warning)

A function is defined with a type that is not compatible with the type (of the expression)

pointed

 pointed to by the expression that denotes the called function (6.5.

2

3.

2

3).

DCL40-C,
EXP37-C

38

Anchor
ub_

38
ub_

38


A member of an atomic structure or union is accessed (6.5.3.4).

39 43

Anchor
ub_4339
ub_4339

(error)

The operand of the unary * operator has an invalid value (6.5.34.2).

EXP34-C

40 44

Anchor
ub_4440
ub_4440

(warning)

A pointer is converted to other than an integer or pointer type (6.5.45).


41 45 

Anchor
ub_4541
ub_4541

(warning)

The value of the second operand of the / or % operator is zero (6.5.56).

INT33-C

42

Anchor
ub_42
ub_42


If the quotient a/b is not representable, the behavior of both a/b and a%b (6.5.6).


4346 

Anchor
ub_4643
ub_4643

(warning)

Addition or subtraction of a pointer into, or just beyond, an array object and an integer type produces a result that does not point into, or just beyond, the same array object (6.5.67).

ARR30-C

4447 

Anchor
ub_4744
ub_4744

(error)

Addition or subtraction of a pointer into, or just beyond, an array object and an integer type produces a result that points just beyond the array object and is used as the operand of a unary * operator that is evaluated (6.5.67).

ARR30-C

45 48

Anchor
ub_4845
ub_4845

(warning)

Pointers that do not point into, or just beyond, the same array object are subtracted (6.5.67).

ARR36-C

46 49 

Anchor
ub_4946
ub_4946

(warning)

An array subscript is out of range, even if an object is apparently accessible with the given subscript (as in the lvalue expression a[1][7] given the declaration int a[4][5]) (6.5.67).

ARR30-C

47 50 

Anchor
ub_5047
ub_5047

(warning)

The result of subtracting two pointers is not representable in an object of type ptrdiff_t (6.5.67).


48 51

Anchor
ub_5148
ub_5148

(warning)

An expression is shifted by a negative number or by an amount greater than or equal to the width of the promoted expression (6.5.78).

INT34-C

49 52 

Anchor
ub_5249
ub_5249

(warning)

An expression having signed promoted type is left-shifted and either the value of the expression is negative or the result of shifting would not be representable in the promoted type (6.5.78).


50 53

Anchor
ub_5350
ub_5350

(warning)

Pointers that do not point to the same aggregate or union (nor just beyond the same array object) are compared using relational operators (6.5.89).

ARR36-C

5154

Anchor
ub_5451
ub_5451

(warning)

An object is assigned to an inexactly overlapping object or to an exactly overlapping object with incompatible type (6.5.1617.12).


52 55

Anchor
ub_5552
ub_5552

(warning)

An expression that is required to be an integer constant expression does not have an

integer type

integer type; has operands that are not integer constants, named constants, compound literal constants, enumeration constants, character constants, predefined constants, sizeof expressions whose results are integer constants, alignof expressions, or immediately-cast floating constants; or contains casts (outside operands to sizeof and alignof operators) other than conversions of arithmetic types to integer types (6.6).


5356 

Anchor
ub_5653
ub_5653

(warning)

A constant expression in an initializer is not, or does not evaluate to, one of the following: an arithmetic constant expression, a null pointer constant, an address constant, or an address constant for an object type plus or minus an integer constant expression (6.6).


5457 

Anchor
ub_5754
ub_5754

(warning)

An arithmetic constant expression does not have arithmetic type; has operands that are not integer constants, floating constants, enumeration constants, character constants, or sizeof expressions; or contains casts (outside operands to sizeof operators) other than conversions of arithmetic types to arithmetic types (6.6).


5558

Anchor
ub_5855
ub_5855

(warning)

The value of an object is accessed by an array-subscript [], member-access . or ->, address &, or indirection * operator or a pointer cast in creating an address constant (6.6).


56 59 

Anchor
ub_5956
ub_5956

(warning)

An identifier for an object is declared with no linkage and the type of the object is incomplete after its declarator, or after its init-declarator if it has an initializer (6.7).


57 60

Anchor
ub_6057
ub_6057

(warning)

A function is declared at block scope with an explicit storage-class specifier other than extern (6.7.1).


5861 

Anchor
ub_6158
ub_6158

(warning)

A structure or union is defined as containing no named members (6.7.2.1).


59 62 

Anchor
ub_6259
ub_6259

(warning)

An attempt is made to access, or generate a pointer to just past, a flexible array member of a structure when the referenced object provides no elements for that array (6.7.2.1).

ARR30-C

6063

Anchor
ub_6360
ub_6360

(warning)

When the complete type is needed, an incomplete structure or union type is not completed in the same scope by another declaration of the tag that defines the content (6.7.2.3).


61 64 

Anchor
ub_6461
ub_6461

(info)

An attempt is made to modify an object defined with a const-qualified type through use of an lvalue with non-const-qualified type (6.7.3).

EXP05-C, EXP40-C

62 65 

Anchor
ub_6562
ub_6562

(warning)

An attempt is made to refer to an object defined with a volatile-qualified type through use of an lvalue with non-volatile-qualified type (6.7.3).

EXP32-C

6366

Anchor
ub_6663
ub_6663

(warning)

The specification of a function type includes any type qualifiers (6.7.3).


64 67

Anchor
ub_6764
ub_6764

(warning)

Two qualified types that are required to be compatible do not have the identically qualified version of a compatible type (6.7.3).


65 68

Anchor
ub_6865
ub_6865

(warning)

An object which has been modified is accessed through a restrict-qualified pointer to a const-qualified type, or through a restrict-qualified pointer and another pointer that are not both based on the same object (6.7.3.1).

EXP43-C

6669

Anchor
ub_6966
ub_6966

(warning)

A restrict-qualified pointer is assigned a value based on another restricted pointer whose associated block neither began execution before the block associated with this pointer, nor ended before the assignment (6.7.3.1).


6770

Anchor
ub_7067
ub_7067

(warning)

A function with external linkage is declared with an inline function specifier, but is not also defined in the same translation unit (6.7.4).


68

Anchor
ub_

68
ub_

68


A function declared with a _Noreturn function specifier returns to its caller (6.7.4).

69

Anchor
ub_

69
ub_

69


The definition of an object has an alignment specifier and another declaration of that object has a different alignment specifier (6.7.5).

70

Anchor
ub_

70
ub_

70


Declarations of an object in different translation units have different alignment specifiers (6.7.5).
7174
Anchor
ub_
74
71
ub_
74
71

(warning)

Two pointer types that are required to be compatible are not identically qualified, or are not pointers to compatible types (6.7.6.1).


7275 
Anchor
ub_
75
72
ub_
75
72

(warning)

The size expression in an array declaration is not a constant expression and evaluates at program execution time to a nonpositive value (6.7.6.2).

ARR32-C

7376 
Anchor
ub_
76
73
ub_
76
73

(warning)

In a context requiring two array types to be compatible, they do not have compatible element types, or their size specifiers evaluate to unequal values (6.7.6.2).

EXP39-C

7477

Anchor
ub_7774
ub_7774

(warning)

A declaration of an array parameter includes the keyword static within the [ and ] and the corresponding argument does not provide access to the first element of an array with at least the specified number of elements (6.7.6.3).


75 78

Anchor
ub_7875
ub_7875

(warning)

A storage-class specifier or type qualifier modifies the keyword void as a function parameter type list (6.7.6.3).


76 79

Anchor
ub_7976
ub_7976

(warning)

In a context requiring two function types to be compatible, they do not have compatible return types, or their parameters disagree in use of the ellipsis terminator or the number and type of parameters (after default argument promotion, when there is no parameter type list or when one type is specified by a function definition with an identifier list) (6.7.6.3).


7780

Anchor
ub_8077
ub_8077

(warning)

The value of an unnamed member of a structure or union is used (6.7.9).


7881 

Anchor
ub_8178
ub_8178

(warning)

The initializer for a scalar is neither a single expression nor a single expression enclosed in braces (6.7.9).


7982

Anchor
ub_8279
ub_8279

(warning)

The initializer for a structure or union object that has automatic storage duration is neither an initializer list nor a single expression that has compatible structure or union type (6.7.9).


8083

Anchor
ub_8380
ub_8380

(warning)

The initializer for an aggregate or union, other than an array initialized by a string literal, is not a brace-enclosed list of initializers for its elements or members (6.7.9).


81 84

Anchor
ub_8481
ub_8481

(warning)

An identifier with external linkage is used, but in the program there does not exist exactly one external definition for the identifier, or the identifier is not used and there exist multiple external definitions for the identifier (6.9).


8285

Anchor
ub_8582
ub_8582

(warning)

A function definition includes an identifier list, but the types of the parameters are not declared in a following declaration list (6.9.1).


8386 

Anchor
ub_8683
ub_8683

(warning)

An adjusted parameter type in a function definition is not an object type (6.9.1).


8487 

Anchor
ub_8784
ub_8784

(warning)

A function that accepts a variable number of arguments is defined without a parameter type list that ends with the ellipsis notation (6.9.1).


8588

Anchor
ub_8885
ub_8885

(warning)

The } that terminates a function is reached, and the value of the function call is used by the caller (6.9.1).

MSC37-C

86 89

Anchor
ub_8986
ub_8986

(warning)

An identifier for an object with internal linkage and an incomplete type is declared with a tentative definition (6.9.2).


87 90

Anchor
ub_9087
ub_9087

(warning)

The token defined is generated during the expansion of a #if or #elif preprocessing directive, or the use of the defined unary operator does not match one of the two specified forms prior to macro replacement (6.10.1).


8891

Anchor
ub_9188
ub_9188

(warning)

The #include preprocessing directive that results after expansion does not match one of the two header name forms (6.10.2).


8992

Anchor
ub_9289
ub_9289

(warning)

The character sequence in an #include preprocessing directive does not start with a letter (6.10.2).


9093 

Anchor
ub_9390
ub_9390

(warning)

There are sequences of preprocessing tokens within the list of macro arguments that would otherwise act as preprocessing directives (6.10.3).

PRE32-C

9194 

Anchor
ub_9491
ub_9491

(warning)

The result of the preprocessing operator # is not a valid character string literal (6.10.3.2).


9295 

Anchor
ub_9592
ub_9592

(warning)

The result of the preprocessing operator ## is not a valid preprocessing token (6.10.3.3).


93 96 

Anchor
ub_9693
ub_9693

(warning)

The #line preprocessing directive that results after expansion does not match one of the two well-defined forms, or its digit sequence specifies zero or a number greater than 2147483647 (6.10.4).


94 97

Anchor
ub_9794
ub_9794

(warning)

A non-STDC #pragma preprocessing directive that is documented as causing translation failure or some other form of undefined behavior is encountered (6.10.6).


95 98 

Anchor
ub_9895
ub_9895

(warning)

A #pragma STDC preprocessing directive does not match one of the well-defined forms (6.10.6).


96 99

Anchor
ub_9996
ub_9996

(warning)

The name of a predefined macro, or the identifier defined, is the subject of a #define or #undef preprocessing directive (6.10.8).


97100 

Anchor
ub_10097
ub_10097

(warning)

An attempt is made to copy an object to an overlapping object by use of a library function, other than as explicitly allowed (e.g., memmove) (clause 7).


98 101

Anchor
ub_10198
ub_10198

(warning)

A file with the same name as one of the standard headers, not provided as part of the implementation, is placed in any of the standard places that are searched for included source files (7.1.2).


99102

Anchor
ub_10299
ub_10299

(warning)

A header is included within an external declaration or definition (7.1.2).


100 103

Anchor
ub_103100
ub_103100

(warning)

A function, object, type, or macro that is specified as being declared or defined by some standard header is used before any header that declares or defines it is included (7.1.2).


101104

Anchor
ub_104101
ub_104101

(warning)

A standard header is included while a macro is defined with the same name as a keyword (7.1.2).


102105

Anchor
ub_105102
ub_105102

(warning)

The program attempts to declare a library function itself, rather than via a standard header, but the declaration does not have external linkage (7.1.2).


103106

Anchor
ub_106103
ub_106103

(warning)

The program declares or defines a reserved identifier, other than as allowed by 7.1.4 (7.1.3).

DCL37-C

104107

Anchor
ub_107104
ub_107104

(warning)

The program removes the definition of a macro whose name begins with an underscore and either an uppercase letter or another underscore (7.1.3).


105108

Anchor
ub_108105
ub_108105

(error)

An argument to a library function has an invalid value or a type not expected by a function with a variable number of arguments (7.1.4).


106109

Anchor
ub_109106
ub_109106

(info)

The pointer passed to a library function array parameter does not have a value such that all address computations and object accesses are valid (7.1.4).

ARR30-C, ARR38-C

107110

Anchor
ub_110107
ub_110107

(warning)

The macro definition of assert is suppressed in order to access an actual function (7.2).

MSC38-C

108111 

Anchor
ub_111108
ub_111108

(warning)

The argument to the assert macro does not have a scalar type (7.2).


109112

Anchor
ub_112109
ub_112109

(warning)

The CX_LIMITED_RANGE, FENV_ACCESS, or FP_CONTRACT pragma is used in any context other than outside all external declarations or preceding all explicit declarations and statements inside a compound statement (7.3.4, 7.6.1, 7.12.2).


110113

Anchor
ub_113110
ub_113110

(warning)

The value of an argument to a character handling function is neither equal to the value of EOF nor representable as an unsigned char (7.4).

STR37-C

111 114

Anchor
ub_114111
ub_114111

(warning)

A macro definition of errno is suppressed in order to access an actual object, or the program defines an identifier with the name errno (7.5).

DCL37-C, MSC38-C

112115

Anchor
ub_115112
ub_115112

(warning)

Part of the program tests floating-point status flags, sets floating-point control modes, or runs under non-default mode settings, but was translated with the state for the FENV_ACCESS pragma "off" (7.6.1).


113116

Anchor
ub_116113
ub_116113

(warning)

The exception-mask argument for one of the functions that provide access to the floating-point status flags has a nonzero value not obtained by bitwise OR of the floating-point exception macros (7.6.2).


114117

Anchor
ub_117114
ub_117114

(warning)

The fesetexceptflag function is used to set floating-point status flags that were not specified in the call to the fegetexceptflag function that provided the value of the corresponding fexcept_t object (7.6.2.4).


115118

Anchor
ub_118115
ub_118115

(warning)

The argument to fesetenv or feupdateenv is neither an object set by a call to fegetenv or feholdexcept, nor is it an environment macro (7.6.4.3, 7.6.4.4).


116119 

Anchor
ub_119116
ub_119116

(warning)

The value of the result of an integer arithmetic or conversion function cannot be represented (7.8.2.1, 7.8.2.2, 7.8.2.3, 7.8.2.4, 7.22.6.1, 7.22.6.2, 7.22.1).

ERR07-C

117120

Anchor
ub_120117
ub_120117

(info)

The program modifies the string pointed to by the value returned by the setlocale function (7.11.1.1).

ENV30-C

118121 

Anchor
ub_121118
ub_121118

(info)

The program modifies the structure pointed to by the value returned by the localeconv function (7.11.2.1).

ENV30-C

119 122

Anchor
ub_122119
ub_122119

(warning)

A macro definition of math_errhandling is suppressed or the program defines an identifier with the name math_errhandling (7.12).

MSC38-C

120123

Anchor
ub_123120
ub_123120

(warning)

An argument to a floating-point classification or comparison macro is not of real floating type (7.12.3, 7.12.14).


121 124

Anchor
ub_124121
ub_124121

(warning)

A macro definition of setjmp is suppressed in order to access an actual function, or the program defines an external identifier with the name setjmp (7.13).

MSC38-C

122125

Anchor
ub_125122
ub_125122

(warning)

An invocation of the setjmp macro occurs other than in an allowed context (7.13.2.1).

MSC22-C

123126 

Anchor
ub_126123
ub_126123

(info)

The longjmp function is invoked to restore a nonexistent environment (7.13.2.1).

MSC22-C

124127

Anchor
ub_127124
ub_127124

(warning)

After a longjmp, there is an attempt to access the value of an object of automatic storage class with non-volatile-qualified type, local to the function containing the invocation of the corresponding setjmp macro, that was changed between the setjmp invocation and longjmp call (7.13.2.1).

MSC22-C

125128 

Anchor
ub_128125
ub_128125

(info)

The program specifies an invalid pointer to a signal handler function (7.14.1.1).


126 129 

Anchor
ub_129126
ub_129126

(warning)

A signal handler returns when the signal corresponded to a computational exception (7.14.1.1).

SIG31-C

127

Anchor
ub_

127
ub_

127


A signal handler called in response to SIGFPE, SIGILL, SIGSEGV, or any other implementation-defined value corresponding to a computational exception returns (7.14.1.1).SIG35-C

128 131

Anchor
ub_131128
ub_131128

(info)

A signal occurs as the result of calling the abort or raise function, and the signal handler calls the raise function (7.14.1.1).

SIG30-C,
SIG31-C

129 132

Anchor
ub_132129
ub_132129

(warning)

A signal occurs other than as the result of calling the abort or raise function, and the signal handler refers to an object with static or thread storage duration that is not a lock-free atomic object other than by assigning a value to an object declared as volatile sig_atomic_t, or calls any function in the standard library other than the abort function, the _Exit function, the quick_exit function, or the signal function (for the same signal number) (7.14.1.1).

SIG31-C

130133 
Anchor
ub_
133
130
ub_
133
130

(warning)

The value of errno is referred to after a signal occurred other than as the result of calling the abort or raise function and the corresponding signal handler obtained a SIG_ERR return from a call to the signal function (7.14.1.1).

ERR32-C

131134

Anchor
ub_134131
ub_134131

(info)

A signal is generated by an asynchronous signal handler (7.14.1.1).


132

Anchor
ub_

132
ub_

132


The signal function is used in a multi-threaded program (7.14.1.1).CON37-C

133 136 

Anchor
ub_136133
ub_136133

(warning)

A function with a variable number of arguments attempts to access its varying arguments other than through a properly declared and initialized va_list object, or before the va_start macro is invoked (7.16, 7.16.1.1, 7.16.1.4).


134137

Anchor
ub_137134
ub_137134

(warning)

The macro va_arg is invoked using the parameter ap that was passed to a function that invoked the macro va_arg with the same parameter (7.16).


135138
Anchor
ub_
138
135
ub_
138
135

(warning)

A macro definition of va_start, va_arg, va_copy, or va_end is suppressed in order to access an actual function, or the program defines an external identifier with the name va_copy or va_end (7.16.1).

MSC38-C

136 139

Anchor
ub_139136
ub_139136

(warning)

The va_start or va_copy macro is invoked without a corresponding invocation of the va_end macro in the same function, or vice versa (7.16.1, 7.16.1.2, 7.16.1.3, 7.16.1.4).


137140

Anchor
ub_140137
ub_140137

(warning)

The type parameter to the va_arg macro is not such that a pointer to an object of that type can be obtained simply by postfixing a * (7.16.1.1).


138141

Anchor
ub_141138
ub_141138

(warning)

The va_arg macro is invoked when there is no actual next argument, or with a specified type that is not compatible with the promoted type of the actual next argument, with certain exceptions (7.16.1.1).

DCL10-C

139142

Anchor
ub_142139
ub_142139

(warning)

The va_copy or va_start macro is called to initialize a va_list that was previously initialized by either macro without an intervening invocation of the va_end macro for the same va_list (7.16.1.2, 7.16.1.4).


140143 

Anchor
ub_143140
ub_143140

(warning)

The parameter parmN of a va_start macro is declared with the register storage class, with a function or array type, or with a type that is not compatible with the type that results after application of the default argument promotions (7.16.1.4).


141144

Anchor
ub_144141
ub_144141

(warning)

The member designator parameter of an offsetof macro is an invalid right operand of the . operator for the type parameter, or designates a bit-field (7.19).


142145 

Anchor
ub_145142
ub_145142

(warning)

The argument in an instance of one of the integer-constant macros is not a decimal, octal, or hexadecimal constant, or it has a value that exceeds the limits for the corresponding type (7.20.4).


143 146

Anchor
ub_146143
ub_146143

(info)

A byte input/output function is applied to a wide-oriented stream, or a wide character input/output function is applied to a byte-oriented stream (7.21.2).


144147

Anchor
ub_147144
ub_147144


Use is made of any portion of a file beyond the most recent wide character written to a wide-oriented stream (7.21.2).


145 148

Anchor
ub_148145
ub_148145

(info)

The value of a pointer to a FILE object is used after the associated file is closed (7.21.3).

FIO46-C

146149

Anchor
ub_149146
ub_149146

(info)

The stream for the fflush function points to an input stream or to an update stream in which the most recent operation was input (7.21.5.2).


147150

Anchor
ub_150147
ub_150147

(plus)

The string pointed to by the mode argument in a call to the fopen function does not exactly match one of the specified character sequences (7.21.5.3).


148151

Anchor
ub_151148
ub_151148

(info)

An output operation on an update stream is followed by an input operation without an intervening call to the fflush function or a file positioning function, or an input operation on an update stream is followed by an output operation with an intervening call to a file positioning function (7.21.5.3).

FIO39-C

149152

Anchor
ub_152149
ub_152149

(warning)

An attempt is made to use the contents of the array that was supplied in a call to the setvbuf function (7.21.5.6).


150153

Anchor
ub_153150
ub_153150

(info)

There are insufficient arguments for the format in a call to one of the formatted input/output functions, or an argument does not have an appropriate type (7.21.6.1, 7.21.6.2, 7.29.2.1, 7.29.2.2).

FIO47-C

151154

Anchor
ub_154151
ub_154151

(info)

The format in a call to one of the formatted input/output functions or to the strftime or wcsftime function is not a valid multibyte character sequence that begins and ends in its initial shift state (7.21.6.1, 7.121.6.2, 7.27.3.5, 7.229.2.1, 7.29.2.2, 7.29.5.1).


152155

Anchor
ub_155152
ub_155152

(warning)

In a call to one of the formatted output functions, a precision appears with a conversion specifier other than those described (7.21.6.1, 7.29.2.1).

 FIO47-C 

153156

Anchor
ub_156153
ub_156153

(info)

A conversion specification for a formatted output function uses an asterisk to denote an argument-supplied field width or precision, but the corresponding argument is not provided (7.21.6.1, 7.29.2.1).


154157

Anchor
ub_157154
ub_157154

(warning)

A conversion specification for a formatted output function uses a # or 0 flag with a conversion specifier other than those described (7.21.6.1, 7.29.2.1).

 FIO47-C 

155158 

Anchor
ub_158155
ub_158155

(info)

A conversion specification for one of the formatted input/output functions uses a length modifier with a conversion specifier other than those described (7.21.6.1, 7.21.6.2, 7.29.2.1, 7.29.2.2).

 FIO47-C 

156159

Anchor
ub_159156
ub_159156

(info)

An s conversion specifier is encountered by one of the formatted output functions, and the argument is missing the null terminator (unless a precision is specified that does not require null termination) (7.21.6.1, 7.29.2.1).


157160

Anchor
ub_160157
ub_160157

(warning)

An n conversion specification for one of the formatted input/output functions includes any flags, an assignment-suppressing character, a field width, or a precision (7.21.6.1, 7.21.6.2, 7.29.2.1, 7.29.2.2).


158 161

Anchor
ub_161158
ub_161158

(warning)

A % conversion specifier is encountered by one of the formatted input/output functions, but the complete conversion specification is not exactly %% (7.21.6.1, 7.21.6.2, 7.29.2.1, 7.29.2.2).

 FIO47-C 

159162

Anchor
ub_162159
ub_162159

(warning)

An invalid conversion specification is found in the format for one of the formatted input/output functions, or the strftime or wcsftime function (7.21.6.1, 7.21.6.2, 7.27.3.5, 7.29.2.1, 7.29.2.2, 7.29.5.1).

FIO47-C

160

Anchor
ub_

160
ub_

160


The number of characters or wide characters transmitted by a formatted output function (or written to an array, or that would have been written to an array) is greater than INT_MAX (7.21.6.1, 7.29.2.1).

161164

Anchor
ub_164161
ub_164161

(warning)

The number of input items assigned by a formatted input function is greater than INT_MAX (7.21.6.2, 7.29.2.2).


162165

Anchor
ub_165162
ub_165162

(info)

The result of a conversion by one of the formatted input functions cannot be represented in the corresponding object, or the receiving object does not have an appropriate type (7.21.6.2, 7.29.2.2).


163166
Anchor
ub_
166
163
ub_
166
163

(info)

A c, s, or [ conversion specifier is encountered by one of the formatted input functions, and the array pointed to by the corresponding argument is not large enough to accept the input sequence (and a null terminator if the conversion specifier is s or [) (7.21.6.2, 7.29.2.2).


164167

Anchor
ub_167164
ub_167164

(info)

A c, s, or [ conversion specifier with an l qualifier is encountered by one of the formatted input functions, but the input is not a valid multibyte character sequence that begins in the initial shift state (7.21.6.2, 7.29.2.2).


165168

Anchor
ub_168165
ub_168165

(warning)

The input item for a %p conversion by one of the formatted input functions is not a value converted earlier during the same program execution (7.21.6.2, 7.29.2.2).


166169

Anchor
ub_169166
ub_169166

(info)

The vfprintf, vfscanf, vprintf, vscanf, vsnprintf, vsprintf, vsscanf, vfwprintf, vfwscanf, vswprintf, vswscanf, vwprintf, or vwscanf function is called with an improperly initialized va_list argument, or the argument is used (other than in an invocation of va_end) after the function returns (7.21.6.8, 7.21.6.9, 7.21.6.10, 7.21.6.11, 7.21.6.12, 7.21.6.13, 7.21.6.14, 7.29.2.5, 7.29.2.6, 7.29.2.7, 7.29.2.8, 7.29.2.9, 7.29.2.10).


167170

Anchor
ub_170167
ub_170167

(warning)

The contents of the array supplied in a call to the fgets, gets, or fgetws function are used after a read error occurred (7.21.7.2, 7.21.7.7, 7.293.2).

FIO40-C

168171

Anchor
ub_171168
ub_171168

(warning)

The file position indicator for a binary stream is used after a call to the ungetc function where its value was zero before the call (7.21.7.11).


169172

Anchor
ub_172169
ub_172169

(warning)

The file position indicator for a stream is used after an error occurred during a call to the fread or fwrite function (7.21.8.1, 7.21.8.2).


170173

Anchor
ub_173170
ub_173170

(warning)

A partial element read by a call to the fread function is used (7.21.8.1).


171174

Anchor
ub_174171
ub_174171

(warning)

The fseek function is called for a text stream with a nonzero offset and either the offset was not returned by a previous successful call to the ftell function on a stream associated with the same file or whence is not SEEK_SET (7.21.9.2).


172175

Anchor
ub_175172
ub_175172

(warning)

The fsetpos function is called to set a position that was not returned by a previous successful call to the fgetpos function on a stream associated with the same file (7.21.9.3).


173176

Anchor
ub_176173
ub_176173

(warning)

A non-null pointer returned by a call to the calloc, malloc, or realloc function with a zero requested size is used to access an object (7.22.3).

MEM04-C

174177 

Anchor
ub_177174
ub_177174

(error)

The value of a pointer that refers to space deallocated by a call to the free or realloc function is used (7.22.3).

MEM30-C

175

Anchor
ub_

175
ub_

175


The alignment requested of the aligned_alloc function is not valid or not supported by the implementation, or the size requested is not an integral multiple of the alignment (7.22.3.1).

176179

Anchor
ub_179176
ub_179176

(info)

The pointer argument to the free or realloc function does not match a pointer earlier returned by calloc, malloc, or realloc, or the space has been deallocated by a call to free or realloc (7.22.3.3, 7.22.3.5).

MEM34-C

177 180

Anchor
ub_180177
ub_180177

(warning)

The value of the object allocated by the malloc function is used (7.22.3.4).


178181
Anchor
ub_
181
178
ub_
181
178

(warning)

The values of any bytes in a new object allocated by the realloc function beyond the size of the old object are used (7.22.3.5).

EXP33-C

179182

Anchor
ub_182179
ub_182179

(warning)

The program calls the exit or quick_exit function more than once, or calls both functions (7.22.4.4, 7.22.4.7).

ENV32-C,

ERR04-C

180183

Anchor
ub_183180
ub_183180

(warning)

During the call to a function registered with the atexit or at_quick_exit function, a call is made to the longjmp function that would terminate the call to the registered function (7.22.4.4, 7.22.4.7).

ENV32-C

181184

Anchor
ub_184181
ub_184181

(info)

The string set up by the getenv or strerror function is modified by the program (7.22.4.6, 7.24.6.2).

ENV30-C

182

Anchor
ub_

182
ub_

182


A signal is raised while the quick_exit function is executing (7.22.4.7).

183186

Anchor
ub_186183
ub_186183

(info)

A command is executed through the system function in a way that is documented as causing termination or some other form of undefined behavior (7.22.4.8).


184187 

Anchor
ub_187184
ub_187184

(info)

A searching or sorting utility function is called with an invalid pointer argument, even if the number of elements is zero (7.22.5).


185188
Anchor
ub_
188
185
ub_
188
185

(warning)

The comparison function called by a searching or sorting utility function alters the contents of the array being searched or sorted, or returns ordering values inconsistently (7.22.5).


186189

Anchor
ub_189186
ub_189186

(warning)

The array being searched by the bsearch function does not have its elements in proper order (7.22.5.1).


187 190

Anchor
ub_190187
ub_190187

(warning)

The current conversion state is used by a multibyte/wide character conversion function after changing the LC_CTYPE category (7.22.7).


188191

Anchor
ub_191188
ub_191188

(error)

A string or wide string utility function is instructed to access an array beyond the end of an object (7.24.1, 7.29.4).


189192

Anchor
ub_192189
ub_192189

(info)

A string or wide string utility function is called with an invalid pointer argument, even if the length is zero (7.24.1, 7.29.4).


190193

Anchor
ub_193190
ub_193190

(warning)

The contents of the destination array are used after a call to the strxfrm, strftime, wcsxfrm, or wcsftime function in which the specified length was too small to hold the entire null-terminated result (7.24.4.5, 7.27.3.5, 7.29.4.4.4, 7.29.5.1).


191194

Anchor
ub_194191
ub_194191

(warning)

The first argument in the very first call to the strtok or wcstok is a null pointer (7.24.5.8, 7.29.4.5.7).


192195

Anchor
ub_195192
ub_195192

(warning)

The type of an argument to a type-generic macro is not compatible with the type of the corresponding parameter of the selected function (7.25).


193196

Anchor
ub_196193
ub_196193

(warning)

A complex argument is supplied for a generic parameter of a type-generic macro that has no corresponding complex function (7.25).


194

Anchor
ub_

194
ub_

194


At least one member of the broken-down time passed to asctime contains a value outside its normal range, or the calculated year exceeds four digits or is less than the year 1000 (7.27.3.1).

195198

Anchor
ub_198195
ub_198195

(warning)

The argument corresponding to an s specifier without an l qualifier in a call to the fwprintf function does not point to a valid multibyte character sequence that begins in the initial shift state (7.29.2.11).


196199

Anchor
ub_199196
ub_199196

(info)

In a call to the wcstok function, the object pointed to by ptr does not have the value stored by the previous call for the same wide string (7.29.4.5.7).


197200
Anchor
ub_
200
197
ub_
200
197

(info)

An mbstate_t object is used inappropriately (7.29.6).

EXP33-C

198201

Anchor
ub_201198
ub_201198

(warning)

The value of an argument of type wint_t to a wide character classification or case mapping function is neither equal to the value of WEOF nor representable as a wchar_t (7.30.1).


199202

Anchor
ub_202199
ub_202199

(warning)

The iswctype function is called using a different LC_CTYPE category from the one in effect for the call to the wctype function that returned the description (7.30.2.2.1).


199203

Anchor
ub_203199
ub_203199

(warning)

The towctrans function is called using a different LC_CTYPE category from the one in effect for the call to the wctrans function that returned the description (7.30.3.2.1).


...