This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH 1/3] [ARC] Add support for address type syntax


Hi,
>
+/* Used to define a colon as an operand in tokens */

Dot space space.

+#define O_colon O_md31
+
+/* Used to define address types in nps400 */

Same here.

+#define O_addrtype O_md30
+
  /* Dummy relocation, to be sorted out.  */
  #define DUMMY_RELOC_ARC_ENTRY     (BFD_RELOC_UNUSED + 1)

@@ -979,6 +988,8 @@ debug_exp (expressionS *t)
      case O_logical_or:		name = "O_logical_or";		break;
      case O_index:		name = "O_index";		break;
      case O_bracket:		name = "O_bracket";		break;
+    case O_colon:               name = "O_colon";               break;
+    case O_addrtype:            name = "O_addrtype";            break;

Groups of 8 spaces needs to be replaced by tabs.
  	  if ((operand->flags & ARC_OPERAND_FAKE)
-	      && !(operand->flags & ARC_OPERAND_BRAKET))
+	      && !((operand->flags & ARC_OPERAND_BRAKET) ||
+                   (operand->flags & ARC_OPERAND_COLON)))

May make sense to craft a macro here, as this construction is used multiple time.

+            case ARC_OPERAND_ADDRTYPE:
+              /* Check to be an address type */

Dot space space.

+            case ARC_OPERAND_COLON:
+              /* Check if colon is also in opcode table as operand */

Same here.

-	  && !(operand->flags & ARC_OPERAND_BRAKET))
+	  && !((operand->flags & ARC_OPERAND_BRAKET) ||
+               (operand->flags & ARC_OPERAND_COLON)))

Here you can reuse the macro above suggested.

+/* Address type operand for NPS400  */

Dot space space.

+#define ARC_OPERAND_ADDRTYPE    0x2000
+
+/* Mark the colon position     */

Same here.

+  /* CMEM Extended Summarized Address.  */
+  ARC_NPS400_ADDRTYPE_CXD,

This last comma may trigger warnings with old compilers.


+static const char *

Missing a short description of the function.

+get_addrtype (int value)
+{
+  if (value < 0 || value > addrtypenames_max)
+    return addrtypeunknown;
+
+  return addrtypenames[value];
+}
-	  && !(operand->flags & ARC_OPERAND_BRAKET))
+	  && !((operand->flags & ARC_OPERAND_BRAKET) ||
+               (operand->flags & ARC_OPERAND_COLON)))

Macro used here.

Thanks,
Claudiu


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]