1.1 --- a/src/share/vm/utilities/xmlstream.hpp Thu May 15 18:23:26 2014 -0400 1.2 +++ b/src/share/vm/utilities/xmlstream.hpp Thu May 22 15:52:41 2014 -0400 1.3 @@ -1,5 +1,5 @@ 1.4 /* 1.5 - * Copyright (c) 2002, 2012, Oracle and/or its affiliates. All rights reserved. 1.6 + * Copyright (c) 2002, 2014, Oracle and/or its affiliates. All rights reserved. 1.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 1.8 * 1.9 * This code is free software; you can redistribute it and/or modify it 1.10 @@ -80,7 +80,7 @@ 1.11 outputStream* out() { return _out; } 1.12 1.13 // helpers for writing XML elements 1.14 - void va_tag(bool push, const char* format, va_list ap); 1.15 + void va_tag(bool push, const char* format, va_list ap) ATTRIBUTE_PRINTF(3, 0); 1.16 virtual void see_tag(const char* tag, bool push) NOT_DEBUG({}); 1.17 virtual void pop_tag(const char* tag) NOT_DEBUG({}); 1.18 1.19 @@ -109,29 +109,29 @@ 1.20 int unflushed_count() { return (int)(out()->count() - _last_flush); } 1.21 1.22 // writing complete XML elements 1.23 - void elem(const char* format, ...); 1.24 - void begin_elem(const char* format, ...); 1.25 - void end_elem(const char* format, ...); 1.26 + void elem(const char* format, ...) ATTRIBUTE_PRINTF(2, 3); 1.27 + void begin_elem(const char* format, ...) ATTRIBUTE_PRINTF(2, 3); 1.28 + void end_elem(const char* format, ...) ATTRIBUTE_PRINTF(2, 3); 1.29 void end_elem(); 1.30 - void head(const char* format, ...); 1.31 - void begin_head(const char* format, ...); 1.32 - void end_head(const char* format, ...); 1.33 + void head(const char* format, ...) ATTRIBUTE_PRINTF(2, 3); 1.34 + void begin_head(const char* format, ...) ATTRIBUTE_PRINTF(2, 3); 1.35 + void end_head(const char* format, ...) ATTRIBUTE_PRINTF(2, 3); 1.36 void end_head(); 1.37 - void done(const char* format, ...); // xxx_done event, plus tail 1.38 + void done(const char* format, ...) ATTRIBUTE_PRINTF(2, 3); // xxx_done event, plus tail 1.39 void done_raw(const char * kind); 1.40 void tail(const char* kind); 1.41 1.42 // va_list versions 1.43 - void va_elem(const char* format, va_list ap); 1.44 - void va_begin_elem(const char* format, va_list ap); 1.45 - void va_head(const char* format, va_list ap); 1.46 - void va_begin_head(const char* format, va_list ap); 1.47 - void va_done(const char* format, va_list ap); 1.48 + void va_elem(const char* format, va_list ap) ATTRIBUTE_PRINTF(2, 0); 1.49 + void va_begin_elem(const char* format, va_list ap) ATTRIBUTE_PRINTF(2, 0); 1.50 + void va_head(const char* format, va_list ap) ATTRIBUTE_PRINTF(2, 0); 1.51 + void va_begin_head(const char* format, va_list ap) ATTRIBUTE_PRINTF(2, 0); 1.52 + void va_done(const char* format, va_list ap) ATTRIBUTE_PRINTF(2, 0); 1.53 1.54 // write text (with quoting of special XML characters <>&'" etc.) 1.55 outputStream* text() { return _text; } 1.56 - void text(const char* format, ...); 1.57 - void va_text(const char* format, va_list ap) { 1.58 + void text(const char* format, ...) ATTRIBUTE_PRINTF(2, 3); 1.59 + void va_text(const char* format, va_list ap) ATTRIBUTE_PRINTF(2, 0) { 1.60 text()->vprint(format, ap); 1.61 } 1.62