]> granicus.if.org Git - yasm/commitdiff
Added -Wno-segreg-in-64bit.
authorPeter Johnson <peter@tortall.net>
Sat, 7 Nov 2015 04:15:04 +0000 (20:15 -0800)
committerPeter Johnson <peter@tortall.net>
Sat, 7 Nov 2015 04:15:04 +0000 (20:15 -0800)
This allows suppressing the annoying 'segment register ignored in 64-bit mode'
warning.

frontends/tasm/tasm.c
frontends/vsyasm/vsyasm.c
frontends/yasm/yasm.c
libyasm/errwarn.h
modules/arch/x86/x86regtmod.gperf

index 8019ff7572a4ded3a7d582fefeb9ca404164f42d..93c11c98f0b47e510f21d25689a5faea4f406cdf 100644 (file)
@@ -791,6 +791,8 @@ opt_warning_handler(char *cmd, /*@unused@*/ char *param, int extra)
         action(YASM_WARN_UNINIT_CONTENTS);
     else if (strcmp(cmd, "size-override") == 0)
         action(YASM_WARN_SIZE_OVERRIDE);
+    else if (strcmp(cmd, "segreg-in-64bit") == 0)
+        action(YASM_WARN_SEGREG_IN_64BIT);
     else
         return 1;
 
index a057b6f7d21cf6f0320f333efeff67622ae35dc7..892b9b33439820b2baede5945323c8a4f4592e0b 100644 (file)
@@ -1120,6 +1120,8 @@ opt_warning_handler(char *cmd, /*@unused@*/ char *param, int extra)
         action(YASM_WARN_UNINIT_CONTENTS);
     else if (strcmp(cmd, "size-override") == 0)
         action(YASM_WARN_SIZE_OVERRIDE);
+    else if (strcmp(cmd, "segreg-in-64bit") == 0)
+        action(YASM_WARN_SEGREG_IN_64BIT);
     else
         return 1;
 
index 74c16223d6cd43b2b569a1e12d877753462f7b51..75d96755cb70e2da10a1dc845e27c0ad6ee24530 100644 (file)
@@ -1094,6 +1094,8 @@ opt_warning_handler(char *cmd, /*@unused@*/ char *param, int extra)
         action(YASM_WARN_UNINIT_CONTENTS);
     else if (strcmp(cmd, "size-override") == 0)
         action(YASM_WARN_SIZE_OVERRIDE);
+    else if (strcmp(cmd, "segreg-in-64bit") == 0)
+        action(YASM_WARN_SEGREG_IN_64BIT);
     else
         return 1;
 
index ede2f2872eae1aaa08a671fe37c18770bac86a4c..25f68226d46a947213b494386e989cd1bd8b697a 100644 (file)
@@ -43,7 +43,8 @@ typedef enum yasm_warn_class {
     YASM_WARN_ORPHAN_LABEL, /**< Label alone on a line without a colon */
     YASM_WARN_UNINIT_CONTENTS, /**< Uninitialized space in code/data section */
     YASM_WARN_SIZE_OVERRIDE,/**< Double size override */
-    YASM_WARN_IMPLICIT_SIZE_OVERRIDE /**< Implicit size override */
+    YASM_WARN_IMPLICIT_SIZE_OVERRIDE, /**< Implicit size override */
+    YASM_WARN_SEGREG_IN_64BIT /**< Segment register ignored in 64-bit mode */
 } yasm_warn_class;
 
 /** Error classes.  Bitmask-based to support limited subclassing. */
index 64ee7d9d559ed8ee80387625cfc2974cd5cfc03c..38986df0f92cf91ca277f1be539296137e5f2a48 100644 (file)
@@ -284,7 +284,7 @@ yasm_x86__parse_check_regtmod(yasm_arch *arch, const char *id, size_t id_len,
     }
 
     if (type == YASM_ARCH_SEGREG && bits != 0 && arch_x86->mode_bits == bits) {
-        yasm_warn_set(YASM_WARN_GENERAL,
+        yasm_warn_set(YASM_WARN_SEGREG_IN_64BIT,
                       N_("`%s' segment register ignored in %u-bit mode"), id,
                       bits);
     }