[flang] Fix unrelated build error found in testing
authorpeter klausler <pklausler@nvidia.com>
Tue, 14 Jan 2020 22:19:42 +0000 (14:19 -0800)
committerpeter klausler <pklausler@nvidia.com>
Tue, 14 Jan 2020 22:19:42 +0000 (14:19 -0800)
Original-commit: flang-compiler/f18@5a00d77827feda979f2b11a33a22b7c7b05e824a
Reviewed-on: https://github.com/flang-compiler/f18/pull/926
Tree-same-pre-rewrite: false

flang/runtime/CMakeLists.txt
flang/runtime/main.cc
flang/runtime/main.h

index fbac112..99713cc 100644 (file)
@@ -6,10 +6,6 @@
 #
 #===------------------------------------------------------------------------===#
 
-# Allow an unresolved external reference to the entry point of the
-# Fortran main PROGRAM from main.cc.
-set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -u __FortranProgram")
-
 add_library(FortranRuntime
   ISO_Fortran_binding.cc
   derived-type.cc
index 0dd0963..1252614 100644 (file)
@@ -19,9 +19,7 @@ const char **envp;
 
 extern "C" {
 
-void __FortranProgram();  // PROGRAM statement
-
-int main(int argc, const char *argv[], const char *envp[]) {
+void RTNAME(ProgramStart)(int argc, const char *argv[], const char *envp[]) {
 
   Fortran::runtime::argc = argc;
   Fortran::runtime::argv = argv;
@@ -40,7 +38,5 @@ int main(int argc, const char *argv[], const char *envp[]) {
 
   std::atexit(Fortran::runtime::NotifyOtherImagesOfNormalEnd);
   // TODO: Runtime configuration settings from environment
-  __FortranProgram();
-  return EXIT_SUCCESS;
 }
 }
index bd744ae..9a076b9 100644 (file)
@@ -9,10 +9,16 @@
 #ifndef FORTRAN_RUNTIME_MAIN_H_
 #define FORTRAN_RUNTIME_MAIN_H_
 
+#include "entry-names.h"
+
 namespace Fortran::runtime {
 extern int argc;
 extern const char **argv;
 extern const char **envp;
 }
 
+extern "C" {
+void RTNAME(ProgramStart)(int, const char *[], const char *[]);
+}
+
 #endif  // FORTRAN_RUNTIME_MAIN_H_