clang: lib/Basic/StackExhaustionHandler.cpp Source File (original) (raw)

Go to the documentation of this file.

1

2

3

4

5

6

7

8

9

10

11

12

13

14

17

21}

22

26 warnStackExhausted(Loc);

27}

28

29void clang::StackExhaustionHandler::warnStackExhausted(SourceLocation Loc) {

30

31 if (!WarnedStackExhausted) {

32 DiagsRef.Report(Loc, diag::warn_stack_exhausted);

33 WarnedStackExhausted = true;

34 }

35}

Defines a utilitiy for warning once when close to out of stack space.

Defines utilities for dealing with stack allocation and stack space.

Encodes a location in the source.

void warnOnStackNearlyExhausted(SourceLocation Loc)

Check to see if we're low on stack space and produce a warning if we're low on stack space (Currently...

void runWithSufficientStackSpace(SourceLocation Loc, llvm::function_ref< void()> Fn)

Run some code with "sufficient" stack space.

bool isStackNearlyExhausted()

Determine whether the stack is nearly exhausted.

void runWithSufficientStackSpace(llvm::function_ref< void()> Diag, llvm::function_ref< void()> Fn)

Run a given function on a stack with "sufficient" space.