diff options
author | David Malcolm <dmalcolm@redhat.com> | 2015-02-03 17:19:58 +0000 |
---|---|---|
committer | David Malcolm <dmalcolm@gcc.gnu.org> | 2015-02-03 17:19:58 +0000 |
commit | 2cb844ce9cf37fdd75438e27b515371ad1f71405 (patch) | |
tree | 8dfc1a700bed24b907d6f4da60e4d204beb6bd55 /gcc/gcc-main.c | |
parent | ebc8f0bb3a8ac745dd710c7ce5cc918d998560c6 (diff) | |
download | gcc-2cb844ce9cf37fdd75438e27b515371ad1f71405.tar.gz |
PR jit/64810: driver, arm, jit: configure-time default options
gcc/ChangeLog:
PR jit/64810
* Makefile.in (GCC_OBJS): Add gcc-main.o.
* gcc-main.c: New file, containing "main" taken from gcc.c.
* gcc.c (do_self_spec): Free decoded_options.
(class driver): Move declaration to gcc.h.
(main): Move declaration and implementation to new file
gcc-main.c.
(driver_get_configure_time_options): New function.
* gcc.h (class driver): Move this declaration here, from
gcc.c.
(driver_get_configure_time_options): New declaration.
gcc/jit/ChangeLog:
PR jit/64810
* Make-lang.in (jit_OBJS): Add jit/jit-spec.o and gcc.o.
(LIBGCCJIT_FILENAME): Add EXTRA_GCC_OBJS.
* jit-playback.c: Include gcc.h.
(gcc::jit::playback::context::compile): Move mutex acquisition
to before the call to make_fake_args.
(append_arg_from_driver): New function.
(gcc::jit::playback::context::make_fake_args): On the first call,
call into driver_get_configure_time_options to get configure-time
default options and cache them. Add them to the args for
toplev::main.
* jit-spec.c: New source file.
* docs/internals/test-hello-world.exe.log.txt: Update to reflect
above changes.
From-SVN: r220373
Diffstat (limited to 'gcc/gcc-main.c')
-rw-r--r-- | gcc/gcc-main.c | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/gcc/gcc-main.c b/gcc/gcc-main.c new file mode 100644 index 00000000000..230ba4846cd --- /dev/null +++ b/gcc/gcc-main.c @@ -0,0 +1,46 @@ +/* "main" for the compiler driver. + Copyright (C) 1987-2015 Free Software Foundation, Inc. + +This file is part of GCC. + +GCC is free software; you can redistribute it and/or modify it under +the terms of the GNU General Public License as published by the Free +Software Foundation; either version 3, or (at your option) any later +version. + +GCC is distributed in the hope that it will be useful, but WITHOUT ANY +WARRANTY; without even the implied warranty of MERCHANTABILITY or +FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +You should have received a copy of the GNU General Public License +along with GCC; see the file COPYING3. If not see +<http://www.gnu.org/licenses/>. */ + +/* This source file contains "main" for the compiler driver. + All of the real work is done within gcc.c; we implement "main" + in here for the "gcc" binary so that gcc.o can be used in + libgccjit.so. */ + +#include "config.h" +#include "system.h" +#include "coretypes.h" +#include "tm.h" +#include "xregex.h" +#include "obstack.h" +#include "intl.h" +#include "prefix.h" +#include "gcc.h" + +/* Implement the top-level "main" within the driver in terms of + driver::main (implemented in gcc.c). */ + +extern int main (int, char **); + +int +main (int argc, char **argv) +{ + driver d; + + return d.main (argc, argv); +} |