|
Revision tags: llvmorg-20.1.0, llvmorg-20.1.0-rc3, llvmorg-20.1.0-rc2, llvmorg-20.1.0-rc1, llvmorg-21-init, llvmorg-19.1.7, llvmorg-19.1.6, llvmorg-19.1.5, llvmorg-19.1.4, llvmorg-19.1.3, llvmorg-19.1.2, llvmorg-19.1.1, llvmorg-19.1.0, llvmorg-19.1.0-rc4, llvmorg-19.1.0-rc3, llvmorg-19.1.0-rc2, llvmorg-19.1.0-rc1, llvmorg-20-init, llvmorg-18.1.8, llvmorg-18.1.7, llvmorg-18.1.6, llvmorg-18.1.5, llvmorg-18.1.4, llvmorg-18.1.3, llvmorg-18.1.2, llvmorg-18.1.1, llvmorg-18.1.0, llvmorg-18.1.0-rc4, llvmorg-18.1.0-rc3, llvmorg-18.1.0-rc2, llvmorg-18.1.0-rc1, llvmorg-19-init, llvmorg-17.0.6, llvmorg-17.0.5, llvmorg-17.0.4, llvmorg-17.0.3, llvmorg-17.0.2, llvmorg-17.0.1, llvmorg-17.0.0, llvmorg-17.0.0-rc4, llvmorg-17.0.0-rc3, llvmorg-17.0.0-rc2, llvmorg-17.0.0-rc1, llvmorg-18-init, llvmorg-16.0.6, llvmorg-16.0.5, llvmorg-16.0.4, llvmorg-16.0.3, llvmorg-16.0.2, llvmorg-16.0.1, llvmorg-16.0.0, llvmorg-16.0.0-rc4, llvmorg-16.0.0-rc3, llvmorg-16.0.0-rc2, llvmorg-16.0.0-rc1, llvmorg-17-init, llvmorg-15.0.7, llvmorg-15.0.6, llvmorg-15.0.5, llvmorg-15.0.4, llvmorg-15.0.3, llvmorg-15.0.2, llvmorg-15.0.1, llvmorg-15.0.0, llvmorg-15.0.0-rc3, llvmorg-15.0.0-rc2, llvmorg-15.0.0-rc1, llvmorg-16-init, llvmorg-14.0.6, llvmorg-14.0.5, llvmorg-14.0.4, llvmorg-14.0.3, llvmorg-14.0.2, llvmorg-14.0.1 |
|
| #
14c7754a |
| 31-Mar-2022 |
Jean Perier <[email protected]> |
[flang] Skip `D` when including D debug line
When including debug lines as code, the `D` should be considered as a white space. Currently an error was raised about bad labels because it the `D` rema
[flang] Skip `D` when including D debug line
When including debug lines as code, the `D` should be considered as a white space. Currently an error was raised about bad labels because it the `D` remained a `D` when considering the source line as code.
Differential Revision: https://reviews.llvm.org/D122711
show more ...
|
|
Revision tags: llvmorg-14.0.0, llvmorg-14.0.0-rc4, llvmorg-14.0.0-rc3 |
|
| #
a53967cd |
| 07-Mar-2022 |
Peter Klausler <[email protected]> |
[flang] Distinguish usage and portability warning messages
Using recently established message severity codes, upgrade non-fatal messages to usage and portability warnings as appropriate.
Differenti
[flang] Distinguish usage and portability warning messages
Using recently established message severity codes, upgrade non-fatal messages to usage and portability warnings as appropriate.
Differential Revision: https://reviews.llvm.org/D121246
show more ...
|
|
Revision tags: llvmorg-14.0.0-rc2, llvmorg-14.0.0-rc1, llvmorg-15-init, llvmorg-13.0.1, llvmorg-13.0.1-rc3, llvmorg-13.0.1-rc2, llvmorg-13.0.1-rc1 |
|
| #
094b380c |
| 30-Sep-2021 |
peter klausler <[email protected]> |
[flang] Catch mismatched parentheses in prescanner
Source lines with mismatched parentheses are hard cases for error recovery in parsing, and the best error message (viz., "here's an unmatched paren
[flang] Catch mismatched parentheses in prescanner
Source lines with mismatched parentheses are hard cases for error recovery in parsing, and the best error message (viz., "here's an unmatched parenthesis") can be emitted from the prescanner.
Differential Revision: https://reviews.llvm.org/D111254#3046173
show more ...
|
|
Revision tags: llvmorg-13.0.0, llvmorg-13.0.0-rc4 |
|
| #
5a6c38fb |
| 17-Sep-2021 |
peter klausler <[email protected]> |
[flang] Fix build
An unused variable declaration from a recent change is eliciting a fatal warning; remove it.
|
| #
f6ddfac4 |
| 15-Sep-2021 |
peter klausler <[email protected]> |
[flang] Enforce fixed form rules about END continuation
From subclause 6.3.3.5: a program unit END statement cannot be continued in fixed form, and other statements cannot have initial lines that lo
[flang] Enforce fixed form rules about END continuation
From subclause 6.3.3.5: a program unit END statement cannot be continued in fixed form, and other statements cannot have initial lines that look like program unit END statements. I think this is to avoid violating assumptions that are important to legacy compilers' statement classification routines.
Differential Revision: https://reviews.llvm.org/D109933
show more ...
|
|
Revision tags: llvmorg-13.0.0-rc3 |
|
| #
f411be0d |
| 01-Sep-2021 |
peter klausler <[email protected]> |
[flang] NFC: change non-nullable pointer arguments to references
Ticking off a Parser TODO: Preprocessor::Directive()'s Prescanner argument should be a reference, not a pointer.
Differential Revisi
[flang] NFC: change non-nullable pointer arguments to references
Ticking off a Parser TODO: Preprocessor::Directive()'s Prescanner argument should be a reference, not a pointer.
Differential Revision: https://reviews.llvm.org/D109094
show more ...
|
|
Revision tags: llvmorg-13.0.0-rc2, llvmorg-13.0.0-rc1, llvmorg-14-init, llvmorg-12.0.1, llvmorg-12.0.1-rc4, llvmorg-12.0.1-rc3, llvmorg-12.0.1-rc2, llvmorg-12.0.1-rc1, llvmorg-12.0.0, llvmorg-12.0.0-rc5, llvmorg-12.0.0-rc4, llvmorg-12.0.0-rc3, llvmorg-12.0.0-rc2, llvmorg-11.1.0, llvmorg-11.1.0-rc3, llvmorg-12.0.0-rc1, llvmorg-13-init |
|
| #
6110e771 |
| 26-Jan-2021 |
peter klausler <[email protected]> |
[flang] Search for #include "file" in right directory (take 2)
Make the #include "file" preprocessing directive begin its search in the same directory as the file containing the directive, as other
[flang] Search for #include "file" in right directory (take 2)
Make the #include "file" preprocessing directive begin its search in the same directory as the file containing the directive, as other preprocessors and our Fortran INCLUDE statement do.
Avoid current working directory for all source files except the original.
Resolve tests.
Differential Revision: https://reviews.llvm.org/D95481
show more ...
|
| #
e8785890 |
| 26-Jan-2021 |
Andrzej Warzynski <[email protected]> |
Revert "[flang] Search for #include "file" in right directory"
This reverts commit d987b61b1dce9948801ac37704477e7c257100b1.
As pointed out in https://reviews.llvm.org/D95388, the reverted commit c
Revert "[flang] Search for #include "file" in right directory"
This reverts commit d987b61b1dce9948801ac37704477e7c257100b1.
As pointed out in https://reviews.llvm.org/D95388, the reverted commit causes build failures in the following Flang buildbots: * http://lab.llvm.org:8011/#/builders/32/builds/2642 * http://lab.llvm.org:8011/#/builders/33/builds/2131 * http://lab.llvm.org:8011/#/builders/135/builds/1473 * http://lab.llvm.org:8011/#/builders/66/builds/1559 * http://lab.llvm.org:8011/#/builders/134/builds/1409 * http://lab.llvm.org:8011/#/builders/132/builds/1817 I'm guessing that the patch was only tested with `FLANG_BUILD_NEW_DRIVER=Off` (i.e. the default). The builders listed above set `FLANG_BUILD_NEW_DRIVER` to `On`.
Although fixing the build is relatively easy, the reverted patch modifies the behaviour of the frontend, which breaks driver tests. In particular, in https://reviews.llvm.org/D93453 support for `-I` was added that depends on the current behaviour. The reverted patch changes that behaviour. Either the tests have to be updated or the change fine-tuned.
show more ...
|
| #
d987b61b |
| 25-Jan-2021 |
peter klausler <[email protected]> |
[flang] Search for #include "file" in right directory
Make the #include "file" preprocessing directive begin its search in the same directory as the file containing the directive, as other preproces
[flang] Search for #include "file" in right directory
Make the #include "file" preprocessing directive begin its search in the same directory as the file containing the directive, as other preprocessors and our Fortran INCLUDE statement do.
Avoid current working directory for all source files after the original.
Differential Revision: https://reviews.llvm.org/D95388
show more ...
|
|
Revision tags: llvmorg-11.1.0-rc2, llvmorg-11.1.0-rc1, llvmorg-11.0.1, llvmorg-11.0.1-rc2, llvmorg-11.0.1-rc1, llvmorg-11.0.0, llvmorg-11.0.0-rc6, llvmorg-11.0.0-rc5, llvmorg-11.0.0-rc4, llvmorg-11.0.0-rc3 |
|
| #
01def7f7 |
| 17-Sep-2020 |
peter klausler <[email protected]> |
[flang] Rework preprocessing of stringification
Hew more closely to the C17 standard; perform macro replacement of arguments to function-like macros unless they're being stringified or pasted. Test
[flang] Rework preprocessing of stringification
Hew more closely to the C17 standard; perform macro replacement of arguments to function-like macros unless they're being stringified or pasted. Test with a model "assert" macro idiom that exposed the problem.
Differential Revision: https://reviews.llvm.org/D87650
show more ...
|
| #
5881bf00 |
| 14-Sep-2020 |
peter klausler <[email protected]> |
[flang] More clean-up of CookedSource API
The std::string holding the content of a CookedSource no longer needs to be exposed in its API after the recent work that allows the parsing context to hold
[flang] More clean-up of CookedSource API
The std::string holding the content of a CookedSource no longer needs to be exposed in its API after the recent work that allows the parsing context to hold multiple instances of a CookedSource. So clean the API. These changes were extracted from some work in progress that was made easier by the API changes.
Differential Revision: https://reviews.llvm.org/D87635
show more ...
|
| #
92a54197 |
| 31-Aug-2020 |
peter klausler <[email protected]> |
[flang] Support multiple CookedSource instances
These are owned by an instance of a new class AllCookedSources.
This removes the need for a Scope to own a string containing a module's cooked source
[flang] Support multiple CookedSource instances
These are owned by an instance of a new class AllCookedSources.
This removes the need for a Scope to own a string containing a module's cooked source stream, and will enable errors to be emitted when parsing module files in the future.
Differential Revision: https://reviews.llvm.org/D86891
show more ...
|
| #
a0a1a4e5 |
| 25-Aug-2020 |
peter klausler <[email protected]> |
[flang] Improve error handling for bad characters in source
When an illegal character appears in Fortran source (after preprocessing), catch and report it in the prescanning phase rather than leavin
[flang] Improve error handling for bad characters in source
When an illegal character appears in Fortran source (after preprocessing), catch and report it in the prescanning phase rather than leaving it for the parser to cope with.
Differential Revision: https://reviews.llvm.org/D86553
show more ...
|
| #
ba4cc3b3 |
| 25-Aug-2020 |
peter klausler <[email protected]> |
[flang] Don't completely left-justify fixed-form tokenization
If the label field is empty, and macro replacement occurs, the rescanned text might be misclassified as a comment card if it happens to
[flang] Don't completely left-justify fixed-form tokenization
If the label field is empty, and macro replacement occurs, the rescanned text might be misclassified as a comment card if it happens to begin with a C or a D. Insert a leading space into these otherwise empty label fields.
Fixes https://bugs.llvm.org/show_bug.cgi?id=47173
show more ...
|
|
Revision tags: llvmorg-11.0.0-rc2 |
|
| #
189c0833 |
| 07-Aug-2020 |
peter klausler <[email protected]> |
[flang] Fix edge case with Hollerith
To prevent mistokenization of CHARACTER*2HXY as a Hollerith literal constant while allowing it in DATA A/2*2HXY/, there's a little state that tracks whether a /
[flang] Fix edge case with Hollerith
To prevent mistokenization of CHARACTER*2HXY as a Hollerith literal constant while allowing it in DATA A/2*2HXY/, there's a little state that tracks whether a / has been seen earlier in the same statement. But it was being reset on each line, not statement, so Hollerith in a DATA statement continuation line was incorrectly tokenized. Fixed.
Differential Revision: https://reviews.llvm.org/D85571
show more ...
|
| #
089adc33 |
| 03-Aug-2020 |
peter klausler <[email protected]> |
[flang] Make preprocessing behavior tests runnable as regression tests
And fix a minor bug exposed by doing so.
Differential Revision: https://reviews.llvm.org/D85164
|
|
Revision tags: llvmorg-11.0.0-rc1 |
|
| #
320389e8 |
| 22-Jul-2020 |
peter klausler <[email protected]> |
[flang] Fix source line continuation in potential macro calls (bugzilla 46768)
The prescanner looks for implicit continuation lines when there are unclosed parentheses at the end of a line, so that
[flang] Fix source line continuation in potential macro calls (bugzilla 46768)
The prescanner looks for implicit continuation lines when there are unclosed parentheses at the end of a line, so that source preprocessing macro references with arguments that span lines are recognized. The condition that determines this implicit continuation has been put into a predicate member function and corrected to apply only when the following line is source (not a preprocessing directive, comment, &c.).
Fixes bugzilla #46768.
Reviewed By: sscalpone
Differential Revision: https://reviews.llvm.org/D84280
show more ...
|
| #
26330a0c |
| 22-Jul-2020 |
peter klausler <[email protected]> |
[flang] Check for misplaced labels
In fixed form source, complain when a label digit appears outside the label field & when a non-digit appears in the label field.
Reviewed By: sscalpone
Different
[flang] Check for misplaced labels
In fixed form source, complain when a label digit appears outside the label field & when a non-digit appears in the label field.
Reviewed By: sscalpone
Differential Revision: https://reviews.llvm.org/D84283
show more ...
|
|
Revision tags: llvmorg-12-init, llvmorg-10.0.1, llvmorg-10.0.1-rc4, llvmorg-10.0.1-rc3, llvmorg-10.0.1-rc2 |
|
| #
5fb5f7b5 |
| 26-Jun-2020 |
peter klausler <[email protected]> |
[flang] Fix line continuation after bare labels (fm200.f)
Fixed-form line continuation was not working when the preceding line was a bare label.
Reviewed By: tskeith
Differential Revision: https:/
[flang] Fix line continuation after bare labels (fm200.f)
Fixed-form line continuation was not working when the preceding line was a bare label.
Reviewed By: tskeith
Differential Revision: https://reviews.llvm.org/D82687
show more ...
|
|
Revision tags: llvmorg-10.0.1-rc1 |
|
| #
1f879005 |
| 29-Mar-2020 |
Tim Keith <[email protected]> |
[flang] Reformat with latest clang-format and .clang-format
Original-commit: flang-compiler/f18@9fe84f45d7fd685051004678d6b5775dcc4c6f8f Reviewed-on: https://github.com/flang-compiler/f18/pull/1094
|
|
Revision tags: llvmorg-10.0.0, llvmorg-10.0.0-rc6, llvmorg-10.0.0-rc5, llvmorg-10.0.0-rc4, llvmorg-10.0.0-rc3 |
|
| #
13ea73e4 |
| 27-Feb-2020 |
David Truby <[email protected]> |
[flang] Replace manual mmap with llvm::MemoryBuffer
The previous code had handling for cases when too many file descriptors may be opened; this is not necessary with MemoryBuffer as the file descrip
[flang] Replace manual mmap with llvm::MemoryBuffer
The previous code had handling for cases when too many file descriptors may be opened; this is not necessary with MemoryBuffer as the file descriptors are closed after the mapping occurs. MemoryBuffer also internally handles the case where a file is small and therefore an mmap is bad for performance; such files are simply copied to memory after being opened.
Many places elsewhere in the code assume that the buffer is not empty, and the old file opening code handles this by replacing an empty file with a buffer containing a single newline. That behavior is now kept in the new MemoryBuffer based code.
Original-commit: flang-compiler/f18@d34df8435127d847867e2c0bb157def9f20f4202 Reviewed-on: https://github.com/flang-compiler/f18/pull/1032
show more ...
|
| #
8670e499 |
| 28-Feb-2020 |
Caroline Concatto <[email protected]> |
[flang] [LLVMify F18] Replace the use std::ostream with LLVM streams llvm::ostream
This patch replaces the occurrence of std::ostream by llvm::raw_ostream. In LLVM Coding Standards[1] "All new code
[flang] [LLVMify F18] Replace the use std::ostream with LLVM streams llvm::ostream
This patch replaces the occurrence of std::ostream by llvm::raw_ostream. In LLVM Coding Standards[1] "All new code should use raw_ostream instead of ostream".[1]
As a consequence, this patch also replaces the use of: std::stringstream by llvm::raw_string_ostream or llvm::raw_ostream* std::ofstream by llvm::raw_fd_ostream std::endl by '\n' and flush()[2] std::cout by llvm::outs() and std::cerr by llvm::errs()
It also replaces std::strerro by llvm::sys::StrError** , but NOT in Fortran runtime libraries
*std::stringstream were replaced by llvm::raw_ostream in all methods that used std::stringstream as a parameter. Moreover, it removes the pointers to these streams.
[1]https://llvm.org/docs/CodingStandards.html [2]https://releases.llvm.org/2.5/docs/CodingStandards.html#ll_avoidendl
Signed-off-by: Caroline Concatto <[email protected]>
Running clang-format-7
Signed-off-by: Caroline Concatto <[email protected]>
Removing residue of ostream library
Signed-off-by: Caroline Concatto <[email protected]>
Original-commit: flang-compiler/f18@a3507d44b8911e6024033aa583c1dc54e0eb89fd Reviewed-on: https://github.com/flang-compiler/f18/pull/1047
show more ...
|
| #
64ab3302 |
| 25-Feb-2020 |
CarolineConcatto <[email protected]> |
[flang] [LLVMify F18] Compiler module folders should have capitalised names (flang-compiler/f18#980)
This patch renames the modules in f18 to use a capital letter in the
module name
Signed-off-b
[flang] [LLVMify F18] Compiler module folders should have capitalised names (flang-compiler/f18#980)
This patch renames the modules in f18 to use a capital letter in the
module name
Signed-off-by: Caroline Concatto <[email protected]>
Original-commit: flang-compiler/f18@d2eb7a1c443d1539ef12b6f027074a0eb15b1ea0 Reviewed-on: https://github.com/flang-compiler/f18/pull/980
show more ...
|