summaryrefslogtreecommitdiffstats
path: root/tests/preprocessor
diff options
context:
space:
mode:
authorjsmall-nvidia <jsmall@nvidia.com>2021-02-12 14:31:56 -0500
committerGitHub <noreply@github.com>2021-02-12 14:31:56 -0500
commit369279e91dde1b056d8d0e3bb83e7ba3f96321af (patch)
treeb94af28f1aed8aa57dcb15d039d9dcd739a1534e /tests/preprocessor
parentcd79bfb5495db14afa167049ccf8e9f4612c5bc2 (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.expected4
-rw-r--r--tests/preprocessor/define-redefine.slang.expected2
-rw-r--r--tests/preprocessor/error.slang.expected2
-rw-r--r--tests/preprocessor/include-multiple.slang.expected4
-rw-r--r--tests/preprocessor/line.slang.expected12
-rw-r--r--tests/preprocessor/output-includes.slang.expected4
-rw-r--r--tests/preprocessor/undef.slang.expected2
-rw-r--r--tests/preprocessor/warning.slang.expected2
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 = {
}