]> gcc.gnu.org Git - gcc.git/commitdiff
entered into RCS
authorCharles Hannum <mycroft@gnu.org>
Mon, 20 Apr 1992 19:15:26 +0000 (19:15 +0000)
committerCharles Hannum <mycroft@gnu.org>
Mon, 20 Apr 1992 19:15:26 +0000 (19:15 +0000)
From-SVN: r807

gcc/make-cc1.com
gcc/make-l2.com

index 2085a5d9f5fda4a55a21d3b15cd0a18de75e0a09..4f3001d31572ac6446a74634189144091f6a6ee3 100644 (file)
@@ -212,6 +212,8 @@ $!  that should not be compiled.  This allows us to handle special cases.
 $!
 $compile:
 $subroutine
+$on error then goto c_err
+$on control_y then goto c_err
 $open ifile$ 'p1'
 $loop: read ifile$ line/end=c_done
 $!
@@ -246,6 +248,13 @@ $!'f$verify(0)
 $goto loop1
 $!
 $goto loop
+$!
+$! In case of error or abort, go here (In order to close file).
+$!
+$c_err: !'f$verify(0)
+$close ifile$
+$exit %x2c
+$!
 $c_done:
 $close ifile$
 $endsubroutine
index a4e45c6079a88e06522b88b04527cb50c801e12b..736377ba0ba0431cf490fe42ca320e656c54ff48 100644 (file)
@@ -7,6 +7,10 @@ $! have the current compiler installed, otherwise some of the builtins will
 $! not be recognized.  Once you have built libgcc2.olb, you can merge this
 $! with gnu_cc:[000000]gcclib.olb
 $!
+$! All of the source code is assumed to be in libgcc2.c, and a list of the
+$! modules that we need from there is in libgcc2.list (which is generated
+$! when config-gcc.com is run).
+$!
 $if f$search("gcc-cc1.exe").eqs.""
 $  then
 $    gcc_cc1:=$gnu_cc:[000000]gcc-cc1
@@ -19,8 +23,13 @@ $if f$search("gcc-cpp.exe").eqs.""
 $  then
 $    gcc_cpp:=$gnu_cc:[000000]gcc-cpp
 $    if f$extract(0,1,f$trnlnm("GNU_CC_VERSION")).eqs."1" then goto nocompile
+$    Version:='f$trnlnm("GNU_CC_VERSION")'
 $  else
 $    gcc_cpp:=$sys$disk:[]gcc-cpp
+$    open ifile$ version.opt
+$    read ifile$ line
+$    close ifile$
+$    Version=line-"ident="""-"""
 $  endif
 $!
 $gcc_as:=$gnu_cc:[000000]gcc-as
@@ -37,55 +46,47 @@ $exit 0
 $!
 $compile:
 $lib/create libgcc2.olb
-$call compile_libgcc2 "L_muldi3"
-$call compile_libgcc2 "L_divdi3"
-$call compile_libgcc2 "L_moddi3"
-$call compile_libgcc2 "L_udivdi3"
-$call compile_libgcc2 "L_umoddi3"
-$call compile_libgcc2 "L_negdi2"
-$call compile_libgcc2 "L_lshrdi3"
-$call compile_libgcc2 "L_lshldi3"
-$call compile_libgcc2 "L_ashldi3"
-$call compile_libgcc2 "L_ashrdi3"
-$call compile_libgcc2 "L_udivmoddi4"
-$call compile_libgcc2 "L_cmpdi2"
-$call compile_libgcc2 "L_ucmpdi2"
-$call compile_libgcc2 "L_floatdidf"
-$call compile_libgcc2 "L_floatdisf"
-$call compile_libgcc2 "L_fixunsdfsi"
-$call compile_libgcc2 "L_fixunssfsi"
-$call compile_libgcc2 "L_fixunsdfdi"
-$call compile_libgcc2 "L_fixdfdi"
-$call compile_libgcc2 "L_fixunssfdi"
-$call compile_libgcc2 "L_fixsfdi"
-$call compile_libgcc2 "L_varargs"
-$call compile_libgcc2 "L_eprintf"
-$call compile_libgcc2 "L_builtin_new"
-$call compile_libgcc2 "L_builtin_New" L_builtin_nnew
-$call compile_libgcc2 "L_builtin_del"
-$call compile_libgcc2 "L_bb"
-$call compile_libgcc2 "L_shtab"
-$call compile_libgcc2 "L_clear_cache"
-$call compile_libgcc2 "L_trampoline"
-$call compile_libgcc2 "L__main"
-$!call compile_libgcc2 "L_exit"
-$exit
-$!
-$compile_libgcc2:
-$subroutine
-$objname = p1
-$if p2.nes."" then objname = p2
+$on error then goto c_err
+$on control_y then goto c_err
+$open ifile$ libgcc2.list
+$loop: read ifile$ line/end=c_done
+$!
+$i=0
+$loop1:
+$flnm=f$element(i," ",line)
+$i=i+1
+$if flnm.eqs."" then goto loop
+$if flnm.eqs." " then goto loop
+$!
+$flnm = "L"+flnm
+$if flnm.eqs."L_exit" then goto loop1
+$write sys$output "$ gcc/debug/define=''flnm' LIBGCC2.C"
+$!
+$objname = flnm
+$if flnm.eqs."L_builtin_New" then objname = "L_builtin_nnew"
 $!
 $! We do this by hand, since the VMS compiler driver does not have a way
 $! of specifying an alternate location for the compiler executables.
 $!
-$ gcc_cpp "-I[]" "-I[.CONFIG]" "-D''p1'"  LIBGCC2.C 'cpp_file'
+$ gcc_cpp "-I[]" "-I[.CONFIG]" "-D''flnm'"  LIBGCC2.C 'cpp_file'
 $ gcc_cc1 'cpp_file' -dumpbase 'objname' -
         -quiet -mgnu -g "-O1" -mvaxc-alignment   -o 's_file'
 $ delete/nolog 'cpp_file';
-$ gcc_as 's_file'  -o 'objname'.OBJ
+$ gcc_as "-vGNU CC  V''Version'" 's_file'  -o 'objname'.OBJ
 $ delete/nolog 's_file';
 $!
 $lib libgcc2.olb 'objname'.obj
 $del 'objname'.obj;/nolog
-$endsubroutine
+$!
+$goto loop1
+$!
+$goto loop
+$!
+$! In case of error or abort, go here (In order to close file).
+$!
+$c_err: !'f$verify(0)
+$close ifile$
+$ exit %x2c
+$!
+$c_done:
+$close ifile$
This page took 0.067358 seconds and 5 git commands to generate.