* print-rtl.c (print_rtx): Only print note line number as string
if between NOTE_INSN_BIAS and NOTE_INSN_MAX.
* final.c (final_scan_insn): Do nothing for note line number 0.
From-SVN: r33997
* gcc-common.c (ggc_mark_rtx_children): Mark NOTE_EXPECTED_VALUE
from NOTE_INSN_EXPECTED_VALUE notes and NOTE_SOURCE_FILE from
NOTE_INSN_DELETED_LABEL.
From-SVN: r33996
Place constant, uninitialised data in .rodata not .bss, and do not interpret an
error in the initialisation value as meaning that the variable should be
placed in the .bss section.
From-SVN: r33995
* com.h (FFECOM_f2cINTEGER, FFECOM_f2cLONGINT): Note that
these types correspond to built-in types now defined in
the C front end (for libf2c).
From-SVN: r33991
* configure.in: Test for __g77_integer, __g77_uinteger,
__g77_longint, and __g77_ulongint builtin types, rather
than mucking around with compiler headers.
* configure: Regenerate.
* g2c.hin (integer, logical, flag, ftnlen, ftnint): Use
__g77_integer rather than autoconfigured value.
(uinteger): Use __g77_uinteger rather than autoconfigured value.
(longint): Use __g77_longint rather than autoconfigured value.
(ulongint): Use __g77_ulongint rather than autoconfigured value.
From-SVN: r33990
* cppexp.c (parse_assertion): New.
(lex): Call it for CPP_HASH. Remove CPP_ASSERTION case.
(_cpp_parse_expr): Remove case '#'. Don't set
parsing_if_directive.
* cpphash.c (collect_objlike_expansion,
collect_funlike_expansion, collect_params,
_cpp_create_definition): The list no longer has a trailing
VSPACE token.
* cpphash.h (enum node_type): Add T_ASSERTION.
(struct hashnode): Remove aschain, add pred.
(struct predicate): New.
Update prototypes.
* cpplex.c (expand_token_space): Handle both offset and
nonoffset lists.
(init_token_list, _cpp_free_token_list, _cpp_parse_assertion): Delete.
(_cpp_init_toklist, _cpp_clear_toklist, _cpp_free_toklist,
_cpp_slice_toklist, _cpp_squeeze_toklist, _cpp_equiv_tokens,
_cpp_equiv_toklists): New.
(_cpp_scan_line): Rename to _cpp_scan_until; add ability to
stop at any single-character token, not just newline.
(_cpp_lex_token): Remove special cases for #define and #if.
(cpp_get_token): Expect # as a separate token type. Remove
DIRECTIVE case.
(_cpp_get_directive_token): Remove DIRECTIVE case.
(_cpp_lex_line, _cpp_lex_file, _cpp_init_input_buffer): Update.
* cpplib.c (_cpp_check_directive): Set dirno and
SYNTAX_INCLUDE bit of flags, not dir_handler and dir_flags.
(_cpp_handle_directive): Run # <number> through the same logic
as normal directives.
(do_define): Don't set parsing_define_directive. Use
_cpp_scan_until. The list does not have a VSPACE at the end.
(do_if): Save, clear, and restore only_seen_white around
_cpp_parse_expr.
(skip_if_group): s/CPP_DIRECTIVE/CPP_HASH/
(do_assert, do_unassert): Rewrite.
* cpplib.h (TTYPE_TABLE): Remove CPP_ASSERTION.
(LIST_OFFSET): New flag.
(struct cpp_toklist): Replace dir_handler and dir_flags with
dirno and flags.
(struct cpp_reader): Remove parsing_if_directive and
parsing_define_directive.
From-SVN: r33984
* fixinc/inclhack.def (broken_cabs): Update fix to handle comments
following the cabs decl which terminate on the following line.
Add the corresponding test_text case.
From-SVN: r33983
* gcc_update (self): Set to `$0'.
(touch_files_reexec): Use `$self' instead of `$0'.
Reported by Albert Chin-A-Young <china@thewrittenword.com>
From-SVN: r33974
* decl2.c (finish_anon_union): Generalize error messages to handle
anonymous structures.
* init.c (perform_member_init): Remove `name' parameter.
(build_field_list): New function.
(sort_member_init): Handle anonymous union initialization order
correctly. Check for multiple initializations of the same union.
(emit_base_init): Don't look up fields by name here.
(expand_member_init): Record the result of name lookup for future
reference.
* typeck.c (build_component_ref): Fix formatting.
From-SVN: r33963
* cpplib.c: New feature, #pragma system_header.
* cpp.texi: Document special treatment of system headers, and
the various mechanisms to get a header that special treatment.
From-SVN: r33962
* libjava.mauve/mauve.exp (test_mauve): Call `prune_warnings'.
(test_mauve_sim): Likewise.
(test_mauve): Redirect stderr in system call.
(test_mauve_sim): Likewise.
* lib/libjava.exp (test_libjava_from_source): Call
`prune_warnings'.
(test_libjava_from_javac): Likewise.
(bytecompile_file): Redirect stderr in system call.
* lib/libjava.exp (libjava_find_program): New proc.
(find_jvscan): Use it.
(find_gcjh): New proc.
* libjava.compile/compile.exp: Use "", not $options.
From-SVN: r33959
* fixinc/fixfixes.c (char_macro_use_fix, char_macro_def_fix):
Don't check the return value of sprintf. Use asprintf to avoid
buffer overflows.
From-SVN: r33955
* config/ia64/crtbegin.asm (__dso_handle): Mark hidden if the
assembler supports it.
(.fini, .init): Use a gp-relative indirect call.
(__do_global_dtors_aux): Preserve the gp; rebundle.
(__do_frame_setup): Likewise.
* config/ia64/crtend.asm (.IA_64.unwind): Don't terminate with -1.
(.init): Use a gp-relative indirect call.
(__do_global_ctors_aux): Preserve the gp.
From-SVN: r33951
* flow.c (commit_one_edge_insertion): Be prepared for a return
insn to be inserted on the edge with a normal jump.
* jump.c (jump_optimize_1): Don't look to create return isns.
* flow.c (flow_delete_insn): Don't adjust reference count of notes.
* jump.c (jump_optimize_1): Likewise.
(returnjump_p): Verify the argument is a JUMP_INSN.
* rtl.def (NOTE): Add 5th element for NOTE_INSN_DELETED_LABEL.
From-SVN: r33950