summaryrefslogtreecommitdiff
path: root/gas/ehopt.c
diff options
context:
space:
mode:
authorNick Clifton <nickc@redhat.com>2009-09-11 15:27:38 +0000
committerNick Clifton <nickc@redhat.com>2009-09-11 15:27:38 +0000
commit1e9cc1c27b927dc95dfaec390eb492d29bbc7a0b (patch)
tree53a3c5ddeb73ec0cf10bb3c6e02d1a4b35a727a7 /gas/ehopt.c
parente23bb3fc8406336ae8bbfe860ef06d4685ba96eb (diff)
downloadbinutils-gdb-1e9cc1c27b927dc95dfaec390eb492d29bbc7a0b.tar.gz
* po/bfd.pot: Updated by the Translation project.
* po/binutils.pot: Updated by the Translation project. * po/gold.pot: Updated by the Translation project. * po/gold.pot: Updated by the Translation project. * po/gprof.pot: Updated by the Translation project. * po/sv.po: Updated Swedish translation. * po/ld.pot: Updated by the Translation project. * po/fi.po: Updated Finnish translation. * po/ld.pot: Updated by the Translation project. * po/fi.po: Updated Finnish translation. Updated sources to compile cleanly with -Wc++-compat: * basic_blocks.c: Add casts. * cg_dfn.c: Add cast. * corefile.c: Add casts. * gmon_io.c: Add casts. * hist.c: Add cast. * source.c: Add cast. * sym_ids.c (struct match): Moved to top level. Updated soruces in ld/* to compile cleanly with -Wc++-compat: * ld.h (enum endian_enum,enum symbolic_enum,enum dynamic_list_enum): Move to top level. * ldcref.c: Add casts. * ldctor.c: Add casts. * ldexp.c * ldexp.h (enum node_tree_enum,enum phase_enum): Move to top level. * ldlang.c: Add casts. (lang_insert_orphan): Use enum name instead of integer. * ldlang.h (enum statement_enum): Move to top level. * ldmain.c: Add casts. * ldwrite.c: Add casts. * lexsup.c: Add casts. (enum control_enum): Move to top level. * mri.c: Add casts. (mri_draw_tree): Use enum name instead of integer. Updated sources to compile cleanly with -Wc++-compat: * basic_blocks.c: Add casts. * cg_dfn.c: Add cast. * corefile.c: Add casts. * gmon_io.c: Add casts. * hist.c: Add cast. * source.c: Add cast. * sym_ids.c (struct match): Moved to top level. * as.c (main): Call dwarf2_init. * config/obj-elf.c (struct group_list): New field. (build_group_lists): Use hash lookup. (free_section_idx): New function. (elf_frob_file): Adjust. * dwarf2dbg.c (all_segs_hash, last_seg_ptr): New variables. (get_line_subseg): Adjust. (dwarf2_init): New function. * dwarf2dbg.h (dwarf2_init): New declaration.
Diffstat (limited to 'gas/ehopt.c')
-rw-r--r--gas/ehopt.c28
1 files changed, 15 insertions, 13 deletions
diff --git a/gas/ehopt.c b/gas/ehopt.c
index 1c1ac60099a..c09eb15b498 100644
--- a/gas/ehopt.c
+++ b/gas/ehopt.c
@@ -227,6 +227,19 @@ get_cie_info (struct cie_info *info)
return 1;
}
+enum frame_state
+{
+ state_idle,
+ state_saw_size,
+ state_saw_cie_offset,
+ state_saw_pc_begin,
+ state_seeing_aug_size,
+ state_skipping_aug,
+ state_wait_loc4,
+ state_saw_loc4,
+ state_error,
+};
+
/* This function is called from emit_expr. It looks for cases which
we can optimize.
@@ -245,18 +258,7 @@ check_eh_frame (expressionS *exp, unsigned int *pnbytes)
{
struct frame_data
{
- enum frame_state
- {
- state_idle,
- state_saw_size,
- state_saw_cie_offset,
- state_saw_pc_begin,
- state_seeing_aug_size,
- state_skipping_aug,
- state_wait_loc4,
- state_saw_loc4,
- state_error,
- } state;
+ enum frame_state state;
int cie_info_ok;
struct cie_info cie_info;
@@ -324,7 +326,7 @@ check_eh_frame (expressionS *exp, unsigned int *pnbytes)
case state_saw_size:
case state_saw_cie_offset:
/* Assume whatever form it appears in, it appears atomically. */
- d->state += 1;
+ d->state = (enum frame_state) (d->state + 1);
break;
case state_saw_pc_begin: