aboutsummaryrefslogtreecommitdiff
path: root/gas/expr.c
AgeCommit message (Collapse)AuthorFilesLines
2004-05-23 * expr.c (operand, operator): Don't reject '++' and '--'.Alan Modra1-6/+9
2004-04-16 * expr.c (operand): Correct checks for ++ and --.Alan Modra1-2/+2
2004-03-18 * expr.c (operand): Reject ++ and --.Nathan Sidwell1-0/+15
(operator): Likewise.
2003-11-22 * ehopt.c: Convert to ISO-C.Kazu Hirata1-49/+30
* emul.h: Likewise. * expr.c: Likewise. * expr.h: Likewise. * flonum-copy.c: Likewise. * flonum-mult.c: Likewise. * flonum.h: Likewise. * frags.c: Likewise. * frags.h: Likewise.
2003-05-27 * expr.c (make_expr_symbol): Fold FAKE_LABEL_NAME use into theRichard Henderson1-10/+2
symbol_create call. (current_location): Use symbol_temp_new_now. * stabs.c (s_stab_generic): Use symbol_temp_new. * symbols.c (temp_label_name): Remove. (symbol_temp_new, symbol_temp_make): Use FAKE_LABEL_NAME.
2002-10-18 * expr.c (operand): Add support for n.nn flonums.Alan Modra1-16/+28
2002-09-20 * expr.c (expr): Simplify foo-foo here.Alan Modra1-18/+2
(clean_up_expression): Remove O_subtract code.
2002-09-19 * write.h (struct fix): Add fx_dot_value.Alan Modra1-0/+4
(dot_value): Declare. * write.c (dot_value): New var. (fix_new_internal): Save dot_value as fx_dot_value. * expr.c (expr): Update dot_value.
2002-08-27 * dwarf2dbg.c: Always include dwarf2dbg.h.Alan Modra1-4/+2
(dwarf2_directive_file): Adjust dummy version args. * ecoff.c (ecoff_directive_weakext): Add ATTRIBUTE_UNUSED. * expr.c (clean_up_expression <O_subtract>): Allow subtraction when symbol values differ. * read.c (do_align): Add ATTRIBUTE_UNUSED to label. (pseudo_set <O_subtract>): Remove unnecessary segment test. * config/obj-bout.c (obj_pseudo_table): Warning fix.
2002-05-18 * app.c: Fix formatting.Kazu Hirata1-1/+1
* as.c: Likewise. * ehopt.c: Likewise. * expr.c: Likewise. * input-file.c: Likewise. * listing.c: Likewise. * macro.h: Likewise. * stabs.c: Likewise. * symbols.c: Likewise.
2001-10-11 * app.c: Fix comment typos.Kazu Hirata1-3/+3
* bit_fix.h: Likewise. * expr.c: Likewise. * itbl-ops.c: Likewise.
2001-09-19Locale changes from Bruno Haible <haible@clisp.cons.org>.H.J. Lu1-10/+5
2001-09-09 * expr.c (expr): Move code setting "retval" to the end of the loop,Alan Modra1-18/+24
and rearrange for efficiency. For "PIC code" subtraction, use "rightseg" rather than recalculating. For "symbol OP symbol" subtract, set "retval" to absolute_section if symbols in same section. * symbols.c (resolve_symbol_value): Resolve "sym +/- expr" to an O_symbol. Simplify a +/- b code. Allow equality and non-equality comparisons on symbols from any section. Allow other comparison operators as for subtraction. (symbol_equated_reloc_p): New predicate function. * symbols.h (symbol_equated_reloc_p): Declare. * write.c (adjust_reloc_syms): Use symbol_equated_reloc_p. (write_relocs): Likewise. (write_object_file): Likewise. (relax_segment <rs_machine_dependent>): Ensure segment for expression syms is set correctly. * config/tc-mips.c (md_estimate_size_before_relax): Likewise. * config/tc-i386.c (md_assemble <Output jumps>): Don't lose part of a complex expression when setting up frag_var.
2001-08-142001-08-14 Jeff Johnston <jjohnstn@redhat.com>Jeff Johnston1-0/+3
* expr.c (operand)[LITERAL_PREFIXDOLLAR_HEX]: Treat $L as a label, not a hex constant. This patch was approved by Nick Clifton.
2001-08-01 * read.c: Standardize error/warning messages - don't capitalise, noAlan Modra1-10/+11
final period or newline, don't say "ignored" or "zero assumed" for as_bad messages. In some cases, change the wording to that used elsewhere for similar messages. * app.c, as.c, atof-generic.c, cgen.c, cond.c, depend.c, dwarf2dbg.c, ecoff.c, expr.c, frags.c, input-file.c, input-scrub.c, listing.c, output-file.c, stabs.c, subsegs.c, symbols.c, write.c: Likewise. * ecoff.c (ecoff_directive_end): Test for missing name by comparing input line pointers rather than reading string. (ecoff_directive_ent): Likewise. * read.c (s_set): Likewise. (s_align): Report a warning rather than an error for alignment too large. (s_comm): Check for missing symbol name. (s_lcomm_internal): Likewise. (s_lsym): Likewise. (s_globl): Use is_end_of_line instead of looking for '\n'. (s_lcomm_internal): Likewise. (ignore_rest_of_line): Report a warning rather than an error.
2001-06-13Fix typo in commentNick Clifton1-1/+1
2001-05-25Revert last patch.Alan Modra1-13/+0
2001-05-25 * expr.c (expr): Set return value to absolute_section forAlan Modra1-0/+13
subtractive operations on symbols within a segment. * read.c (pseudo_set): Set segment for complex expressions.
2001-05-22 * symbols.c (resolve_symbol_value): Remove "finalize" param,Alan Modra1-1/+1
instead use finalize_syms directly. Don't treat expressions specially with regard to finalize_syms. Update calls to self. (resolve_local_symbol): Update call to resolve_symbol_value. (S_GET_VALUE): Likewise. Return resolve_symbol_value if !finalize_syms. * symbols.h (resolve_symbol_value): Update prototype. * config/obj-aout.c (obj_crawl_symbol_chain): Update call to resolve_symbol_value. * config/obj-bout.c (obj_crawl_symbol_chain): Likewise. * config/obj-coff.c (do_relocs_for): Likewise. (yank_symbols): Likewise. (fixup_segment): Likewise. * config/obj-vms.c (obj_crawl_symbol_chain): Likewise. * config/tc-mips.c (md_convert_frag): Likewise. * config/tc-ppc.c (ppc_frob_symbol): Likewise. (ppc_fix_adjustable): Likewise. * dwarf2dbg.c (dwarf2dbg_estimate_size_before_relax): Likewise. (dwarf2dbg_convert_frag): Likewise. * ehopt.c (eh_frame_estimate_size_before_relax): Likewise. (eh_frame_convert_frag): Likewise. * expr.c (make_expr_symbol): Likewise. * write.c (adjust_reloc_syms): Likewise. (write_object_file): Likewise. (relax_segment): Likewise. (fixup_segment): Likewise. (finalize_syms): Init to zero, and update comment. (write_object_file): Set finalize_syms to 1 rather than 2. * doc/internals.texi (sy_value): Mention finalize_syms. (S_GET_VALUE): Remove restriction on when S_GET_VALUE can be called.
2001-04-12* expr.c (operand): Pass &c to md_parse_name().Alexandre Oliva1-1/+1
* config/tc-ia64.h, config/tc-ppc.h, config/tc-tic54x.h: Adjust.
2001-03-30Pass finalize_syms on calls to resolve_symbol_value.Alan Modra1-1/+1
2001-03-08Fix copyright noticesNick Clifton1-1/+2
2001-02-13Update copyright date.Alan Modra1-1/+1
2001-02-13Fix parsing of multi-char operators.Alan Modra1-14/+17
2000-11-28Correct {STANDARD,MRI}_MUL_PRECEDENCE value.Alan Modra1-3/+3
2000-10-302000-10-30 Kazu Hirata <kazu@hxi.com>Kazu Hirata1-3/+2
* expr.c: Fix formatting. * flonum-copy.c: Likewise. * flonum.h: Likewise. * gasp.c: Likewise. * hash.c: Likewise.
2000-10-172000-10-17 Kazu Hirata <kazu@hxi.com>Kazu Hirata1-6/+4
* debug.c: Fix formatting. * depend.c: Likewise. * dwarf2dbg.c: Likewise. * dwarf2dbg.h: Likewise. * ecoff.c: Likewise. * expr.c: Likewise. * expr.h: Likewise. * flonum-konst.c: Likewise. * frags.h: Likewise.
2000-09-05Miscellaneous tiny fixes.Alan Modra1-1/+1
2000-09-03fix formattingNick Clifton1-9/+9
2000-08-112000-08-11 Kazu Hirata <kazu@hxi.com>Kazu Hirata1-8/+8
* expr.c: Fix formatting.
2000-08-102000-08-10 Kazu Hirata <kazu@hxi.com>Kazu Hirata1-245/+221
* expr.c: Fix formatting.
2000-07-17* new parsing optionFrank Ch. Eigler1-0/+6
2000-07-17 Frank Ch. Eigler <fche@redhat.com> * expr.c (operand): Permit %bin literals if LITERAL_PREFIXPERCENT_BIN is defined.
2000-06-23* $literal supportFrank Ch. Eigler1-0/+6
2000-06-23 Frank Ch. Eigler <fche@redhat.com> * expr.c (operand): Permit $hex literals if LITERAL_PREFIXDOLLAR_HEX is defined.
2000-06-23(operand): Do not as_bad() if RELAX_PAREN_GROUPING isAlan Modra1-4/+8
defined. Fix error message and double increment of input_line_pointer for `[' grouping.
2000-06-19Applied Stephane Carrez <Stephane.Carrez@worldnet.fr> patches to add supportNick Clifton1-3/+3
for m68hc11 and m68hc12 processors.
2000-06-02is_end_of_line fixes.Alan Modra1-4/+7
2000-04-21IA-64 ELF support.Jim Wilson1-0/+7
2000-03-13 * expr.c (operand) [case 'f']: When testing if '0f' can start aHans-Peter Nilsson1-1/+2
floating-point-number, make sure 'f' is in FLT_CHARS.
2000-02-24Remove dead code when not TC_M68K.Alan Modra1-1/+11
2000-02-08NUMBERS_WITH_SUFFIX *doesn't* want to handle 'x', since that is validTimothy Wall1-1/+1
when the 0x prefix is used.
2000-02-08Remove redundant code for checking numbers with suffixes. AddTimothy Wall1-24/+7
functionality to break out of assembler loops.
2000-02-08Add handling for numbers with suffixed radix.Timothy Wall1-8/+30
1999-11-05Add more md operatorsMichael Meissner1-0/+8
1999-10-18Add md expression support; Cleanup alpha warningsMichael Meissner1-0/+8
1999-09-121999-09-11 Donn Terry <donn@interix.com>Ian Lance Taylor1-2/+3
* expr.c (expr): Change first parameter to int. * config/obj-coff.c: Add declarations for static functions. (coff_frob_symbol): Use SYM_AUXENT. * config/tc-i386.h (flag_16bit_code): Don't declare.
1999-09-111999-09-11 Donn Terry <donn@interix.com>Ian Lance Taylor1-1/+1
* expr.c (integer_constant): Correct too_many_digits calculation in base 10 case.
1999-06-05 * dwarf2dbg.c (*): Convert to K&R + prototypes.Richard Henderson1-3/+7
(dwarf2_gen_line_info): Kill unused variables. (dwarf2_finish): Likewise. (dwarf2_where): Likewise. (dwarf2_directive_file): If we've only got a string, hand off to s_app_file. * ecoff.c: Move the include of ecoff.h. * symbols.h (S_IS_FUNCTION): Prototype. * read.c (LEX_HASH): Supply a default. (lex_type): Use it. (s_globl): Update `c' after skipping whitespace. * read.h (LEX_END_NAME, is_name_ender): New. * expr.c (get_symbol_end): Respect it.
1999-06-03 * expr.c (operand): Don't use [ for parens if we want an index op.Richard Henderson1-23/+43
(op_encoding): Switch [ into O_index, if desired. (op_rank): Renumber with O_index on bottom. (expr): If O_index, match closing bracket. * expr.h (O_index): New.
1999-06-03 Add support for storing local symbols in a small structure to saveIan Lance Taylor1-8/+8
memory when assembling large files. * as.h: Don't include struc-symbol.h. (symbolS): Add typedef. * symbols.c: Include struc-symbol.h. (local_hash): New static variable. (save_symbol_name): New static function, from symbol_create. (symbol_create): Call save_symbol_name. (local_symbol_count): New static variable. (local_symbol_conversion_count): Likewise. (LOCAL_SYMBOL_CHECK): Define. (local_symbol_make): New static function. (local_symbol_convert): New static function. (colon): Handle local symbols. Create local symbol for local label name. (symbol_table_insert): Handle local symbols. (symbol_find_or_make): Create local symbol for local label name. (symbol_find_base): Check for local symbol. (symbol_append, symbol_insert): Check for local symbols. (symbol_clear_list_pointers, symbol_remove): Likewise. (verify_symbol_chain): Likewise. (copy_symbol_attributes): Likewise. (resolve_symbol_value): Handle local symbols. (resolve_local_symbol): New static function. (resolve_local_symbol_values): New function. (S_GET_VALUE, S_SET_VALUE): Handle local symbols. (S_IS_FUNCTION, S_IS_EXTERNAL, S_IS_WEAK, S_IS_COMMON): Likewise. (S_IS_DEFINED, S_IS_DEBUG, S_IS_LOCAL, S_GET_NAME): Likewise. (S_GET_SEGMENT, S_SET_SEGMENT, S_SET_EXTERNAL): Likewise. (S_CLEAR_EXTERNAL, S_SET_WEAK, S_SET_NAME): Likewise. (symbol_previous, symbol_next): New functions. (symbol_get_value_expression): Likewise. (symbol_set_value_expression): Likewise. (symbol_set_frag, symbol_get_frag): Likewise. (symbol_mark_used, symbol_clear_used, symbol_used_p): Likewise. (symbol_mark_used_in_reloc): Likewise. (symbol_clear_used_in_reloc, symbol_used_in_reloc_p): Likewise. (symbol_mark_mri_common, symbol_clear_mri_common): Likewise. (symbol_mri_common_p): Likewise. (symbol_mark_written, symbol_clear_written): Likewise. (symbol_written_p): Likewise. (symbol_mark_resolved, symbol_resolved_p): Likewise. (symbol_section_p, symbol_equated_p): Likewise. (symbol_constant_p): Likewise. (symbol_get_bfdsym, symbol_set_bfdsym): Likewise. (symbol_get_obj, symbol_set_obj): Likewise. (symbol_get_tc, symbol_set_tc): Likewise. (symbol_begin): Initialize local_hash. (print_symbol_value_1): Handle local symbols. (symbol_print_statistics): Print local symbol statistics. * symbols.h: Include "struc-symbol.h" if not BFD_ASSEMBLER. Declare new symbols.c functions. Move many declarations here from struc-symbol.h. (SYMBOLS_NEED_BACKPOINTERS): Define if needed. * struc-symbol.h (SYMBOLS_NEED_BACKPOINTERS): Don't set. (struct symbol): Move bsym to make it clearly the first field. Remove TARGET_SYMBOL_FIELDS. (symbolS): Don't typedef. (struct broken_word): Remove. (N_TYPE_seg, seg_N_TYPE): Move to symbol.h. (SEGMENT_TO_SYMBOL_TYPE, N_REGISTER): Likewise. (symbol_clear_list_pointers): Likewise. (symbol_insert, symbol_remove): Likewise. (symbol_previous, symbol_append): Likewise. (verify_symbol_chain, verify_symbol_chain_2): Likewise. (struct local_symbol): Define. (local_symbol_converted_p, local_symbol_mark_converted): Define. (local_symbol_resolved_p, local_symbol_mark_resolved): Define. (local_symbol_get_frag, local_symbol_set_frag): Define. (local_symbol_get_real_symbol): Define. (local_symbol_set_real_symbol): Define. Define. * write.c (write_object_file): Call resolve_local_symbol_values. * config/obj-ecoff.h (OBJ_SYMFIELD_TYPE): Define. (TARGET_SYMBOL_FIELDS): Don't define. * config/obj-elf.h (OBJ_SYMFIELD_TYPE): Add local field. If ECOFF_DEBUGGING, add ECOFF fields. (ELF_TARGET_SYMBOL_FIELDS, TARGET_SYMBOL_FIELDS): Don't define. * config/obj-multi.h (struct elf_obj_sy): Add local field. If ECOFF_DEBUGGING, add ECOFF fields. (ELF_TARGET_SYMBOL_FIELDS, TARGET_SYMBOL_FIELDS): Don't define. (ECOFF_DEBUG_TARGET_SYMBOL_FIELDS): Don't define. * config/tc-mcore.h: Don't include struc-symbol.h. (TARGET_SYMBOL_FIELDS): Don't define. (struct mcore_tc_sy): Define. (TC_SYMFIELD_TYPE): Define. * Many files: Use symbolS instead of struct symbol. Use new accessor functions rather than referring to symbolS fields directly. * read.c (s_mri_common): Don't add in value of line_label. * config/tc-mips.c (md_apply_fix): Correct parenthesization when checking for SEC_LINK_ONCE. * config/tc-sh.h (sh_fix_adjustable): Declare.
1999-05-17/Alan Modra1-0/+4
Move bitfield overflow checks to after the md_apply_fix call in fixup_segment so that md_apply_fix has a chance to modify value. Handle 8 and 16-bit pcrel relocs for i386. Prototypes and other minor code cleanups.