From: Zack Weinberg Date: Fri, 24 Sep 2004 21:38:08 +0000 (+0000) Subject: objc-act.c: Change annotate_with_locus to SET_EXPR_LOCATION throughout. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=dd3017e4e5c8d9d102fb11330cba5fe87e0eda65;p=gcc.git objc-act.c: Change annotate_with_locus to SET_EXPR_LOCATION throughout. objc: * objc-act.c: Change annotate_with_locus to SET_EXPR_LOCATION throughout. (objc_init): Only set input_line to 0 #ifndef USE_MAPPED_LOCATION. (build_selector_translation_table): Use %J in diagnostic instead of diddling input_line. Fix spelling. testsuite: * objc.dg/proto-lossage-4.m: Use long instead of int to avoid extra diagnostics on targets with 64-bit pointers. * objc.dg/selector-1.m: Adjust dg-warning regexp. From-SVN: r88072 --- diff --git a/gcc/objc/ChangeLog b/gcc/objc/ChangeLog index b391c39e8db..a7c2c65e281 100644 --- a/gcc/objc/ChangeLog +++ b/gcc/objc/ChangeLog @@ -1,3 +1,11 @@ +2004-09-24 Zack Weinberg + + * objc-act.c: Change annotate_with_locus to SET_EXPR_LOCATION + throughout. + (objc_init): Only set input_line to 0 #ifndef USE_MAPPED_LOCATION. + (build_selector_translation_table): Use %J in diagnostic + instead of diddling input_line. Fix spelling. + 2004-09-21 Ziemowit Laski * objc-act.c (objc_fold_objc_type_ref): New function. @@ -225,7 +233,7 @@ (gen_type_name, gen_type_name_0): New functions. (gen_method_decl): Remove second parameter; call gen_type_name() instead of gen_declaration_1(). - (dump_interface): Adjust calls to gen_declaration() and + (dump_interface): Adjust calls to gen_declaration() and gen_method_decl(); do not allocate a separate string buffer. (init_objc): Allocate a larger string buffer to accommodate dump_interface(); adjust call to build_module_descriptor(); @@ -263,7 +271,7 @@ objc_check_decl, build_encode_expr): Remove prototypes. (imp_count, cat_count): Make GGC-aware. (OBJC_SET_TYPE_NAME): New macro. - + 2004-09-03 Ziemowit Laski * config-lang.in: Update copyright notice. @@ -292,7 +300,7 @@ (build_protocol_expr): Rename prototype to objc_build_prototype_expr(). (build_objc_string_object): Rename prototype to objc_build_string_object(). - + 2004-09-01 Ziemowit Laski * objc-act.c (lookup_interface): Make function 'static' and add a @@ -300,7 +308,7 @@ (objc_check_decl, get_class_reference, objc_declare_alias, objc_declare_class, objc_is_object_ptr): Call objc_is_class_name() instead of is_class_name(). - (get_super_receiver, objc_clear_super_receiver): Call + (get_super_receiver, objc_clear_super_receiver): Call objc_get_current_scope() instead of get_current_scope(). (is_class_name): Rename to objc_is_class_name. (lookup_objc_ivar): Rename to objc_lookup_ivar. @@ -324,11 +332,11 @@ (LANG_HOOKS_FINISH, LANG_HOOKS_INIT_OPTIONS, LANG_HOOKS_INITIALIZE_DIAGNOSTICS, LANG_HOOKS_HANDLE_OPTION, LANG_HOOKS_MISSING_ARGUMENT, LANG_HOOKS_POST_OPTIONS, - LANG_HOOKS_GET_ALIAS_SET, LANG_HOOKS_SAFE_FROM_P, - LANG_HOOKS_EXPAND_EXPR, LANG_HOOKS_MARK_ADDRESSABLE, + LANG_HOOKS_GET_ALIAS_SET, LANG_HOOKS_SAFE_FROM_P, + LANG_HOOKS_EXPAND_EXPR, LANG_HOOKS_MARK_ADDRESSABLE, LANG_HOOKS_PARSE_FILE, LANG_HOOKS_TRUTHVALUE_CONVERSION, LANG_HOOKS_FINISH_INCOMPLETE_DECL, LANG_HOOKS_UNSAFE_FOR_REEVAL, - LANG_HOOKS_STATICP, LANG_HOOKS_SET_DECL_ASSEMBLER_NAME, + LANG_HOOKS_STATICP, LANG_HOOKS_SET_DECL_ASSEMBLER_NAME, LANG_HOOKS_NO_BODY_BLOCKS, LANG_HOOKS_WARN_UNUSED_GLOBAL_DECL, LANG_HOOKS_PRINT_IDENTIFIER, LANG_HOOKS_FUNCTION_ENTER_NESTED, LANG_HOOKS_FUNCTION_LEAVE_NESTED, LANG_HOOKS_DUP_LANG_SPECIFIC_DECL, diff --git a/gcc/objc/objc-act.c b/gcc/objc/objc-act.c index 5488b78a836..2743688c641 100644 --- a/gcc/objc/objc-act.c +++ b/gcc/objc/objc-act.c @@ -534,10 +534,12 @@ objc_init (void) #endif return false; +#ifndef USE_MAPPED_LOCATION /* Force the line number back to 0; check_newline will have raised it to 1, which will make the builtin functions appear not to be built in. */ input_line = 0; +#endif /* If gen_declaration desired, open the output file. */ if (flag_gen_declaration) @@ -2305,15 +2307,8 @@ build_selector_translation_table (void) } } if (!found) - { - /* Adjust line number for warning message. */ - int save_lineno = input_line; - if (flag_next_runtime && TREE_PURPOSE (chain)) - input_line = DECL_SOURCE_LINE (TREE_PURPOSE (chain)); - warning ("creating selector for non existant method %s", - IDENTIFIER_POINTER (TREE_VALUE (chain))); - input_line = save_lineno; - } + warning ("%Jcreating selector for nonexistent method %qE", + TREE_PURPOSE (chain), TREE_VALUE (chain)); } expr = build_selector (TREE_VALUE (chain)); @@ -3031,11 +3026,11 @@ next_sjlj_build_catch_list (void) { t = build (MODIFY_EXPR, void_type_node, cur_try_context->rethrow_decl, cur_try_context->caught_decl); - annotate_with_locus (t, cur_try_context->end_catch_locus); + SET_EXPR_LOCATION (t, cur_try_context->end_catch_locus); append_to_statement_list (t, last); t = next_sjlj_build_try_exit (); - annotate_with_locus (t, cur_try_context->end_catch_locus); + SET_EXPR_LOCATION (t, cur_try_context->end_catch_locus); append_to_statement_list (t, last); } @@ -3096,18 +3091,18 @@ next_sjlj_build_try_catch_finally (void) /* Build the outermost varible binding level. */ bind = build (BIND_EXPR, void_type_node, rethrow_decl, NULL, NULL); - annotate_with_locus (bind, cur_try_context->try_locus); + SET_EXPR_LOCATION (bind, cur_try_context->try_locus); TREE_SIDE_EFFECTS (bind) = 1; /* Initialize rethrow_decl. */ t = build (MODIFY_EXPR, void_type_node, rethrow_decl, convert (objc_object_type, null_pointer_node)); - annotate_with_locus (t, cur_try_context->try_locus); + SET_EXPR_LOCATION (t, cur_try_context->try_locus); append_to_statement_list (t, &BIND_EXPR_BODY (bind)); /* Build the outermost TRY_FINALLY_EXPR. */ try_fin = build (TRY_FINALLY_EXPR, void_type_node, NULL, NULL); - annotate_with_locus (try_fin, cur_try_context->try_locus); + SET_EXPR_LOCATION (try_fin, cur_try_context->try_locus); TREE_SIDE_EFFECTS (try_fin) = 1; append_to_statement_list (try_fin, &BIND_EXPR_BODY (bind)); @@ -3127,11 +3122,11 @@ next_sjlj_build_try_catch_finally (void) } else catch_seq = next_sjlj_build_exc_extract (rethrow_decl); - annotate_with_locus (catch_seq, cur_try_context->end_try_locus); + SET_EXPR_LOCATION (catch_seq, cur_try_context->end_try_locus); /* Build the main register-and-try if statement. */ t = next_sjlj_build_enter_and_setjmp (); - annotate_with_locus (t, cur_try_context->try_locus); + SET_EXPR_LOCATION (t, cur_try_context->try_locus); COND_EXPR_THEN (t) = catch_seq; COND_EXPR_ELSE (t) = cur_try_context->try_body; TREE_OPERAND (try_fin, 0) = t; @@ -3141,7 +3136,7 @@ next_sjlj_build_try_catch_finally (void) t = build_stmt (COND_EXPR, lang_hooks.truthvalue_conversion (rethrow_decl), NULL, t); - annotate_with_locus (t, cur_try_context->finally_locus); + SET_EXPR_LOCATION (t, cur_try_context->finally_locus); append_to_statement_list (t, &TREE_OPERAND (try_fin, 1)); append_to_statement_list (cur_try_context->finally_body, @@ -3152,7 +3147,7 @@ next_sjlj_build_try_catch_finally (void) t = build_stmt (COND_EXPR, lang_hooks.truthvalue_conversion (rethrow_decl), t, NULL); - annotate_with_locus (t, cur_try_context->end_finally_locus); + SET_EXPR_LOCATION (t, cur_try_context->end_finally_locus); append_to_statement_list (t, &TREE_OPERAND (try_fin, 1)); return bind; @@ -3293,12 +3288,12 @@ objc_finish_try_stmt (void) if (c->catch_list) { stmt = build_stmt (TRY_CATCH_EXPR, stmt, c->catch_list); - annotate_with_locus (stmt, cur_try_context->try_locus); + SET_EXPR_LOCATION (stmt, cur_try_context->try_locus); } if (c->finally_body) { stmt = build_stmt (TRY_FINALLY_EXPR, stmt, c->finally_body); - annotate_with_locus (stmt, cur_try_context->try_locus); + SET_EXPR_LOCATION (stmt, cur_try_context->try_locus); } } add_stmt (stmt); @@ -3345,13 +3340,13 @@ objc_build_synchronized (location_t start_locus, tree mutex, tree body) mutex = save_expr (mutex); args = tree_cons (NULL, mutex, NULL); call = build_function_call (objc_sync_enter_decl, args); - annotate_with_locus (call, start_locus); + SET_EXPR_LOCATION (call, start_locus); add_stmt (call); /* Build the mutex unlock. */ args = tree_cons (NULL, mutex, NULL); call = build_function_call (objc_sync_exit_decl, args); - annotate_with_locus (call, input_location); + SET_EXPR_LOCATION (call, input_location); /* Put the that and the body in a TRY_FINALLY. */ objc_begin_try_stmt (start_locus, body); diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 9787c4d2c61..fbf0a5addb5 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,9 @@ +2004-09-24 Zack Weinberg + + * objc.dg/proto-lossage-4.m: Use long instead of int to avoid + extra diagnostics on targets with 64-bit pointers. + * objc.dg/selector-1.m: Adjust dg-warning regexp. + 2004-09-24 Joseph S. Myers PR c/17188 diff --git a/gcc/testsuite/objc.dg/proto-lossage-4.m b/gcc/testsuite/objc.dg/proto-lossage-4.m index 5bd25a406f7..447e67e12e6 100644 --- a/gcc/testsuite/objc.dg/proto-lossage-4.m +++ b/gcc/testsuite/objc.dg/proto-lossage-4.m @@ -7,25 +7,25 @@ typedef struct objc_object { struct objc_class *class_pointer; } *id; @protocol Proto -- (int)someValue; +- (long)someValue; @end @interface Obj -- (int)anotherValue; +- (long)anotherValue; @end -int foo(void) { - int receiver = 2; +long foo(void) { + long receiver = 2; Obj *objrcvr; Obj *objrcvr2; - receiver += [receiver someValue]; /* { dg-warning "invalid receiver type .int( )?." } */ + receiver += [receiver someValue]; /* { dg-warning "invalid receiver type .long int." } */ /* { dg-warning "Messages without a matching method signature" "" { target *-*-* } 22 } */ /* { dg-warning "will be assumed to return .id. and accept" "" { target *-*-* } 22 } */ /* { dg-warning ".\.\.\.. as arguments" "" { target *-*-* } 22 } */ /* { dg-warning "assignment makes integer from pointer without a cast" "" { target *-*-* } 22 } */ - receiver += [receiver anotherValue]; /* { dg-warning "invalid receiver type .int( )?." } */ + receiver += [receiver anotherValue]; /* { dg-warning "invalid receiver type .long int." } */ /* { dg-warning "assignment makes integer from pointer without a cast" "" { target *-*-* } 28 } */ receiver += [(Obj *)receiver someValue]; /* { dg-warning ".Obj. may not respond to .\\-someValue." } */ diff --git a/gcc/testsuite/objc.dg/selector-1.m b/gcc/testsuite/objc.dg/selector-1.m index b23cc90a284..b9cc5e0807d 100644 --- a/gcc/testsuite/objc.dg/selector-1.m +++ b/gcc/testsuite/objc.dg/selector-1.m @@ -19,7 +19,7 @@ typedef struct objc_selector *SEL; - (void) foo { SEL a,b,c; - a = @selector(b1ar); /* { dg-warning "creating selector for non existant method b1ar" } */ + a = @selector(b1ar); /* { dg-warning "creating selector for nonexistent method .b1ar." } */ b = @selector(bar); } @end