This converts the C++ front end.
This renames g++spec.o to cp/g++spec.o for uniformity.
This lets us remove an explicit rule.
This patch does not remove various *_H macros from cp/Make-lang.in.
These are still needed by ObjC++. They're removed by a later patch.
* Make-lang.in (g++spec.o
This converts the Java front end.
We also rename jvspec.o to java/jvspec.o, for uniformity; this lets us
remove an explicit rule.
* Make-lang.in (jvspec.o): Remove.
(CFLAGS-java/jvspec.o): New variable.
($(XGCJ)$(exeext), java_OBJS): Use java/jvspec.o
(java/jvspec.
This converts the ObjC front end.
Note that there is a latent possible bug in this code -- both ObjC and
ObjC++ define START_HDRS. Whichever is included last, wins; if they
are out of sync, then something could break. This possibility is
eliminated by this series.
* Make-lang.in (START_
This converts the ObjC++ front end.
Now we can finally remove the *_H macros from cp/Make-lang.in.
* Make-lang.in (CXX_TREE_H, CXX_PARSER_H, CXX_PRETTY_PRINT_H):
Remove.
* Make-lang.in (START_HDRS, cc1objplus-checksum.o)
(objcp/objcp-lang.o, objcp/objcp-decl.o
This removes manual dependencies for the c-family .o files.
* Makefile.in (c-family/cppspec.o, c-family/c-common.o)
(c-family/c-cppbuiltin.o, c-family/c-dump.o, c-family/c-format.o)
(c-family/c-gimplify.o, c-family/c-lex.o, c-family/c-omp.o)
(c-family/c-opts.o, c-fa
This converts Go.
It renames gospec.o to go/gospec.o, for uniformity and so we can
remove an explicit rule.
It defines go_OBJS, to conform to the documented Make-lang.in
conventions, and to ensure that Go objects are given the correct
order-only dependencies on generated files.
* Make-la
This converts LTO.
This also fixes a latent buglet in lto/Make-lang.in. lto_OBJS should
hold all the objects for a language, but LTO never defined this.
* Make-lang.in (LTO_H, LINKER_PLUGIN_API_H, LTO_TREE_H)
(lto/lto-lang.o, lto/lto.o, lto/lto-partition.o)
(lto/lto-objec
This convert fortran.
It renames gfortranspec.o to fortran/gfortranspec.o, for uniformity
and to allow removing an explicit rule.
* Make-lang.in (fortran_OBJS): Use fortran/gfortranspec.o.
(gfortranspec.o): Remove.
(CFLAGS-fortran/gfortranspec.o): New variable.
(GF
There is a single reference to TREE_GIMPLE_H in the source tree.
Since it is not defined anywhere, we might as well remove the use.
* config/i386/t-i386 (i386.o): Don't use TREE_GIMPLE_H.
---
gcc/config/i386/t-i386 | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/gcc/co
There is a single definition of CROSS_FLOAT_H in the source.
As far as I can tell, this is never used anywhere.
So, this patch removes it.
* config/mcore/t-mcore (CROSS_FLOAT_H): Remove.
---
gcc/config/mcore/t-mcore | 3 ---
1 file changed, 3 deletions(-)
diff --git a/gcc/config/mcore/t-
This is a small change to make out_object_file use automatic
dependencies.
* Makefile.in ($(out_object_file)): Use COMPILE and POSTCOMPILE.
---
gcc/Makefile.in | 12 +++-
1 file changed, 3 insertions(+), 9 deletions(-)
diff --git a/gcc/Makefile.in b/gcc/Makefile.in
index b22e8a8.
I used this perl script to find unused _H macros in the Makefile. I
deleted the definitions it reported and re-ran the script, until there
was no more output.
The script also makes note of _H variables which are used but never
defined. That is how I found the TREE_GIMPLE_H use, fixed earlier in
> "David" == David Malcolm writes:
Tom> Naughty.
David> We chatted about this at Cauldron; I haven't yet had a chance to
David> implement the magic bullet approach we discussed there. In the
David> meantime, is there a API I can call to determine how safe this kludge
David> is?
Not right n
> "Ian" == Ian Lance Taylor writes:
Ian> I assume that dropping $(OUTPUT_OPTION) is correct--I haven't looked
Ian> at the new definition of $(COMPILE).
I believe the depcomp script takes care of this.
Tom
> "David" == David Malcolm writes:
David> Is there a precanned event provided by gdb that I can connect to for
David> when the underlying code has changed and my caches need to be
David> invalidated?
Maybe not :(
You could use the "exited" event as a decent approximation.
Also, and I think
>>>>> "Tom" == Tom Tromey writes:
Tom> This is version 3 of my series to resurrect automatic dependencies for
Tom> GCC. Version 2 is here:
Tom> http://gcc.gnu.org/ml/gcc-patches/2013-07/msg01386.html
Tom> Ordinarily I would simply ping the existing pa
> "Jakub" == Jakub Jelinek writes:
Jakub> On Tue, Sep 10, 2013 at 09:04:41AM -0400, Andrew MacLeod wrote:
>> Really? If it were useful I would have thought they'd be using it now.
>>
>> In any case, it doesn't belong in tree-flow.h.. . shouldn't these
>> functions and macros be in hashtab.h
Richard> Where's that automatic dependency patch blocked ...
No build machinery maintainer has reviewed it.
Tom
Paolo> You are listed as the author of the "compile" script in Automake, do you
Paolo> remember which compilers need it? I'm too young for that (that's
Paolo> something I can say less and less :))...
I have no idea any more.
I can try a test build using a setting for CC that rejects -c -o.
Tom
Tom> There is a single reference to TREE_GIMPLE_H in the source tree.
Tom> Since it is not defined anywhere, we might as well remove the use.
Paolo> Could it be for gimple.h?
Good catch, it seems to be.
Rather than fix that, it is simple to just drop all these dependencies
from t-i386. I'll do t
> "Paolo" == Paolo Bonzini writes:
Paolo> Can you put before patch 4 another that defines OUTPUT_OPTION to "-o $@"
Paolo> unconditionally and removes all traces of NO_MINUS_C_MINUS_O?
Sure thing.
Paolo> The series looks okay to me with that change.
Thanks very much for your reviews.
I'll s
Tom> I can try a test build using a setting for CC that rejects -c -o.
I did this and the build died pretty early on:
/home/tromey/Space/Trunk/Git/bin/my-cc -c -DHAVE_CONFIG_H -g -g -I.
-I../../gcc/libiberty/../include -W -Wall -Wwrite-strings -Wc++-compat
-Wstrict-prototypes -pedantic -fpi
> "Uros" == Uros Bizjak writes:
Uros> Attached patch decleres dependecies for config/alpha/alpha.o.
Uros> 2013-09-16 Uros Bizjak
Uros> * config/alpha/t-alpha: New.
Uros> * config.gcc (alpha*-*-linux*): Add alpha/t-alpha to tmake_file.
Uros> (alpha*-*-freebsd*): Ditto.
Uros>
Paolo> The series looks okay to me with that change.
Two last questions while I'm testing my rebase --
First, do you mind if I resend the whole series? Otherwise I can try to
pick out just the patches that have changed, plus the additional
patches.
Second, should I get a separate ok for the cha
Paolo> As I wrote in another reply, I suspect this breaks bootstrap with
Paolo> compilers that do not support "-c -o", if it is not broken yet.
It occurred to me this morning that AC_PROG_CC_C_O only checks the C
compiler, but we're generally using the C++ compiler for gcc now. So I
think this wa
This changes the handling of SHLIB so that it is inlined into
DRIVER_DEFINES. This is ok because SHLIB is defined in a Makefile
fragment that is included by the generated Makefile.
The rationale for this is that it simplifies some .o targets, so that
we can share more code.
* Makefile.in
There is an order-only dependency in gcc/Makefile.in that tries to
build the generated files before compiling regular objects. However,
this appears too early, and so at the time it is seen by make,
GCOV_OBJS and GCOV_DUMP_OBJS have not yet been set.
This patch fixes the problem and prevents any
A few generated files were not mentioned in the generated_files
variable. This fixes the problem.
* Makefile.in (generated_files): Add options.h,
target-hooks-def.h, insn-opinit.h,
common/common-target-hooks-def.h, pass-instances.def,
c-family/c-target-hooks-def.h.
This converts the C++ front end.
This renames g++spec.o to cp/g++spec.o for uniformity.
This lets us remove an explicit rule.
This patch does not remove various *_H macros from cp/Make-lang.in.
These are still needed by ObjC++. They're removed by a later patch.
* Make-lang.in (g++spec.o
This converts the ObjC++ front end.
Now we can finally remove the *_H macros from cp/Make-lang.in.
* Make-lang.in (CXX_TREE_H, CXX_PARSER_H, CXX_PRETTY_PRINT_H):
Remove.
* Make-lang.in (START_HDRS, cc1objplus-checksum.o)
(objcp/objcp-lang.o, objcp/objcp-decl.o
This converts the C front end.
Note that this fixes a latent bug in gcc/Makefile.in's definition of
C_TREE_H. This is needed to avoid breaking this build with this
patch.
* Makefile.in (C_TREE_H): Reference c/c-tree.h.
* Make-lang.in (c/gccspec.o): Remove.
(CFLAGS-c/gccs
This removes manual dependencies for the c-family .o files.
* Makefile.in (c-family/cppspec.o, c-family/c-common.o)
(c-family/c-cppbuiltin.o, c-family/c-dump.o, c-family/c-format.o)
(c-family/c-gimplify.o, c-family/c-lex.o, c-family/c-omp.o)
(c-family/c-opts.o, c-fa
This is a small change to make out_object_file use automatic
dependencies.
* Makefile.in ($(out_object_file)): Use COMPILE and POSTCOMPILE.
---
gcc/Makefile.in | 12 +++-
1 file changed, 3 insertions(+), 9 deletions(-)
diff --git a/gcc/Makefile.in b/gcc/Makefile.in
index 973cc46.
While discussing an earlier revision of this patch series, we
discovered that bootstrapping gcc with a compiler that does not
support "-c -o" has not worked in a long time.
This patch removes the vestiges of this support from gcc itself. This
is preparation for subsequent patches which break the
I haven't made a pass to fix dependencies in all the t-* files, but I
did this one both as an example, and because it was the last user of
the undefined TREE_GIMPLE_H variable.
* config/i386/t-i386 (i386.o): Remove.
(i386-c.o): Use COMPILE and POSTCOMPILE.
---
gcc/config/i386/t-i3
This fixes t-glibc to use automatic dependency tracking.
* config/t-glibc (glibc-c.o): Use COMPILE and POSTCOMPILE.
---
gcc/config/t-glibc | 7 +++
1 file changed, 3 insertions(+), 4 deletions(-)
diff --git a/gcc/config/t-glibc b/gcc/config/t-glibc
index 032c68d..ae7bf7a 100644
--- a
This converts the Java front end.
We also rename jvspec.o to java/jvspec.o, for uniformity; this lets us
remove an explicit rule.
* Make-lang.in (jvspec.o): Remove.
(CFLAGS-java/jvspec.o): New variable.
($(XGCJ)$(exeext), java_OBJS): Use java/jvspec.o
(java/jvspec.
This adds the configury needed for automatic dependency tracking. It
also adds some bits to the Makefile so we can begin converting
(removing) explicit dependencies.
* Makefile.in (CCDEPMODE, DEPDIR, depcomp, COMPILE.base)
(COMPILE, POSTCOMPILE): New variables.
(.cc.o .c.o
This converts the ObjC front end.
Note that there is a latent possible bug in this code -- both ObjC and
ObjC++ define START_HDRS. Whichever is included last, wins; if they
are out of sync, then something could break. This possibility is
eliminated by this series.
* Make-lang.in (START_
This convert fortran.
It renames gfortranspec.o to fortran/gfortranspec.o, for uniformity
and to allow removing an explicit rule.
* Make-lang.in (fortran_OBJS): Use fortran/gfortranspec.o.
(gfortranspec.o): Remove.
(CFLAGS-fortran/gfortranspec.o): New variable.
(GF
Here is version 4 of my series to resurrect automatic dependencies for
GCC. Version 3 is here:
http://gcc.gnu.org/ml/gcc-patches/2013-08/msg01106.html
This version has a few changes.
First, I believe I've addressed all of the comments in Paolo's review.
This added patch #5, to remove AM_PRO
This converts Go.
It renames gospec.o to go/gospec.o, for uniformity and so we can
remove an explicit rule.
It defines go_OBJS, to conform to the documented Make-lang.in
conventions, and to ensure that Go objects are given the correct
order-only dependencies on generated files.
* Make-la
I used this perl script to find unused _H macros in the Makefile. I
deleted the definitions it reported and re-ran the script, until there
was no more output.
The script also makes note of _H variables which are used but never
defined. That is how I found the TREE_GIMPLE_H use, fixed earlier in
This converts LTO.
This also fixes a latent buglet in lto/Make-lang.in. lto_OBJS should
hold all the objects for a language, but LTO never defined this.
* Make-lang.in (LTO_H, LINKER_PLUGIN_API_H, LTO_TREE_H)
(lto/lto-lang.o, lto/lto.o, lto/lto-partition.o)
(lto/lto-objec
There is a single definition of CROSS_FLOAT_H in the source.
As far as I can tell, this is never used anywhere.
So, this patch removes it.
* config/mcore/t-mcore (CROSS_FLOAT_H): Remove.
---
gcc/config/mcore/t-mcore | 3 ---
1 file changed, 3 deletions(-)
diff --git a/gcc/config/mcore/t-
Paolo> The series is good!
Thanks!
I'm checking it in now. I'll be around to fix up any bugs I introduce.
I'll send a note to the gcc list when I'm done, just to warn people.
Tom
Gerald> And looking at the code, I see
Gerald> +COMPILE.base = $(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS)
-o $@
[...]
Gerald> Where does $(ALL_COMPILERFLAGS) compile from?
Look a little further down in the patch:
.cc.o .c.o:
- $(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS)
> "Iain" == Iain Sandoe writes:
Joseph> Do you need these compilation rules at all? Or could you change
Joseph> config.host to use paths such as config/host-darwin.o rather
Joseph> than just host-darwin.o, and so allow the generic rules to be
Joseph> used (my understanding was that the auto-
> "Andrew" == Andrew MacLeod writes:
Andrew> Jakub didn't like removing this hash table iterator functionality even
Andrew> though it is currently unused in the compiler.
Andrew> So it seems reasonable to put it in tree-hasher.h since its purpose is
Andrew> "Hash Table Helper for Trees"?
Ho
Tom> How about putting it into libiberty?
Tom> That way other hashtab users, like gdb, can use it.
Andrew> I have no problem with that, but Jakub didn't seem to think it
Andrew> belonged there.
All I found was this:
http://gcc.gnu.org/ml/gcc-patches/2013-09/msg00721.html
Quoting from it: "It do
> "Andrew" == Andrew MacLeod writes:
Andrew> Sure, how's this?
Thanks!
Andrew> And who has to approve the libiberty bits?
libiberty DJ Delorie d...@redhat.com
libiberty Ian Lance Taylori...@airs.com
Tom
> "Jan-Benedict" == Jan-Benedict Glaw writes:
Jan-Benedict> Since we're using $(CXX) instead of $(CC) these days, I
Jan-Benedict> suggest using CXX instead of CC. A quick check (without
Jan-Benedict> regenerating all configure and Makefile files just
Jan-Benedict> changing CC to CXX in gcc/co
> "Tobias" == Tobias Burnus writes:
Tobias> Build on x86-64-linux with C/C++/Fortran. I will now do an
Tobias> all-language build/regtest.
Tobias> OK when it passes?
Tobias> 2012-10-03 Tobias Burnus
Tobias> * files.c (read_file_guts, _cpp_save_file_entries): Free memory
Tobias>
> "Jan" == Jan Hubicka writes:
Jan> this patch udpates Java frontend to declare __bulitin_unreachable
Jan> and also fixes flags of synchronize bulitins to match ones from C
Jan> FE.
Jan> Regtested x86_64-linux, OK?
The java bits are ok.
Jan> + /* Looping const or pure is imlpies by noretu
> "Marcus" == Marcus Shawcroft writes:
Marcus> This patch adjusts the libcpp configury for AArch64.
Marcus> Proposed ChangeLog:
Marcus> * configure.ac: Enable AArch64.
Marcus> * configure: Regenerate.
This is ok. Thanks.
Tom
Steven> Probably you mean the revised patch here:
Steven> http://gcc.gnu.org/ml/gcc-patches/2012-09/msg00459.html
Steven> The patch look OK to me but I can't approve it.
I'm sorry about the delay on this.
The libcpp bits are ok.
I can't approve the other parts.
I think new configure options sho
> "Dehao" == Dehao Chen writes:
Dehao> This patch fixes debug info for expr and jump stmt.
Dehao> Bootstrapped and passed gcc regression tests.
Dehao> Is it okay for trunk?
I wonder whether this affects the gdb test suite results.
I'm not trying to pick on you specifically, but there's been
This patch adds a @direntry for gcov.
I noticed that it was missing today, when I tried to find the gcov
manual from the info "dir" node. Then I found out that I had filed PR
50899 for this ages ago.
Ok?
Tom
2012-10-30 Tom Tromey
PR other/50899
* doc/gcc
This patch makes the automatic dependency tracking code compatible with
GNU make 3.80, which is documented as the oldest supported version.
This was noticed by Eric Botcazou:
http://gcc.gnu.org/ml/gcc/2013-09/msg00243.html
Ok?
Tom
2013-10-02 Tom Tromey
* Makefile.in
Jakub> Given the state of gcj that it is now only rarely used and most
Jakub> people just use OpenJDK instead, wouldn't it be a good idea to
Jakub> just require that gcj code is linked using gcj driver or, if
Jakub> linked in any other driver, just using a special non-default
Jakub> option (-flink-
Marc> + if (flag_delete_null_pointer_checks
Marc> + && lookup_attribute ("returns_nonnull",
Marc> + TYPE_ATTRIBUTES (TREE_TYPE (fndecl
Marc> + return true;
I wired all this up to gcj, but it tripped over the
flag_delete_null_pointer_checks test, because java/lang.c sets it:
/
DJ> I don't think there's an official list, but if you ask gdb, binutils,
DJ> newlib, and sid (I think), you've probably got it covered. Basically,
DJ> everything in the src/ repository.
FWIW, gdb doesn't mind. While gdb does override xmalloc, it does so in
a way that avoids NULL returns.
Tom
Gerald> - When I do a gmake at the top level of the build tree, nothing is
Gerald>rebuilt at all. This only happens during `gmake install`
[...]
Gerald> Is nobody else seeing this? Or is everyone just lucky enough to have
Gerald> a recent version of GCC as the default compiler?
How exactly
Andreas> You could put it in .dir-locals.el, or put a hook on
Andreas> find-file-hook that looks at buffer-file-name.
We checked in a .dir-locals.el for gdb. I recommend it for GCC as well.
The gdb one is appended. You'll at least want to edit the bugzilla URL
to suit.
To make this work, just
> "Mike" == Mike Stump writes:
Mike> I've tested it to ensure everything works as expected, except I
Mike> didn't see exactly how to test the bug-reference… If someone knows
Mike> how to test that, I'd appreciate it. If I understand the net
Mike> result of this, it should make the lives of p
> "Gerald" == Gerald Pfeifer writes:
Gerald> % mkdir /scratch2/tmp/gerald/OBJ-1014-1920
Gerald> % cd /scratch2/tmp/gerald/OBJ-1014-1920
Gerald> % $GCC_SOURCE/configure --prefix=/home/gerald/something
Gerald> % gmake bootstrap-lean
Gerald> % gmake install
Gerald> Wait a minute!
G
> "Andrew" == Andrew writes:
Andrew> +#ifdef HAVE_UNISTD_H
Andrew> + procs = sysconf(_SC_NPROCESSORS_ONLN);
Andrew> +#endif
Space before the "(".
Technically you should probably check for sysconf in configure.ac.
I'm not sure whether it matters any more.
I think _SC_NPROCESSORS_ONLN is n
> "Jan-Benedict" == Jan-Benedict Glaw writes:
Jan-Benedict> I'd like to get some comments on this patch, which works
Jan-Benedict> for me for stage-1 builds with gcc/g++ (on a amd64-linux
Jan-Benedict> box) as well as with xlC/g++ on gcc111 (the mentioned AIX
Jan-Benedict> machine):
FWIW,
> "Andrew" == Andrew Pinski writes:
>> enum raw_str_phase phase = RAW_STR_PREFIX;
Andrew> This is a good work around but please add a comment of why this is
Andrew> needed (to work around a bug in XLC++).
I agree.
It's ok with this update.
thanks,
Tom
> "Matthias" == Matthias Klose writes:
Matthias> Starting with gdb 7.6, gdb can be linked with both Python 2.x
Matthias> and Python 3.x. Therefore the pretty printers should be
Matthias> compatible with both Python versions.
Thanks for doing this.
Matthias> -n = self.rbiter
> "rth" == Richard Henderson writes:
rth> The user-friendly way to do this would probably be some sort of pragma
rth> that allows user-defined address spaces, and user-defined conversion
rth> between them. But that's certainly not going to happen in the
rth> near-term.
Related is https://gcc
Richard> What does it take to write it in python instead?
IIUC you're asking for it to display the function graph at a given point
in time. This is easy - you can just dump it to a file and then run the
appropriate visualization tool.
Once upon a time I also wrote Python code to display a functi
> "Dodji" == Dodji Seketeli writes:
Dodji> * include/line-map.h (linemap_get_file_highest_location): Declare
Dodji> new function.
Dodji> * line-map.c (linemap_get_file_highest_location): Define it.
I wasn't sure if this is the patch you were needing review for ...
Dodji> +bool linemap_ge
ix is always trivial.
2014-01-13 Tom Tromey
* ansidecl.h (ANSI_PROTOTYPES, PTRCONST, LONG_DOUBLE, PARAMS)
(VPARAMS, VA_START, VA_OPEN, VA_CLOSE, VA_FIXEDARG, CONST)
(VOLATILE, SIGNED, PROTO, EXFUN, DEFUN, DEFUN_VOID, AND, DOTS)
(NOARGS): Don
Mike> URL: https://bugs.gentoo.org/563710
Mike> Reported-by: Miroslav Šulc
Mike> 2015-10-22 Mike Frysinger
Mike> * scripts/check_jni_methods.sh.in: Run sort with LC_ALL=C, and
Mike> combine `sort|uniq` into `sort -u`.
Mike> ---
Mike> libjava/classpath/scripts/check_jni_methods.sh.in | 4
>> This looks incorrect to me, that is a workaround for a real GCC bug.
Mark> I was discussing this after the BoF with Tom Tromey (CCed) and he also
Mark> thought gdb could/should actually support the DWARF5 representation,
Mark> but because the DW_TAG_variable was removed because
> "Andrew" == Andrew Stubbs writes:
Andrew> To be fair, the DWARF standard makes a similar assumption; the
Andrew> engineers working on LLVM and GDB, at AMD, have therefore invented
Andrew> some new DWARF operators that they plan to propose for a future
Andrew> standard. Only one is relevant
> "Andrew" == Andrew Stubbs writes:
Andrew>
http://llvm.org/docs/AMDGPUDwarfExtensionsForHeterogeneousDebugging.html#composite-location-description-operations
Thanks. Adding that to the appropriate spot in the patch would be
great.
Tom
Simon> Since it's debuginfo.m4 that is using PKG_CHECK_MODULES, can you put the
include
Simon> of pkg.m4 in debuginfo.m4, instead of in {binutils,gdb}/configure.ac?
Simon> Otherwise, from GDB's point of view I think it looks good, unless
Simon> Tom has some things to add.
I'm happy with it. Tha
Merge top-level configury changes from gdb
We recently rearranged the gdb source tree to move a common library
and gdbserver to the top-level. This made the build more uniform and
also a bit faster (due to sharing of built objects).
This patch re-syncs these changes the top-level configury back
> "Aaron" == Aaron Merey via Binutils writes:
Aaron> * Makefile.in: Replace LIBDEBUGINFOD with DEBUGINFOD_LIBS.
Aaron> * aclocal.m4: Rebuild.
Instead of inlining pkg.m4 into aclocal.m4, how about making
config/pkg.m4 and then using m4_include from gdb/acinclude.m4?
That's wha
I got this error message when editing gcc and recompiling:
../../gcc/gcc/ada/gcc-interface/decl.c:7714:39: error:
‘DWARF_GNAT_ENCODINGS_all’ was not declared in this scope; did you mean
‘DWARF_GNAT_ENCODINGS_GDB’?
7714 | = debug_info && gnat_encodings == DWARF_GNAT_ENCODINGS_all;
|
> "David" == David Malcolm writes:
>> I tested this using the self-tests. A new self-test is also
>> included.
> Did the full DejaGnu testsuite get run? There are a lot of tests in it
> that make use of this code.
I didn't try it, but I can.
> The patch should probably update the leading
mentioned earlier,
an existing test already does what you asked for.
Tom
commit e897a99dada8d3935343ebf7b14ad7ec36515b3d
Author: Tom Tromey
Date: Fri May 29 10:46:57 2020 -0600
Prefer simple case changes in spelling suggestions
I got this error message when editin
My earlier patch to add case handling to the spell checker caused a
Fortran regression. I believe I must have misread the test results.
This patch fixes the problem by changing the cutoff. I chose this
value because the previous patch effectively multiplied the result of
get_edit_distance by 2 (
> "Richard" == Richard Sandiford via Gcc-patches
> writes:
Richard> +// A class that stores a choice "A or B", where A has type T1 * and B
has
Richard> +// type T2 *. Both T1 and T2 must have an alignment greater than 1,
since
Richard> +// the low bit is used to identify B over A. T1
This short series uses C++11 features to simplify libcc1. This brings
the code closer to how I pictured it when I first wrote it. (It would
be further improved by std::apply, but this isn't available until
C++17.)
I built and tested this against git GDB on x86-64 Fedora 32.
Note that the C++ pl
This changes libcc1 to use "override" where appropriate.
libcc1/ChangeLog
2021-01-03 Tom Tromey
* libcp1.cc (class compiler_triplet_regexp)
(class compiler_driver_filename, class libcp1_connection): Use
"override".
* libcc1.cc (class com
This changes libcc1 to inline a trivial method and to use the default
constructor.
libcc1/ChangeLog
2021-01-03 Tom Tromey
* connection.hh (~connection): Use default.
(print): Inline.
* connection.cc (cc1_plugin::connection::~connection)
(cc1_plugin::connection
Now that C++11 can be used in GCC, libcc1 can be changed to use
templates and type traits to handle unmarshalling all kinds of enums.
libcc1/ChangeLog
2021-01-03 Tom Tromey
* marshall.hh (cc1_plugin::unmarshall): Use type traits.
* marshall-cp.hh (cc1_plugin::unmarshall
This changes libcc1 to use variadic templates for the "call"
functions. The primary benefit is that this simplifies the code.
libcc1/ChangeLog
2021-01-03 Tom Tromey
* rpc.hh (call): Use variadic template. Remove overloads.
* marshall.hh (marshall): Add base over
This changes libcc1 to use std::vector in the code that builds
function types. This avoids some explicit memory management.
libcc1/ChangeLog
2021-01-03 Tom Tromey
* libcp1plugin.cc (plugin_build_function_type): Use std::vector.
* libcc1plugin.cc (plugin_build_function_type
This changes libcc1 to use variadic templates for the "rpc" functions.
This simplifies the code and removes some possibility for mistakes.
libcc1/ChangeLog
2021-01-03 Tom Tromey
* libcp1.cc (rpc): Use variadic template. Remove overloads.
* libcc1.cc (rpc): Us
Change libcc1 to use "= delete" for the copy constructor and
assignment operator, rather than the old approach of private methods
that are nowhere defined.
libcc1/ChangeLog
2021-01-03 Tom Tromey
* rpc.hh (argument_wrapper): Use delete for copy constructor.
* con
boilerplate code is completely shared, leaving
just the memory-management detail to the particular specializations.
libcc1/ChangeLog
2021-01-03 Tom Tromey
* rpc.hh (struct deleter): New template class and
specializations.
(argument_wrapper): Remove specializations. Add
og
2021-01-03 Tom Tromey
* rpc.hh (deleter): Move template and some specializations to
deleter.hh.
(argument_wrapper): Use cc1_plugin::unique_ptr.
* marshall.cc (cc1_plugin::unmarshall): Use
cc1_plugin::unique_ptr.
* marshall-cp.hh (del
This changes libcc1 to use unique_ptr in a few more places, removing
some manual memory management.
libcc1/ChangeLog
2021-01-03 Tom Tromey
* libcp1.cc (struct libcp1) : Use
unique_ptr.
(~libcp1): Remove.
(libcp1_compile, libcp1_set_triplet_regexp
>>>>> "Tom" == Tom Tromey writes:
Tom> This short series uses C++11 features to simplify libcc1. This brings
Tom> the code closer to how I pictured it when I first wrote it. (It would
Tom> be further improved by std::apply, but this isn't available until
Bernhard> Yes, this is probably OK although Fortran is case-
Bernhard> insensitive. I think we lowercase names coming in from the
Bernhard> source (at least for the internal identifier nodes), so we
Bernhard> should not be affected by any case change.
I already checked it in, but FWIW it would be
> "Jonathan" == Jonathan Wakely writes:
Jonathan> Here's a slightly more conservative version of the patch. This moves
Jonathan> std::thread and this_thread::get_id() and this_thread::yield() to a
Jonathan> new header, and makes *most* of std::thread defined without gthreads
Jonathan> (becaus
101 - 200 of 579 matches
Mail list logo