diff options
author | bstarynk <bstarynk@138bc75d-0d04-0410-961f-82ee72b054a4> | 2015-01-21 22:01:24 +0000 |
---|---|---|
committer | bstarynk <bstarynk@138bc75d-0d04-0410-961f-82ee72b054a4> | 2015-01-21 22:01:24 +0000 |
commit | ffde65b31066f17eef243be882bb89a6e19370aa (patch) | |
tree | ea876d041c0a63eefccdac5416a8678e75da4cfc /libgfortran/Makefile.am | |
parent | a8c7acc4db08ce7c8ac3ddcb943f9219e2893792 (diff) | |
download | gcc-ffde65b31066f17eef243be882bb89a6e19370aa.tar.gz |
[.]
2015-01-21 Basile Starynkevitch <basile@starynkevitch.net>
{{merged with trunk -i.e. GCC5.0 in stage4- using
svn merge -r209216:219879 svn+ssh://bstarynk@gcc.gnu.org/svn/gcc/trunk
but should probably have used
svn merge -r209216:219879 ^/trunk
we don't use svnmerge.py anymore since our svn is version 1.8.10
}}
VERY UNSTABLE
2015-01-20 Basile Starynkevitch <basile@starynkevitch.net>
Move previous topdir ChangeLog.MELT to ChangeLog.MELT.2008-2014
[contrib/]
2015-01-21 Basile Starynkevitch <basile@starynkevitch.net>
* MELT-Plugin-Makefile: Able to make upgrade-melt as a
plugin. Works for GCC 5.0. Remove GCC 4.7 old stuff.
Move previous contrib/ChangeLog.MELT to ChangeLog.MELT.2008-2014
[gcc/]
2015-01-21 Basile Starynkevitch <basile@starynkevitch.net>
{{merged with trunk -i.e. GCC5.0 in stage4- using
svn merge -r209216:219879 svn+ssh://bstarynk@gcc.gnu.org/svn/gcc/trunk
but should probably have used
svn merge -r209216:219879 ^/trunk
**@@@ UNSTABLE since libmelt-ana-gimple.melt not compiling, but
translator painfully bootstrapping!!@@@@ }}
* toplev.c: Merged manually by keeping MELT extra stuff.
* toplev.h: Likewise.
* gengtype.c: Add "melt-runtime.h" in list, but merged with trunk.
* melt-runtime.h (MELT_VERSION_STRING): Bump to "1.2-pre-merged".
(meltgc_walk_gimple_seq): Remove.
(gt_ggc_mx_gimple_statement_d): Same for GCC 4.9 & 5.0
* melt-runtime.cc: Update copyright year.
(ggc_alloc_cleared_melt_valuevector_st, melt_resize_scangcvect):
Call ggc_internal_cleared_alloc.
(melt_val2passflag): Skip TODO_verify_ssa, TODO_verify_flow,
TODO_verify_stmts, TODO_verify_rtl_sharing for GCC 5.0.
(meltgc_walkstmt_cb, meltgc_walktree_cb)
(melt_tree_walk_frame_size, meltgc_walk_gimple_seq): Remove.
(melt_gt_ggc_mx_gimple_seq_d): Call
gt_ggc_mx_gimple_statement_base.
* melt-build-script.tpl: Update copyright year. Don't symlink
meltrunsup.h anymore.
* melt-build-script.sh: Regenerate.
* melt/warmelt-base.melt: Update copyright year.
(valdesc_object, valdesc_mapobjects, valdesc_mapstrings)
(valdesc_multiple, valdesc_closure, valdesc_routine, valdesc_hook)
(valdesc_bucketlongs, valdesc_jsonobject, valdesc_string)
(valdesc_strbuf, valdesc_pair, valdesc_list, valdesc_int)
(valdesc_double, valdesc_mixint, valdesc_mixloc)
(valdesc_mixbigint, valdesc_real, valdesc_special_data): Use
ggc_internal_alloc & ggc_internal_cleared_alloc for GCC 5.0.
(json_canonical_name): Use ISUPPER, ISALPHA, TOUPPER instead of
their standard <ctype.h> lowercase macros.
* melt/warmelt-modes.melt: Update copyright year.
(generate_runtypesupport_forwcopy_fun): Emit both GCC 4.9 & 5.0
compatible code.
* melt/libmelt-ana-base.melt: Update copyright year.
* melt/libmelt-ana-gimple.melt: TO BE IMPROVED
* melt/generated/*: Painfully regenerated several times thru GCC
4.9 MELT plugin.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/melt-branch@219975 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libgfortran/Makefile.am')
-rw-r--r-- | libgfortran/Makefile.am | 143 |
1 files changed, 105 insertions, 38 deletions
diff --git a/libgfortran/Makefile.am b/libgfortran/Makefile.am index abc23cd1eda..31eb986f441 100644 --- a/libgfortran/Makefile.am +++ b/libgfortran/Makefile.am @@ -54,6 +54,11 @@ libcaf_single_la_LDFLAGS = -static libcaf_single_la_DEPENDENCIES = caf/libcaf.h libcaf_single_la_LINK = $(LINK) $(libcaf_single_la_LDFLAGS) +if IEEE_SUPPORT +fincludedir = $(libdir)/gcc/$(target_alias)/$(gcc_version)$(MULTISUBDIR)/finclude +nodist_finclude_HEADERS = ieee_arithmetic.mod ieee_exceptions.mod ieee_features.mod +endif + ## io.h conflicts with a system header on some platforms, so ## use -iquote AM_CPPFLAGS = -iquote$(srcdir)/io -I$(srcdir)/$(MULTISRCTOP)../gcc \ @@ -70,8 +75,18 @@ AM_CFLAGS += $(SECTION_FLAGS) # Some targets require additional compiler options for IEEE compatibility. AM_CFLAGS += $(IEEE_FLAGS) +AM_FCFLAGS += $(IEEE_FLAGS) + +if LIBGFOR_MINIMAL +AM_CFLAGS += -DLIBGFOR_MINIMAL +endif gfor_io_src= \ +io/size_from_kind.c + +if !LIBGFOR_MINIMAL + +gfor_io_src+= \ io/close.c \ io/file_pos.c \ io/format.c \ @@ -81,7 +96,6 @@ io/list_read.c \ io/lock.c \ io/open.c \ io/read.c \ -io/size_from_kind.c \ io/transfer.c \ io/transfer128.c \ io/unit.c \ @@ -89,6 +103,8 @@ io/unix.c \ io/write.c \ io/fbuf.c +endif + gfor_io_headers= \ io/io.h \ io/fbuf.h \ @@ -98,82 +114,113 @@ io/unix.h gfor_helper_src= \ intrinsics/associated.c \ intrinsics/abort.c \ -intrinsics/access.c \ intrinsics/args.c \ intrinsics/bit_intrinsics.c \ -intrinsics/c99_functions.c \ -intrinsics/chdir.c \ -intrinsics/chmod.c \ -intrinsics/clock.c \ -intrinsics/cpu_time.c \ intrinsics/cshift0.c \ -intrinsics/ctime.c \ -intrinsics/date_and_time.c \ -intrinsics/dtime.c \ -intrinsics/env.c \ intrinsics/eoshift0.c \ intrinsics/eoshift2.c \ intrinsics/erfc_scaled.c \ -intrinsics/etime.c \ -intrinsics/execute_command_line.c \ -intrinsics/exit.c \ intrinsics/extends_type_of.c \ intrinsics/fnum.c \ -intrinsics/gerror.c \ -intrinsics/getcwd.c \ -intrinsics/getlog.c \ -intrinsics/getXid.c \ -intrinsics/hostnm.c \ intrinsics/ierrno.c \ intrinsics/ishftc.c \ intrinsics/iso_c_generated_procs.c \ intrinsics/iso_c_binding.c \ -intrinsics/kill.c \ -intrinsics/link.c \ intrinsics/malloc.c \ intrinsics/mvbits.c \ intrinsics/move_alloc.c \ intrinsics/pack_generic.c \ -intrinsics/perror.c \ intrinsics/selected_char_kind.c \ -intrinsics/signal.c \ intrinsics/size.c \ -intrinsics/sleep.c \ intrinsics/spread_generic.c \ intrinsics/string_intrinsics.c \ -intrinsics/system.c \ intrinsics/rand.c \ intrinsics/random.c \ -intrinsics/rename.c \ intrinsics/reshape_generic.c \ intrinsics/reshape_packed.c \ intrinsics/selected_int_kind.f90 \ intrinsics/selected_real_kind.f90 \ +intrinsics/transpose_generic.c \ +intrinsics/unpack_generic.c \ +runtime/in_pack_generic.c \ +runtime/in_unpack_generic.c + +if !LIBGFOR_MINIMAL + +gfor_helper_src+= \ +intrinsics/access.c \ +intrinsics/c99_functions.c \ +intrinsics/chdir.c \ +intrinsics/chmod.c \ +intrinsics/clock.c \ +intrinsics/cpu_time.c \ +intrinsics/ctime.c \ +intrinsics/date_and_time.c \ +intrinsics/dtime.c \ +intrinsics/env.c \ +intrinsics/etime.c \ +intrinsics/execute_command_line.c \ +intrinsics/exit.c \ +intrinsics/gerror.c \ +intrinsics/getcwd.c \ +intrinsics/getlog.c \ +intrinsics/getXid.c \ +intrinsics/hostnm.c \ +intrinsics/kill.c \ +intrinsics/link.c \ +intrinsics/perror.c \ +intrinsics/signal.c \ +intrinsics/sleep.c \ +intrinsics/system.c \ +intrinsics/rename.c \ intrinsics/stat.c \ intrinsics/symlnk.c \ intrinsics/system_clock.c \ intrinsics/time.c \ -intrinsics/transpose_generic.c \ intrinsics/umask.c \ -intrinsics/unlink.c \ -intrinsics/unpack_generic.c \ -runtime/in_pack_generic.c \ -runtime/in_unpack_generic.c +intrinsics/unlink.c + +endif + +if IEEE_SUPPORT + +gfor_helper_src+=ieee/ieee_helper.c + +gfor_ieee_src= \ +ieee/ieee_arithmetic.F90 \ +ieee/ieee_exceptions.F90 \ +ieee/ieee_features.F90 + +else + +gfor_ieee_src= + +endif gfor_src= \ -runtime/backtrace.c \ runtime/bounds.c \ runtime/compile_options.c \ +runtime/memory.c \ +runtime/string.c \ +runtime/select.c + +if LIBGFOR_MINIMAL + +gfor_src+= runtime/minimal.c + +else + +gfor_src+= \ +runtime/backtrace.c \ runtime/convert_char.c \ runtime/environ.c \ runtime/error.c \ runtime/fpu.c \ runtime/main.c \ -runtime/memory.c \ runtime/pause.c \ -runtime/stop.c \ -runtime/string.c \ -runtime/select.c +runtime/stop.c + +endif i_all_c= \ $(srcdir)/generated/all_l1.c \ @@ -650,7 +697,7 @@ gfor_built_src= $(i_all_c) $(i_any_c) $(i_count_c) $(i_maxloc0_c) \ $(i_exponent_c) $(i_fraction_c) $(i_nearest_c) $(i_set_exponent_c) \ $(i_pow_c) $(i_rrspacing_c) $(i_spacing_c) $(i_pack_c) $(i_unpack_c) \ $(i_spread_c) selected_int_kind.inc selected_real_kind.inc kinds.h \ - $(i_cshift0_c) kinds.inc c99_protos.inc fpu-target.h + $(i_cshift0_c) kinds.inc c99_protos.inc fpu-target.h fpu-target.inc # Machine generated specifics gfor_built_specific_src= \ @@ -811,11 +858,27 @@ $(patsubst %.c,%.lo,$(notdir $(i_matmull_c))): AM_CFLAGS += -funroll-loops $(patsubst %.F90,%.lo,$(patsubst %.f90,%.lo,$(notdir $(gfor_specific_src)))): AM_FCFLAGS += -fallow-leading-underscore selected_real_kind.lo selected_int_kind.lo: AM_FCFLAGS += -fallow-leading-underscore +if IEEE_SUPPORT +# Add flags for IEEE modules +$(patsubst %.F90,%.lo,$(notdir $(gfor_ieee_src))): AM_FCFLAGS += -Wno-unused-dummy-argument -Wno-c-binding-type -ffree-line-length-0 -fallow-leading-underscore +endif + +# Dependencies between IEEE_ARITHMETIC and IEEE_EXCEPTIONS +ieee_arithmetic.lo: ieee/ieee_arithmetic.F90 ieee_exceptions.lo + $(LTPPFCCOMPILE) -c -o $@ $< + +ieee_features.mod: ieee_features.lo + : +ieee_exceptions.mod: ieee_exceptions.lo + : +ieee_arithmetic.mod: ieee_arithmetic.lo + : + BUILT_SOURCES=$(gfor_built_src) $(gfor_built_specific_src) \ $(gfor_built_specific2_src) $(gfor_misc_specifics) prereq_SRC = $(gfor_src) $(gfor_built_src) $(gfor_io_src) \ - $(gfor_helper_src) $(gfor_io_headers) $(gfor_specific_src) + $(gfor_helper_src) $(gfor_ieee_src) $(gfor_io_headers) $(gfor_specific_src) if onestep # dummy sources for libtool @@ -871,6 +934,10 @@ selected_real_kind.inc: $(srcdir)/mk-srk-inc.sh fpu-target.h: $(srcdir)/$(FPU_HOST_HEADER) cp $(srcdir)/$(FPU_HOST_HEADER) $@ +fpu-target.inc: fpu-target.h $(srcdir)/libgfortran.h + grep '^#define GFC_FPE_' < $(top_srcdir)/../gcc/fortran/libgfortran.h > $@ || true + grep '^#define GFC_FPE_' < $(srcdir)/libgfortran.h >> $@ || true + ## A 'normal' build shouldn't need to regenerate these ## so we only include them in maintainer mode |