PageRenderTime 43ms CodeModel.GetById 17ms RepoModel.GetById 0ms app.codeStats 0ms

/tools/cc65-2.13.2/src/ca65/error.h

http://github.com/gilligan/snesdev
C Header | 97 lines | 15 code | 33 blank | 49 comment | 0 complexity | cc83c83df7e5eb9f5f51ba06265bb605 MD5 | raw file
  1. /*****************************************************************************/
  2. /* */
  3. /* error.h */
  4. /* */
  5. /* Error handling for the ca65 macroassembler */
  6. /* */
  7. /* */
  8. /* */
  9. /* (C) 1998-2008 Ullrich von Bassewitz */
  10. /* Roemerstrasse 52 */
  11. /* D-70794 Filderstadt */
  12. /* EMail: uz@cc65.org */
  13. /* */
  14. /* */
  15. /* This software is provided 'as-is', without any expressed or implied */
  16. /* warranty. In no event will the authors be held liable for any damages */
  17. /* arising from the use of this software. */
  18. /* */
  19. /* Permission is granted to anyone to use this software for any purpose, */
  20. /* including commercial applications, and to alter it and redistribute it */
  21. /* freely, subject to the following restrictions: */
  22. /* */
  23. /* 1. The origin of this software must not be misrepresented; you must not */
  24. /* claim that you wrote the original software. If you use this software */
  25. /* in a product, an acknowledgment in the product documentation would be */
  26. /* appreciated but is not required. */
  27. /* 2. Altered source versions must be plainly marked as such, and must not */
  28. /* be misrepresented as being the original software. */
  29. /* 3. This notice may not be removed or altered from any source */
  30. /* distribution. */
  31. /* */
  32. /*****************************************************************************/
  33. #ifndef ERROR_H
  34. #define ERROR_H
  35. /* common */
  36. #include "attrib.h"
  37. #include "filepos.h"
  38. /*****************************************************************************/
  39. /* Data */
  40. /*****************************************************************************/
  41. /* Warning levels */
  42. extern unsigned WarnLevel;
  43. /* Statistics */
  44. extern unsigned ErrorCount;
  45. extern unsigned WarningCount;
  46. /*****************************************************************************/
  47. /* Code */
  48. /*****************************************************************************/
  49. void Warning (unsigned Level, const char* Format, ...) attribute ((format (printf, 2, 3)));
  50. /* Print warning message. */
  51. void PWarning (const FilePos* Pos, unsigned Level, const char* Format, ...) attribute ((format (printf, 3, 4)));
  52. /* Print warning message giving an explicit file and position. */
  53. void Error (const char* Format, ...) attribute ((format (printf, 1, 2)));
  54. /* Print an error message */
  55. void PError (const FilePos* Pos, const char* Format, ...) attribute ((format (printf, 2, 3)));
  56. /* Print an error message giving an explicit file and position. */
  57. void ErrorSkip (const char* Format, ...) attribute ((format (printf, 1, 2)));
  58. /* Print an error message and skip the rest of the line */
  59. void Fatal (const char* Format, ...) attribute((noreturn, format(printf,1,2)));
  60. /* Print a message about a fatal error and die */
  61. void Internal (const char* Format, ...) attribute((noreturn, format(printf,1,2)));
  62. /* Print a message about an internal assembler error and die. */
  63. /* End of error.h */
  64. #endif