comparison src/share/vm/services/diagnosticCommand.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 f42c10a3d4b1
children 52b4284cb496
comparison
equal deleted inserted replaced
17935:7384f6a12fc1 17937:78bbf4d43a14
1 /* 1 /*
2 * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved. 2 * Copyright (c) 2011, 2014, Oracle and/or its affiliates. All rights reserved.
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 * 4 *
5 * This code is free software; you can redistribute it and/or modify it 5 * This code is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License version 2 only, as 6 * under the terms of the GNU General Public License version 2 only, as
7 * published by the Free Software Foundation. 7 * published by the Free Software Foundation.
29 #include "services/diagnosticCommand.hpp" 29 #include "services/diagnosticCommand.hpp"
30 #include "services/diagnosticFramework.hpp" 30 #include "services/diagnosticFramework.hpp"
31 #include "services/heapDumper.hpp" 31 #include "services/heapDumper.hpp"
32 #include "services/management.hpp" 32 #include "services/management.hpp"
33 #include "utilities/macros.hpp" 33 #include "utilities/macros.hpp"
34
35 PRAGMA_FORMAT_MUTE_WARNINGS_FOR_GCC
34 36
35 void DCmdRegistrant::register_dcmds(){ 37 void DCmdRegistrant::register_dcmds(){
36 // Registration of the diagnostic commands 38 // Registration of the diagnostic commands
37 // First argument specifies which interfaces will export the command 39 // First argument specifies which interfaces will export the command
38 // Second argument specifies if the command is enabled 40 // Second argument specifies if the command is enabled
97 DCmdFactory* factory = DCmdFactory::factory(source, _cmd.value(), 99 DCmdFactory* factory = DCmdFactory::factory(source, _cmd.value(),
98 strlen(_cmd.value())); 100 strlen(_cmd.value()));
99 if (factory != NULL) { 101 if (factory != NULL) {
100 output()->print_cr("%s%s", factory->name(), 102 output()->print_cr("%s%s", factory->name(),
101 factory->is_enabled() ? "" : " [disabled]"); 103 factory->is_enabled() ? "" : " [disabled]");
102 output()->print_cr(factory->description()); 104 output()->print_cr("%s", factory->description());
103 output()->print_cr("\nImpact: %s", factory->impact()); 105 output()->print_cr("\nImpact: %s", factory->impact());
104 JavaPermission p = factory->permission(); 106 JavaPermission p = factory->permission();
105 if(p._class != NULL) { 107 if(p._class != NULL) {
106 if(p._action != NULL) { 108 if(p._action != NULL) {
107 output()->print_cr("\nPermission: %s(%s, %s)", 109 output()->print_cr("\nPermission: %s(%s, %s)",