flang-compiler / flang-driver Goto Github PK
View Code? Open in Web Editor NEWThis project forked from llvm-mirror/clang
Flang's driver
Home Page: http://clang.llvm.org/
License: Other
This project forked from llvm-mirror/clang
Flang's driver
Home Page: http://clang.llvm.org/
License: Other
//===----------------------------------------------------------------------===// // C Language Family Front-end //===----------------------------------------------------------------------===// Welcome to Clang. This is a compiler front-end for the C family of languages (C, C++, Objective-C, and Objective-C++) which is built as part of the LLVM compiler infrastructure project. Unlike many other compiler frontends, Clang is useful for a number of things beyond just compiling code: we intend for Clang to be host to a number of different source-level tools. One example of this is the Clang Static Analyzer. If you're interested in more (including how to build Clang) it is best to read the relevant web sites. Here are some pointers: Information on Clang: http://clang.llvm.org/ Building and using Clang: http://clang.llvm.org/get_started.html Clang Static Analyzer: http://clang-analyzer.llvm.org/ Information on the LLVM project: http://llvm.org/ If you have questions or comments about Clang, a great place to discuss them is on the Clang development mailing list: http://lists.llvm.org/mailman/listinfo/cfe-dev If you find a bug in Clang, please file it in the LLVM bug tracker: http://llvm.org/bugs/
Flang does not accept input on stdin. It generates an error.
For e.g : flang -o - -S -x f95 - < ex.f90
F90-F-0000-Internal compiler error. Unknown command line argument: 0
function f(a)
real a
f = a*a
return
end
While the eqiuvalent clang command works fine and generates assembly.
For e.g : clang -o - -S -x c - < ex.c
float f(float a)
{
return a*a;
}
Do not fork or build from this repository. After discussions with the Flang community, we thought we would try to create a fork of the LLVM Clang repository to house the changes necessary for Flang, analogous to what we are doing with the mirrored llvm repository.
Creating the fork named flang-driver is the first step in that process.
Hi --
The latest checkout of the release_60 branch fails on OpenBSD/amd64. This is what I use for the official OpenBSD package of flang, since it matches the version of LLVM we use. Yes, I use the OpenBSD-provided LLVM instead of your LLVM, because it would significantly raise the maintenance burden for flang to use yours (just a function of having to maintain yet another package, not a commentary on your decision to use your own LLVM).
Relevant part of the build log below. Let me know what I can do to help.
Thanks!
[27/119] /usr/ports/pobj/flang-driver-6.0.0.20180810/bin/c++ -DGTEST_HAS_RTTI=0 -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -Ilib/CodeGen -I/usr/ports/pobj/flang-driver-6.0.0.20180810/flang-driver-32f15e101780b671a5eb20944b2bd5ea4c29d5e8/lib/CodeGen -I/usr/ports/pobj/flang-driver-6.0.0.20180810/flang-driver-32f15e101780b671a5eb20944b2bd5ea4c29d5e8/include -Iinclude -I/usr/local/include -O2 -pipe -fPIC -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -std=c++11 -Wall -W -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -Wcovered-switch-default -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wstring-conversion -fcolor-diagnostics -ffunction-sections -fdata-sections -fno-common -Woverloaded-virtual -pedantic -Wno-long-long -Wno-nested-anon-types -DNDEBUG -fno-exceptions -fno-rtti -MD -MT lib/CodeGen/CMakeFiles/clangCodeGen.dir/BackendUtil.cpp.o -MF lib/CodeGen/CMakeFiles/clangCodeGen.dir/BackendUtil.cpp.o.d -o lib/CodeGen/CMakeFiles/clangCodeGen.dir/BackendUtil.cpp.o -c /usr/ports/pobj/flang-driver-6.0.0.20180810/flang-driver-32f15e101780b671a5eb20944b2bd5ea4c29d5e8/lib/CodeGen/BackendUtil.cpp
FAILED: lib/CodeGen/CMakeFiles/clangCodeGen.dir/BackendUtil.cpp.o
/usr/ports/pobj/flang-driver-6.0.0.20180810/bin/c++ -DGTEST_HAS_RTTI=0 -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -Ilib/CodeGen -I/usr/ports/pobj/flang-driver-6.0.0.20180810/flang-driver-32f15e101780b671a5eb20944b2bd5ea4c29d5e8/lib/CodeGen -I/usr/ports/pobj/flang-driver-6.0.0.20180810/flang-driver-32f15e101780b671a5eb20944b2bd5ea4c29d5e8/include -Iinclude -I/usr/local/include -O2 -pipe -fPIC -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -std=c++11 -Wall -W -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -Wcovered-switch-default -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wstring-conversion -fcolor-diagnostics -ffunction-sections -fdata-sections -fno-common -Woverloaded-virtual -pedantic -Wno-long-long -Wno-nested-anon-types -DNDEBUG -fno-exceptions -fno-rtti -MD -MT lib/CodeGen/CMakeFiles/clangCodeGen.dir/BackendUtil.cpp.o -MF lib/CodeGen/CMakeFiles/clangCodeGen.dir/BackendUtil.cpp.o.d -o lib/CodeGen/CMakeFiles/clangCodeGen.dir/BackendUtil.cpp.o -c /usr/ports/pobj/flang-driver-6.0.0.20180810/flang-driver-32f15e101780b671a5eb20944b2bd5ea4c29d5e8/lib/CodeGen/BackendUtil.cpp
/usr/ports/pobj/flang-driver-6.0.0.20180810/flang-driver-32f15e101780b671a5eb20944b2bd5ea4c29d5e8/lib/CodeGen/BackendUtil.cpp:318:69: error: no member named 'PGMATH' in 'llvm::TargetLibraryInfoImpl'
TLII->addVectorizableFunctionsFromVecLib(TargetLibraryInfoImpl::PGMATH);
~~~~~~~~~~~~~~~~~~~~~~~^
1 error generated.
ninja: build stopped: subcommand failed.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.