bug-gmp
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

longlong.h


From: Vincent Lefevre
Subject: longlong.h
Date: Wed, 4 Jul 2001 15:37:34 +0200
User-agent: Mutt/1.3.19i

Hi,

In longlong.h (gmp 3.1.1), there is (line 826):

#define smul_ppmm(ph, pl, m0, m1) \
  __asm__ (                                                             \
       "s       r2,r2
        mts r10,%2
        m       r2,%3
        m       r2,%3
        m       r2,%3
        m       r2,%3
        m       r2,%3
        m       r2,%3
        m       r2,%3
        m       r2,%3
        m       r2,%3
        m       r2,%3
        m       r2,%3
        m       r2,%3
        m       r2,%3
        m       r2,%3
        m       r2,%3
        m       r2,%3
        cas     %0,r2,r0
        mfs     r10,%1"                                                 \
           : "=r" ((USItype)(ph)), "=r" ((USItype)(pl))                 \
           : "%r" ((USItype)(m0)), "r" ((USItype)(m1))                  \
           : "r2");                                                     \
#define UMUL_TIME 20

I suppose that the last \ shouldn't be there...

And line 975:

1:      ! End of inline udiv_qrnnd"                                     \
           : "=r" (q), "=r" (r) : "r" (n1), "r" (n0), "rI" (d)
           : "%g1" __AND_CLOBBER_CC)

A \ is missing AFAIK...

--------

BTW, concerning these macros, the ISO C99 standard says:

       6.4.5  String literals

       Syntax

       [#1]

         string-literal:
               "s-char-sequence-opt"
               L"s-char-sequence-opt"

         s-char-sequence:
               s-char
               s-char-sequence s-char

         s-char:
               any member of the source character set except
                       the double-quote ", backslash \, or new-line character
               escape-sequence

So, the new-line characters in string literals should be replaced by

  \n" \

on the same line, and " should be inserted on the next line, e.g. with
the above example:

#define smul_ppmm(ph, pl, m0, m1) \
  __asm__ (                                                             \
       "s       r2,r2\n"                                                \
       "mts r10,%2\n"                                                   \
       "m       r2,%3\n"                                                \
[...]

Old compilers should still accept the new code...

-- 
Vincent Lefèvre <address@hidden> - Web: <http://www.vinc17.org/> - 100%
validated HTML - Acorn Risc PC, Yellow Pig 17, Championnat International des
Jeux Mathématiques et Logiques, TETRHEX, etc.
Work: CR INRIA - computer arithmetic / SPACES project at LORIA



reply via email to

[Prev in Thread] Current Thread [Next in Thread]