comparison src/share/vm/classfile/defaultMethods.cpp @ 17937:78bbf4d43a14

8037816: Fix for 8036122 breaks build with Xcode5/clang 8043029: Change 8037816 breaks HS build with older GCC versions which don't support diagnostic pragmas 8043164: Format warning in traceStream.hpp Summary: Backport of main fix + two corrections, enables clang compilation, turns on format attributes, corrects/mutes warnings Reviewed-by: kvn, coleenp, iveresov, twisti
author drchase
date Thu, 22 May 2014 15:52:41 -0400
parents 386dd1c71858
children 52b4284cb496 02e2c04a3289
comparison
equal deleted inserted replaced
17935:7384f6a12fc1 17937:78bbf4d43a14
434 } else if (num_defaults > 1) { 434 } else if (num_defaults > 1) {
435 _exception_message = generate_conflicts_message(&qualified_methods,CHECK); 435 _exception_message = generate_conflicts_message(&qualified_methods,CHECK);
436 _exception_name = vmSymbols::java_lang_IncompatibleClassChangeError(); 436 _exception_name = vmSymbols::java_lang_IncompatibleClassChangeError();
437 if (TraceDefaultMethods) { 437 if (TraceDefaultMethods) {
438 _exception_message->print_value_on(tty); 438 _exception_message->print_value_on(tty);
439 tty->print_cr(""); 439 tty->cr();
440 } 440 }
441 } 441 }
442 } 442 }
443 443
444 bool contains_signature(Symbol* query) { 444 bool contains_signature(Symbol* query) {
461 str->indent(); 461 str->indent();
462 print_method(str, _members.at(i).first); 462 print_method(str, _members.at(i).first);
463 if (_members.at(i).second == DISQUALIFIED) { 463 if (_members.at(i).second == DISQUALIFIED) {
464 str->print(" (disqualified)"); 464 str->print(" (disqualified)");
465 } 465 }
466 str->print_cr(""); 466 str->cr();
467 } 467 }
468 468
469 if (_selected_target != NULL) { 469 if (_selected_target != NULL) {
470 print_selected(str, 1); 470 print_selected(str, 1);
471 } 471 }
478 print_method(str, _selected_target); 478 print_method(str, _selected_target);
479 Klass* method_holder = _selected_target->method_holder(); 479 Klass* method_holder = _selected_target->method_holder();
480 if (!method_holder->is_interface()) { 480 if (!method_holder->is_interface()) {
481 tty->print(" : in superclass"); 481 tty->print(" : in superclass");
482 } 482 }
483 str->print_cr(""); 483 str->cr();
484 } 484 }
485 485
486 void print_exception(outputStream* str, int indent) { 486 void print_exception(outputStream* str, int indent) {
487 assert(throws_exception(), "Should be called otherwise"); 487 assert(throws_exception(), "Should be called otherwise");
488 assert(_exception_name != NULL, "exception_name should be set"); 488 assert(_exception_name != NULL, "exception_name should be set");
686 tty->print_cr("Slots that need filling:"); 686 tty->print_cr("Slots that need filling:");
687 streamIndentor si(tty); 687 streamIndentor si(tty);
688 for (int i = 0; i < slots->length(); ++i) { 688 for (int i = 0; i < slots->length(); ++i) {
689 tty->indent(); 689 tty->indent();
690 slots->at(i)->print_on(tty); 690 slots->at(i)->print_on(tty);
691 tty->print_cr(""); 691 tty->cr();
692 } 692 }
693 } 693 }
694 #endif // ndef PRODUCT 694 #endif // ndef PRODUCT
695 return slots; 695 return slots;
696 } 696 }
826 #ifndef PRODUCT 826 #ifndef PRODUCT
827 if (TraceDefaultMethods) { 827 if (TraceDefaultMethods) {
828 streamIndentor si(tty, 2); 828 streamIndentor si(tty, 2);
829 tty->indent().print("Looking for default methods for slot "); 829 tty->indent().print("Looking for default methods for slot ");
830 slot->print_on(tty); 830 slot->print_on(tty);
831 tty->print_cr(""); 831 tty->cr();
832 } 832 }
833 #endif // ndef PRODUCT 833 #endif // ndef PRODUCT
834 834
835 generate_erased_defaults(klass, empty_slots, slot, CHECK); 835 generate_erased_defaults(klass, empty_slots, slot, CHECK);
836 } 836 }
944 944
945 #ifndef PRODUCT 945 #ifndef PRODUCT
946 if (TraceDefaultMethods) { 946 if (TraceDefaultMethods) {
947 tty->print("for slot: "); 947 tty->print("for slot: ");
948 slot->print_on(tty); 948 slot->print_on(tty);
949 tty->print_cr(""); 949 tty->cr();
950 if (method->has_target()) { 950 if (method->has_target()) {
951 method->print_selected(tty, 1); 951 method->print_selected(tty, 1);
952 } else if (method->throws_exception()) { 952 } else if (method->throws_exception()) {
953 method->print_exception(tty, 1); 953 method->print_exception(tty, 1);
954 } 954 }