xref: /llvm-project/clang/test/Interpreter/stmt-serialization.cpp (revision dc4889357adb1b909b986b7d2f2a4b9a2cc40c8e)
1*dc488935SVassil Vassilev // RUN: rm -rf %t
2*dc488935SVassil Vassilev // RUN: %clang_cc1 -std=c++20 -fincremental-extensions -fmodules-cache-path=%t \
3*dc488935SVassil Vassilev // RUN:            -x c++ %s -verify
4*dc488935SVassil Vassilev // expected-no-diagnostics
5*dc488935SVassil Vassilev 
6*dc488935SVassil Vassilev #pragma clang module build TopLevelStmt
7*dc488935SVassil Vassilev module TopLevelStmt { module Statements {} }
8*dc488935SVassil Vassilev #pragma clang module contents
9*dc488935SVassil Vassilev 
10*dc488935SVassil Vassilev #pragma clang module begin TopLevelStmt.Statements
11*dc488935SVassil Vassilev extern "C" int printf(const char*,...);
12*dc488935SVassil Vassilev int i = 0;
13*dc488935SVassil Vassilev i++;
14*dc488935SVassil Vassilev #pragma clang module end /*TopLevelStmt.Statements*/
15*dc488935SVassil Vassilev #pragma clang module endbuild /*TopLevelStmt*/
16*dc488935SVassil Vassilev 
17*dc488935SVassil Vassilev #pragma clang module import TopLevelStmt.Statements
18*dc488935SVassil Vassilev 
19*dc488935SVassil Vassilev printf("Value of i is '%d'", i);
20