// File: /workspace/github_c_makefile_star2_O0/info-telecom-strasbourg[P]code-generator/src/safety.cpp
// Function: extension_safety(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>)
void extension_safety ( string path, string extension ) {
	string path_extension;

	parse_extension (path, path_extension);

	if ( path_extension != "c" && path_extension != "cc" 
		&& path_extension != "cpp") {
		cerr << "\nIn: " << path << endl;
		interupt(0, "\033[1;31merror\033[0m: Unrecognized extension \'%s\'",
			path_extension.c_str());
	}

	if ( extension == path_extension )
		return;

	cerr << endl;
	cerr << "\033[1;35mimportant warning\033[0m: The extension of " << path;
	cerr << " does not match the extension defined in the configuration";
	cerr << " file (which is " << extension << ", while the path's one is ";
	cerr << path_extension << ")." << endl;
	cerr << "\nThe chosen extension is " << extension;
	cerr << " so the nature of the file might not match the extension of its";
	cerr << " path." << endl;
	cerr << endl;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xe0, %rsp
movq %rdi, -0x88(%rbp)
movq %rsi, -0x90(%rbp)
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
leaq -0x30(%rbp), %rdi
callq 0x33c0
movq -0x88(%rbp), %rsi
leaq -0x70(%rbp), %rdi
callq 0x30d0
jmp 0x7d7c
leaq -0x50(%rbp), %rdi
leaq -0x70(%rbp), %rsi
leaq -0x30(%rbp), %rdx
callq 0x8a00
jmp 0x7d8f
leaq -0x50(%rbp), %rdi
callq 0x3140
leaq -0x70(%rbp), %rdi
callq 0x3140
leaq 0x22b5(%rip), %rsi      # 0xa05d
leaq -0x30(%rbp), %rdi
callq 0x7ae0
movb %al, -0x91(%rbp)
jmp 0x7db9
movb -0x91(%rbp), %al
testb $0x1, %al
jne 0x7dc8
jmp 0x7eaf
leaq 0x22f0(%rip), %rsi      # 0xa0bf
leaq -0x30(%rbp), %rdi
callq 0x7ae0
movb %al, -0x92(%rbp)
jmp 0x7de0
movb -0x92(%rbp), %al
testb $0x1, %al
jne 0x7def
jmp 0x7eaf
leaq 0x2297(%rip), %rsi      # 0xa08d
leaq -0x30(%rbp), %rdi
callq 0x7ae0
movb %al, -0x93(%rbp)
jmp 0x7e07
movb -0x93(%rbp), %al
testb $0x1, %al
jne 0x7e16
jmp 0x7eaf
movq 0x61d3(%rip), %rdi      # 0xdff0
leaq 0x2a82(%rip), %rsi      # 0xa8a6
callq 0x3230
movq %rax, -0xa0(%rbp)
jmp 0x7e32
movq -0x88(%rbp), %rsi
movq -0xa0(%rbp), %rdi
callq 0x3200
movq %rax, -0xa8(%rbp)
jmp 0x7e4e
movq -0xa8(%rbp), %rdi
movq 0x6154(%rip), %rsi      # 0xdfb0
callq 0x3280
jmp 0x7e63
leaq -0x30(%rbp), %rdi
callq 0x30c0
movq %rax, %rdx
leaq 0x224c(%rip), %rsi      # 0xa0c2
xorl %edi, %edi
movb %dil, %al
callq 0x8190
jmp 0x7e82
jmp 0x7eaf
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x78(%rbp)
movl %eax, -0x7c(%rbp)
jmp 0x8068
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x78(%rbp)
movl %eax, -0x7c(%rbp)
leaq -0x70(%rbp), %rdi
callq 0x3140
jmp 0x8068
movq -0x90(%rbp), %rdi
leaq -0x30(%rbp), %rsi
callq 0x8080
testb $0x1, %al
jne 0x7ec5
jmp 0x7ed1
movl $0x1, -0x80(%rbp)
jmp 0x8056
movq 0x6118(%rip), %rdi      # 0xdff0
movq 0x60d1(%rip), %rsi      # 0xdfb0
callq 0x3280
jmp 0x7ee6
movq 0x6103(%rip), %rdi      # 0xdff0
leaq 0x29b8(%rip), %rsi      # 0xa8ac
callq 0x3230
movq %rax, -0xb0(%rbp)
jmp 0x7f02
movq -0x88(%rbp), %rsi
movq -0xb0(%rbp), %rdi
callq 0x3200
jmp 0x7f17
movq 0x60d2(%rip), %rdi      # 0xdff0
leaq 0x29b7(%rip), %rsi      # 0xa8dc
callq 0x3230
jmp 0x7f2c
movq 0x60bd(%rip), %rdi      # 0xdff0
leaq 0x29dd(%rip), %rsi      # 0xa917
callq 0x3230
movq %rax, -0xb8(%rbp)
jmp 0x7f48
movq -0x90(%rbp), %rsi
movq -0xb8(%rbp), %rdi
callq 0x3200
movq %rax, -0xc0(%rbp)
jmp 0x7f64
movq -0xc0(%rbp), %rdi
leaq 0x29b6(%rip), %rsi      # 0xa928
callq 0x3230
jmp 0x7f79
movq 0x6070(%rip), %rdi      # 0xdff0
leaq -0x30(%rbp), %rsi
callq 0x3200
movq %rax, -0xc8(%rbp)
jmp 0x7f92
movq -0xc8(%rbp), %rdi
leaq 0x29a3(%rip), %rsi      # 0xa943
callq 0x3230
movq %rax, -0xd0(%rbp)
jmp 0x7fae
movq -0xd0(%rbp), %rdi
movq 0x5ff4(%rip), %rsi      # 0xdfb0
callq 0x3280
jmp 0x7fc3
movq 0x6026(%rip), %rdi      # 0xdff0
leaq 0x2975(%rip), %rsi      # 0xa946
callq 0x3230
movq %rax, -0xd8(%rbp)
jmp 0x7fdf
movq -0x90(%rbp), %rsi
movq -0xd8(%rbp), %rdi
callq 0x3200
jmp 0x7ff4
movq 0x5ff5(%rip), %rdi      # 0xdff0
leaq 0x295e(%rip), %rsi      # 0xa960
callq 0x3230
jmp 0x8009
movq 0x5fe0(%rip), %rdi      # 0xdff0
leaq 0x2989(%rip), %rsi      # 0xa9a0
callq 0x3230
movq %rax, -0xe0(%rbp)
jmp 0x8025
movq -0xe0(%rbp), %rdi
movq 0x5f7d(%rip), %rsi      # 0xdfb0
callq 0x3280
jmp 0x803a
movq 0x5faf(%rip), %rdi      # 0xdff0
movq 0x5f68(%rip), %rsi      # 0xdfb0
callq 0x3280
jmp 0x804f
movl $0x0, -0x80(%rbp)
leaq -0x30(%rbp), %rdi
callq 0x3140
addq $0xe0, %rsp
popq %rbp
retq
leaq -0x30(%rbp), %rdi
callq 0x3140
movq -0x78(%rbp), %rdi
callq 0x3490
nopw (%rax,%rax)