On 03/04/2013 12:21 PM, Torbjorn Granlund wrote:
> I've tried to do this in a series of steps that are as mechanical as
> possible, and therefore as easy to review as possible.
>
> Is the patch set intended to be applied as a whole, or will applying
> each (in number order) give something wh
From: Torbjorn Granlund
Date: Mon, 04 Mar 2013 23:07:07 +0100
> I actually really like m4. It is tiny yet really powerful, being Turing
> complete. A friend of mine implemented a bignum library in m4, inspired
> by GMP's m4 usage, I think. Convinced of m4's greatness now? :-)
I just want to
Richard Henderson writes:
The patch set is intended to be fully bisectable. Each patch in sequence
should work. That said, I can't think of any real value in keeping the
patches
separate in the final commit. The intermediate steps are not useful.
Thanks.
> I don't see any problem
---
mpf/abs.c | 2 +-
mpf/add.c | 2 +-
mpf/add_ui.c | 2 +-
mpf/ceilfloor.c| 3 ++-
mpf/clear.c| 2 +-
mpf/clears.c | 11 +--
mpf/cmp.c | 2 +-
mpf/cmp_d.c| 8 +---
mpf/cmp_si.c | 2 +-
mpf/cmp_ui.c | 2 +-
On 03/04/2013 12:47 PM, Torbjorn Granlund wrote:
> But we might as well address this in the next stage. Do you agree?
Yes. I think the macros added here will aid in cleaning things up.
r~
___
gmp-devel mailing list
gmp-devel@gmplib.org
http://gmplib.
From: Richard Henderson
Date: Mon, 04 Mar 2013 12:47:47 -0800
> On 03/04/2013 12:21 PM, Torbjorn Granlund wrote:
>> What sort of paperwork do you and Red hat have in place? We need to
>> extend it as soon as possible, if the current paperwork needs amending.
>> (Last time, for David Miller, it t
On 03/04/2013 12:21 PM, Torbjorn Granlund wrote:
> What sort of paperwork do you and Red hat have in place? We need to
> extend it as soon as possible, if the current paperwork needs amending.
> (Last time, for David Miller, it took something like two months, and
> only after some nagging.)
Gener
Richard Henderson writes:
No, I used the existing gmp-h.in file, as I mentioned elsewhere.
Note that all symbols that are visible today are still visible with the patch.
I'm not really cleaning up the set of exported symbols. Just making sure
that
gmp itself (mostly) never reference
On 03/04/2013 12:25 PM, Torbjorn Granlund wrote:
> Did you use gmp-func-list.txt for determining which functions to make
> public?
>
No, I used the existing gmp-h.in file, as I mentioned elsewhere.
Note that all symbols that are visible today are still visible with the patch.
I'm not really cle
Did you use gmp-func-list.txt for determining which functions to make
public?
--
Torbjörn
___
gmp-devel mailing list
gmp-devel@gmplib.org
http://gmplib.org/mailman/listinfo/gmp-devel
Richard Henderson writes:
This does not adjust the public interface at all, or tidy the
internal namespace at all. What it does do is annotate the source
(in as few places as possible) so that we automatically create and
use the hidden internal aliases inside the library, while still
e
Richard Henderson writes:
> Although I'm frankly a bit confused as to why we're using
> m4 for the assembly macro-isation, as opposed to the C preprocessor.
Different taste, I guess. I don't know why GMP moved to m4, but
personally, I wouldn't use cpp for anything that isn't C code, it's too
dee
On 03/04/2013 11:48 AM, Niels Möller wrote:
> Richard Henderson writes:
>
>> index 1b27998..ff0dc45 100644
>> --- a/gmp-h.in
>> +++ b/gmp-h.in
>> @@ -251,6 +251,10 @@ typedef __mpq_struct *mpq_ptr;
>> __GMP_PUBLIC_DATA - for declaring data variables
>> __GMP_PUBLIC_ALIAS - fo
ni...@lysator.liu.se (Niels Möller) writes:
Does anyone remember why it was deleted back then? I think it makes a
lot of sense as a public mpn function.
Checked old mail, but it is only mentioned 7 months earlier, when Kevin
aded it. It does not make sense as an internal function, the
MPN_
Richard Henderson writes:
> As far as I can tell it hasn't been used since
>
> 2002-02-09 Kevin Ryde
>
> * configure.in, mpn/Makefile.am, gmp-impl.h (mpn_sizeinbase): Remove.
> * mpn/generic/sizeinbase.c: Remove file.
>
> removed it from MPN_OBJECTS. It's certainly never built
Richard Henderson writes:
> index 1b27998..ff0dc45 100644
> --- a/gmp-h.in
> +++ b/gmp-h.in
> @@ -251,6 +251,10 @@ typedef __mpq_struct *mpq_ptr;
> __GMP_PUBLIC_DATA - for declaring data variables
> __GMP_PUBLIC_ALIAS - for re-declaring symbols with another name
>
> + W
This does not adjust the public interface at all, or tidy the
internal namespace at all. What it does do is annotate the source
(in as few places as possible) so that we automatically create and
use the hidden internal aliases inside the library, while still
exporting the same external symbols.
T
---
acinclude.m4 | 20
config.in| 4
configure.ac | 1 +
3 files changed, 25 insertions(+)
diff --git a/acinclude.m4 b/acinclude.m4
index 15f71b1..f7b128e 100644
--- a/acinclude.m4
+++ b/acinclude.m4
@@ -3169,6 +3169,26 @@ fi
])
+dnl GMP_C_HIDDEN_ALIAS
+dnl
---
assert.c | 5 ++---
compat.c | 2 --
errno.c| 7 +--
extract-dbl.c | 2 +-
gen-bases.c| 2 +-
gen-fib.c | 2 +-
gen-rename.c | 10 ++
gen-renamei.c | 6 --
invalid.c | 18 ++
memory.c | 7 +++
mp_bpl.c
Placeholder commit. The defines are still in gmp-h.in, so the
generated file contains lots of self-defines of ABI to ABI name,
which the script actually removes, creating an empty file.
But the makefile rule works...
---
Makefile.am| 7 +--
gen-rename.awk | 34 ++
This means we don't have to edit every single asm file.
---
mpn/asm-defs.m4 | 342
1 file changed, 174 insertions(+), 168 deletions(-)
diff --git a/mpn/asm-defs.m4 b/mpn/asm-defs.m4
index b95cad7..e3cdcb5 100644
--- a/mpn/asm-defs.m4
+++ b/
It is vital that config.h be included before gmp.h in order to get
the right expansions for __GMP_PUBLIC_FULL and __GMP_PUBLIC_DEFINE,
once we start declaring hidden symbols.
Ease the burden of include orderings by always using only "gmp-impl.h",
and getting everything else -- including system inc
---
mpq/abs.c | 3 +--
mpq/aors.c | 3 ++-
mpq/canonicalize.c | 2 +-
mpq/clear.c| 2 +-
mpq/clears.c | 11 +--
mpq/cmp.c | 3 +--
mpq/cmp_si.c | 2 +-
mpq/cmp_ui.c | 2 +-
mpq/div.c | 2 +-
mpq/equal.c| 2 +-
mp
All of the mechanism is here, but not enabled -- configure has not
yet been updated to define HAVE_HIDDEN_ALIAS.
However, by hacking the generated config.h file by hand we'll be
able to find errors as they occur without having to create one
monster patch to do everything all at once.
---
gen-rena
---
gen-renamei.c | 1 +
rand/rand.c | 12 +---
rand/randbui.c | 2 +-
rand/randclr.c | 2 +-
rand/randdef.c | 2 +-
rand/randiset.c | 2 +-
rand/randlc2s.c | 3 +--
rand/randlc2x.c | 2 +-
rand/randmt.c | 10 +-
rand/randmt.h | 14 +-
rand/randmts.c
This lets us delete all of the defines cluttering the
human maintained source.
Note that __MPN gets to move to the implementation, and we had
a redundant definition of mpn_sqr.
---
gmp-h.in | 413 ++---
gmp-impl.h | 7 +-
2 files changed
---
scanf/doscan.c | 32 ++--
scanf/fscanf.c | 12 +---
scanf/fscanffuns.c | 3 +--
scanf/scanf.c | 12 +---
scanf/sscanf.c | 12 +---
scanf/sscanffuns.c | 4 +---
scanf/vfscanf.c| 12 +---
scanf/vscanf.c | 12 +
When using gcc, we can alter the source/link symbol mapping.
This flows all the way through to the dwarf2 output, e.g.
: Abbrev Number: 13 (DW_TAG_subprogram)
DW_AT_external: 1
DW_AT_name: mpn_get_d
DW_AT_decl_file : 1
DW_AT_decl_line : 122
DW_AT_linkage_name: __gmpn
There aren't many of them, but we'll be better off in the end.
---
gen-rename.c | 2 ++
gmp-h.in | 17 -
2 files changed, 14 insertions(+), 5 deletions(-)
diff --git a/gen-rename.c b/gen-rename.c
index 0ff4ea5..a4fd854 100644
--- a/gen-rename.c
+++ b/gen-rename.c
@@ -26,5 +26
As far as I can tell it hasn't been used since
2002-02-09 Kevin Ryde
* configure.in, mpn/Makefile.am, gmp-impl.h (mpn_sizeinbase): Remove.
* mpn/generic/sizeinbase.c: Remove file.
removed it from MPN_OBJECTS. It's certainly never built.
I'm not sure how the file crept back i
ANSI C is now 25 years old. We already use ANSI-C-isms all over the
source tree. This sort of paranoia check is now well out of date.
---
acinclude.m4 | 55 +++---
config.in | 3 ---
configure.ac | 1 -
demos/expr/exp
---
gmp-impl.h | 10 +-
printf/asprintf.c | 10 +-
printf/asprntffuns.c| 16 +++-
printf/doprnt.c | 33 ++---
printf/doprntf.c| 16 +---
printf/doprnti.c| 14 +-
printf/fp
32 matches
Mail list logo