From: Kyrylo Tkachov Date: Mon, 9 Feb 2015 11:20:30 +0000 (+0000) Subject: [ARM][gas] Use as_tsktsk instead of as_warn for deprecation messages. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=5c3696f89f878a438c42b342a2f4bc004eed95e0;p=binutils-gdb.git [ARM][gas] Use as_tsktsk instead of as_warn for deprecation messages. * config/tc-arm.c (warn_deprecated_sp): Use as_tsktsk instead of as_warn for deprecation messages. (encode_arm_addr_mode_2): Likewise. (check_obsolete): Likewise. (do_rd_rm_rn): Likewise. (do_co_reg): Likewise. (do_setend): Likewise. (do_t_mov_cmp): Likewise. (do_neon_ldr_str): Likewise. (opcode_lookup): Likewise. (if_fsm_post_encode): Likewise. (md_assemble): Likewise. * gas/arm/armv1.l: Remove 'Warning: ' from expected messages for deprecations. * gas/arm/armv8-a-bad.l: Likewise. * gas/arm/armv8-a-it-bad.l: Likewise. * gas/arm/depr-swp.l: Likewise. * gas/arm/ldsgeb.l: Likewise. * gas/arm/ldsgeh.l: Likewise. * gas/arm/thumb2_bad_reg.l: Likewise. * gas/arm/thumb32.l: Likewise. * gas/arm/udf.l: Likewise. * gas/arm/vstr-arm-bad.l: Likewise. --- diff --git a/gas/ChangeLog b/gas/ChangeLog index bff5d8efafb..c2b5e63a9e9 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,18 @@ +2015-02-09 Kyrylo Tkachov + + * config/tc-arm.c (warn_deprecated_sp): Use as_tsktsk instead + of as_warn for deprecation messages. + (encode_arm_addr_mode_2): Likewise. + (check_obsolete): Likewise. + (do_rd_rm_rn): Likewise. + (do_co_reg): Likewise. + (do_setend): Likewise. + (do_t_mov_cmp): Likewise. + (do_neon_ldr_str): Likewise. + (opcode_lookup): Likewise. + (if_fsm_post_encode): Likewise. + (md_assemble): Likewise. + 2015-02-06 Jan Beulich * dw2gencfi.c (select_cie_for_fde): Also bail on CFI_label. diff --git a/gas/config/tc-arm.c b/gas/config/tc-arm.c index b17ea6c42b7..d7b51879b17 100644 --- a/gas/config/tc-arm.c +++ b/gas/config/tc-arm.c @@ -7258,7 +7258,7 @@ parse_operands (char *str, const unsigned int *pattern, bfd_boolean thumb) #define warn_deprecated_sp(reg) \ do \ if (warn_on_deprecated && reg == REG_SP) \ - as_warn (_("use of r13 is deprecated")); \ + as_tsktsk (_("use of r13 is deprecated")); \ while (0) /* Functions for operand encoding. ARM, then Thumb. */ @@ -7490,7 +7490,7 @@ encode_arm_addr_mode_2 (int i, bfd_boolean is_t) if (warn_on_deprecated && !is_load && ARM_CPU_HAS_FEATURE (selected_cpu, arm_ext_v7)) - as_warn (_("use of PC in this instruction is deprecated")); + as_tsktsk (_("use of PC in this instruction is deprecated")); } if (inst.reloc.type == BFD_RELOC_UNUSED) @@ -7989,7 +7989,7 @@ check_obsolete (const arm_feature_set *feature, const char *msg) { if (ARM_CPU_IS_ANY (cpu_variant)) { - as_warn ("%s", msg); + as_tsktsk ("%s", msg); return TRUE; } else if (ARM_CPU_HAS_FEATURE (cpu_variant, *feature)) @@ -8017,7 +8017,7 @@ do_rd_rm_rn (void) _("swp{b} use is obsoleted for ARMv8 and later")) && warn_on_deprecated && ARM_CPU_HAS_FEATURE (cpu_variant, arm_ext_v6)) - as_warn (_("swp{b} use is deprecated for ARMv6 and ARMv7")); + as_tsktsk (_("swp{b} use is deprecated for ARMv6 and ARMv7")); } inst.instruction |= inst.operands[0].reg << 12; @@ -8394,7 +8394,7 @@ do_co_reg (void) if (! ARM_CPU_IS_ANY (cpu_variant) && warn_on_deprecated && ARM_CPU_HAS_FEATURE (cpu_variant, r->deprecated)) - as_warn ("%s", r->dep_msg); + as_tsktsk ("%s", r->dep_msg); } } @@ -9117,7 +9117,7 @@ do_setend (void) { if (warn_on_deprecated && ARM_CPU_HAS_FEATURE (cpu_variant, arm_ext_v8)) - as_warn (_("setend use is deprecated for ARMv8")); + as_tsktsk (_("setend use is deprecated for ARMv8")); if (inst.operands[0].imm) inst.instruction |= 0x200; @@ -11560,7 +11560,7 @@ do_t_mov_cmp (void) if ((Rn == REG_SP || Rn == REG_PC) && (Rm == REG_SP || Rm == REG_PC)) { - as_warn (_("Use of r%u as a source register is " + as_tsktsk (_("Use of r%u as a source register is " "deprecated when r%u is the destination " "register."), Rm, Rn); } @@ -12384,7 +12384,7 @@ do_t_setend (void) { if (warn_on_deprecated && ARM_CPU_HAS_FEATURE (cpu_variant, arm_ext_v8)) - as_warn (_("setend use is deprecated for ARMv8")); + as_tsktsk (_("setend use is deprecated for ARMv8")); set_it_insn_type (OUTSIDE_IT_INSN); if (inst.operands[0].imm) @@ -16104,7 +16104,7 @@ do_neon_ldr_str (void) if (thumb_mode) inst.error = _("Use of PC here is UNPREDICTABLE"); else if (warn_on_deprecated) - as_warn (_("Use of PC here is deprecated")); + as_tsktsk (_("Use of PC here is deprecated")); } if (inst.operands[0].issingle) @@ -17131,7 +17131,7 @@ opcode_lookup (char **str) } if (warn_on_deprecated && unified_syntax) - as_warn (_("conditional infixes are deprecated in unified syntax")); + as_tsktsk (_("conditional infixes are deprecated in unified syntax")); affix = base + (opcode->tag - OT_odd_infix_0); cond = (const struct asm_cond *) hash_find_n (arm_cond_hsh, affix, 2); gas_assert (cond); @@ -17217,7 +17217,7 @@ opcode_lookup (char **str) if (warn_on_deprecated && unified_syntax && (opcode->tag == OT_cinfix3 || opcode->tag == OT_cinfix3_deprecated)) - as_warn (_("conditional infixes are deprecated in unified syntax")); + as_tsktsk (_("conditional infixes are deprecated in unified syntax")); inst.cond = cond->value; return opcode; @@ -17547,7 +17547,7 @@ it_fsm_post_encode (void) { if (inst.instruction >= 0x10000) { - as_warn (_("IT blocks containing 32-bit Thumb instructions are " + as_tsktsk (_("IT blocks containing 32-bit Thumb instructions are " "deprecated in ARMv8")); now_it.warn_deprecated = TRUE; } @@ -17559,7 +17559,7 @@ it_fsm_post_encode (void) { if ((inst.instruction & p->mask) == p->pattern) { - as_warn (_("IT blocks containing 16-bit Thumb instructions " + as_tsktsk (_("IT blocks containing 16-bit Thumb instructions " "of the following class are deprecated in ARMv8: " "%s"), p->description); now_it.warn_deprecated = TRUE; @@ -17572,7 +17572,7 @@ it_fsm_post_encode (void) if (now_it.block_length > 1) { - as_warn (_("IT blocks containing more than one conditional " + as_tsktsk (_("IT blocks containing more than one conditional " "instruction are deprecated in ARMv8")); now_it.warn_deprecated = TRUE; } @@ -17636,7 +17636,7 @@ md_assemble (char *str) } if (warn_on_deprecated && opcode->tag == OT_cinfix3_deprecated) - as_warn (_("s suffix on comparison instruction is deprecated")); + as_tsktsk (_("s suffix on comparison instruction is deprecated")); /* The value which unconditional instructions should have in place of the condition field. */ diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog index 215cf094523..1c10644ac25 100644 --- a/gas/testsuite/ChangeLog +++ b/gas/testsuite/ChangeLog @@ -1,3 +1,17 @@ +2015-02-09 Kyrylo Tkachov + + * gas/arm/armv1.l: Remove 'Warning: ' from expected messages + for deprecations. + * gas/arm/armv8-a-bad.l: Likewise. + * gas/arm/armv8-a-it-bad.l: Likewise. + * gas/arm/depr-swp.l: Likewise. + * gas/arm/ldsgeb.l: Likewise. + * gas/arm/ldsgeh.l: Likewise. + * gas/arm/thumb2_bad_reg.l: Likewise. + * gas/arm/thumb32.l: Likewise. + * gas/arm/udf.l: Likewise. + * gas/arm/vstr-arm-bad.l: Likewise. + 2015-01-28 James Bowman * gas/ft32/ft32.exp: New file. diff --git a/gas/testsuite/gas/arm/armv1.l b/gas/testsuite/gas/arm/armv1.l index 369f9d4a510..5d2840ad788 100644 --- a/gas/testsuite/gas/arm/armv1.l +++ b/gas/testsuite/gas/arm/armv1.l @@ -1,5 +1,5 @@ [^:]*: Assembler messages: -[^:]*:26: Warning: s suffix on comparison instruction is deprecated -[^:]*:29: Warning: s suffix on comparison instruction is deprecated -[^:]*:32: Warning: s suffix on comparison instruction is deprecated -[^:]*:35: Warning: s suffix on comparison instruction is deprecated +[^:]*:26: s suffix on comparison instruction is deprecated +[^:]*:29: s suffix on comparison instruction is deprecated +[^:]*:32: s suffix on comparison instruction is deprecated +[^:]*:35: s suffix on comparison instruction is deprecated diff --git a/gas/testsuite/gas/arm/armv8-a-bad.l b/gas/testsuite/gas/arm/armv8-a-bad.l index 0d0751fa545..838bbdc115c 100644 --- a/gas/testsuite/gas/arm/armv8-a-bad.l +++ b/gas/testsuite/gas/arm/armv8-a-bad.l @@ -1,16 +1,16 @@ .*: Assembler messages: .*:7: Error: swp{b} use is obsoleted for ARMv8 and later -.*:10: Warning: This coprocessor register access is deprecated in ARMv8 -.*:11: Warning: This coprocessor register access is deprecated in ARMv8 -.*:12: Warning: This coprocessor register access is deprecated in ARMv8 -.*:13: Warning: This coprocessor register access is deprecated in ARMv8 -.*:14: Warning: This coprocessor register access is deprecated in ARMv8 -.*:17: Warning: setend use is deprecated for ARMv8 -.*:20: Warning: setend use is deprecated for ARMv8 +.*:10: This coprocessor register access is deprecated in ARMv8 +.*:11: This coprocessor register access is deprecated in ARMv8 +.*:12: This coprocessor register access is deprecated in ARMv8 +.*:13: This coprocessor register access is deprecated in ARMv8 +.*:14: This coprocessor register access is deprecated in ARMv8 +.*:17: setend use is deprecated for ARMv8 +.*:20: setend use is deprecated for ARMv8 .*:24: Error: immediate value out of range -- `hlt 0x10000' .*:25: Error: instruction cannot be conditional -- `hltne 0x1' .*:29: Error: immediate value out of range -- `hlt 64' -.*:31: Warning: IT blocks containing 16-bit Thumb instructions of the following class are deprecated in ARMv8: Miscellaneous 16-bit instructions +.*:31: IT blocks containing 16-bit Thumb instructions of the following class are deprecated in ARMv8: Miscellaneous 16-bit instructions .*:31: Error: instruction is always unconditional -- `hltne 0' .*:35: Error: r15 not allowed here -- `stlb pc,\[r0\]' .*:36: Error: r15 not allowed here -- `stlb r0,\[pc\]' diff --git a/gas/testsuite/gas/arm/armv8-a-it-bad.l b/gas/testsuite/gas/arm/armv8-a-it-bad.l index 282216e41ed..d04d5ee925d 100644 --- a/gas/testsuite/gas/arm/armv8-a-it-bad.l +++ b/gas/testsuite/gas/arm/armv8-a-it-bad.l @@ -1,18 +1,18 @@ .*: Assembler messages: -.*:7: Warning: IT blocks containing 32-bit Thumb instructions are deprecated in ARMv8 -.*:15: Warning: IT blocks containing more than one conditional instruction are deprecated in ARMv8 -.*:20: Warning: IT blocks containing more than one conditional instruction are deprecated in ARMv8 -.*:30: Warning: IT blocks containing 32-bit Thumb instructions are deprecated in ARMv8 -.*:36: Warning: IT blocks containing more than one conditional instruction are deprecated in ARMv8 -.*:40: Warning: IT blocks containing 16-bit Thumb instructions of the following class are deprecated in ARMv8: Short branches, Undefined, SVC, LDM/STM -.*:43: Warning: IT blocks containing 16-bit Thumb instructions of the following class are deprecated in ARMv8: Miscellaneous 16-bit instructions -.*:49: Warning: IT blocks containing 16-bit Thumb instructions of the following class are deprecated in ARMv8: Literal loads -.*:52: Warning: IT blocks containing 16-bit Thumb instructions of the following class are deprecated in ARMv8: Hi-register ADD, MOV, CMP, BX, BLX using pc -.*:55: Warning: IT blocks containing 16-bit Thumb instructions of the following class are deprecated in ARMv8: Short branches, Undefined, SVC, LDM/STM +.*:7: IT blocks containing 32-bit Thumb instructions are deprecated in ARMv8 +.*:15: IT blocks containing more than one conditional instruction are deprecated in ARMv8 +.*:20: IT blocks containing more than one conditional instruction are deprecated in ARMv8 +.*:30: IT blocks containing 32-bit Thumb instructions are deprecated in ARMv8 +.*:36: IT blocks containing more than one conditional instruction are deprecated in ARMv8 +.*:40: IT blocks containing 16-bit Thumb instructions of the following class are deprecated in ARMv8: Short branches, Undefined, SVC, LDM/STM +.*:43: IT blocks containing 16-bit Thumb instructions of the following class are deprecated in ARMv8: Miscellaneous 16-bit instructions +.*:49: IT blocks containing 16-bit Thumb instructions of the following class are deprecated in ARMv8: Literal loads +.*:52: IT blocks containing 16-bit Thumb instructions of the following class are deprecated in ARMv8: Hi-register ADD, MOV, CMP, BX, BLX using pc +.*:55: IT blocks containing 16-bit Thumb instructions of the following class are deprecated in ARMv8: Short branches, Undefined, SVC, LDM/STM .*:55: Error: r15 not allowed here -- `addeq r0,pc,pc' -.*:58: Warning: IT blocks containing 16-bit Thumb instructions of the following class are deprecated in ARMv8: Short branches, Undefined, SVC, LDM/STM +.*:58: IT blocks containing 16-bit Thumb instructions of the following class are deprecated in ARMv8: Short branches, Undefined, SVC, LDM/STM .*:58: Error: r15 not allowed here -- `addeq pc,r0,r0' -.*:61: Warning: IT blocks containing 16-bit Thumb instructions of the following class are deprecated in ARMv8: ADD/SUB sp, sp #imm -.*:65: Warning: IT blocks containing 16-bit Thumb instructions of the following class are deprecated in ARMv8: ADD/SUB sp, sp #imm -.*:68: Warning: IT blocks containing 16-bit Thumb instructions of the following class are deprecated in ARMv8: ADD/SUB sp, sp #imm -.*:72: Warning: IT blocks containing 16-bit Thumb instructions of the following class are deprecated in ARMv8: ADD/SUB sp, sp #imm +.*:61: IT blocks containing 16-bit Thumb instructions of the following class are deprecated in ARMv8: ADD/SUB sp, sp #imm +.*:65: IT blocks containing 16-bit Thumb instructions of the following class are deprecated in ARMv8: ADD/SUB sp, sp #imm +.*:68: IT blocks containing 16-bit Thumb instructions of the following class are deprecated in ARMv8: ADD/SUB sp, sp #imm +.*:72: IT blocks containing 16-bit Thumb instructions of the following class are deprecated in ARMv8: ADD/SUB sp, sp #imm diff --git a/gas/testsuite/gas/arm/depr-swp.l b/gas/testsuite/gas/arm/depr-swp.l index 830f13ba557..34a547a9892 100644 --- a/gas/testsuite/gas/arm/depr-swp.l +++ b/gas/testsuite/gas/arm/depr-swp.l @@ -1,4 +1,4 @@ [^:]*: Assembler messages: -[^:]*:2: Warning: swp{b} use is obsoleted for ARMv8 and later -[^:]*:6: Warning: swp{b} use is deprecated for ARMv6 and ARMv7 -[^:]*:8: Warning: swp{b} use is deprecated for ARMv6 and ARMv7 +[^:]*:2: swp{b} use is obsoleted for ARMv8 and later +[^:]*:6: swp{b} use is deprecated for ARMv6 and ARMv7 +[^:]*:8: swp{b} use is deprecated for ARMv6 and ARMv7 diff --git a/gas/testsuite/gas/arm/ldsgeb.l b/gas/testsuite/gas/arm/ldsgeb.l index bcc175b5aa5..32b9cb97454 100644 --- a/gas/testsuite/gas/arm/ldsgeb.l +++ b/gas/testsuite/gas/arm/ldsgeb.l @@ -1,2 +1,2 @@ .*: Assembler messages: -.*: Warning: conditional infixes are deprecated in unified syntax +.*: conditional infixes are deprecated in unified syntax diff --git a/gas/testsuite/gas/arm/ldsgeh.l b/gas/testsuite/gas/arm/ldsgeh.l index bcc175b5aa5..32b9cb97454 100644 --- a/gas/testsuite/gas/arm/ldsgeh.l +++ b/gas/testsuite/gas/arm/ldsgeh.l @@ -1,2 +1,2 @@ .*: Assembler messages: -.*: Warning: conditional infixes are deprecated in unified syntax +.*: conditional infixes are deprecated in unified syntax diff --git a/gas/testsuite/gas/arm/thumb2_bad_reg.l b/gas/testsuite/gas/arm/thumb2_bad_reg.l index 2679e591a6e..1bdc4edd228 100644 --- a/gas/testsuite/gas/arm/thumb2_bad_reg.l +++ b/gas/testsuite/gas/arm/thumb2_bad_reg.l @@ -76,9 +76,9 @@ [^:]*:[0-9]+: Error: r15 not allowed here -- `cmn.w r0,r15' [^:]*:[0-9]+: Error: r15 not allowed here -- `cmp.w r15,#1' [^:]*:[0-9]+: Error: r15 not allowed here -- `cmp r15,r0' -[^:]*:[0-9]+: Warning: use of r13 is deprecated +[^:]*:[0-9]+: use of r13 is deprecated [^:]*:[0-9]+: Error: r15 not allowed here -- `cmp r0,r15' -[^:]*:[0-9]+: Warning: use of r13 is deprecated +[^:]*:[0-9]+: use of r13 is deprecated [^:]*:[0-9]+: Error: r15 not allowed here -- `cmp.n r0,r15' [^:]*:[0-9]+: Error: r15 not allowed here -- `cmp.w r15,r0' [^:]*:[0-9]+: Error: r13 not allowed here -- `cmp.w r0,r13' @@ -147,10 +147,10 @@ [^:]*:[0-9]+: Error: r15 not allowed here -- `mov.w r15,r13' [^:]*:[0-9]+: Error: r15 not allowed here -- `mov.w r13,r15' [^:]*:[0-9]+: Error: r15 not allowed here -- `mov.w r15,r15' -[^:]*:[0-9]+: Warning: Use of r13 as a source register is deprecated when r13 is the destination register. -[^:]*:[0-9]+: Warning: Use of r13 as a source register is deprecated when r15 is the destination register. -[^:]*:[0-9]+: Warning: Use of r15 as a source register is deprecated when r13 is the destination register. -[^:]*:[0-9]+: Warning: Use of r15 as a source register is deprecated when r15 is the destination register. +[^:]*:[0-9]+: Use of r13 as a source register is deprecated when r13 is the destination register. +[^:]*:[0-9]+: Use of r13 as a source register is deprecated when r15 is the destination register. +[^:]*:[0-9]+: Use of r15 as a source register is deprecated when r13 is the destination register. +[^:]*:[0-9]+: Use of r15 as a source register is deprecated when r15 is the destination register. [^:]*:[0-9]+: Error: r13 not allowed here -- `movs r13,r13' [^:]*:[0-9]+: Error: r15 not allowed here -- `movs r15,r13' [^:]*:[0-9]+: Error: r13 not allowed here -- `movs r13,r15' diff --git a/gas/testsuite/gas/arm/thumb32.l b/gas/testsuite/gas/arm/thumb32.l index d2860e3e605..4ed2079290a 100644 --- a/gas/testsuite/gas/arm/thumb32.l +++ b/gas/testsuite/gas/arm/thumb32.l @@ -1,17 +1,17 @@ [^;]*: Assembler messages: -[^;]*:450: Warning: s suffix on comparison instruction is deprecated -[^;]*:450: Warning: s suffix on comparison instruction is deprecated -[^;]*:450: Warning: s suffix on comparison instruction is deprecated -[^;]*:450: Warning: s suffix on comparison instruction is deprecated -[^;]*:451: Warning: s suffix on comparison instruction is deprecated -[^;]*:451: Warning: s suffix on comparison instruction is deprecated -[^;]*:451: Warning: s suffix on comparison instruction is deprecated -[^;]*:451: Warning: s suffix on comparison instruction is deprecated -[^;]*:452: Warning: s suffix on comparison instruction is deprecated -[^;]*:452: Warning: s suffix on comparison instruction is deprecated -[^;]*:452: Warning: s suffix on comparison instruction is deprecated -[^;]*:452: Warning: s suffix on comparison instruction is deprecated -[^;]*:453: Warning: s suffix on comparison instruction is deprecated -[^;]*:453: Warning: s suffix on comparison instruction is deprecated -[^;]*:453: Warning: s suffix on comparison instruction is deprecated -[^;]*:453: Warning: s suffix on comparison instruction is deprecated +[^;]*:450: s suffix on comparison instruction is deprecated +[^;]*:450: s suffix on comparison instruction is deprecated +[^;]*:450: s suffix on comparison instruction is deprecated +[^;]*:450: s suffix on comparison instruction is deprecated +[^;]*:451: s suffix on comparison instruction is deprecated +[^;]*:451: s suffix on comparison instruction is deprecated +[^;]*:451: s suffix on comparison instruction is deprecated +[^;]*:451: s suffix on comparison instruction is deprecated +[^;]*:452: s suffix on comparison instruction is deprecated +[^;]*:452: s suffix on comparison instruction is deprecated +[^;]*:452: s suffix on comparison instruction is deprecated +[^;]*:452: s suffix on comparison instruction is deprecated +[^;]*:453: s suffix on comparison instruction is deprecated +[^;]*:453: s suffix on comparison instruction is deprecated +[^;]*:453: s suffix on comparison instruction is deprecated +[^;]*:453: s suffix on comparison instruction is deprecated diff --git a/gas/testsuite/gas/arm/udf.l b/gas/testsuite/gas/arm/udf.l index 67218cd2151..2e154b6fc21 100644 --- a/gas/testsuite/gas/arm/udf.l +++ b/gas/testsuite/gas/arm/udf.l @@ -1,3 +1,3 @@ ^[^:]*: Assembler messages: -^[^:]*:16: Warning: IT blocks containing 16-bit Thumb instructions of the following class are deprecated in ARMv8: Short branches, Undefined, SVC, LDM/STM -^[^:]*:21: Warning: IT blocks containing 32-bit Thumb instructions are deprecated in ARMv8 +^[^:]*:16: IT blocks containing 16-bit Thumb instructions of the following class are deprecated in ARMv8: Short branches, Undefined, SVC, LDM/STM +^[^:]*:21: IT blocks containing 32-bit Thumb instructions are deprecated in ARMv8 diff --git a/gas/testsuite/gas/arm/vstr-arm-bad.l b/gas/testsuite/gas/arm/vstr-arm-bad.l index 0d4832785a2..9ad162a641c 100644 --- a/gas/testsuite/gas/arm/vstr-arm-bad.l +++ b/gas/testsuite/gas/arm/vstr-arm-bad.l @@ -1,3 +1,3 @@ [^:]*: Assembler messages: -[^:]*:6: Warning: Use of PC here is deprecated -[^:]*:7: Warning: Use of PC here is deprecated +[^:]*:6: Use of PC here is deprecated +[^:]*:7: Use of PC here is deprecated