-qupconv(仅限 C)

适用的调用

表 1. 接受给定选项的调用
选项 xlc (编译 C) xlC (编译 C++) xlclang(编译 C) xlclang++(编译 C++)
-qupconv      
注: 此表中仅列出典型调用。 对于所有基本调用及其等效特殊调用,您可以参阅 编译器调用的完整列表

类别

可移植性和迁移

等效编译指示

#pragma 选项 [no] upconv

用途

指定在执行整数提升时是否保留 unsigned 规范。

noupconv 生效时,在积分促销期间,任何小于 intunsigned 类型都将转换为 int 。 当 upconv 生效时,这些类型将在积分促销期间转换为 unsigned int促销规则不适用于大于 int的类型。

语法

读取语法图跳过可视语法图  -q noupconvupconv

缺省值

  • -qnoupconv 表示除 classicextended 以外的所有语言级别
  • 经典扩展 语言级别生效时的 -qupconv

使用量

为了与 C 的旧方言兼容,提供了符号保留。 ANSI C 标准要求保值,而不是标志保值。

预定义的宏

无。

示例

要编译 myprogram.c 以便将所有小于 intunsigned 类型转换为 unsigned int,请输入:
xlc myprogram.c -qupconv
以下简短列表演示了 -qupconv的影响:
#include <stdio.h>
int main(void) {
  unsigned char zero = 0;
  if (-1 <zero) 
    printf(“Value-preserving rules in effect\n”); 
  else 
    printf(“Unsignedness-preserving rules in effect\n”); 
  return 0; 
}

相关信息