From 77fe3dd74446fb07dd0de31114f7033f111ef868 Mon Sep 17 00:00:00 2001 From: jsmall-nvidia Date: Thu, 15 Aug 2019 18:38:59 -0400 Subject: A more convoluted #pragma once file identity test, using relative paths. (#1021) * A more convoluted #pragma once file identity test, using relative paths. * Fix bug with passing - to slang as a command line option causes a crash. Ability to set file-system to use on command line. #pragma once tests try with 'normal' and 'read-file' only versions * OSFileSystem -> OSFileSystemExt LoadFileOSFileSystem -> OSFileSystem Implemented OSFileSystem like OSFileSystemExt as as singleton. Fixes to comments. --- tests/preprocessor/file-identity/b.h | 11 +++++++++++ tests/preprocessor/file-identity/c.h | 11 +++++++++++ .../file-identity/sub-folder/file-identity.slang | 13 +++++++++++++ tests/preprocessor/pragma-once.slang | 1 + 4 files changed, 36 insertions(+) create mode 100644 tests/preprocessor/file-identity/b.h create mode 100644 tests/preprocessor/file-identity/c.h create mode 100644 tests/preprocessor/file-identity/sub-folder/file-identity.slang (limited to 'tests') diff --git a/tests/preprocessor/file-identity/b.h b/tests/preprocessor/file-identity/b.h new file mode 100644 index 000000000..ba131c653 --- /dev/null +++ b/tests/preprocessor/file-identity/b.h @@ -0,0 +1,11 @@ +#pragma once + +#include "c.h" + +#ifdef B_H +# error "Shouldn't be included twice" +#endif + +#define B_H + +float foo(float x) { return x; } \ No newline at end of file diff --git a/tests/preprocessor/file-identity/c.h b/tests/preprocessor/file-identity/c.h new file mode 100644 index 000000000..eb6cd1c42 --- /dev/null +++ b/tests/preprocessor/file-identity/c.h @@ -0,0 +1,11 @@ +#pragma once + +#include "b.h" + +#ifdef C_H +# error "c.h shouldn't be included twice" +#endif + +#define C_H + +float bar(float x) { return x; } \ No newline at end of file diff --git a/tests/preprocessor/file-identity/sub-folder/file-identity.slang b/tests/preprocessor/file-identity/sub-folder/file-identity.slang new file mode 100644 index 000000000..590b32a70 --- /dev/null +++ b/tests/preprocessor/file-identity/sub-folder/file-identity.slang @@ -0,0 +1,13 @@ +//TEST(smoke):SIMPLE: +//TEST(smoke):SIMPLE: -file-system load-file + + +#include "../b.h" +#include "../c.h" + +#include "./../b.h" + +float test(float x) +{ + return foo(x) + bar(x); +} \ No newline at end of file diff --git a/tests/preprocessor/pragma-once.slang b/tests/preprocessor/pragma-once.slang index 43ddee680..ef43ea265 100644 --- a/tests/preprocessor/pragma-once.slang +++ b/tests/preprocessor/pragma-once.slang @@ -1,4 +1,5 @@ //TEST(smoke):SIMPLE: +//TEST(smoke):SIMPLE: -file-system load-file // Test support for `#pragma once` -- cgit v1.2.3