summaryrefslogtreecommitdiff
path: root/gcc/c-lex.c
Commit message (Collapse)AuthorAgeFilesLines
* * c-lex.h (enum rid): Add RID_BOUNDED & RID_UNBOUNDED.gkm2000-03-141-0/+2
| | | | | | | | | | | * c-lex.c (init_lex): Handle RID_BOUNDED & RID_UNBOUNDED. * c-parse.gperf (__bounded, __bounded__, __ptrbase, __ptrbase__, __ptrextent, __ptrextent__, __ptrvalue, __ptrvalue__, __unbounded, __unbounded__): New keywords. * c-parse.in (PTR_VALUE PTR_BASE PTR_EXTENT): New tokens. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@32540 138bc75d-0d04-0410-961f-82ee72b054a4
* * tree.h (INT_CST_LT, INT_CST_LT_UNSIGNED): Remove unneeded casts.kenner2000-03-071-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (struct tree_int_cst): int_cst_low is now unsigned HOST_WIDE_INT. (attribute_hash_list, type_hash_canon): hashcode is now unsigned. (type_hash_lookup, type_hash_add, type_hash_list): Likewise. (min_precision): Result is unsignd. (add_double, neg_double, mul_double): Low word is unsigned. (lshift_double, rshift_double, lrotate_double): Likewise. (rrotate_double, div_and_round_double): Likewise. (tree_floor_log2, compare_tree_int): New functions. (preserve_rtl_expr_temps): New declaration. * c-common.c (declare_hidden_char_array): Use compare_tree_int. (decl_attributes): Use tree_log2 to find alignment. Check for TREE_INT_CST_HIGH for format args. (min_precision): Now unsigned. Use tree_floor_log2. (truthvalue_conversion): Delete long-disabled code. * c-decl.c (finish_struct): Clean up tests on field width. (finish_function): Use compare_tree_int. * c-pragma.c (handle_pragma_token): Use tree_log2 for alignment. * c-typeck.c (comptypes): Use tree_int_cst_equal. (default_conversion, digest_init): Use compare_tree_int. (build_binary_op): Use integer_all_onesp and compare_tree_int. Fix type errors in forming masks. * calls.c (initialize_argument_information): Use compare_tree_int. * dbxout.c (dbxout_type): Cast TREE_INT_CST_LOW to HOST_WIDE_INT. * except.c (expand_eh_region_start_tree): Use compare_tree_int. * expr.c (is_zeros_p, case INTEGER_CST): Use integer_zerop. (store_field): Use compare_tree_int. (expand_expr, case CONSTRUCTOR): Use TYPE_SIZE_UNIT. (expand_expr, case ARRAY_REF): Use compare_tree_int. (do_jump, case BIT_AND_EXPR): Use tree_floor_log2. (do_store_flag): Use compare_tree_int. * fold-const.c (encode, decode): Low part is always unsigned. (force_fit_type, add_double, neg_double, mul_double): Likewise. (lshift_double, rshift_double, lrotate_double): Likewise. (rrotate_double, div_and_round_double, int_const_binop): Likewise. (fold_convert): Use compare_tree_int. (operand_equal_p, case INTEGER_CST): Use tree_int_cst_equal. (invert_truthvalue, case INTEGER_CST): Likewise. (fold): Use compare_tree_int; add casts for unsigned TREE_INT_CST_LOW. * mkdeps.c (deps_dummy_targets): Make I unsigned. * rtl.h (add_double, neg_double, mul_double): Low words are unsigned. (lshift_double, rshift_double, lrotate_double, rrotate_double): Likewise. * stmt.c (expand_decl): Use compare_tree_int and mode_for_size_tree. (expand_end_case): Use compare_tree_int. (estimate_case_costs): Cast TREE_INT_CST_LOW to HOST_WIDE_INT. * stor-layout.c (mode_for_size_tree): Use compare_tree_int. (layout_decl): Likewise. (layout_record, layout_union): Make sizes unsigned. (layout_type, case VOID_TYPE): TYPE_SIZE must be bitsizetype. (layout_type, case QUAL_UNION_TYPE): Use compare_tree_int. * tree.c (struct type_hash): hashcode is unsigned. (build_type_attribute_variant, type_hash_list): Likewise. (type_hash_lookup, type_hash_add, type_hash_canon): Likewise. (attribute_hash_list, build_array_type, build_method_type): Likewise. (build_complex_type): Likewise. (real_value_from_int_cst): Remove unneeded casts. (integer_all_onesp): Add casts. (tree_floor_log2, compare_tree_int): New functions. (build_index_type): Use tree_int_cst_sgn. * varasm.c (assemble_variable): Use compare_tree_int. * ch/actions.c (chill_convert_for_assignment): INDEX is unsigned HOST_WIDE_INT. * ch/ch-tree.h (DECL_NESTING_LEVEL): Use TREE_INT_CST_HIGH since unsigned. * ch/except.c (chill_handle_on_labels): ALTERNATIVE is unsigned. Use compare_tree_int. (expand_goto_except_cleanup): Likewise. * cp/class.c (dfs_modify_vtables): I is now unsigned. (check_bitfield_decl): Use tree_int_cst_sgn and compare_tree_int. (build_base_field): Add casts of TREE_INT_CST_LOW to HOST_WIDE_INT. * cp/error.c (dump_expr): Cast TREE_INT_CST_HIGH to unsigned. * cp/init.c (build_vec_init): Cast TREE_INT_CST_LOW to HOST_WIDE_INT. * cp/method.c (build_overload_int): Cast TREE_INT_CST_HIGH to unsigned. * cp/typeck.c (build_binary_op, case TRUNC_DIV_EXPR): Call integer_all_onesp. * cp/typeck2.c (process_init_constructor): Use compare_tree_int. * f/com.c (ffecom_f2c_set_lio_code_): Use compare_tree_int. (ffecom_sym_transform_, ffecom_transform_common_): Likewise. (ffecom_transform_equiv_): Likewise. * java/decl.c (emit_init_test_initialization): Mark KEY as unused. * java/expr.c (build_newarray): Cast TREE_INT_CST_LOW to HOST_WIDE_INT. (build_anewarray): Likewise. * java/parse.y (patch_newarray): Likewise. * java/parse.c: Regenerated. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@32383 138bc75d-0d04-0410-961f-82ee72b054a4
* * c-lex.c (putback_buffer): Make 'buffer' an unsigned char *.zack2000-02-271-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@32222 138bc75d-0d04-0410-961f-82ee72b054a4
* Copyright fixes.law2000-02-261-1/+2
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@32171 138bc75d-0d04-0410-961f-82ee72b054a4
* * c-lex.c (readescape): Warn about 'x', but do not reject it.aoliva2000-02-161-1/+4
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@32005 138bc75d-0d04-0410-961f-82ee72b054a4
* Adjust variable names, comments, help strings to c99.drepper2000-01-291-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@31689 138bc75d-0d04-0410-961f-82ee72b054a4
* * c-common.c, c-decl.c, c-lang.c, c-lex.c, c-parse.in, c-pragma.c,zack2000-01-251-8/+1
| | | | | | | | | | | | | | | | | | c-typeck.c, objc/objc-act.c: Remove all references to obstack functions obsoleted by GC, such as push_obstacks_nochange, end_temporary_allocation, savealloc, saveable_tree_cons, etc. and code which existed only to decide whether or not to call them. Remove now-unused NESTED argument from start_function; all callers changed. Do not change behavior based on ggc_p. The use of the ixp_obstack in c-iterate.c and the util_obstack in objc/objc-act.c remain; these are not obsoleted by garbage collection. * c-tree.h: Update prototype for start_function. * c-parse.y, c-parse.c, objc/objc-parse.c, objc/objc-parse.y: Rebuild. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@31611 138bc75d-0d04-0410-961f-82ee72b054a4
* * c-common.c: PROTO -> PARAMS.ghazi2000-01-121-13/+13
| | | | | | | | | | | | | | | | | | | * c-common.h: Likewise. * c-decl.c: Likewise. * c-iterate.c: Likewise. * c-lang.c: Likewise. * c-lex.c: Likewise. * c-lex.h: Likewise. * c-parse.in: Likewise. * c-pragma.c: Likewise. * c-pragma.h: Likewise. * c-tree.h: Likewise. * c-typeck.c: Likewise. * objc/objc-act.c: Likewise. * objc/objc-act.h: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@31362 138bc75d-0d04-0410-961f-82ee72b054a4
* Update copyrights for last checkin.ghazi2000-01-111-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@31309 138bc75d-0d04-0410-961f-82ee72b054a4
* * Makefile.in (optabs.o): Depend on real.hghazi2000-01-101-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (resource.o): Depend on insn-attr.h * builtins.c (result_vector): Wrap prototype in macro conditions governing definition and use. * c-common.c: Include tm_p.h. * c-lex.c: Likewise. * elfos.h: Constify a char*. * final.c (align_fuzz): Wrap prototype in macro HAVE_ATTR_length. (get_attr_length, shorten_branches, profile_after_prologue): Mark parameter with ATTRIBUTE_UNUSED. * fold-const.c (exact_real_inverse): Wrap variable `i' in CHECK_FLOAT_VALUE. * haifa-sched.c (schedule_insns): Mark parameter with ATTRIBUTE_UNUSED. * optabs.c: Include real.h. * real.h (ereal_atof): Add prototype arguments. * resource.c: Include insn-attr.h. * sdbout.c (sdbout_queue_anonymous_type, sdbout_dequeue_anonymous_types): Wrap in macro SDB_ALLOW_FORWARD_REFERENCES. (sdbout_init, sdbout_start_new_source_file): Mark parameter with ATTRIBUTE_UNUSED. * stmt.c (expand_return): Wrap variable `op0' in macro HAVE_return. * stupid.c: Include tm_p.h. * tree.c (real_value_from_int_cst): Mark parameter with ATTRIBUTE_UNUSED. cp: * lex.c: Include tm_p.h. ch: * lex.c: Include tm_p.h. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@31308 138bc75d-0d04-0410-961f-82ee72b054a4
* Pass pragma_getc and pragma_ungetc to HANDLE_PRAGMA.nickc1999-12-021-2/+2
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@30756 138bc75d-0d04-0410-961f-82ee72b054a4
* * c-lex.c (yylex): With -Wtraditional, when the ANSI type of anghazi1999-11-301-1/+5
| | | | | | | | | | integer constant does not match the traditional type, limit the warnings to cases where the base of the type is ten. * invoke.texi (-Wtraditional): Document it. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@30730 138bc75d-0d04-0410-961f-82ee72b054a4
* * c-lex.c (yylex): Accept 'f' in mantissa of hex float constant.law1999-10-311-1/+3
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@30284 138bc75d-0d04-0410-961f-82ee72b054a4
* * alias.c (nonlocal_reference_p): Add static prototype.ghazi1999-10-031-2/+12
| | | | | | | | | | | | | | | | | | | * bitmap.c (bitmap_element_allocate): Prototype args in function pointer cast. * builtins.c (stabilize_va_list): Add static prototype. (expand_builtin_va_arg): Constify a char*. * c-lex.c (getch, put_back, extend_token_buffer_to, read_line_number, token_getch, token_put_back): Add static prototypes. * c-parse.gperf (hash, is_reserved_word): Likewise. * cccp.c (is_dir_separator): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@29782 138bc75d-0d04-0410-961f-82ee72b054a4
* * toplev.c (documented_lang_options): Add -fshort-wchar.jason1999-09-231-7/+2
| | | | | | | | | | | | | * c-decl.c (c_decode_option): Likewise. (init_decl_processing): If -fshort-wchar, use 'short unsigned int' for wchar_t. * c-common.c, c-lex.c: Get WCHAR_TYPE_SIZE from wchar_type_node. * gcc.c (default_compilers): If -fshort-wchar, override __WCHAR_TYPE__. * tm.texi (C Dialect Options): Add -fshort-wchar. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@29638 138bc75d-0d04-0410-961f-82ee72b054a4
* * c-pragma.c (mark_align_stack): New.rth1999-09-181-0/+1
| | | | | | | | | (init_pragma): New. * c-pragma.h (init_pragma): Declare it. * c-lex.c (init_parse): Call it. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@29502 138bc75d-0d04-0410-961f-82ee72b054a4
* * c-lex.c (yylex): Initialize warn.rth1999-09-161-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@29447 138bc75d-0d04-0410-961f-82ee72b054a4
* * c-lex.c (handle_generic_pragma): Remove unused variable `c'.ghazi1999-09-141-2/+0
| | | | | | | | | | | | | | * unroll.c (find_common_reg_term, subtract_reg_term, loop_find_equiv_value): Add static prototypes. (unroll_loop): Wrap variable `prev' in macro HAVE_cc0. (copy_loop_body): Remove unreachable break statement. * sparc.c (sparc_va_arg): Remove unused variable `tmp'. * sparc.h (sparc_va_start, sparc_va_arg): Add extern prototypes. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@29409 138bc75d-0d04-0410-961f-82ee72b054a4
* Linas Vepstas <linas@linas.org>rth1999-09-081-2/+2
| | | | | | | | | | | * c-common.c: Use ISGRAPH, ISLOWER, toupper. * c-lex.c, cccp.c, cexp.c, cexp.y, cppexp.c, dwarf2out.c, genattr.c, genattrtab.c, genemit.c, genextract.c, genpeep.c, tree.c: Likewise. * system.h (IN_CTYPE_DOMAIN): Define to 1 if HOST_EBCDIC. * defaults.h (TARGET_ESC): Add default. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@29192 138bc75d-0d04-0410-961f-82ee72b054a4
* Merge in gcc2-ss-010999law1999-09-071-6/+8
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@29150 138bc75d-0d04-0410-961f-82ee72b054a4
* * Makefile.in (C_AND_OBJC_OBJS): Remove ggc-callbacks.o.mmitchel1999-09-061-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (c-parse.o, c-decl.o, c-lang.o, c-lex.o, c-common.o, $(out_object_file)): Depend on ggc.h. * c-common.c: Include "ggc.h". (combine_strings): If doing GC, use ggc_alloc_string. * c-decl.c: Include "ggc.h". (ggc_p): Define with value 0. (mark_binding_level): New function. (init_decl_processing): Add GC roots. (mark_c_function_context): New function. (lang_mark_false_label_stack): New function. (lang_mark_tree): New function. (lang_cleanup_tree): New function. * c-lang.c: Include "ggc.h". (lang_init): Call c_parse_init. * c-lex.c: Include "ggc.h". (check_linenum): If doing GC, don't copy filenames to permanent obstack. * c-parse.in: Include "ggc.h". (c_parse_init): New function. * c-tree.h (c_parse_init, mark_c_function_context): Declare. * objc/Make-lang.in (objc-parse.o): Depend on ggc.h. * except.c (mark_eh_state): Mark more state. * function.c (mark_function_state): Likewise. * ggc-simple.c (ggc_alloc_rtvec): Bring in sync with non-gc version. (ggc_alloc_string) [GGC_DUMP]: Fix typo. * toplev.c (mark_file_stack): New function. (compile_file): If doing GC, use ggc_alloc_string on input filename. (main): Add root for input_file_stack. * i386.c: Include "ggc.h". (ix86_mark_machine_status): New function. (override_options): Set mark_machine_status. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@29143 138bc75d-0d04-0410-961f-82ee72b054a4
* * c-lex.c (yylex): We can have a number with no digits.jason1999-08-071-1/+2
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@28561 138bc75d-0d04-0410-961f-82ee72b054a4
* * c-lex.c: Sync with C++ frontend.jason1999-08-041-433/+456
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (linemode): New variable. (parse_float): imag, conversion_errno, and type are output only. (yylex): Adjust. Move initial '.' case into main switch. Use linemode. (handle_generic_pragma): Just deal with tokens. (readescape): Use ISXDIGIT and ISGRAPH. * c-parse.in: Add END_OF_LINE token. * c-lex.c (lang_init): Generalize. (nextchar): Remove. Replace uses with UNGETC. (skip_white_space): Handle linemode here. Optimize for cpplib. (skip_white_space_on_line): Remove. (extend_token_buffer_to): New fn. (extend_token_buffer): Use it. (read_line_number, check_newline): Just deal with tokens. (token_getch, token_put_back): New fns. (yylex): Use them. More cpplib optimizations. Simplify. * c-lex.c (init_parse): Set cpp_token to CPP_DIRECTIVE. (consume_string): Make this smart about USE_CPPLIB. (check_newline): Rewrite to be intelligent about USE_CPPLIB. (yylex): Rewrite to be intelligent about USE_CPPLIB. Also, clean up cases where we redundantly set token_buffer[0]. (read_line_number): New fn. (ignore_escape_flag): New variable. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@28507 138bc75d-0d04-0410-961f-82ee72b054a4
* * toplev.h (errorcount): Declare.mmitchel1999-08-031-1/+0
| | | | | | | | | | (warningcount): Likewise. (sorrycount): Likewise. * c-lex.c (errorcount): Don't declare. * dwarf2out.c (errorcount): Don't declare. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@28426 138bc75d-0d04-0410-961f-82ee72b054a4
* For gcc:gavin1999-07-211-19/+27
| | | | | | | | | | | | * c-lex.c (yylex) : Correct the test for overflow when lexing integer literals. For gcc/cp: * lex.c (real_yylex) : Correct the test for overflow when lexing integer literals. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@28206 138bc75d-0d04-0410-961f-82ee72b054a4
* Tue Jul 6 13:06:01 1999 Dave Brolley <brolley@cygnus.com>brolley1999-07-061-0/+2
| | | | | | | | * c-lex.c (errorcount): Declare it. (finish_parse): Update errorcount when using CPPLIB. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@27954 138bc75d-0d04-0410-961f-82ee72b054a4
* For gcc:gavin1999-07-021-2/+16
| | | | | | | | | | | | | | | | | | | | | | | | * c-decl.c (widest_integer_literal_type_node, widest_unsigned_literal_type) : New. (init_decl_processing): Handle/use the two new types. * c-common.c (type_for_size,type_for_mode) : Same. * c-lex.c (yylex) : Same. * c-typeck.c (unsigned_type,signed_type,signed_or_unsigned_type) : Same. * c-tree.h (widest_integer_literal_type_node, widest_unsigned_literal_type) : New. For gcc/cp: * cp-tree.h (widest_integer_literal_type_node, widest_unsigned_literal_type) : New. * decl.c (widest_integer_literal_type_node, widest_unsigned_literal_type) : New. (init_decl_processing): Handle/use the two new types. * lex.c (real_yylex): Same. * typeck.c (unsigned_type,signed_type,signed_or_unsigned_type) : Same. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@27923 138bc75d-0d04-0410-961f-82ee72b054a4
* For gcc:gavin1999-07-011-3/+3
| | | | | | | | | * c-lex.c (yylex): Improve 'integer constant out of range' messages. For gcc/cp: * lex.c (real_yylex): Improve 'integer constant out of range' messages. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@27873 138bc75d-0d04-0410-961f-82ee72b054a4
* Mon Jun 7 14:07:39 1999 Dave Brolley <brolley@cygnus.com>brolley1999-06-071-21/+67
| | | | | | | | | | | | | * c-lex.c (GETC): Redefine to call getch. (UNGETC): Redefine to call put_back. (putback_buffer): New structure type. (putback): New static structure. (getch): New function. (put_back): New function. (yylex): Replace unused bytes from bad multibyte character. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@27393 138bc75d-0d04-0410-961f-82ee72b054a4
* Warning fixes:ghazi1999-03-201-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | * c-lex.c (yylex): Remove unused variable `bytes'. * flow.c (print_rtl_with_bb): Cast the return value of alloca. * function.c (assign_parms): Wrap variable `varargs_setup' in macro SETUP_INCOMING_VARARGS. (thread_prologue_and_epilogue_insns): Mark parameter `f' with ATTRIBUTE_UNUSED. * local-alloc.c (no_equiv): Likewise for parameter `store'. * sched.c (schedule_insns): Remove unused variables `insn' and `next'. * tlink.c (symbol_hash_newfunc, symbol_hash_lookup, file_hash_newfunc, file_hash_lookup, demangled_hash_newfunc, demangled_hash_lookup, symbol_push, symbol_pop, file_push, file_pop, tlink_init, tlink_execute, frob_extension, obstack_fgets, tfgets, pfgets, freadsym, read_repo_file, maybe_tweak, recompile_files, read_repo_files, demangle_new_symbols, scan_linker_output): Add static prototype. (symbol_hash_newfunc, file_hash_newfunc, demangled_hash_newfunc): Make the third argument a `hash_table_key'. * toplev.c (debug_start_source_file): Mark parameter `filename' with ATTRIBUTE_UNUSED. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@25871 138bc75d-0d04-0410-961f-82ee72b054a4
* * c-lex.c: Don't include setjmp.h.ghazi1999-03-171-102/+137
| | | | | | | | | (parse_float): New static function. (pf_args): New struct. (yylex): Use them in call to `do_float_handler'. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@25816 138bc75d-0d04-0410-961f-82ee72b054a4
* * c-lex.c (yylex) : Remove warning for integer literals beinggavin1999-03-161-13/+15
| | | | | | | | larger than the largest target int. Add warning for integer literal being larger than than its choosen type. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@25800 138bc75d-0d04-0410-961f-82ee72b054a4
* * c-lex.c (yylex): Replace warning about integer constants beinggavin1999-02-221-8/+8
| | | | | | | | larger than long-longs, with a warning about integer constants being larger than the largest target integer. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@25364 138bc75d-0d04-0410-961f-82ee72b054a4
* * bitmap.c (bitmap_print): Qualify a char* with the `const' keyword.ghazi1999-02-181-14/+4
| | | | | | | | | | | | | | | | | | | | | | | | | * bitmap.h (bitmap_print): Likewise. * c-decl.c (builtin_function, grokdeclarator, grokfield): Likewise. * c-lang.c (build_objc_string): Likewise. * c-lex.c (yyerror, extend_token_buffer): Likewise. Don't include limits.h or ctype.h. Remove unused variable `p'. * c-lex.h (yyerror): Qualify a char* with the `const' keyword. * c-pragma.c (handle_pragma_token): Likewise. * c-pragma.h (handle_pragma_token): Likewise. * c-tree.h (build_objc_string, builtin_function, grokfield, build_indirect_ref, lvalue_or_else, readonly_warning, error_init, pedwarn_init): Likewise. * c-typeck.c (convert_for_assignment, warn_for_assignment, push_string, warning_init, incomplete_type_error, build_indirect_ref, lvalue_or_else, readonly_warning, build_c_cast, spelling, push_member_name, print_spelling, error_init, pedwarn_init, start_init): Likewise. * objc/objc-act.c (build_objc_string): Likewise. * print-tree.c (print_node_brief, print_node): Likewise. * tree.h (lvalue_or_else, print_node, print_node_brief): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@25296 138bc75d-0d04-0410-961f-82ee72b054a4
* 1999-02-15 16:59 -0500 Zack Weinberg <zack@midnite.ec.rhno.columbia.edu>zack1999-02-151-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | * c-common.c (UNGETC [USE_CPPLIB=1]): Do nothing if c is EOF. * c-lex.c: Likewise. * cpplib.c (cpp_push_buffer, cpp_pop_buffer): Use a linked list in malloced memory for the buffer stack. (cpp_get_token): Don't pop the last buffer off the stack. Calls after CPP_EOF has been returned produce CPP_EOF with no state change. (cpp_finish): Pop last buffer here. (do_line): Don't free ip->last_nominal_fname if it is equal to ip->fname. (special_symbol): If a T_CONST is the empty string, push a single `@ ' escape instead. (macroexpand): Special symbol buffers have escapes too. * cpplib.h (struct cpp_buffer): Remove unused fields, add prev buffer pointer. (struct cpp_reader): Remove buffer_stack. Add buffer_stack_depth. (CPP_PREV_BUFFER, CPP_NULL_BUFFER): Buffer stack is now a linked list. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@25218 138bc75d-0d04-0410-961f-82ee72b054a4
* Merge in gcc2 snapshot 19980929. See gcc/ChangeLog and gcc/FSFChangeLog forlaw1999-01-271-16/+27
| | | | | | | details. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@24879 138bc75d-0d04-0410-961f-82ee72b054a4
* Warning fixes:ghazi1998-12-231-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * alias.c (record_alias_subset): Remove ignored `&'. (init_alias_once): Likewise. * c-lex.c (UNGETC): Cast first argument of comma expression to void. * config/mips/mips.c (mips_asm_file_end): Cast the result of fwrite to `int' when comparing against one. * config/mips/mips.h (CAN_ELIMINATE): Add parens around && within ||. (INITIAL_ELIMINATION_OFFSET): Add braces to avoid ambiguous `else'. * cse.c (rehash_using_reg): Change type of variable `i' to unsigned int. * dwarf2out.c (initial_return_save): Cast -1 to unsigned before assigning it to one. * except.c (duplicate_eh_handlers): Remove unused variable `tmp'. * final.c (final_scan_insn): Likewise for variable `i'. (output_asm_insn): Cast a char to unsigned char when used as an array index. * gcse.c (compute_pre_ppinout): Cast -1 to SBITMAP_ELT_TYPE when assigning it to one. * loop.c (strength_reduce): Remove unused variables `count' and `temp'. * recog.c (preprocess_constraints): Cast a char to unsigned char when used as an array index. * regmove.c (find_matches): Likewise. * reload1.c (calculate_needs): Add default case in switch. (eliminate_regs_in_insn): Initialize variable `offset'. (set_offsets_for_label): Change type of variable `i' to unsigned. (reload_as_needed): Wrap variable `i' in macro check on AUTO_INC_DEC || INSN_CLOBBERS_REGNO_P. * scan-decls.c (scan_decls): Mark parameters `argc' and `argv' with ATTRIBUTE_UNUSED. Cast variable `start_written' to size_t when comparing against one. * stor-layout.c (layout_decl): Cast maximum_field_alignment to unsigned when comparing against one. Likewise for GET_MODE_ALIGNMENT(). (layout_record): Cast record_align to int when comparing against a signed value. (layout_type): Cast TYPE_ALIGN() to int when comparing against a signed value. * tree.c (get_identifier): Cast variable `len' to unsigned when comparing against one. (maybe_get_identifier): Likewise git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@24403 138bc75d-0d04-0410-961f-82ee72b054a4
* Fix indentation from last patch.drepper1998-12-021-19/+19
| | | | | | | Remove trailing whitespace. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@24061 138bc75d-0d04-0410-961f-82ee72b054a4
* * c-common.c (declare_function_name): Declare predefinied variablerth1998-12-011-7/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `__func__'. * c-decl.c (flag_isoc9x): Set to 1 by default. (c_decode_option): Handle -std= option. Remove -flang-isoc9x. (grokdeclarator): Always emit warning about implicit int for ISO C 9x. * c-parse.in: Allow constructors in ISO C 9x. Rewrite designator list handling. Allow [*] parameters. Don't warn about comma at end of enum definition for ISO C 9x. * cccp.c (c9x): New variable. (rest_extension): New variable. (print_help): Document new -std= option. (main): Recognize -std= option. Set c9x appropriately. (create_definition): Recognize ISO C 9x vararg macros. * gcc.c (default_compilers): Adjust specs for -std options. (option_map): Add --std. (display_help): Document -std. * toplev.c (documented_lang_options): Add -std and remove -flang-isoc9x. * c-lex.c (yylex): Recognize hex FP constants and call REAL_VALUE_ATOF or REAL_VALUE_HTOF based on base of the constants. * fold-const.c (real_hex_to_f): New function. Replacement function for hex FP conversion if REAL_ARITHMETIC is not defined. * real.c (asctoeg): Add handling of hex FP constants. * real.h: Define REAL_VALUE_HTOF if necessary using ereal_atof or real_hex_to_f. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@24049 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc.c: Split out Objective-C specs to...law1998-11-251-5/+6
| | | | | | | | | | | * objc/lang-specs.h: here. (New file.) Make the specs cpplib aware. * c-lex.c (init_parse): Always initialize the filename global. * objc/objc-act.c (lang_init): Always call check_newline at beginning of file. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23850 138bc75d-0d04-0410-961f-82ee72b054a4
* 1998-10-28 16:10 -0500 Zack Weinberg <zack@rabi.phys.columbia.edu>brolley1998-10-291-3/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * c-lang.c: Declare extern char *yy_cur if USE_CPPLIB. (lang_init): Call check_newline always. * c-lex.c (init_parse) [USE_CPPLIB=1]: After calling cpp_start_read, set yy_cur and yy_lim to read from parse_in.token_buffer, so that we'll see the first #line directive. * cpplib.c (cpp_start_read): finclude the main input file before processing -include/-imacros. Process -imacros and -include separately, and handle -include by stacking a buffer for the file in question as if it'd been #included. * toplev.c (documented_lang_options) Recognize -H when USE_CPPLIB is on. 1998-10-28 16:09 -0500 Zack Weinberg <zack@rabi.phys.columbia.edu> * cpplib.c: Merge do_once into do_pragma. Break file handling code out of do_include. Move append_include_chain, deps_output, file_cleanup, redundant_include_p, import_hash, lookup_import, add_import, read_filename_string, read_name_map, open_include_file, finclude, safe_read to cppfiles.c. Move prototypes for deps_output, append_include_chain, finclude to cpplib.h. Move definition of struct file_name_list there also. * cppfiles.c: New file. Contains all the above functions broken out of cpplib.c; also hack_vms_include_specification from cccp.c and find_include_file, a new function broken out of do_include. * Makefile.in (cppmain): Depend on cppfiles.o. (fix-header): Likewise. (cppfiles.o): New target. * configure.in (--enable-c-cpplib): Add cppfiles.o to extra_c_objs. Add ../cppfiles.o to extra_cxx_objs. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23424 138bc75d-0d04-0410-961f-82ee72b054a4
* * invoke.texi: Document -flang-isoc9x.mmitchel1998-10-211-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Makefile.in (OBJS): Add splay-tree.o. (c-common.o): Depend on rtl.h. (splay-tree.o): List dependencies and provide build rule. * rtl.h (record_alias_subset): New function. * alias.c: Include splay-tree.h. (alias_set_entry): New type. (CHECK_ALIAS_SETS_FOR_CONSISTENCY): Remove. (DIFFERENT_ALIAS_SETS_P): Use mem_in_disjoint_alias_sets_p. (mems_in_disjoin_alias_sets_p): New function. (alias_set_compare): Likewise. (insert_subset_children): Likewise. (get_alias_set_entry): Likewise. * tree.h (TYPE_RESTRICT): New macro. (TYPE_UNQUALIFIED): New manifest constant. (TYPE_QUAL_CONST): Likewise (TYPE_QUAL_VOLATILE): Likewise. (TYPE_QUAL_RESTRICT): Likewise. (tree_type): Add restrict_flag. Reduce count of free bits. (DECL_POINTER_ALIAS_SET): New macro. (DECL_POINTER_ALIAS_SET_KNOWN_P): Likewise. (tree_decl): Add pointer_alias_set. (build_qualified_type): New function. (build_type_variant): Define in terms of build_qualified_type. * tree.c (set_type_quals): New function. (make_node): Initializae DECL_POINTER_ALIAS_SET. (build_type_attribute_variant): Use build_qualified_type and set_type_quals. (build_type_variant): Rename, and modify, to become... (build_qualified_type): New function. (build_complex_type): Use set_type_quals. * c-tree.h (C_TYPE_OBJECT_P): New macro. (C_TYPE_FUNCTION_P): Likewise. (C_TYPE_INCOMPLETE_P): Likewise. (C_TYPE_OBJECT_OR_INCOMPLETE_P): Likewise. (c_apply_type_quals_to_decl): New function. (c_build_qualified_type): New function. (c_build_type_variant): Define in terms of c_build_qualified_type. (flag_isoc9x): Declare. * c-typeck.c (qualify_type): Use c_build_qualified_type. (common_type): Change to use TYPE_QUALS. (comptypes): Likewise. (convert_for_assignment): Likewise. * c-aux-info.c (gen_type): Likewise. Deal with `restrict'. * c-decl.c (flag_isoc9x): Define. (c_decode_option): Handle -flang-isoc9x. (grokdeclarator): Update to handle restrict. Use TYPE_QUALS, c_build_qualified_type, etc. Use c_apply_type_quals_to_decl. * c-lex.c (init_lex): Deal with restrict. (init_lex): Don't treat restrict as a reserved word in -traditional mode, or without -flang-isoc9x. * c-lex.h (rid): Add RID_RESTRICT. * c-parse.gperf (restrict, __restrict, __restrict__): Make equivalent to RID_RESTRICT. * c-parse.in (TYPE_QUAL): Update comment. * c-common.c: Include rtl.h. (c_find_base_decl): New function. (c_build_type_variant): Rename, and modify, to become ... (c_build_qualified_type): New function. (c_apply_type_quals_to_decl): Likewise. (c_get_alias_set): For INDIRECT_REFs, check to see if we can find a particular alias set for the reference. * toplev.c (documented_lang_options): Add -flang-isoc9x. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23212 138bc75d-0d04-0410-961f-82ee72b054a4
* Fri Oct 16 15:26:24 1998 Dave Brolley <brolley@cygnus.com>brolley1998-10-161-7/+5
| | | | | | | * c-lex.c (yylex): Fix unaligned access of wchar_t. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23133 138bc75d-0d04-0410-961f-82ee72b054a4
* Warning fixes:ghazi1998-10-131-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Makefile.in (gencheck.o): Depend on gansidecl.h. * c-common.c (print_char_table): Add missing initializers. (scan_char_table): Likewise. (time_char_table): Likewise. * c-decl.c (c_decode_option): Mark parameter `argc' with ATTRIBUTE_UNUSED. (declare_parm_level): Mark parameter `definition_flag' with ATTRIBUTE_UNUSED. * c-lex.c (readescape): Use `(unsigned)1' in shift. (yylex): Likewise. Cast `sizeof' to an (int) when comparing against one. * calls.c (store_one_arg): Remove unused parameter `fndecl'. All callers changed. (emit_call_1): Mark parameters `fndecl' and `funtype' with ATTRIBUTE_UNUSED. (expand_call): Cast result of MIN() to (unsigned int) when comparing against an unsigned value. * cccp.c (pcfinclude): Remove unused parameter `limit'. All callers changed. (make_definition): Remove unused parameter `op'. All callers changed. (create_definition): Cast REST_EXTENSION_LENGTH to (long) when comparing against the result of pointer arithmetic. * config/mips/mips.h (FUNCTION_ARG_BOUNDARY): Cast to (unsigned) when comparing against one. * dwarf2out.c (dwarf2out_frame_debug): Cast REGNO() and HARD_FRAME_POINTER_REGNUM to (unsigned) when comparing against one. (output_die): Move variable `i' into the scope in which it is used. Change its type to `unsigned'. (output_die): Cast the result of `strlen' to (int) when passing it to ASM_OUTPUT_ASCII(). (output_pubnames): Likewise. (output_line_info): Likewise. * emit-rtl.c (global_rtl): Add missing initializers. * explow.c (promote_mode): Mark parameter `for_call' with ATTRIBUTE_UNUSED. * expmed.c (expand_shift): Cast the result of GET_MODE_BITSIZE to `unsigned HOST_WIDE_INT' when comparing against one. (synth_mult): Change type of variable `cost' to int. (emit_store_flag): Use `(unsigned HOST_WIDE_INT) 1' in shift. * expr.c (copy_blkmode_from_reg): Cast BITS_PER_WORD to (unsigned) when comparing against one. (get_inner_reference): Change variable `alignment' to unsigned. (expand_expr): Cast the result of GET_MODE_ALIGNMENT to (unsigned int) when comparing against one. (expand_builtin_setjmp): Change type of variable `i' to size_t. * fold-const.c (div_and_round_double): Cast BASE to (HOST_WIDE_INT) when comparing against one. * gencheck.c: Include gansidecl.h. (main): Mark parameter `argv' with ATTRIBUTE_UNUSED. * optabs.c (gen_cond_trap): Mark parameters `code', `op2' and `tcode' with ATTRIBUTE_UNUSED. * real.c (edivm): Cast constant value to (unsigned long) in expression compared against an unsigned value. * stmt.c (expand_return): Cast BITS_PER_WORD to (unsigned) when comparing against one. (expand_end_case): Cast CASE_VALUES_THRESHOLD to (unsigned int) when comparing against one. * stor-layout.c (mode_for_size): Cast MAX_FIXED_MODE_SIZE to (unsigned int) when comparing against one. Likewise for GET_MODE_BITSIZE. (smallest_mode_for_size): Likewise. (save_storage_status): Mark parameter `p' with ATTRIBUTE_UNUSED. (restore_storage_status): Likewise. * toplev.c (debug_args): Add missing initializer. (f_options): Spelling correction. Add missing initializers. (documented_lang_options): Likewise. (debug_end_source_file): Mark parameter `lineno' with ATTRIBUTE_UNUSED. * tree.c (valid_machine_attribute): Mark parameters `attr_args', `decl' and `type' with ATTRIBUTE_UNUSED. * varasm.c (decode_reg_name): Cast `sizeof' expression to (int) when comparing against one. (assemble_variable): Mark parameter `top_level' with ATTRIBUTE_UNUSED. (assemble_external_libcall): Mark parameter `fun' with ATTRIBUTE_UNUSED. (output_constant_pool): Mark parameters `fnname' and `fndecl' with ATTRIBUTE_UNUSED. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@23054 138bc75d-0d04-0410-961f-82ee72b054a4
* * c-lex.c (remember_protocol_qualifiers): Handle RID_BYREF.law1998-10-081-0/+3
| | | | | | | | | | | | (init_lex): Initialize ridpointers[RID_BYREF]. * c-lex.h (enum rid): Add RID_BYREF. * c-parse.gperf: Add RID_BYREF as a type qualifier. * objc/objc-act.c (is_objc_type_qualifiers): Handle RID_BYREF. (encode_type_qualifiers): Similarly * c-gperf.h: Rebuilt. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@22918 138bc75d-0d04-0410-961f-82ee72b054a4
* Add support for #pragma pack(push,<n>) and #pragma pack(pop).nickc1998-10-011-17/+20
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@22710 138bc75d-0d04-0410-961f-82ee72b054a4
* * c-lex.c (init_lex): Use getenv ("LANG"), not GET_ENVIRONMENT ().law1998-09-211-5/+1
| | | | | | | | | | | * cccp.c (main): Likewise. * gcc.c (process_command): Similarly for "GCC_EXEC_PREFIX". * cccp.c, collect2.c, cpplib.c, gcc.c, config/i386/xm-cygwin32.h: Rename GET_ENVIRONMENT to GET_ENV_PATH_LIST, and fix some macro-use bugs. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@22511 138bc75d-0d04-0410-961f-82ee72b054a4
* * c-lex.c (real_yylex): Don't warn about long long constants iflaw1998-09-091-1/+1
| | | | | | | we're allowing long long git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@22370 138bc75d-0d04-0410-961f-82ee72b054a4
* Change HANDLE_PRAGMA macro so that it will work with USE_CPPLIB.nickc1998-09-021-23/+47
| | | | | | | Add INSERT_ATTRIBUTES macro. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@22165 138bc75d-0d04-0410-961f-82ee72b054a4
* Mon Jul 27 14:22:36 1998 Dave Brolley <brolley@cygnus.com>brolley1998-07-271-5/+5
| | | | | | | | * c-lex.c (yylex): Fix boundary conditions in character literal and string literal loops. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@21413 138bc75d-0d04-0410-961f-82ee72b054a4