<html lang="en">
<head>
<title>Bug Criteria - Using as</title>
<meta http-equiv="Content-Type" content="text/html">
<meta name="description" content="Using as">
<meta name="generator" content="makeinfo 4.13">
<link title="Top" rel="start" href="index.html#Top">
<link rel="up" href="Reporting-Bugs.html#Reporting-Bugs" title="Reporting Bugs">
<link rel="next" href="Bug-Reporting.html#Bug-Reporting" title="Bug Reporting">
<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
<!--
This file documents the GNU Assembler "as".

Copyright (C) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
2000, 2001, 2002, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.

Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3
or any later version published by the Free Software Foundation;
with no Invariant Sections, with no Front-Cover Texts, and with no
Back-Cover Texts.  A copy of the license is included in the
section entitled ``GNU Free Documentation License''.

-->
<meta http-equiv="Content-Style-Type" content="text/css">
<style type="text/css"><!--
  pre.display { font-family:inherit }
  pre.format  { font-family:inherit }
  pre.smalldisplay { font-family:inherit; font-size:smaller }
  pre.smallformat  { font-family:inherit; font-size:smaller }
  pre.smallexample { font-size:smaller }
  pre.smalllisp    { font-size:smaller }
  span.sc    { font-variant:small-caps }
  span.roman { font-family:serif; font-weight:normal; } 
  span.sansserif { font-family:sans-serif; font-weight:normal; } 
--></style>
<link rel="stylesheet" type="text/css" href="../cs.css">
</head>
<body>
<div class="node">
<a name="Bug-Criteria"></a>
<p>
Next:&nbsp;<a rel="next" accesskey="n" href="Bug-Reporting.html#Bug-Reporting">Bug Reporting</a>,
Up:&nbsp;<a rel="up" accesskey="u" href="Reporting-Bugs.html#Reporting-Bugs">Reporting Bugs</a>
<hr>
</div>

<h3 class="section">10.1 Have You Found a Bug?</h3>

<p><a name="index-bug-criteria-2058"></a>
If you are not sure whether you have found a bug, here are some guidelines:

     
<a name="index-fatal-signal-2059"></a>
<a name="index-assembler-crash-2060"></a>
<a name="index-crash-of-assembler-2061"></a>
<ul><li>If the assembler gets a fatal signal, for any input whatever, that is a
<samp><span class="command">as</span></samp> bug.  Reliable assemblers never crash.

     <p><a name="index-error-on-valid-input-2062"></a><li>If <samp><span class="command">as</span></samp> produces an error message for valid input, that is a bug.

     <p><a name="index-invalid-input-2063"></a><li>If <samp><span class="command">as</span></samp> does not produce an error message for invalid input, that
is a bug.  However, you should note that your idea of &ldquo;invalid input&rdquo; might
be our idea of &ldquo;an extension&rdquo; or &ldquo;support for traditional practice&rdquo;.

     <li>If you are an experienced user of assemblers, your suggestions for improvement
of <samp><span class="command">as</span></samp> are welcome in any case. 
</ul>

   </body></html>

