diff options
| author | jsmall-nvidia <jsmall@nvidia.com> | 2021-02-12 14:31:56 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-02-12 14:31:56 -0500 |
| commit | 369279e91dde1b056d8d0e3bb83e7ba3f96321af (patch) | |
| tree | b94af28f1aed8aa57dcb15d039d9dcd739a1534e /tests/preprocessor | |
| parent | cd79bfb5495db14afa167049ccf8e9f4612c5bc2 (diff) | |
Diagnostic location highlighting (#1700)
* #include an absolute path didn't work - because paths were taken to always be relative.
* WIP: First pass in supporting output of line error information.
* Add support for lexing to better be able to indicate SourceLocation information.
* Fix lexer usage in DiagnosticSink in C++ extractor.
* Update diagnostics tests to have line location info.
* Fixed test expected output that now have source location information in them.
* Better handling of tab.
* Fix test expected results for tabbing change.
* DiagnosticLexer -> DiagnosticSink::SourceLocationLexer
Added line continuation tests.
* Fix typo.
* Added String::appendRepeatedChar
* Change to rerun tests.
Co-authored-by: Tim Foley <tfoleyNV@users.noreply.github.com>
Diffstat (limited to 'tests/preprocessor')
| -rw-r--r-- | tests/preprocessor/define-function-like.slang.expected | 4 | ||||
| -rw-r--r-- | tests/preprocessor/define-redefine.slang.expected | 2 | ||||
| -rw-r--r-- | tests/preprocessor/error.slang.expected | 2 | ||||
| -rw-r--r-- | tests/preprocessor/include-multiple.slang.expected | 4 | ||||
| -rw-r--r-- | tests/preprocessor/line.slang.expected | 12 | ||||
| -rw-r--r-- | tests/preprocessor/output-includes.slang.expected | 4 | ||||
| -rw-r--r-- | tests/preprocessor/undef.slang.expected | 2 | ||||
| -rw-r--r-- | tests/preprocessor/warning.slang.expected | 2 |
8 files changed, 32 insertions, 0 deletions
diff --git a/tests/preprocessor/define-function-like.slang.expected b/tests/preprocessor/define-function-like.slang.expected index aed62dc31..1e4b4dcc9 100644 --- a/tests/preprocessor/define-function-like.slang.expected +++ b/tests/preprocessor/define-function-like.slang.expected @@ -1,7 +1,11 @@ result code = -1 standard error = { tests/preprocessor/define-function-like.slang(16): error 30015: undefined identifier 'x'. +#define M (x) - (x) + ^ tests/preprocessor/define-function-like.slang(16): error 30015: undefined identifier 'x'. +#define M (x) - (x) + ^ } standard output = { } diff --git a/tests/preprocessor/define-redefine.slang.expected b/tests/preprocessor/define-redefine.slang.expected index 2542c05d8..9b376bfe8 100644 --- a/tests/preprocessor/define-redefine.slang.expected +++ b/tests/preprocessor/define-redefine.slang.expected @@ -1,6 +1,8 @@ result code = 0 standard error = { tests/preprocessor/define-redefine.slang(10): warning 15400: redefinition of macro 'FOO' +#define FOO 2.0f + ^~~ tests/preprocessor/define-redefine.slang(6): note: see previous definition of 'FOO' } standard output = { diff --git a/tests/preprocessor/error.slang.expected b/tests/preprocessor/error.slang.expected index 56742c5d5..927819780 100644 --- a/tests/preprocessor/error.slang.expected +++ b/tests/preprocessor/error.slang.expected @@ -1,6 +1,8 @@ result code = -1 standard error = { tests/preprocessor/error.slang(11): error 15900: #error: This isn't valid! +#error This isn't valid! + ^~~~~ } standard output = { } diff --git a/tests/preprocessor/include-multiple.slang.expected b/tests/preprocessor/include-multiple.slang.expected index d52a5a2ab..f254ecf2f 100644 --- a/tests/preprocessor/include-multiple.slang.expected +++ b/tests/preprocessor/include-multiple.slang.expected @@ -1,8 +1,12 @@ result code = -1 standard error = { tests/preprocessor/include-a.slang.h(3): error 30201: function 'bar' already has a body +int bar() { return foo(); } + ^~~ tests/preprocessor/include-a.slang.h(3): note: see previous definition of 'bar' tests/preprocessor/include-a.slang.h(3): error 30201: function 'bar' already has a body +int bar() { return foo(); } + ^~~ tests/preprocessor/include-a.slang.h(3): note: see previous definition of 'bar' } standard output = { diff --git a/tests/preprocessor/line.slang.expected b/tests/preprocessor/line.slang.expected index 8c7f72ada..bea5b2a70 100644 --- a/tests/preprocessor/line.slang.expected +++ b/tests/preprocessor/line.slang.expected @@ -1,11 +1,23 @@ result code = -1 standard error = { tests/preprocessor/line.slang(4): error 30015: undefined identifier 'FooA'. +FooA a() { return 0; } +^~~~ b.slang(99): error 30015: undefined identifier 'FooB'. +FooB b() { return 0; } +^~~~ tests/preprocessor/line.slang(10): error 30015: undefined identifier 'FooC'. +FooC c() { return 0; } +^~~~ d.slang(603): error 30015: undefined identifier 'FooD'. +FooD d() { return 0; } +^~~~ d.slang(40): error 30015: undefined identifier 'FooE'. +FooE e() { return 0; } +^~~~ tests/preprocessor/line.slang(19): error 30015: undefined identifier 'FooF'. +FooF f() { return 0; } +^~~~ } standard output = { } diff --git a/tests/preprocessor/output-includes.slang.expected b/tests/preprocessor/output-includes.slang.expected index 791621aa3..84f0a4411 100644 --- a/tests/preprocessor/output-includes.slang.expected +++ b/tests/preprocessor/output-includes.slang.expected @@ -7,8 +7,12 @@ standard error = { (0): note: include 'tests/preprocessor/include-a.slang.h' (0): note: include 'tests/preprocessor/include-a.slang.h' tests/preprocessor/include-a.slang.h(3): error 30201: function 'bar' already has a body +int bar() { return foo(); } + ^~~ tests/preprocessor/include-a.slang.h(3): note: see previous definition of 'bar' tests/preprocessor/include-a.slang.h(3): error 30201: function 'bar' already has a body +int bar() { return foo(); } + ^~~ tests/preprocessor/include-a.slang.h(3): note: see previous definition of 'bar' } standard output = { diff --git a/tests/preprocessor/undef.slang.expected b/tests/preprocessor/undef.slang.expected index 2f7026487..8ea240124 100644 --- a/tests/preprocessor/undef.slang.expected +++ b/tests/preprocessor/undef.slang.expected @@ -1,6 +1,8 @@ result code = 0 standard error = { tests/preprocessor/undef.slang(5): warning 15401: macro 'FOO' is not defined +#undef FOO + ^~~ } standard output = { } diff --git a/tests/preprocessor/warning.slang.expected b/tests/preprocessor/warning.slang.expected index 0c765e31b..66b1e5f17 100644 --- a/tests/preprocessor/warning.slang.expected +++ b/tests/preprocessor/warning.slang.expected @@ -1,6 +1,8 @@ result code = 0 standard error = { tests/preprocessor/warning.slang(9): warning 15901: #warning: You wouldn't like me when I'm angry... +#warning You wouldn't like me when I'm angry... + ^~~~~~~ } standard output = { } |
